diff --git a/aws_kubernetes/aws_kops_prod/node_yaml/221222/k8s-rel-process-a.yaml b/aws_kubernetes/aws_kops_prod/node_yaml/221222/k8s-rel-process-a.yaml new file mode 100644 index 0000000..5a9b515 --- /dev/null +++ b/aws_kubernetes/aws_kops_prod/node_yaml/221222/k8s-rel-process-a.yaml @@ -0,0 +1,26 @@ +apiVersion: kops.k8s.io/v1alpha2 +kind: InstanceGroup +metadata: + creationTimestamp: "2022-12-13T05:21:10Z" + labels: + kops.k8s.io/cluster: k8s-prod.datasaker.io + name: k8s-rel-process-a +spec: + image: ami-0409b7ddbc59e3222 + machineType: m5a.xlarge + manager: CloudGroup + maxSize: 1 + minSize: 1 + mixedInstancesPolicy: + onDemandAboveBase: 0 + onDemandBase: 0 + spotAllocationStrategy: capacity-optimized + nodeLabels: + datasaker/group: rel-process + kops.k8s.io/instancegroup: k8s-rel-process-a + role: Node + rootVolumeSize: 100 + subnets: + - ap-northeast-2a + taints: + - prod/rel-process:NoSchedule diff --git a/aws_kubernetes/aws_kops_prod/node_yaml/221222/k8s-rel-process-a2.yaml b/aws_kubernetes/aws_kops_prod/node_yaml/221222/k8s-rel-process-a2.yaml new file mode 100644 index 0000000..c2d616e --- /dev/null +++ b/aws_kubernetes/aws_kops_prod/node_yaml/221222/k8s-rel-process-a2.yaml @@ -0,0 +1,26 @@ +apiVersion: kops.k8s.io/v1alpha2 +kind: InstanceGroup +metadata: + creationTimestamp: "2022-12-13T05:21:10Z" + labels: + kops.k8s.io/cluster: k8s-prod.datasaker.io + name: k8s-rel-process-a2 +spec: + image: ami-0409b7ddbc59e3222 + machineType: m5a.xlarge + manager: CloudGroup + maxSize: 1 + minSize: 1 + mixedInstancesPolicy: + onDemandAboveBase: 0 + onDemandBase: 0 + spotAllocationStrategy: capacity-optimized + nodeLabels: + datasaker/group: rel-process + kops.k8s.io/instancegroup: k8s-rel-process-a2 + role: Node + rootVolumeSize: 100 + subnets: + - ap-northeast-2a + taints: + - prod/rel-process:NoSchedule diff --git a/aws_kubernetes/aws_kops_prod/node_yaml/221222/k8s-rel-process-b.yaml b/aws_kubernetes/aws_kops_prod/node_yaml/221222/k8s-rel-process-b.yaml new file mode 100644 index 0000000..606c8ac --- /dev/null +++ b/aws_kubernetes/aws_kops_prod/node_yaml/221222/k8s-rel-process-b.yaml @@ -0,0 +1,26 @@ +apiVersion: kops.k8s.io/v1alpha2 +kind: InstanceGroup +metadata: + creationTimestamp: "2022-12-13T05:21:10Z" + labels: + kops.k8s.io/cluster: k8s-prod.datasaker.io + name: k8s-rel-process-b +spec: + image: ami-0409b7ddbc59e3222 + machineType: m6i.xlarge + manager: CloudGroup + maxSize: 1 + minSize: 1 + mixedInstancesPolicy: + onDemandAboveBase: 0 + onDemandBase: 0 + spotAllocationStrategy: capacity-optimized + nodeLabels: + datasaker/group: rel-process + kops.k8s.io/instancegroup: k8s-rel-process-b + role: Node + rootVolumeSize: 100 + subnets: + - ap-northeast-2b + taints: + - prod/rel-process:NoSchedule diff --git a/aws_kubernetes/aws_kops_prod/node_yaml/221222/k8s-rel-process-c.yaml b/aws_kubernetes/aws_kops_prod/node_yaml/221222/k8s-rel-process-c.yaml new file mode 100644 index 0000000..3d99ad3 --- /dev/null +++ b/aws_kubernetes/aws_kops_prod/node_yaml/221222/k8s-rel-process-c.yaml @@ -0,0 +1,26 @@ +apiVersion: kops.k8s.io/v1alpha2 +kind: InstanceGroup +metadata: + creationTimestamp: "2022-12-13T05:21:10Z" + labels: + kops.k8s.io/cluster: k8s-prod.datasaker.io + name: k8s-rel-process-c +spec: + image: ami-0409b7ddbc59e3222 + machineType: m5a.xlarge + manager: CloudGroup + maxSize: 1 + minSize: 1 + mixedInstancesPolicy: + onDemandAboveBase: 0 + onDemandBase: 0 + spotAllocationStrategy: capacity-optimized + nodeLabels: + datasaker/group: rel-process + kops.k8s.io/instancegroup: k8s-rel-process-c + role: Node + rootVolumeSize: 100 + subnets: + - ap-northeast-2c + taints: + - prod/rel-process:NoSchedule diff --git a/aws_kubernetes/aws_kops_prod/node_yaml/druid.yaml b/aws_kubernetes/aws_kops_prod/node_yaml/druid.yaml new file mode 100644 index 0000000..aa6bcb5 --- /dev/null +++ b/aws_kubernetes/aws_kops_prod/node_yaml/druid.yaml @@ -0,0 +1,74 @@ +apiVersion: kops.k8s.io/v1alpha2 +kind: InstanceGroup +metadata: + labels: + kops.k8s.io/cluster: k8s-prod.datasaker.io + name: k8s-prod-data-druid-a +spec: + image: ami-0409b7ddbc59e3222 + kubelet: + anonymousAuth: false + nodeLabels: + node-role.kubernetes.io/node: "" + machineType: m5a.2xlarge + manager: CloudGroup + maxSize: 1 + minSize: 1 + nodeLabels: + kops.k8s.io/instancegroup: k8s-prod-data-druid-a + datasaker/group: data-druid + role: Node + subnets: + - ap-northeast-2a + taints: + - prod/data-druid:NoSchedule +--- +apiVersion: kops.k8s.io/v1alpha2 +kind: InstanceGroup +metadata: + labels: + kops.k8s.io/cluster: k8s-prod.datasaker.io + name: k8s-prod-data-druid-b +spec: + image: ami-0409b7ddbc59e3222 + kubelet: + anonymousAuth: false + nodeLabels: + node-role.kubernetes.io/node: "" + machineType: m6i.xlarge + manager: CloudGroup + maxSize: 1 + minSize: 1 + nodeLabels: + kops.k8s.io/instancegroup: k8s-prod-data-druid-b + datasaker/group: data-druid + role: Node + subnets: + - ap-northeast-2b + taints: + - prod/data-druid:NoSchedule +--- +apiVersion: kops.k8s.io/v1alpha2 +kind: InstanceGroup +metadata: + labels: + kops.k8s.io/cluster: k8s-prod.datasaker.io + name: k8s-prod-data-druid-c +spec: + image: ami-0409b7ddbc59e3222 + kubelet: + anonymousAuth: false + nodeLabels: + node-role.kubernetes.io/node: "" + machineType: m5a.4xlarge + manager: CloudGroup + maxSize: 1 + minSize: 1 + nodeLabels: + kops.k8s.io/instancegroup: k8s-prod-data-druid-c + datasaker/group: data-druid + role: Node + subnets: + - ap-northeast-2c + taints: + - prod/data-druid:NoSchedule diff --git a/aws_kubernetes/aws_kops_prod/node_yaml/es.yaml b/aws_kubernetes/aws_kops_prod/node_yaml/es.yaml new file mode 100644 index 0000000..c8b25dd --- /dev/null +++ b/aws_kubernetes/aws_kops_prod/node_yaml/es.yaml @@ -0,0 +1,74 @@ +apiVersion: kops.k8s.io/v1alpha2 +kind: InstanceGroup +metadata: + labels: + kops.k8s.io/cluster: k8s-prod.datasaker.io + name: k8s-prod-data-es-a +spec: + image: ami-0409b7ddbc59e3222 + kubelet: + anonymousAuth: false + nodeLabels: + node-role.kubernetes.io/node: "" + machineType: m5a.xlarge + manager: CloudGroup + maxSize: 1 + minSize: 1 + nodeLabels: + kops.k8s.io/instancegroup: k8s-prod-data-es-a + datasaker/group: data-es + role: Node + subnets: + - ap-northeast-2a + taints: + - prod/data-es:NoSchedule +--- +apiVersion: kops.k8s.io/v1alpha2 +kind: InstanceGroup +metadata: + labels: + kops.k8s.io/cluster: k8s-prod.datasaker.io + name: k8s-prod-data-es-b +spec: + image: ami-0409b7ddbc59e3222 + kubelet: + anonymousAuth: false + nodeLabels: + node-role.kubernetes.io/node: "" + machineType: m6i.xlarge + manager: CloudGroup + maxSize: 1 + minSize: 1 + nodeLabels: + kops.k8s.io/instancegroup: k8s-prod-data-es-b + datasaker/group: data-es + role: Node + subnets: + - ap-northeast-2b + taints: + - prod/data-es:NoSchedule +--- +apiVersion: kops.k8s.io/v1alpha2 +kind: InstanceGroup +metadata: + labels: + kops.k8s.io/cluster: k8s-prod.datasaker.io + name: k8s-prod-data-es-c +spec: + image: ami-0409b7ddbc59e3222 + kubelet: + anonymousAuth: false + nodeLabels: + node-role.kubernetes.io/node: "" + machineType: m5a.xlarge + manager: CloudGroup + maxSize: 1 + minSize: 1 + nodeLabels: + kops.k8s.io/instancegroup: k8s-prod-data-es-c + datasaker/group: data-es + role: Node + subnets: + - ap-northeast-2c + taints: + - prod/data-es:NoSchedule diff --git a/aws_kubernetes/aws_kops_prod/node_yaml/kafka.yaml b/aws_kubernetes/aws_kops_prod/node_yaml/kafka.yaml new file mode 100644 index 0000000..b951ab2 --- /dev/null +++ b/aws_kubernetes/aws_kops_prod/node_yaml/kafka.yaml @@ -0,0 +1,74 @@ +apiVersion: kops.k8s.io/v1alpha2 +kind: InstanceGroup +metadata: + labels: + kops.k8s.io/cluster: k8s-prod.datasaker.io + name: k8s-prod-data-kafka-a +spec: + image: ami-0409b7ddbc59e3222 + kubelet: + anonymousAuth: false + nodeLabels: + node-role.kubernetes.io/node: "" + machineType: m5a.xlarge + manager: CloudGroup + maxSize: 1 + minSize: 1 + nodeLabels: + kops.k8s.io/instancegroup: k8s-prod-data-kafka-a + datasaker/group: data-kafka + role: Node + subnets: + - ap-northeast-2a + taints: + - prod/data-kafka:NoSchedule +--- +apiVersion: kops.k8s.io/v1alpha2 +kind: InstanceGroup +metadata: + labels: + kops.k8s.io/cluster: k8s-prod.datasaker.io + name: k8s-prod-data-kafka-b +spec: + image: ami-0409b7ddbc59e3222 + kubelet: + anonymousAuth: false + nodeLabels: + node-role.kubernetes.io/node: "" + machineType: m6i.xlarge + manager: CloudGroup + maxSize: 1 + minSize: 1 + nodeLabels: + kops.k8s.io/instancegroup: k8s-prod-data-kafka-b + datasaker/group: data-kafka + role: Node + subnets: + - ap-northeast-2b + taints: + - prod/data-kafka:NoSchedule +--- +apiVersion: kops.k8s.io/v1alpha2 +kind: InstanceGroup +metadata: + labels: + kops.k8s.io/cluster: k8s-prod.datasaker.io + name: k8s-prod-data-kafka-c +spec: + image: ami-0409b7ddbc59e3222 + kubelet: + anonymousAuth: false + nodeLabels: + node-role.kubernetes.io/node: "" + machineType: m5a.xlarge + manager: CloudGroup + maxSize: 1 + minSize: 1 + nodeLabels: + kops.k8s.io/instancegroup: k8s-prod-data-kafka-c + datasaker/group: data-kafka + role: Node + subnets: + - ap-northeast-2c + taints: + - prod/data-kafka:NoSchedule diff --git a/aws_kubernetes/aws_kops_prod/node_yaml/process.yaml b/aws_kubernetes/aws_kops_prod/node_yaml/process.yaml new file mode 100644 index 0000000..2cce48b --- /dev/null +++ b/aws_kubernetes/aws_kops_prod/node_yaml/process.yaml @@ -0,0 +1,79 @@ +apiVersion: kops.k8s.io/v1alpha2 +kind: InstanceGroup +metadata: + labels: + kops.k8s.io/cluster: k8s-prod.datasaker.io + name: k8s-prod-process-a +spec: + image: ami-0409b7ddbc59e3222 + machineType: m5a.xlarge + manager: CloudGroup + maxSize: 1 + minSize: 1 + nodeLabels: + datasaker/group: process + kops.k8s.io/instancegroup: k8s-prod-process-a + rootVolumeSize: 100 + role: Node + subnets: + - ap-northeast-2a +--- +apiVersion: kops.k8s.io/v1alpha2 +kind: InstanceGroup +metadata: + labels: + kops.k8s.io/cluster: k8s-prod.datasaker.io + name: k8s-prod-process-a2 +spec: + image: ami-0409b7ddbc59e3222 + machineType: m5a.xlarge + manager: CloudGroup + maxSize: 1 + minSize: 1 + nodeLabels: + datasaker/group: process + kops.k8s.io/instancegroup: k8s-prod-process-a2 + rootVolumeSize: 100 + role: Node + subnets: + - ap-northeast-2a +--- +apiVersion: kops.k8s.io/v1alpha2 +kind: InstanceGroup +metadata: + labels: + kops.k8s.io/cluster: k8s-prod.datasaker.io + name: k8s-prod-process-b +spec: + image: ami-0409b7ddbc59e3222 + machineType: m6i.xlarge + manager: CloudGroup + maxSize: 1 + minSize: 1 + nodeLabels: + datasaker/group: process + kops.k8s.io/instancegroup: k8s-prod-process-b + rootVolumeSize: 100 + role: Node + subnets: + - ap-northeast-2b +--- +apiVersion: kops.k8s.io/v1alpha2 +kind: InstanceGroup +metadata: + labels: + kops.k8s.io/cluster: k8s-prod.datasaker.io + name: k8s-prod-process-c +spec: + image: ami-0409b7ddbc59e3222 + machineType: m5a.xlarge + manager: CloudGroup + maxSize: 1 + minSize: 1 + nodeLabels: + datasaker/group: process + kops.k8s.io/instancegroup: k8s-prod-process-c + rootVolumeSize: 100 + role: Node + subnets: + - ap-northeast-2c diff --git a/aws_kubernetes/aws_kops_prod/node_yaml/prod.datasaker.io-20221102.yaml b/aws_kubernetes/aws_kops_prod/node_yaml/prod.datasaker.io-20221102.yaml new file mode 100644 index 0000000..c7e4e29 --- /dev/null +++ b/aws_kubernetes/aws_kops_prod/node_yaml/prod.datasaker.io-20221102.yaml @@ -0,0 +1,411 @@ +apiVersion: kops.k8s.io/v1alpha2 +kind: Cluster +metadata: + creationTimestamp: "2022-11-01T05:36:36Z" + generation: 2 + name: k8s-prod.datasaker.io +spec: + api: + loadBalancer: + class: Network + type: Public + authorization: + rbac: {} + channel: stable + cloudProvider: aws + configBase: s3://clusters.prod.datasaker.io/k8s-prod.datasaker.io + containerRuntime: containerd + etcdClusters: + - cpuRequest: 200m + etcdMembers: + - encryptedVolume: true + instanceGroup: master-ap-northeast-2a + name: a + - encryptedVolume: true + instanceGroup: master-ap-northeast-2b + name: b + - encryptedVolume: true + instanceGroup: master-ap-northeast-2c + name: c + memoryRequest: 100Mi + name: main + - cpuRequest: 100m + etcdMembers: + - encryptedVolume: true + instanceGroup: master-ap-northeast-2a + name: a + - encryptedVolume: true + instanceGroup: master-ap-northeast-2b + name: b + - encryptedVolume: true + instanceGroup: master-ap-northeast-2c + name: c + memoryRequest: 100Mi + name: events + iam: + allowContainerRegistry: true + legacy: false + kubelet: + anonymousAuth: false + kubernetesApiAccess: + - 0.0.0.0/0 + - ::/0 + kubernetesVersion: 1.25.2 + masterInternalName: api.internal.k8s-prod.datasaker.io + masterPublicName: api.k8s-prod.datasaker.io + networkCIDR: 172.24.0.0/19 + networkID: vpc-00ba2b0e9ad59f0ed + networking: + calico: {} + nonMasqueradeCIDR: 100.64.0.0/10 + sshAccess: + - 0.0.0.0/0 + - ::/0 + subnets: + - cidr: 172.24.8.0/23 + id: subnet-024f0deda82039fa4 + name: ap-northeast-2a + type: Private + zone: ap-northeast-2a + - cidr: 172.24.10.0/23 + id: subnet-050d942fa1c46540a + name: ap-northeast-2b + type: Private + zone: ap-northeast-2b + - cidr: 172.24.12.0/23 + id: subnet-0946eb806af7377be + name: ap-northeast-2c + type: Private + zone: ap-northeast-2c + - cidr: 172.24.0.0/24 + id: subnet-00c363356f133411d + name: utility-ap-northeast-2a + type: Utility + zone: ap-northeast-2a + - cidr: 172.24.1.0/24 + id: subnet-07aa5e879a262014d + name: utility-ap-northeast-2b + type: Utility + zone: ap-northeast-2b + - cidr: 172.24.2.0/24 + id: subnet-0073a61bc56a68a3e + name: utility-ap-northeast-2c + type: Utility + zone: ap-northeast-2c + topology: + dns: + type: Public + masters: private + nodes: private + +--- + +apiVersion: kops.k8s.io/v1alpha2 +kind: InstanceGroup +metadata: + creationTimestamp: "2022-11-02T01:50:52Z" + generation: 1 + labels: + kops.k8s.io/cluster: k8s-prod.datasaker.io + name: k8s-prod-data-druid-a +spec: + image: ami-0abb33b73a78cae31 + kubelet: + anonymousAuth: false + nodeLabels: + node-role.kubernetes.io/node: "" + machineType: m6i.large + manager: CloudGroup + maxSize: 1 + minSize: 1 + nodeLabels: + datasaker/group: data-druid + kops.k8s.io/instancegroup: k8s-prod-data-druid-a + role: Node + subnets: + - ap-northeast-2a + taints: + - prod/data-druid:NoSchedule + +--- + +apiVersion: kops.k8s.io/v1alpha2 +kind: InstanceGroup +metadata: + creationTimestamp: "2022-11-02T01:50:52Z" + generation: 1 + labels: + kops.k8s.io/cluster: k8s-prod.datasaker.io + name: k8s-prod-data-druid-b +spec: + image: ami-0abb33b73a78cae31 + kubelet: + anonymousAuth: false + nodeLabels: + node-role.kubernetes.io/node: "" + machineType: m6i.large + manager: CloudGroup + maxSize: 1 + minSize: 1 + nodeLabels: + datasaker/group: data-druid + kops.k8s.io/instancegroup: k8s-prod-data-druid-b + role: Node + subnets: + - ap-northeast-2b + taints: + - prod/data-druid:NoSchedule + +--- + +apiVersion: kops.k8s.io/v1alpha2 +kind: InstanceGroup +metadata: + creationTimestamp: "2022-11-02T01:50:52Z" + generation: 1 + labels: + kops.k8s.io/cluster: k8s-prod.datasaker.io + name: k8s-prod-data-druid-c +spec: + image: ami-0abb33b73a78cae31 + kubelet: + anonymousAuth: false + nodeLabels: + node-role.kubernetes.io/node: "" + machineType: m6i.large + manager: CloudGroup + maxSize: 1 + minSize: 1 + nodeLabels: + datasaker/group: data-druid + kops.k8s.io/instancegroup: k8s-prod-data-druid-c + role: Node + subnets: + - ap-northeast-2c + taints: + - prod/data-druid:NoSchedule + +--- + +apiVersion: kops.k8s.io/v1alpha2 +kind: InstanceGroup +metadata: + creationTimestamp: "2022-11-02T01:51:35Z" + generation: 1 + labels: + kops.k8s.io/cluster: k8s-prod.datasaker.io + name: k8s-prod-data-kafka-a +spec: + image: ami-0abb33b73a78cae31 + kubelet: + anonymousAuth: false + nodeLabels: + node-role.kubernetes.io/node: "" + machineType: m6i.large + manager: CloudGroup + maxSize: 1 + minSize: 1 + nodeLabels: + datasaker/group: data-kafka + kops.k8s.io/instancegroup: k8s-prod-data-kafka-a + role: Node + subnets: + - ap-northeast-2a + taints: + - prod/data-kafka:NoSchedule + +--- + +apiVersion: kops.k8s.io/v1alpha2 +kind: InstanceGroup +metadata: + creationTimestamp: "2022-11-02T01:51:35Z" + generation: 1 + labels: + kops.k8s.io/cluster: k8s-prod.datasaker.io + name: k8s-prod-data-kafka-b +spec: + image: ami-0abb33b73a78cae31 + kubelet: + anonymousAuth: false + nodeLabels: + node-role.kubernetes.io/node: "" + machineType: m6i.large + manager: CloudGroup + maxSize: 1 + minSize: 1 + nodeLabels: + datasaker/group: data-kafka + kops.k8s.io/instancegroup: k8s-prod-data-kafka-b + role: Node + subnets: + - ap-northeast-2b + taints: + - prod/data-kafka:NoSchedule + +--- + +apiVersion: kops.k8s.io/v1alpha2 +kind: InstanceGroup +metadata: + creationTimestamp: "2022-11-02T01:51:35Z" + generation: 1 + labels: + kops.k8s.io/cluster: k8s-prod.datasaker.io + name: k8s-prod-data-kafka-c +spec: + image: ami-0abb33b73a78cae31 + kubelet: + anonymousAuth: false + nodeLabels: + node-role.kubernetes.io/node: "" + machineType: m6i.large + manager: CloudGroup + maxSize: 1 + minSize: 1 + nodeLabels: + datasaker/group: data-kafka + kops.k8s.io/instancegroup: k8s-prod-data-kafka-c + role: Node + subnets: + - ap-northeast-2c + taints: + - prod/data-kafka:NoSchedule + +--- + +apiVersion: kops.k8s.io/v1alpha2 +kind: InstanceGroup +metadata: + creationTimestamp: "2022-11-02T01:51:49Z" + generation: 1 + labels: + kops.k8s.io/cluster: k8s-prod.datasaker.io + name: k8s-prod-process-a +spec: + image: ami-0abb33b73a78cae31 + machineType: c5.large + manager: CloudGroup + maxSize: 1 + minSize: 1 + nodeLabels: + datasaker/group: process + kops.k8s.io/instancegroup: k8s-prod-process-a + role: Node + rootVolumeSize: 100 + subnets: + - ap-northeast-2a + +--- + +apiVersion: kops.k8s.io/v1alpha2 +kind: InstanceGroup +metadata: + creationTimestamp: "2022-11-02T01:51:49Z" + generation: 1 + labels: + kops.k8s.io/cluster: k8s-prod.datasaker.io + name: k8s-prod-process-b +spec: + image: ami-0abb33b73a78cae31 + machineType: c5.large + manager: CloudGroup + maxSize: 1 + minSize: 1 + nodeLabels: + datasaker/group: process + kops.k8s.io/instancegroup: k8s-prod-process-b + role: Node + rootVolumeSize: 100 + subnets: + - ap-northeast-2b + +--- + +apiVersion: kops.k8s.io/v1alpha2 +kind: InstanceGroup +metadata: + creationTimestamp: "2022-11-02T01:51:49Z" + generation: 1 + labels: + kops.k8s.io/cluster: k8s-prod.datasaker.io + name: k8s-prod-process-c +spec: + image: ami-0abb33b73a78cae31 + machineType: c5.large + manager: CloudGroup + maxSize: 1 + minSize: 1 + nodeLabels: + datasaker/group: process + kops.k8s.io/instancegroup: k8s-prod-process-c + role: Node + rootVolumeSize: 100 + subnets: + - ap-northeast-2c + +--- + +apiVersion: kops.k8s.io/v1alpha2 +kind: InstanceGroup +metadata: + creationTimestamp: "2022-11-01T05:36:36Z" + generation: 1 + labels: + kops.k8s.io/cluster: k8s-prod.datasaker.io + name: master-ap-northeast-2a +spec: + image: ami-0abb33b73a78cae31 + instanceMetadata: + httpPutResponseHopLimit: 3 + httpTokens: required + machineType: c5a.large + maxSize: 1 + minSize: 1 + role: Master + subnets: + - ap-northeast-2a + +--- + +apiVersion: kops.k8s.io/v1alpha2 +kind: InstanceGroup +metadata: + creationTimestamp: "2022-11-01T05:36:36Z" + generation: 1 + labels: + kops.k8s.io/cluster: k8s-prod.datasaker.io + name: master-ap-northeast-2b +spec: + image: ami-0abb33b73a78cae31 + instanceMetadata: + httpPutResponseHopLimit: 3 + httpTokens: required + machineType: c5a.large + maxSize: 1 + minSize: 1 + role: Master + subnets: + - ap-northeast-2b + +--- + +apiVersion: kops.k8s.io/v1alpha2 +kind: InstanceGroup +metadata: + creationTimestamp: "2022-11-01T05:36:36Z" + generation: 1 + labels: + kops.k8s.io/cluster: k8s-prod.datasaker.io + name: master-ap-northeast-2c +spec: + image: ami-0abb33b73a78cae31 + instanceMetadata: + httpPutResponseHopLimit: 3 + httpTokens: required + machineType: c5a.large + maxSize: 1 + minSize: 1 + role: Master + subnets: + - ap-northeast-2c diff --git a/aws_kubernetes/aws_kops_prod/node_yaml/prod.datasaker.io-20221110.yaml b/aws_kubernetes/aws_kops_prod/node_yaml/prod.datasaker.io-20221110.yaml new file mode 100644 index 0000000..d20f464 --- /dev/null +++ b/aws_kubernetes/aws_kops_prod/node_yaml/prod.datasaker.io-20221110.yaml @@ -0,0 +1,411 @@ +apiVersion: kops.k8s.io/v1alpha2 +kind: Cluster +metadata: + creationTimestamp: "2022-11-01T05:36:36Z" + generation: 5 + name: k8s-prod.datasaker.io +spec: + api: + loadBalancer: + class: Network + type: Public + authorization: + rbac: {} + channel: stable + cloudProvider: aws + configBase: s3://clusters.prod.datasaker.io/k8s-prod.datasaker.io + containerRuntime: containerd + etcdClusters: + - cpuRequest: 200m + etcdMembers: + - encryptedVolume: true + instanceGroup: master-ap-northeast-2a + name: a + - encryptedVolume: true + instanceGroup: master-ap-northeast-2b + name: b + - encryptedVolume: true + instanceGroup: master-ap-northeast-2c + name: c + memoryRequest: 100Mi + name: main + - cpuRequest: 100m + etcdMembers: + - encryptedVolume: true + instanceGroup: master-ap-northeast-2a + name: a + - encryptedVolume: true + instanceGroup: master-ap-northeast-2b + name: b + - encryptedVolume: true + instanceGroup: master-ap-northeast-2c + name: c + memoryRequest: 100Mi + name: events + iam: + allowContainerRegistry: true + legacy: false + kubelet: + anonymousAuth: false + kubernetesApiAccess: + - 0.0.0.0/0 + - ::/0 + kubernetesVersion: 1.25.2 + masterInternalName: api.internal.k8s-prod.datasaker.io + masterPublicName: api.k8s-prod.datasaker.io + networkCIDR: 172.24.0.0/19 + networkID: vpc-00ba2b0e9ad59f0ed + networking: + calico: {} + nonMasqueradeCIDR: 100.64.0.0/10 + sshAccess: + - 0.0.0.0/0 + - ::/0 + subnets: + - cidr: 172.24.8.0/23 + id: subnet-024f0deda82039fa4 + name: ap-northeast-2a + type: Private + zone: ap-northeast-2a + - cidr: 172.24.10.0/23 + id: subnet-050d942fa1c46540a + name: ap-northeast-2b + type: Private + zone: ap-northeast-2b + - cidr: 172.24.12.0/23 + id: subnet-0946eb806af7377be + name: ap-northeast-2c + type: Private + zone: ap-northeast-2c + - cidr: 172.24.0.0/24 + id: subnet-00c363356f133411d + name: utility-ap-northeast-2a + type: Utility + zone: ap-northeast-2a + - cidr: 172.24.1.0/24 + id: subnet-07aa5e879a262014d + name: utility-ap-northeast-2b + type: Utility + zone: ap-northeast-2b + - cidr: 172.24.2.0/24 + id: subnet-0073a61bc56a68a3e + name: utility-ap-northeast-2c + type: Utility + zone: ap-northeast-2c + topology: + dns: + type: Public + masters: private + nodes: private + +--- + +apiVersion: kops.k8s.io/v1alpha2 +kind: InstanceGroup +metadata: + creationTimestamp: "2022-11-02T01:50:52Z" + generation: 2 + labels: + kops.k8s.io/cluster: k8s-prod.datasaker.io + name: k8s-prod-data-druid-a +spec: + image: ami-0409b7ddbc59e3222 + kubelet: + anonymousAuth: false + nodeLabels: + node-role.kubernetes.io/node: "" + machineType: m6i.large + manager: CloudGroup + maxSize: 1 + minSize: 1 + nodeLabels: + datasaker/group: data-druid + kops.k8s.io/instancegroup: k8s-prod-data-druid-a + role: Node + subnets: + - ap-northeast-2a + taints: + - prod/data-druid:NoSchedule + +--- + +apiVersion: kops.k8s.io/v1alpha2 +kind: InstanceGroup +metadata: + creationTimestamp: "2022-11-02T01:50:52Z" + generation: 2 + labels: + kops.k8s.io/cluster: k8s-prod.datasaker.io + name: k8s-prod-data-druid-b +spec: + image: ami-0409b7ddbc59e3222 + kubelet: + anonymousAuth: false + nodeLabels: + node-role.kubernetes.io/node: "" + machineType: m6i.large + manager: CloudGroup + maxSize: 1 + minSize: 1 + nodeLabels: + datasaker/group: data-druid + kops.k8s.io/instancegroup: k8s-prod-data-druid-b + role: Node + subnets: + - ap-northeast-2b + taints: + - prod/data-druid:NoSchedule + +--- + +apiVersion: kops.k8s.io/v1alpha2 +kind: InstanceGroup +metadata: + creationTimestamp: "2022-11-02T01:50:52Z" + generation: 2 + labels: + kops.k8s.io/cluster: k8s-prod.datasaker.io + name: k8s-prod-data-druid-c +spec: + image: ami-0409b7ddbc59e3222 + kubelet: + anonymousAuth: false + nodeLabels: + node-role.kubernetes.io/node: "" + machineType: m6i.large + manager: CloudGroup + maxSize: 1 + minSize: 1 + nodeLabels: + datasaker/group: data-druid + kops.k8s.io/instancegroup: k8s-prod-data-druid-c + role: Node + subnets: + - ap-northeast-2c + taints: + - prod/data-druid:NoSchedule + +--- + +apiVersion: kops.k8s.io/v1alpha2 +kind: InstanceGroup +metadata: + creationTimestamp: "2022-11-02T01:51:35Z" + generation: 3 + labels: + kops.k8s.io/cluster: k8s-prod.datasaker.io + name: k8s-prod-data-kafka-a +spec: + image: ami-0409b7ddbc59e3222 + kubelet: + anonymousAuth: false + nodeLabels: + node-role.kubernetes.io/node: "" + machineType: m6i.xlarge + manager: CloudGroup + maxSize: 1 + minSize: 1 + nodeLabels: + datasaker/group: data-kafka + kops.k8s.io/instancegroup: k8s-prod-data-kafka-a + role: Node + subnets: + - ap-northeast-2a + taints: + - prod/data-kafka:NoSchedule + +--- + +apiVersion: kops.k8s.io/v1alpha2 +kind: InstanceGroup +metadata: + creationTimestamp: "2022-11-02T01:51:35Z" + generation: 2 + labels: + kops.k8s.io/cluster: k8s-prod.datasaker.io + name: k8s-prod-data-kafka-b +spec: + image: ami-0409b7ddbc59e3222 + kubelet: + anonymousAuth: false + nodeLabels: + node-role.kubernetes.io/node: "" + machineType: m6i.xlarge + manager: CloudGroup + maxSize: 1 + minSize: 1 + nodeLabels: + datasaker/group: data-kafka + kops.k8s.io/instancegroup: k8s-prod-data-kafka-b + role: Node + subnets: + - ap-northeast-2b + taints: + - prod/data-kafka:NoSchedule + +--- + +apiVersion: kops.k8s.io/v1alpha2 +kind: InstanceGroup +metadata: + creationTimestamp: "2022-11-02T01:51:35Z" + generation: 3 + labels: + kops.k8s.io/cluster: k8s-prod.datasaker.io + name: k8s-prod-data-kafka-c +spec: + image: ami-0409b7ddbc59e3222 + kubelet: + anonymousAuth: false + nodeLabels: + node-role.kubernetes.io/node: "" + machineType: m6i.xlarge + manager: CloudGroup + maxSize: 1 + minSize: 1 + nodeLabels: + datasaker/group: data-kafka + kops.k8s.io/instancegroup: k8s-prod-data-kafka-c + role: Node + subnets: + - ap-northeast-2c + taints: + - prod/data-kafka:NoSchedule + +--- + +apiVersion: kops.k8s.io/v1alpha2 +kind: InstanceGroup +metadata: + creationTimestamp: "2022-11-02T01:51:49Z" + generation: 3 + labels: + kops.k8s.io/cluster: k8s-prod.datasaker.io + name: k8s-prod-process-a +spec: + image: ami-0409b7ddbc59e3222 + machineType: c5.large + manager: CloudGroup + maxSize: 1 + minSize: 1 + nodeLabels: + datasaker/group: process + kops.k8s.io/instancegroup: k8s-prod-process-a + role: Node + rootVolumeSize: 100 + subnets: + - ap-northeast-2a + +--- + +apiVersion: kops.k8s.io/v1alpha2 +kind: InstanceGroup +metadata: + creationTimestamp: "2022-11-02T01:51:49Z" + generation: 3 + labels: + kops.k8s.io/cluster: k8s-prod.datasaker.io + name: k8s-prod-process-b +spec: + image: ami-0409b7ddbc59e3222 + machineType: c5.large + manager: CloudGroup + maxSize: 1 + minSize: 1 + nodeLabels: + datasaker/group: process + kops.k8s.io/instancegroup: k8s-prod-process-b + role: Node + rootVolumeSize: 100 + subnets: + - ap-northeast-2b + +--- + +apiVersion: kops.k8s.io/v1alpha2 +kind: InstanceGroup +metadata: + creationTimestamp: "2022-11-02T01:51:49Z" + generation: 3 + labels: + kops.k8s.io/cluster: k8s-prod.datasaker.io + name: k8s-prod-process-c +spec: + image: ami-0409b7ddbc59e3222 + machineType: c5.large + manager: CloudGroup + maxSize: 1 + minSize: 1 + nodeLabels: + datasaker/group: process + kops.k8s.io/instancegroup: k8s-prod-process-c + role: Node + rootVolumeSize: 100 + subnets: + - ap-northeast-2c + +--- + +apiVersion: kops.k8s.io/v1alpha2 +kind: InstanceGroup +metadata: + creationTimestamp: "2022-11-01T05:36:36Z" + generation: 2 + labels: + kops.k8s.io/cluster: k8s-prod.datasaker.io + name: master-ap-northeast-2a +spec: + image: ami-0409b7ddbc59e3222 + instanceMetadata: + httpPutResponseHopLimit: 3 + httpTokens: required + machineType: c5a.large + maxSize: 1 + minSize: 1 + role: Master + subnets: + - ap-northeast-2a + +--- + +apiVersion: kops.k8s.io/v1alpha2 +kind: InstanceGroup +metadata: + creationTimestamp: "2022-11-01T05:36:36Z" + generation: 2 + labels: + kops.k8s.io/cluster: k8s-prod.datasaker.io + name: master-ap-northeast-2b +spec: + image: ami-0409b7ddbc59e3222 + instanceMetadata: + httpPutResponseHopLimit: 3 + httpTokens: required + machineType: c5a.large + maxSize: 1 + minSize: 1 + role: Master + subnets: + - ap-northeast-2b + +--- + +apiVersion: kops.k8s.io/v1alpha2 +kind: InstanceGroup +metadata: + creationTimestamp: "2022-11-01T05:36:36Z" + generation: 2 + labels: + kops.k8s.io/cluster: k8s-prod.datasaker.io + name: master-ap-northeast-2c +spec: + image: ami-0409b7ddbc59e3222 + instanceMetadata: + httpPutResponseHopLimit: 3 + httpTokens: required + machineType: c5a.large + maxSize: 1 + minSize: 1 + role: Master + subnets: + - ap-northeast-2c diff --git a/aws_kubernetes/aws_kops_prod/node_yaml/spot-process.yaml b/aws_kubernetes/aws_kops_prod/node_yaml/spot-process.yaml new file mode 100644 index 0000000..1d5b0ba --- /dev/null +++ b/aws_kubernetes/aws_kops_prod/node_yaml/spot-process.yaml @@ -0,0 +1,95 @@ +apiVersion: kops.k8s.io/v1alpha2 +kind: InstanceGroup +metadata: + labels: + kops.k8s.io/cluster: k8s-prod.datasaker.io + name: k8s-rel-process-a +spec: + image: ami-0409b7ddbc59e3222 + machineType: m5a.xlarge + manager: CloudGroup + maxSize: 1 + minSize: 1 + mixedInstancesPolicy: + onDemandAboveBase: 0 + onDemandBase: 0 + spotAllocationStrategy: capacity-optimized + nodeLabels: + datasaker/group: rel-process + kops.k8s.io/instancegroup: k8s-rel-process-a + rootVolumeSize: 100 + role: Node + subnets: + - ap-northeast-2a +--- +apiVersion: kops.k8s.io/v1alpha2 +kind: InstanceGroup +metadata: + labels: + kops.k8s.io/cluster: k8s-prod.datasaker.io + name: k8s-rel-process-a2 +spec: + image: ami-0409b7ddbc59e3222 + machineType: m5a.xlarge + manager: CloudGroup + maxSize: 1 + minSize: 1 + mixedInstancesPolicy: + onDemandAboveBase: 0 + onDemandBase: 0 + spotAllocationStrategy: capacity-optimized + nodeLabels: + datasaker/group: rel-process + kops.k8s.io/instancegroup: k8s-rel-process-a2 + rootVolumeSize: 100 + role: Node + subnets: + - ap-northeast-2a +--- +apiVersion: kops.k8s.io/v1alpha2 +kind: InstanceGroup +metadata: + labels: + kops.k8s.io/cluster: k8s-prod.datasaker.io + name: k8s-rel-process-b +spec: + image: ami-0409b7ddbc59e3222 + machineType: m6i.xlarge + manager: CloudGroup + maxSize: 1 + minSize: 1 + mixedInstancesPolicy: + onDemandAboveBase: 0 + onDemandBase: 0 + spotAllocationStrategy: capacity-optimized + nodeLabels: + datasaker/group: rel-process + kops.k8s.io/instancegroup: k8s-rel-process-b + rootVolumeSize: 100 + role: Node + subnets: + - ap-northeast-2b +--- +apiVersion: kops.k8s.io/v1alpha2 +kind: InstanceGroup +metadata: + labels: + kops.k8s.io/cluster: k8s-prod.datasaker.io + name: k8s-rel-process-c +spec: + image: ami-0409b7ddbc59e3222 + machineType: m5a.xlarge + manager: CloudGroup + maxSize: 1 + minSize: 1 + mixedInstancesPolicy: + onDemandAboveBase: 0 + onDemandBase: 0 + spotAllocationStrategy: capacity-optimized + nodeLabels: + datasaker/group: rel-process + kops.k8s.io/instancegroup: k8s-rel-process-c + rootVolumeSize: 100 + role: Node + subnets: + - ap-northeast-2c diff --git a/aws_kubernetes/aws_kops_prod/node_yaml/std_process.yaml b/aws_kubernetes/aws_kops_prod/node_yaml/std_process.yaml new file mode 100644 index 0000000..367efed --- /dev/null +++ b/aws_kubernetes/aws_kops_prod/node_yaml/std_process.yaml @@ -0,0 +1,20 @@ +apiVersion: kops.k8s.io/v1alpha2 +kind: InstanceGroup +metadata: + labels: + kops.k8s.io/cluster: k8s-prod.datasaker.io + name: k8s-prod-process-a +spec: + image: ami-0409b7ddbc59e3222 + machineType: c5.xlarge + manager: CloudGroup + maxSize: 1 + minSize: 1 + nodeLabels: + datasaker/group: process + kops.k8s.io/instancegroup: k8s-prod-process-a + rootVolumeSize: 100 + role: Node + subnets: + - ap-northeast-2a + diff --git a/aws_kubernetes/aws_kops_prod/spot_node_yaml/all_process.yaml b/aws_kubernetes/aws_kops_prod/spot_node_yaml/all_process.yaml index 7beee90..2c8e592 100644 --- a/aws_kubernetes/aws_kops_prod/spot_node_yaml/all_process.yaml +++ b/aws_kubernetes/aws_kops_prod/spot_node_yaml/all_process.yaml @@ -21,6 +21,8 @@ spec: role: Node subnets: - ap-northeast-2a + taints: + - prod/spot:NoSchedule --- apiVersion: kops.k8s.io/v1alpha2 kind: InstanceGroup @@ -45,6 +47,8 @@ spec: role: Node subnets: - ap-northeast-2a + taints: + - prod/spot:NoSchedule --- apiVersion: kops.k8s.io/v1alpha2 kind: InstanceGroup @@ -69,6 +73,8 @@ spec: role: Node subnets: - ap-northeast-2b + taints: + - prod/spot:NoSchedule --- apiVersion: kops.k8s.io/v1alpha2 kind: InstanceGroup @@ -89,3 +95,5 @@ spec: role: Node subnets: - ap-northeast-2c + taints: + - prod/spot:NoSchedule diff --git a/aws_kubernetes/aws_kops_prod/terraform/05_route53.tf b/aws_kubernetes/aws_kops_prod/terraform/05_route53.tf index 78405ca..12194d8 100644 --- a/aws_kubernetes/aws_kops_prod/terraform/05_route53.tf +++ b/aws_kubernetes/aws_kops_prod/terraform/05_route53.tf @@ -42,3 +42,33 @@ resource "aws_route53_record" "datagate" { } } +resource "aws_route53_record" "release_ui" { + zone_id = "${var.datasaker-io}" + name = "app.rel.kr.datasaker.io" + type = "A" + alias { + name = aws_alb.nlb-prod-kr-ingress.dns_name + zone_id = aws_alb.nlb-prod-kr-ingress.zone_id + evaluate_target_health = true + } +} +resource "aws_route53_record" "release_krakend" { + zone_id = "${var.datasaker-io}" + name = "api.rel.kr.datasaker.io" + type = "A" + alias { + name = aws_alb.nlb-prod-kr-ingress.dns_name + zone_id = aws_alb.nlb-prod-kr-ingress.zone_id + evaluate_target_health = true + } +} +resource "aws_route53_record" "release_datagate" { + zone_id = "${var.datasaker-io}" + name = "gate.rel.kr.datasaker.io" + type = "A" + alias { + name = aws_alb.nlb-prod-kr-ingress.dns_name + zone_id = aws_alb.nlb-prod-kr-ingress.zone_id + evaluate_target_health = true + } +} diff --git a/aws_kubernetes/aws_kops_prod/terraform/99_variables.tf b/aws_kubernetes/aws_kops_prod/terraform/99_variables.tf index 7192611..e7197ae 100644 --- a/aws_kubernetes/aws_kops_prod/terraform/99_variables.tf +++ b/aws_kubernetes/aws_kops_prod/terraform/99_variables.tf @@ -8,15 +8,15 @@ variable "port_list" { #---------------------------------------------------------------# # LB 구성 후 target group 매칭 시 필요한 인스턴스 ID variable "master-2a" { - default = "i-014c424f66623b752" + default = "i-06743c6115368596c" } variable "master-2b" { - default = "i-023d4870352e29e95" + default = "i-01b5f7d2d7382274d" } variable "master-2c" { - default = "i-092f6ffe189c86fe2" + default = "i-0739c2d32a88b7962" } #---------------------------------------------------------------# diff --git a/aws_kubernetes/aws_kops_prod/terraform/terraform.tfstate b/aws_kubernetes/aws_kops_prod/terraform/terraform.tfstate index f311d97..d552412 100644 --- a/aws_kubernetes/aws_kops_prod/terraform/terraform.tfstate +++ b/aws_kubernetes/aws_kops_prod/terraform/terraform.tfstate @@ -1,7 +1,7 @@ { "version": 4, "terraform_version": "1.3.1", - "serial": 231, + "serial": 442, "lineage": "032f4e32-eac2-150d-d701-e7669deda40a", "outputs": {}, "resources": [ @@ -112,7 +112,7 @@ "port": 31300, "protocol": "TCP", "ssl_policy": "", - "tags": null, + "tags": {}, "tags_all": {}, "timeouts": null }, @@ -154,7 +154,7 @@ "port": 31301, "protocol": "TCP", "ssl_policy": "", - "tags": null, + "tags": {}, "tags_all": {}, "timeouts": null }, @@ -196,7 +196,7 @@ "port": 31302, "protocol": "TCP", "ssl_policy": "", - "tags": null, + "tags": {}, "tags_all": {}, "timeouts": null }, @@ -238,7 +238,7 @@ "port": 31303, "protocol": "TCP", "ssl_policy": "", - "tags": null, + "tags": {}, "tags_all": {}, "timeouts": null }, @@ -280,7 +280,7 @@ "port": 31304, "protocol": "TCP", "ssl_policy": "", - "tags": null, + "tags": {}, "tags_all": {}, "timeouts": null }, @@ -322,7 +322,7 @@ "port": 443, "protocol": "TCP", "ssl_policy": "", - "tags": null, + "tags": {}, "tags_all": {}, "timeouts": null }, @@ -364,7 +364,7 @@ "port": 80, "protocol": "TCP", "ssl_policy": "", - "tags": null, + "tags": {}, "tags_all": {}, "timeouts": null }, @@ -423,7 +423,7 @@ "type": "source_ip" } ], - "tags": null, + "tags": {}, "tags_all": {}, "target_failover": [ { @@ -485,7 +485,7 @@ "type": "source_ip" } ], - "tags": null, + "tags": {}, "tags_all": {}, "target_failover": [ { @@ -547,7 +547,7 @@ "type": "source_ip" } ], - "tags": null, + "tags": {}, "tags_all": {}, "target_failover": [ { @@ -609,7 +609,7 @@ "type": "source_ip" } ], - "tags": null, + "tags": {}, "tags_all": {}, "target_failover": [ { @@ -671,7 +671,7 @@ "type": "source_ip" } ], - "tags": null, + "tags": {}, "tags_all": {}, "target_failover": [ { @@ -733,7 +733,7 @@ "type": "source_ip" } ], - "tags": null, + "tags": {}, "tags_all": {}, "target_failover": [ { @@ -795,7 +795,7 @@ "type": "source_ip" } ], - "tags": null, + "tags": {}, "tags_all": {}, "target_failover": [ { @@ -821,10 +821,10 @@ "schema_version": 0, "attributes": { "availability_zone": null, - "id": "arn:aws:elasticloadbalancing:ap-northeast-2:508259851457:targetgroup/tg-prod-kr-tcp-30000/dbc0dba72448ec1f-20221214064759615400000003", + "id": "arn:aws:elasticloadbalancing:ap-northeast-2:508259851457:targetgroup/tg-prod-kr-tcp-30000/dbc0dba72448ec1f-20221223032107461300000004", "port": 30000, "target_group_arn": "arn:aws:elasticloadbalancing:ap-northeast-2:508259851457:targetgroup/tg-prod-kr-tcp-30000/dbc0dba72448ec1f", - "target_id": "i-014c424f66623b752" + "target_id": "i-06743c6115368596c" }, "sensitive_attributes": [], "private": "bnVsbA==", @@ -844,10 +844,10 @@ "schema_version": 0, "attributes": { "availability_zone": null, - "id": "arn:aws:elasticloadbalancing:ap-northeast-2:508259851457:targetgroup/tg-prod-kr-tcp-30000/dbc0dba72448ec1f-20221214064759654900000005", + "id": "arn:aws:elasticloadbalancing:ap-northeast-2:508259851457:targetgroup/tg-prod-kr-tcp-30000/dbc0dba72448ec1f-20221223032108558400000011", "port": 30000, "target_group_arn": "arn:aws:elasticloadbalancing:ap-northeast-2:508259851457:targetgroup/tg-prod-kr-tcp-30000/dbc0dba72448ec1f", - "target_id": "i-023d4870352e29e95" + "target_id": "i-01b5f7d2d7382274d" }, "sensitive_attributes": [], "private": "bnVsbA==", @@ -867,10 +867,10 @@ "schema_version": 0, "attributes": { "availability_zone": null, - "id": "arn:aws:elasticloadbalancing:ap-northeast-2:508259851457:targetgroup/tg-prod-kr-tcp-30000/dbc0dba72448ec1f-20221214064759535600000001", + "id": "arn:aws:elasticloadbalancing:ap-northeast-2:508259851457:targetgroup/tg-prod-kr-tcp-30000/dbc0dba72448ec1f-20221223032107816500000009", "port": 30000, "target_group_arn": "arn:aws:elasticloadbalancing:ap-northeast-2:508259851457:targetgroup/tg-prod-kr-tcp-30000/dbc0dba72448ec1f", - "target_id": "i-092f6ffe189c86fe2" + "target_id": "i-0739c2d32a88b7962" }, "sensitive_attributes": [], "private": "bnVsbA==", @@ -890,10 +890,10 @@ "schema_version": 0, "attributes": { "availability_zone": null, - "id": "arn:aws:elasticloadbalancing:ap-northeast-2:508259851457:targetgroup/tg-prod-kr-tcp-30001/32f75b1c3463b8e8-2022121406475981470000000d", + "id": "arn:aws:elasticloadbalancing:ap-northeast-2:508259851457:targetgroup/tg-prod-kr-tcp-30001/32f75b1c3463b8e8-20221223032107718900000008", "port": 30001, "target_group_arn": "arn:aws:elasticloadbalancing:ap-northeast-2:508259851457:targetgroup/tg-prod-kr-tcp-30001/32f75b1c3463b8e8", - "target_id": "i-014c424f66623b752" + "target_id": "i-06743c6115368596c" }, "sensitive_attributes": [], "private": "bnVsbA==", @@ -913,10 +913,10 @@ "schema_version": 0, "attributes": { "availability_zone": null, - "id": "arn:aws:elasticloadbalancing:ap-northeast-2:508259851457:targetgroup/tg-prod-kr-tcp-30001/32f75b1c3463b8e8-20221214064759989500000014", + "id": "arn:aws:elasticloadbalancing:ap-northeast-2:508259851457:targetgroup/tg-prod-kr-tcp-30001/32f75b1c3463b8e8-20221223032107396200000002", "port": 30001, "target_group_arn": "arn:aws:elasticloadbalancing:ap-northeast-2:508259851457:targetgroup/tg-prod-kr-tcp-30001/32f75b1c3463b8e8", - "target_id": "i-023d4870352e29e95" + "target_id": "i-01b5f7d2d7382274d" }, "sensitive_attributes": [], "private": "bnVsbA==", @@ -936,10 +936,10 @@ "schema_version": 0, "attributes": { "availability_zone": null, - "id": "arn:aws:elasticloadbalancing:ap-northeast-2:508259851457:targetgroup/tg-prod-kr-tcp-30001/32f75b1c3463b8e8-20221214064759570700000002", + "id": "arn:aws:elasticloadbalancing:ap-northeast-2:508259851457:targetgroup/tg-prod-kr-tcp-30001/32f75b1c3463b8e8-20221223032107666200000007", "port": 30001, "target_group_arn": "arn:aws:elasticloadbalancing:ap-northeast-2:508259851457:targetgroup/tg-prod-kr-tcp-30001/32f75b1c3463b8e8", - "target_id": "i-092f6ffe189c86fe2" + "target_id": "i-0739c2d32a88b7962" }, "sensitive_attributes": [], "private": "bnVsbA==", @@ -959,10 +959,10 @@ "schema_version": 0, "attributes": { "availability_zone": null, - "id": "arn:aws:elasticloadbalancing:ap-northeast-2:508259851457:targetgroup/tg-prod-kr-tcp-31300/37a260b4c911162e-2022121406475982620000000e", + "id": "arn:aws:elasticloadbalancing:ap-northeast-2:508259851457:targetgroup/tg-prod-kr-tcp-31300/37a260b4c911162e-20221223032108505300000010", "port": 31300, "target_group_arn": "arn:aws:elasticloadbalancing:ap-northeast-2:508259851457:targetgroup/tg-prod-kr-tcp-31300/37a260b4c911162e", - "target_id": "i-014c424f66623b752" + "target_id": "i-06743c6115368596c" }, "sensitive_attributes": [], "private": "bnVsbA==", @@ -982,10 +982,10 @@ "schema_version": 0, "attributes": { "availability_zone": null, - "id": "arn:aws:elasticloadbalancing:ap-northeast-2:508259851457:targetgroup/tg-prod-kr-tcp-31300/37a260b4c911162e-20221214064759933100000013", + "id": "arn:aws:elasticloadbalancing:ap-northeast-2:508259851457:targetgroup/tg-prod-kr-tcp-31300/37a260b4c911162e-20221223032107421400000003", "port": 31300, "target_group_arn": "arn:aws:elasticloadbalancing:ap-northeast-2:508259851457:targetgroup/tg-prod-kr-tcp-31300/37a260b4c911162e", - "target_id": "i-023d4870352e29e95" + "target_id": "i-01b5f7d2d7382274d" }, "sensitive_attributes": [], "private": "bnVsbA==", @@ -1005,10 +1005,10 @@ "schema_version": 0, "attributes": { "availability_zone": null, - "id": "arn:aws:elasticloadbalancing:ap-northeast-2:508259851457:targetgroup/tg-prod-kr-tcp-31300/37a260b4c911162e-2022121406475986210000000f", + "id": "arn:aws:elasticloadbalancing:ap-northeast-2:508259851457:targetgroup/tg-prod-kr-tcp-31300/37a260b4c911162e-20221223032107374000000001", "port": 31300, "target_group_arn": "arn:aws:elasticloadbalancing:ap-northeast-2:508259851457:targetgroup/tg-prod-kr-tcp-31300/37a260b4c911162e", - "target_id": "i-092f6ffe189c86fe2" + "target_id": "i-0739c2d32a88b7962" }, "sensitive_attributes": [], "private": "bnVsbA==", @@ -1028,10 +1028,10 @@ "schema_version": 0, "attributes": { "availability_zone": null, - "id": "arn:aws:elasticloadbalancing:ap-northeast-2:508259851457:targetgroup/tg-prod-kr-tcp-31301/c69a0602adf80661-20221214064759636700000004", + "id": "arn:aws:elasticloadbalancing:ap-northeast-2:508259851457:targetgroup/tg-prod-kr-tcp-31301/c69a0602adf80661-2022122303210842110000000f", "port": 31301, "target_group_arn": "arn:aws:elasticloadbalancing:ap-northeast-2:508259851457:targetgroup/tg-prod-kr-tcp-31301/c69a0602adf80661", - "target_id": "i-014c424f66623b752" + "target_id": "i-06743c6115368596c" }, "sensitive_attributes": [], "private": "bnVsbA==", @@ -1051,10 +1051,10 @@ "schema_version": 0, "attributes": { "availability_zone": null, - "id": "arn:aws:elasticloadbalancing:ap-northeast-2:508259851457:targetgroup/tg-prod-kr-tcp-31301/c69a0602adf80661-20221214064759698300000006", + "id": "arn:aws:elasticloadbalancing:ap-northeast-2:508259851457:targetgroup/tg-prod-kr-tcp-31301/c69a0602adf80661-2022122303210830580000000e", "port": 31301, "target_group_arn": "arn:aws:elasticloadbalancing:ap-northeast-2:508259851457:targetgroup/tg-prod-kr-tcp-31301/c69a0602adf80661", - "target_id": "i-023d4870352e29e95" + "target_id": "i-01b5f7d2d7382274d" }, "sensitive_attributes": [], "private": "bnVsbA==", @@ -1074,10 +1074,10 @@ "schema_version": 0, "attributes": { "availability_zone": null, - "id": "arn:aws:elasticloadbalancing:ap-northeast-2:508259851457:targetgroup/tg-prod-kr-tcp-31301/c69a0602adf80661-20221214064759725500000008", + "id": "arn:aws:elasticloadbalancing:ap-northeast-2:508259851457:targetgroup/tg-prod-kr-tcp-31301/c69a0602adf80661-2022122303210822000000000d", "port": 31301, "target_group_arn": "arn:aws:elasticloadbalancing:ap-northeast-2:508259851457:targetgroup/tg-prod-kr-tcp-31301/c69a0602adf80661", - "target_id": "i-092f6ffe189c86fe2" + "target_id": "i-0739c2d32a88b7962" }, "sensitive_attributes": [], "private": "bnVsbA==", @@ -1097,10 +1097,10 @@ "schema_version": 0, "attributes": { "availability_zone": null, - "id": "arn:aws:elasticloadbalancing:ap-northeast-2:508259851457:targetgroup/tg-prod-kr-tcp-31302/90b5772fefe00a35-20221214064800118600000015", + "id": "arn:aws:elasticloadbalancing:ap-northeast-2:508259851457:targetgroup/tg-prod-kr-tcp-31302/90b5772fefe00a35-20221223032109004600000014", "port": 31302, "target_group_arn": "arn:aws:elasticloadbalancing:ap-northeast-2:508259851457:targetgroup/tg-prod-kr-tcp-31302/90b5772fefe00a35", - "target_id": "i-014c424f66623b752" + "target_id": "i-06743c6115368596c" }, "sensitive_attributes": [], "private": "bnVsbA==", @@ -1120,10 +1120,10 @@ "schema_version": 0, "attributes": { "availability_zone": null, - "id": "arn:aws:elasticloadbalancing:ap-northeast-2:508259851457:targetgroup/tg-prod-kr-tcp-31302/90b5772fefe00a35-20221214064759924100000012", + "id": "arn:aws:elasticloadbalancing:ap-northeast-2:508259851457:targetgroup/tg-prod-kr-tcp-31302/90b5772fefe00a35-20221223032108614000000012", "port": 31302, "target_group_arn": "arn:aws:elasticloadbalancing:ap-northeast-2:508259851457:targetgroup/tg-prod-kr-tcp-31302/90b5772fefe00a35", - "target_id": "i-023d4870352e29e95" + "target_id": "i-01b5f7d2d7382274d" }, "sensitive_attributes": [], "private": "bnVsbA==", @@ -1143,10 +1143,10 @@ "schema_version": 0, "attributes": { "availability_zone": null, - "id": "arn:aws:elasticloadbalancing:ap-northeast-2:508259851457:targetgroup/tg-prod-kr-tcp-31302/90b5772fefe00a35-20221214064759893800000011", + "id": "arn:aws:elasticloadbalancing:ap-northeast-2:508259851457:targetgroup/tg-prod-kr-tcp-31302/90b5772fefe00a35-20221223032108674200000013", "port": 31302, "target_group_arn": "arn:aws:elasticloadbalancing:ap-northeast-2:508259851457:targetgroup/tg-prod-kr-tcp-31302/90b5772fefe00a35", - "target_id": "i-092f6ffe189c86fe2" + "target_id": "i-0739c2d32a88b7962" }, "sensitive_attributes": [], "private": "bnVsbA==", @@ -1166,10 +1166,10 @@ "schema_version": 0, "attributes": { "availability_zone": null, - "id": "arn:aws:elasticloadbalancing:ap-northeast-2:508259851457:targetgroup/tg-prod-kr-tcp-31303/2a237ebe36d7f334-2022121406475980780000000c", + "id": "arn:aws:elasticloadbalancing:ap-northeast-2:508259851457:targetgroup/tg-prod-kr-tcp-31303/2a237ebe36d7f334-20221223032107522000000006", "port": 31303, "target_group_arn": "arn:aws:elasticloadbalancing:ap-northeast-2:508259851457:targetgroup/tg-prod-kr-tcp-31303/2a237ebe36d7f334", - "target_id": "i-014c424f66623b752" + "target_id": "i-06743c6115368596c" }, "sensitive_attributes": [], "private": "bnVsbA==", @@ -1189,10 +1189,10 @@ "schema_version": 0, "attributes": { "availability_zone": null, - "id": "arn:aws:elasticloadbalancing:ap-northeast-2:508259851457:targetgroup/tg-prod-kr-tcp-31303/2a237ebe36d7f334-2022121406475978600000000b", + "id": "arn:aws:elasticloadbalancing:ap-northeast-2:508259851457:targetgroup/tg-prod-kr-tcp-31303/2a237ebe36d7f334-20221223032109149300000015", "port": 31303, "target_group_arn": "arn:aws:elasticloadbalancing:ap-northeast-2:508259851457:targetgroup/tg-prod-kr-tcp-31303/2a237ebe36d7f334", - "target_id": "i-023d4870352e29e95" + "target_id": "i-01b5f7d2d7382274d" }, "sensitive_attributes": [], "private": "bnVsbA==", @@ -1212,10 +1212,10 @@ "schema_version": 0, "attributes": { "availability_zone": null, - "id": "arn:aws:elasticloadbalancing:ap-northeast-2:508259851457:targetgroup/tg-prod-kr-tcp-31303/2a237ebe36d7f334-20221214064759885400000010", + "id": "arn:aws:elasticloadbalancing:ap-northeast-2:508259851457:targetgroup/tg-prod-kr-tcp-31303/2a237ebe36d7f334-20221223032107490400000005", "port": 31303, "target_group_arn": "arn:aws:elasticloadbalancing:ap-northeast-2:508259851457:targetgroup/tg-prod-kr-tcp-31303/2a237ebe36d7f334", - "target_id": "i-092f6ffe189c86fe2" + "target_id": "i-0739c2d32a88b7962" }, "sensitive_attributes": [], "private": "bnVsbA==", @@ -1235,10 +1235,10 @@ "schema_version": 0, "attributes": { "availability_zone": null, - "id": "arn:aws:elasticloadbalancing:ap-northeast-2:508259851457:targetgroup/tg-prod-kr-tcp-31304/3bd0ebf005c36880-2022121406475978090000000a", + "id": "arn:aws:elasticloadbalancing:ap-northeast-2:508259851457:targetgroup/tg-prod-kr-tcp-31304/3bd0ebf005c36880-2022122303210791990000000a", "port": 31304, "target_group_arn": "arn:aws:elasticloadbalancing:ap-northeast-2:508259851457:targetgroup/tg-prod-kr-tcp-31304/3bd0ebf005c36880", - "target_id": "i-014c424f66623b752" + "target_id": "i-06743c6115368596c" }, "sensitive_attributes": [], "private": "bnVsbA==", @@ -1258,10 +1258,10 @@ "schema_version": 0, "attributes": { "availability_zone": null, - "id": "arn:aws:elasticloadbalancing:ap-northeast-2:508259851457:targetgroup/tg-prod-kr-tcp-31304/3bd0ebf005c36880-20221214064759735600000009", + "id": "arn:aws:elasticloadbalancing:ap-northeast-2:508259851457:targetgroup/tg-prod-kr-tcp-31304/3bd0ebf005c36880-2022122303210801140000000b", "port": 31304, "target_group_arn": "arn:aws:elasticloadbalancing:ap-northeast-2:508259851457:targetgroup/tg-prod-kr-tcp-31304/3bd0ebf005c36880", - "target_id": "i-023d4870352e29e95" + "target_id": "i-01b5f7d2d7382274d" }, "sensitive_attributes": [], "private": "bnVsbA==", @@ -1281,10 +1281,10 @@ "schema_version": 0, "attributes": { "availability_zone": null, - "id": "arn:aws:elasticloadbalancing:ap-northeast-2:508259851457:targetgroup/tg-prod-kr-tcp-31304/3bd0ebf005c36880-20221214064759712600000007", + "id": "arn:aws:elasticloadbalancing:ap-northeast-2:508259851457:targetgroup/tg-prod-kr-tcp-31304/3bd0ebf005c36880-2022122303210811950000000c", "port": 31304, "target_group_arn": "arn:aws:elasticloadbalancing:ap-northeast-2:508259851457:targetgroup/tg-prod-kr-tcp-31304/3bd0ebf005c36880", - "target_id": "i-092f6ffe189c86fe2" + "target_id": "i-0739c2d32a88b7962" }, "sensitive_attributes": [], "private": "bnVsbA==", @@ -1314,14 +1314,134 @@ "failover_routing_policy": [], "fqdn": "gate.kr.datasaker.io", "geolocation_routing_policy": [], - "health_check_id": null, + "health_check_id": "", "id": "Z072735718G25WNVKU834_gate.kr.datasaker.io_A", "latency_routing_policy": [], "multivalue_answer_routing_policy": null, "name": "gate.kr.datasaker.io", - "records": null, - "set_identifier": null, - "ttl": null, + "records": [], + "set_identifier": "", + "ttl": 0, + "type": "A", + "weighted_routing_policy": [], + "zone_id": "Z072735718G25WNVKU834" + }, + "sensitive_attributes": [], + "private": "eyJzY2hlbWFfdmVyc2lvbiI6IjIifQ==", + "dependencies": [ + "aws_alb.nlb-prod-kr-ingress" + ] + } + ] + }, + { + "mode": "managed", + "type": "aws_route53_record", + "name": "release_datagate", + "provider": "provider[\"registry.terraform.io/hashicorp/aws\"]", + "instances": [ + { + "schema_version": 2, + "attributes": { + "alias": [ + { + "evaluate_target_health": true, + "name": "nlb-prod-kr-ingress-a1b7c286701236ba.elb.ap-northeast-2.amazonaws.com", + "zone_id": "ZIBE1TIR4HY56" + } + ], + "allow_overwrite": null, + "failover_routing_policy": [], + "fqdn": "gate.rel.kr.datasaker.io", + "geolocation_routing_policy": [], + "health_check_id": "", + "id": "Z072735718G25WNVKU834_gate.rel.kr.datasaker.io_A", + "latency_routing_policy": [], + "multivalue_answer_routing_policy": null, + "name": "gate.rel.kr.datasaker.io", + "records": [], + "set_identifier": "", + "ttl": 0, + "type": "A", + "weighted_routing_policy": [], + "zone_id": "Z072735718G25WNVKU834" + }, + "sensitive_attributes": [], + "private": "eyJzY2hlbWFfdmVyc2lvbiI6IjIifQ==", + "dependencies": [ + "aws_alb.nlb-prod-kr-ingress" + ] + } + ] + }, + { + "mode": "managed", + "type": "aws_route53_record", + "name": "release_krakend", + "provider": "provider[\"registry.terraform.io/hashicorp/aws\"]", + "instances": [ + { + "schema_version": 2, + "attributes": { + "alias": [ + { + "evaluate_target_health": true, + "name": "nlb-prod-kr-ingress-a1b7c286701236ba.elb.ap-northeast-2.amazonaws.com", + "zone_id": "ZIBE1TIR4HY56" + } + ], + "allow_overwrite": null, + "failover_routing_policy": [], + "fqdn": "api.rel.kr.datasaker.io", + "geolocation_routing_policy": [], + "health_check_id": "", + "id": "Z072735718G25WNVKU834_api.rel.kr.datasaker.io_A", + "latency_routing_policy": [], + "multivalue_answer_routing_policy": null, + "name": "api.rel.kr.datasaker.io", + "records": [], + "set_identifier": "", + "ttl": 0, + "type": "A", + "weighted_routing_policy": [], + "zone_id": "Z072735718G25WNVKU834" + }, + "sensitive_attributes": [], + "private": "eyJzY2hlbWFfdmVyc2lvbiI6IjIifQ==", + "dependencies": [ + "aws_alb.nlb-prod-kr-ingress" + ] + } + ] + }, + { + "mode": "managed", + "type": "aws_route53_record", + "name": "release_ui", + "provider": "provider[\"registry.terraform.io/hashicorp/aws\"]", + "instances": [ + { + "schema_version": 2, + "attributes": { + "alias": [ + { + "evaluate_target_health": true, + "name": "nlb-prod-kr-ingress-a1b7c286701236ba.elb.ap-northeast-2.amazonaws.com", + "zone_id": "ZIBE1TIR4HY56" + } + ], + "allow_overwrite": null, + "failover_routing_policy": [], + "fqdn": "app.rel.kr.datasaker.io", + "geolocation_routing_policy": [], + "health_check_id": "", + "id": "Z072735718G25WNVKU834_app.rel.kr.datasaker.io_A", + "latency_routing_policy": [], + "multivalue_answer_routing_policy": null, + "name": "app.rel.kr.datasaker.io", + "records": [], + "set_identifier": "", + "ttl": 0, "type": "A", "weighted_routing_policy": [], "zone_id": "Z072735718G25WNVKU834" diff --git a/aws_kubernetes/aws_kops_prod/terraform/terraform.tfstate.backup b/aws_kubernetes/aws_kops_prod/terraform/terraform.tfstate.backup index 5366c02..02fbb3c 100644 --- a/aws_kubernetes/aws_kops_prod/terraform/terraform.tfstate.backup +++ b/aws_kubernetes/aws_kops_prod/terraform/terraform.tfstate.backup @@ -1,14 +1,14 @@ { "version": 4, "terraform_version": "1.3.1", - "serial": 183, + "serial": 398, "lineage": "032f4e32-eac2-150d-d701-e7669deda40a", "outputs": {}, "resources": [ { "mode": "managed", "type": "aws_alb", - "name": "nlb-spot-kr-ingress", + "name": "nlb-prod-kr-ingress", "provider": "provider[\"registry.terraform.io/hashicorp/aws\"]", "instances": [ { @@ -21,22 +21,22 @@ "prefix": "" } ], - "arn": "arn:aws:elasticloadbalancing:ap-northeast-2:508259851457:loadbalancer/net/nlb-spot-kr-ingress/78764994534ff2f2", - "arn_suffix": "net/nlb-spot-kr-ingress/78764994534ff2f2", + "arn": "arn:aws:elasticloadbalancing:ap-northeast-2:508259851457:loadbalancer/net/nlb-prod-kr-ingress/a1b7c286701236ba", + "arn_suffix": "net/nlb-prod-kr-ingress/a1b7c286701236ba", "customer_owned_ipv4_pool": "", "desync_mitigation_mode": null, - "dns_name": "nlb-spot-kr-ingress-78764994534ff2f2.elb.ap-northeast-2.amazonaws.com", + "dns_name": "nlb-prod-kr-ingress-a1b7c286701236ba.elb.ap-northeast-2.amazonaws.com", "drop_invalid_header_fields": null, "enable_cross_zone_load_balancing": false, "enable_deletion_protection": false, "enable_http2": null, "enable_waf_fail_open": null, - "id": "arn:aws:elasticloadbalancing:ap-northeast-2:508259851457:loadbalancer/net/nlb-spot-kr-ingress/78764994534ff2f2", + "id": "arn:aws:elasticloadbalancing:ap-northeast-2:508259851457:loadbalancer/net/nlb-prod-kr-ingress/a1b7c286701236ba", "idle_timeout": null, "internal": false, "ip_address_type": "ipv4", "load_balancer_type": "network", - "name": "nlb-spot-kr-ingress", + "name": "nlb-prod-kr-ingress", "name_prefix": null, "preserve_host_header": null, "security_groups": [], @@ -69,10 +69,10 @@ "subnet-07aa5e879a262014d" ], "tags": { - "Environment": "nlb-spot-kr-ingress" + "Environment": "nlb-prod-kr-ingress" }, "tags_all": { - "Environment": "nlb-spot-kr-ingress" + "Environment": "nlb-prod-kr-ingress" }, "timeouts": null, "vpc_id": "vpc-00ba2b0e9ad59f0ed", @@ -86,14 +86,14 @@ { "mode": "managed", "type": "aws_alb_listener", - "name": "nlb-listener-http-spot", + "name": "nlb-listener-31300-prod", "provider": "provider[\"registry.terraform.io/hashicorp/aws\"]", "instances": [ { "schema_version": 0, "attributes": { "alpn_policy": null, - "arn": "arn:aws:elasticloadbalancing:ap-northeast-2:508259851457:listener/net/nlb-spot-kr-ingress/78764994534ff2f2/877ddd740e570ec4", + "arn": "arn:aws:elasticloadbalancing:ap-northeast-2:508259851457:listener/net/nlb-prod-kr-ingress/a1b7c286701236ba/4400cfd15adc10a9", "certificate_arn": null, "default_action": [ { @@ -103,12 +103,222 @@ "forward": [], "order": 1, "redirect": [], - "target_group_arn": "arn:aws:elasticloadbalancing:ap-northeast-2:508259851457:targetgroup/tg-spot-kr-tcp-30001/fa75e29a3ffe1fa4", + "target_group_arn": "arn:aws:elasticloadbalancing:ap-northeast-2:508259851457:targetgroup/tg-prod-kr-tcp-31300/37a260b4c911162e", "type": "forward" } ], - "id": "arn:aws:elasticloadbalancing:ap-northeast-2:508259851457:listener/net/nlb-spot-kr-ingress/78764994534ff2f2/877ddd740e570ec4", - "load_balancer_arn": "arn:aws:elasticloadbalancing:ap-northeast-2:508259851457:loadbalancer/net/nlb-spot-kr-ingress/78764994534ff2f2", + "id": "arn:aws:elasticloadbalancing:ap-northeast-2:508259851457:listener/net/nlb-prod-kr-ingress/a1b7c286701236ba/4400cfd15adc10a9", + "load_balancer_arn": "arn:aws:elasticloadbalancing:ap-northeast-2:508259851457:loadbalancer/net/nlb-prod-kr-ingress/a1b7c286701236ba", + "port": 31300, + "protocol": "TCP", + "ssl_policy": "", + "tags": {}, + "tags_all": {}, + "timeouts": null + }, + "sensitive_attributes": [], + "private": "eyJlMmJmYjczMC1lY2FhLTExZTYtOGY4OC0zNDM2M2JjN2M0YzAiOnsicmVhZCI6NjAwMDAwMDAwMDAwfX0=", + "dependencies": [ + "aws_alb.nlb-prod-kr-ingress", + "aws_alb_target_group.tg-prod-kr-tcp-31300" + ] + } + ] + }, + { + "mode": "managed", + "type": "aws_alb_listener", + "name": "nlb-listener-31301-prod", + "provider": "provider[\"registry.terraform.io/hashicorp/aws\"]", + "instances": [ + { + "schema_version": 0, + "attributes": { + "alpn_policy": null, + "arn": "arn:aws:elasticloadbalancing:ap-northeast-2:508259851457:listener/net/nlb-prod-kr-ingress/a1b7c286701236ba/dc06fea9aa19b2d8", + "certificate_arn": null, + "default_action": [ + { + "authenticate_cognito": [], + "authenticate_oidc": [], + "fixed_response": [], + "forward": [], + "order": 1, + "redirect": [], + "target_group_arn": "arn:aws:elasticloadbalancing:ap-northeast-2:508259851457:targetgroup/tg-prod-kr-tcp-31301/c69a0602adf80661", + "type": "forward" + } + ], + "id": "arn:aws:elasticloadbalancing:ap-northeast-2:508259851457:listener/net/nlb-prod-kr-ingress/a1b7c286701236ba/dc06fea9aa19b2d8", + "load_balancer_arn": "arn:aws:elasticloadbalancing:ap-northeast-2:508259851457:loadbalancer/net/nlb-prod-kr-ingress/a1b7c286701236ba", + "port": 31301, + "protocol": "TCP", + "ssl_policy": "", + "tags": {}, + "tags_all": {}, + "timeouts": null + }, + "sensitive_attributes": [], + "private": "eyJlMmJmYjczMC1lY2FhLTExZTYtOGY4OC0zNDM2M2JjN2M0YzAiOnsicmVhZCI6NjAwMDAwMDAwMDAwfX0=", + "dependencies": [ + "aws_alb.nlb-prod-kr-ingress", + "aws_alb_target_group.tg-prod-kr-tcp-31301" + ] + } + ] + }, + { + "mode": "managed", + "type": "aws_alb_listener", + "name": "nlb-listener-31302-prod", + "provider": "provider[\"registry.terraform.io/hashicorp/aws\"]", + "instances": [ + { + "schema_version": 0, + "attributes": { + "alpn_policy": null, + "arn": "arn:aws:elasticloadbalancing:ap-northeast-2:508259851457:listener/net/nlb-prod-kr-ingress/a1b7c286701236ba/f761e6777b0ac3f4", + "certificate_arn": null, + "default_action": [ + { + "authenticate_cognito": [], + "authenticate_oidc": [], + "fixed_response": [], + "forward": [], + "order": 1, + "redirect": [], + "target_group_arn": "arn:aws:elasticloadbalancing:ap-northeast-2:508259851457:targetgroup/tg-prod-kr-tcp-31302/90b5772fefe00a35", + "type": "forward" + } + ], + "id": "arn:aws:elasticloadbalancing:ap-northeast-2:508259851457:listener/net/nlb-prod-kr-ingress/a1b7c286701236ba/f761e6777b0ac3f4", + "load_balancer_arn": "arn:aws:elasticloadbalancing:ap-northeast-2:508259851457:loadbalancer/net/nlb-prod-kr-ingress/a1b7c286701236ba", + "port": 31302, + "protocol": "TCP", + "ssl_policy": "", + "tags": {}, + "tags_all": {}, + "timeouts": null + }, + "sensitive_attributes": [], + "private": "eyJlMmJmYjczMC1lY2FhLTExZTYtOGY4OC0zNDM2M2JjN2M0YzAiOnsicmVhZCI6NjAwMDAwMDAwMDAwfX0=", + "dependencies": [ + "aws_alb.nlb-prod-kr-ingress", + "aws_alb_target_group.tg-prod-kr-tcp-31302" + ] + } + ] + }, + { + "mode": "managed", + "type": "aws_alb_listener", + "name": "nlb-listener-31303-prod", + "provider": "provider[\"registry.terraform.io/hashicorp/aws\"]", + "instances": [ + { + "schema_version": 0, + "attributes": { + "alpn_policy": null, + "arn": "arn:aws:elasticloadbalancing:ap-northeast-2:508259851457:listener/net/nlb-prod-kr-ingress/a1b7c286701236ba/7e44edd07654a9a0", + "certificate_arn": null, + "default_action": [ + { + "authenticate_cognito": [], + "authenticate_oidc": [], + "fixed_response": [], + "forward": [], + "order": 1, + "redirect": [], + "target_group_arn": "arn:aws:elasticloadbalancing:ap-northeast-2:508259851457:targetgroup/tg-prod-kr-tcp-31303/2a237ebe36d7f334", + "type": "forward" + } + ], + "id": "arn:aws:elasticloadbalancing:ap-northeast-2:508259851457:listener/net/nlb-prod-kr-ingress/a1b7c286701236ba/7e44edd07654a9a0", + "load_balancer_arn": "arn:aws:elasticloadbalancing:ap-northeast-2:508259851457:loadbalancer/net/nlb-prod-kr-ingress/a1b7c286701236ba", + "port": 31303, + "protocol": "TCP", + "ssl_policy": "", + "tags": {}, + "tags_all": {}, + "timeouts": null + }, + "sensitive_attributes": [], + "private": "eyJlMmJmYjczMC1lY2FhLTExZTYtOGY4OC0zNDM2M2JjN2M0YzAiOnsicmVhZCI6NjAwMDAwMDAwMDAwfX0=", + "dependencies": [ + "aws_alb.nlb-prod-kr-ingress", + "aws_alb_target_group.tg-prod-kr-tcp-31303" + ] + } + ] + }, + { + "mode": "managed", + "type": "aws_alb_listener", + "name": "nlb-listener-31304-prod", + "provider": "provider[\"registry.terraform.io/hashicorp/aws\"]", + "instances": [ + { + "schema_version": 0, + "attributes": { + "alpn_policy": null, + "arn": "arn:aws:elasticloadbalancing:ap-northeast-2:508259851457:listener/net/nlb-prod-kr-ingress/a1b7c286701236ba/0261667c414f5239", + "certificate_arn": null, + "default_action": [ + { + "authenticate_cognito": [], + "authenticate_oidc": [], + "fixed_response": [], + "forward": [], + "order": 1, + "redirect": [], + "target_group_arn": "arn:aws:elasticloadbalancing:ap-northeast-2:508259851457:targetgroup/tg-prod-kr-tcp-31304/3bd0ebf005c36880", + "type": "forward" + } + ], + "id": "arn:aws:elasticloadbalancing:ap-northeast-2:508259851457:listener/net/nlb-prod-kr-ingress/a1b7c286701236ba/0261667c414f5239", + "load_balancer_arn": "arn:aws:elasticloadbalancing:ap-northeast-2:508259851457:loadbalancer/net/nlb-prod-kr-ingress/a1b7c286701236ba", + "port": 31304, + "protocol": "TCP", + "ssl_policy": "", + "tags": {}, + "tags_all": {}, + "timeouts": null + }, + "sensitive_attributes": [], + "private": "eyJlMmJmYjczMC1lY2FhLTExZTYtOGY4OC0zNDM2M2JjN2M0YzAiOnsicmVhZCI6NjAwMDAwMDAwMDAwfX0=", + "dependencies": [ + "aws_alb.nlb-prod-kr-ingress", + "aws_alb_target_group.tg-prod-kr-tcp-31304" + ] + } + ] + }, + { + "mode": "managed", + "type": "aws_alb_listener", + "name": "nlb-listener-http-prod", + "provider": "provider[\"registry.terraform.io/hashicorp/aws\"]", + "instances": [ + { + "schema_version": 0, + "attributes": { + "alpn_policy": null, + "arn": "arn:aws:elasticloadbalancing:ap-northeast-2:508259851457:listener/net/nlb-prod-kr-ingress/a1b7c286701236ba/3ef69341aecb4ee5", + "certificate_arn": null, + "default_action": [ + { + "authenticate_cognito": [], + "authenticate_oidc": [], + "fixed_response": [], + "forward": [], + "order": 1, + "redirect": [], + "target_group_arn": "arn:aws:elasticloadbalancing:ap-northeast-2:508259851457:targetgroup/tg-prod-kr-tcp-30001/32f75b1c3463b8e8", + "type": "forward" + } + ], + "id": "arn:aws:elasticloadbalancing:ap-northeast-2:508259851457:listener/net/nlb-prod-kr-ingress/a1b7c286701236ba/3ef69341aecb4ee5", + "load_balancer_arn": "arn:aws:elasticloadbalancing:ap-northeast-2:508259851457:loadbalancer/net/nlb-prod-kr-ingress/a1b7c286701236ba", "port": 443, "protocol": "TCP", "ssl_policy": "", @@ -119,8 +329,8 @@ "sensitive_attributes": [], "private": "eyJlMmJmYjczMC1lY2FhLTExZTYtOGY4OC0zNDM2M2JjN2M0YzAiOnsicmVhZCI6NjAwMDAwMDAwMDAwfX0=", "dependencies": [ - "aws_alb.nlb-spot-kr-ingress", - "aws_alb_target_group.tg-spot-kr-tcp-30001" + "aws_alb.nlb-prod-kr-ingress", + "aws_alb_target_group.tg-prod-kr-tcp-30001" ] } ] @@ -128,14 +338,14 @@ { "mode": "managed", "type": "aws_alb_listener", - "name": "nlb-listener-tls-spot", + "name": "nlb-listener-tls-prod", "provider": "provider[\"registry.terraform.io/hashicorp/aws\"]", "instances": [ { "schema_version": 0, "attributes": { "alpn_policy": null, - "arn": "arn:aws:elasticloadbalancing:ap-northeast-2:508259851457:listener/net/nlb-spot-kr-ingress/78764994534ff2f2/fbb26c612065fd23", + "arn": "arn:aws:elasticloadbalancing:ap-northeast-2:508259851457:listener/net/nlb-prod-kr-ingress/a1b7c286701236ba/40de96e8f37877a4", "certificate_arn": null, "default_action": [ { @@ -145,12 +355,12 @@ "forward": [], "order": 1, "redirect": [], - "target_group_arn": "arn:aws:elasticloadbalancing:ap-northeast-2:508259851457:targetgroup/tg-spot-kr-tcp-30000/bb1ec3447d8f55f1", + "target_group_arn": "arn:aws:elasticloadbalancing:ap-northeast-2:508259851457:targetgroup/tg-prod-kr-tcp-30000/dbc0dba72448ec1f", "type": "forward" } ], - "id": "arn:aws:elasticloadbalancing:ap-northeast-2:508259851457:listener/net/nlb-spot-kr-ingress/78764994534ff2f2/fbb26c612065fd23", - "load_balancer_arn": "arn:aws:elasticloadbalancing:ap-northeast-2:508259851457:loadbalancer/net/nlb-spot-kr-ingress/78764994534ff2f2", + "id": "arn:aws:elasticloadbalancing:ap-northeast-2:508259851457:listener/net/nlb-prod-kr-ingress/a1b7c286701236ba/40de96e8f37877a4", + "load_balancer_arn": "arn:aws:elasticloadbalancing:ap-northeast-2:508259851457:loadbalancer/net/nlb-prod-kr-ingress/a1b7c286701236ba", "port": 80, "protocol": "TCP", "ssl_policy": "", @@ -161,8 +371,8 @@ "sensitive_attributes": [], "private": "eyJlMmJmYjczMC1lY2FhLTExZTYtOGY4OC0zNDM2M2JjN2M0YzAiOnsicmVhZCI6NjAwMDAwMDAwMDAwfX0=", "dependencies": [ - "aws_alb.nlb-spot-kr-ingress", - "aws_alb_target_group.tg-spot-kr-tcp-30000" + "aws_alb.nlb-prod-kr-ingress", + "aws_alb_target_group.tg-prod-kr-tcp-30000" ] } ] @@ -170,14 +380,14 @@ { "mode": "managed", "type": "aws_alb_target_group", - "name": "tg-spot-kr-tcp-30000", + "name": "tg-prod-kr-tcp-30000", "provider": "provider[\"registry.terraform.io/hashicorp/aws\"]", "instances": [ { "schema_version": 0, "attributes": { - "arn": "arn:aws:elasticloadbalancing:ap-northeast-2:508259851457:targetgroup/tg-spot-kr-tcp-30000/bb1ec3447d8f55f1", - "arn_suffix": "targetgroup/tg-spot-kr-tcp-30000/bb1ec3447d8f55f1", + "arn": "arn:aws:elasticloadbalancing:ap-northeast-2:508259851457:targetgroup/tg-prod-kr-tcp-30000/dbc0dba72448ec1f", + "arn_suffix": "targetgroup/tg-prod-kr-tcp-30000/dbc0dba72448ec1f", "connection_termination": false, "deregistration_delay": "300", "health_check": [ @@ -193,11 +403,11 @@ "unhealthy_threshold": 3 } ], - "id": "arn:aws:elasticloadbalancing:ap-northeast-2:508259851457:targetgroup/tg-spot-kr-tcp-30000/bb1ec3447d8f55f1", + "id": "arn:aws:elasticloadbalancing:ap-northeast-2:508259851457:targetgroup/tg-prod-kr-tcp-30000/dbc0dba72448ec1f", "ip_address_type": "ipv4", "lambda_multi_value_headers_enabled": false, "load_balancing_algorithm_type": null, - "name": "tg-spot-kr-tcp-30000", + "name": "tg-prod-kr-tcp-30000", "name_prefix": null, "port": 30000, "preserve_client_ip": "true", @@ -232,14 +442,14 @@ { "mode": "managed", "type": "aws_alb_target_group", - "name": "tg-spot-kr-tcp-30001", + "name": "tg-prod-kr-tcp-30001", "provider": "provider[\"registry.terraform.io/hashicorp/aws\"]", "instances": [ { "schema_version": 0, "attributes": { - "arn": "arn:aws:elasticloadbalancing:ap-northeast-2:508259851457:targetgroup/tg-spot-kr-tcp-30001/fa75e29a3ffe1fa4", - "arn_suffix": "targetgroup/tg-spot-kr-tcp-30001/fa75e29a3ffe1fa4", + "arn": "arn:aws:elasticloadbalancing:ap-northeast-2:508259851457:targetgroup/tg-prod-kr-tcp-30001/32f75b1c3463b8e8", + "arn_suffix": "targetgroup/tg-prod-kr-tcp-30001/32f75b1c3463b8e8", "connection_termination": false, "deregistration_delay": "300", "health_check": [ @@ -255,11 +465,11 @@ "unhealthy_threshold": 3 } ], - "id": "arn:aws:elasticloadbalancing:ap-northeast-2:508259851457:targetgroup/tg-spot-kr-tcp-30001/fa75e29a3ffe1fa4", + "id": "arn:aws:elasticloadbalancing:ap-northeast-2:508259851457:targetgroup/tg-prod-kr-tcp-30001/32f75b1c3463b8e8", "ip_address_type": "ipv4", "lambda_multi_value_headers_enabled": false, "load_balancing_algorithm_type": null, - "name": "tg-spot-kr-tcp-30001", + "name": "tg-prod-kr-tcp-30001", "name_prefix": null, "port": 30001, "preserve_client_ip": "true", @@ -291,25 +501,335 @@ } ] }, + { + "mode": "managed", + "type": "aws_alb_target_group", + "name": "tg-prod-kr-tcp-31300", + "provider": "provider[\"registry.terraform.io/hashicorp/aws\"]", + "instances": [ + { + "schema_version": 0, + "attributes": { + "arn": "arn:aws:elasticloadbalancing:ap-northeast-2:508259851457:targetgroup/tg-prod-kr-tcp-31300/37a260b4c911162e", + "arn_suffix": "targetgroup/tg-prod-kr-tcp-31300/37a260b4c911162e", + "connection_termination": false, + "deregistration_delay": "300", + "health_check": [ + { + "enabled": true, + "healthy_threshold": 3, + "interval": 30, + "matcher": "", + "path": "", + "port": "traffic-port", + "protocol": "TCP", + "timeout": 10, + "unhealthy_threshold": 3 + } + ], + "id": "arn:aws:elasticloadbalancing:ap-northeast-2:508259851457:targetgroup/tg-prod-kr-tcp-31300/37a260b4c911162e", + "ip_address_type": "ipv4", + "lambda_multi_value_headers_enabled": false, + "load_balancing_algorithm_type": null, + "name": "tg-prod-kr-tcp-31300", + "name_prefix": null, + "port": 31300, + "preserve_client_ip": "true", + "protocol": "TCP", + "protocol_version": null, + "proxy_protocol_v2": false, + "slow_start": 0, + "stickiness": [ + { + "cookie_duration": 0, + "cookie_name": "", + "enabled": false, + "type": "source_ip" + } + ], + "tags": {}, + "tags_all": {}, + "target_failover": [ + { + "on_deregistration": null, + "on_unhealthy": null + } + ], + "target_type": "instance", + "vpc_id": "vpc-00ba2b0e9ad59f0ed" + }, + "sensitive_attributes": [], + "private": "bnVsbA==" + } + ] + }, + { + "mode": "managed", + "type": "aws_alb_target_group", + "name": "tg-prod-kr-tcp-31301", + "provider": "provider[\"registry.terraform.io/hashicorp/aws\"]", + "instances": [ + { + "schema_version": 0, + "attributes": { + "arn": "arn:aws:elasticloadbalancing:ap-northeast-2:508259851457:targetgroup/tg-prod-kr-tcp-31301/c69a0602adf80661", + "arn_suffix": "targetgroup/tg-prod-kr-tcp-31301/c69a0602adf80661", + "connection_termination": false, + "deregistration_delay": "300", + "health_check": [ + { + "enabled": true, + "healthy_threshold": 3, + "interval": 30, + "matcher": "", + "path": "", + "port": "traffic-port", + "protocol": "TCP", + "timeout": 10, + "unhealthy_threshold": 3 + } + ], + "id": "arn:aws:elasticloadbalancing:ap-northeast-2:508259851457:targetgroup/tg-prod-kr-tcp-31301/c69a0602adf80661", + "ip_address_type": "ipv4", + "lambda_multi_value_headers_enabled": false, + "load_balancing_algorithm_type": null, + "name": "tg-prod-kr-tcp-31301", + "name_prefix": null, + "port": 31301, + "preserve_client_ip": "true", + "protocol": "TCP", + "protocol_version": null, + "proxy_protocol_v2": false, + "slow_start": 0, + "stickiness": [ + { + "cookie_duration": 0, + "cookie_name": "", + "enabled": false, + "type": "source_ip" + } + ], + "tags": {}, + "tags_all": {}, + "target_failover": [ + { + "on_deregistration": null, + "on_unhealthy": null + } + ], + "target_type": "instance", + "vpc_id": "vpc-00ba2b0e9ad59f0ed" + }, + "sensitive_attributes": [], + "private": "bnVsbA==" + } + ] + }, + { + "mode": "managed", + "type": "aws_alb_target_group", + "name": "tg-prod-kr-tcp-31302", + "provider": "provider[\"registry.terraform.io/hashicorp/aws\"]", + "instances": [ + { + "schema_version": 0, + "attributes": { + "arn": "arn:aws:elasticloadbalancing:ap-northeast-2:508259851457:targetgroup/tg-prod-kr-tcp-31302/90b5772fefe00a35", + "arn_suffix": "targetgroup/tg-prod-kr-tcp-31302/90b5772fefe00a35", + "connection_termination": false, + "deregistration_delay": "300", + "health_check": [ + { + "enabled": true, + "healthy_threshold": 3, + "interval": 30, + "matcher": "", + "path": "", + "port": "traffic-port", + "protocol": "TCP", + "timeout": 10, + "unhealthy_threshold": 3 + } + ], + "id": "arn:aws:elasticloadbalancing:ap-northeast-2:508259851457:targetgroup/tg-prod-kr-tcp-31302/90b5772fefe00a35", + "ip_address_type": "ipv4", + "lambda_multi_value_headers_enabled": false, + "load_balancing_algorithm_type": null, + "name": "tg-prod-kr-tcp-31302", + "name_prefix": null, + "port": 31302, + "preserve_client_ip": "true", + "protocol": "TCP", + "protocol_version": null, + "proxy_protocol_v2": false, + "slow_start": 0, + "stickiness": [ + { + "cookie_duration": 0, + "cookie_name": "", + "enabled": false, + "type": "source_ip" + } + ], + "tags": {}, + "tags_all": {}, + "target_failover": [ + { + "on_deregistration": null, + "on_unhealthy": null + } + ], + "target_type": "instance", + "vpc_id": "vpc-00ba2b0e9ad59f0ed" + }, + "sensitive_attributes": [], + "private": "bnVsbA==" + } + ] + }, + { + "mode": "managed", + "type": "aws_alb_target_group", + "name": "tg-prod-kr-tcp-31303", + "provider": "provider[\"registry.terraform.io/hashicorp/aws\"]", + "instances": [ + { + "schema_version": 0, + "attributes": { + "arn": "arn:aws:elasticloadbalancing:ap-northeast-2:508259851457:targetgroup/tg-prod-kr-tcp-31303/2a237ebe36d7f334", + "arn_suffix": "targetgroup/tg-prod-kr-tcp-31303/2a237ebe36d7f334", + "connection_termination": false, + "deregistration_delay": "300", + "health_check": [ + { + "enabled": true, + "healthy_threshold": 3, + "interval": 30, + "matcher": "", + "path": "", + "port": "traffic-port", + "protocol": "TCP", + "timeout": 10, + "unhealthy_threshold": 3 + } + ], + "id": "arn:aws:elasticloadbalancing:ap-northeast-2:508259851457:targetgroup/tg-prod-kr-tcp-31303/2a237ebe36d7f334", + "ip_address_type": "ipv4", + "lambda_multi_value_headers_enabled": false, + "load_balancing_algorithm_type": null, + "name": "tg-prod-kr-tcp-31303", + "name_prefix": null, + "port": 31303, + "preserve_client_ip": "true", + "protocol": "TCP", + "protocol_version": null, + "proxy_protocol_v2": false, + "slow_start": 0, + "stickiness": [ + { + "cookie_duration": 0, + "cookie_name": "", + "enabled": false, + "type": "source_ip" + } + ], + "tags": {}, + "tags_all": {}, + "target_failover": [ + { + "on_deregistration": null, + "on_unhealthy": null + } + ], + "target_type": "instance", + "vpc_id": "vpc-00ba2b0e9ad59f0ed" + }, + "sensitive_attributes": [], + "private": "bnVsbA==" + } + ] + }, + { + "mode": "managed", + "type": "aws_alb_target_group", + "name": "tg-prod-kr-tcp-31304", + "provider": "provider[\"registry.terraform.io/hashicorp/aws\"]", + "instances": [ + { + "schema_version": 0, + "attributes": { + "arn": "arn:aws:elasticloadbalancing:ap-northeast-2:508259851457:targetgroup/tg-prod-kr-tcp-31304/3bd0ebf005c36880", + "arn_suffix": "targetgroup/tg-prod-kr-tcp-31304/3bd0ebf005c36880", + "connection_termination": false, + "deregistration_delay": "300", + "health_check": [ + { + "enabled": true, + "healthy_threshold": 3, + "interval": 30, + "matcher": "", + "path": "", + "port": "traffic-port", + "protocol": "TCP", + "timeout": 10, + "unhealthy_threshold": 3 + } + ], + "id": "arn:aws:elasticloadbalancing:ap-northeast-2:508259851457:targetgroup/tg-prod-kr-tcp-31304/3bd0ebf005c36880", + "ip_address_type": "ipv4", + "lambda_multi_value_headers_enabled": false, + "load_balancing_algorithm_type": null, + "name": "tg-prod-kr-tcp-31304", + "name_prefix": null, + "port": 31304, + "preserve_client_ip": "true", + "protocol": "TCP", + "protocol_version": null, + "proxy_protocol_v2": false, + "slow_start": 0, + "stickiness": [ + { + "cookie_duration": 0, + "cookie_name": "", + "enabled": false, + "type": "source_ip" + } + ], + "tags": {}, + "tags_all": {}, + "target_failover": [ + { + "on_deregistration": null, + "on_unhealthy": null + } + ], + "target_type": "instance", + "vpc_id": "vpc-00ba2b0e9ad59f0ed" + }, + "sensitive_attributes": [], + "private": "bnVsbA==" + } + ] + }, { "mode": "managed", "type": "aws_alb_target_group_attachment", - "name": "spot-master-http-2a", + "name": "prod-master-http-2a", "provider": "provider[\"registry.terraform.io/hashicorp/aws\"]", "instances": [ { "schema_version": 0, "attributes": { "availability_zone": null, - "id": "arn:aws:elasticloadbalancing:ap-northeast-2:508259851457:targetgroup/tg-spot-kr-tcp-30000/bb1ec3447d8f55f1-20221209044554875300000006", + "id": "arn:aws:elasticloadbalancing:ap-northeast-2:508259851457:targetgroup/tg-prod-kr-tcp-30000/dbc0dba72448ec1f-20221223032107461300000004", "port": 30000, - "target_group_arn": "arn:aws:elasticloadbalancing:ap-northeast-2:508259851457:targetgroup/tg-spot-kr-tcp-30000/bb1ec3447d8f55f1", - "target_id": "i-07115778af7e7e69d" + "target_group_arn": "arn:aws:elasticloadbalancing:ap-northeast-2:508259851457:targetgroup/tg-prod-kr-tcp-30000/dbc0dba72448ec1f", + "target_id": "i-06743c6115368596c" }, "sensitive_attributes": [], "private": "bnVsbA==", "dependencies": [ - "aws_alb_target_group.tg-spot-kr-tcp-30000" + "aws_alb_target_group.tg-prod-kr-tcp-30000" ] } ] @@ -317,22 +837,22 @@ { "mode": "managed", "type": "aws_alb_target_group_attachment", - "name": "spot-master-http-2b", + "name": "prod-master-http-2b", "provider": "provider[\"registry.terraform.io/hashicorp/aws\"]", "instances": [ { "schema_version": 0, "attributes": { "availability_zone": null, - "id": "arn:aws:elasticloadbalancing:ap-northeast-2:508259851457:targetgroup/tg-spot-kr-tcp-30000/bb1ec3447d8f55f1-20221209044554679300000005", + "id": "arn:aws:elasticloadbalancing:ap-northeast-2:508259851457:targetgroup/tg-prod-kr-tcp-30000/dbc0dba72448ec1f-20221223032108558400000011", "port": 30000, - "target_group_arn": "arn:aws:elasticloadbalancing:ap-northeast-2:508259851457:targetgroup/tg-spot-kr-tcp-30000/bb1ec3447d8f55f1", - "target_id": "i-0a6da0d5ace7dcd4e" + "target_group_arn": "arn:aws:elasticloadbalancing:ap-northeast-2:508259851457:targetgroup/tg-prod-kr-tcp-30000/dbc0dba72448ec1f", + "target_id": "i-01b5f7d2d7382274d" }, "sensitive_attributes": [], "private": "bnVsbA==", "dependencies": [ - "aws_alb_target_group.tg-spot-kr-tcp-30000" + "aws_alb_target_group.tg-prod-kr-tcp-30000" ] } ] @@ -340,22 +860,22 @@ { "mode": "managed", "type": "aws_alb_target_group_attachment", - "name": "spot-master-http-2c", + "name": "prod-master-http-2c", "provider": "provider[\"registry.terraform.io/hashicorp/aws\"]", "instances": [ { "schema_version": 0, "attributes": { "availability_zone": null, - "id": "arn:aws:elasticloadbalancing:ap-northeast-2:508259851457:targetgroup/tg-spot-kr-tcp-30000/bb1ec3447d8f55f1-20221209044554519200000001", + "id": "arn:aws:elasticloadbalancing:ap-northeast-2:508259851457:targetgroup/tg-prod-kr-tcp-30000/dbc0dba72448ec1f-20221223032107816500000009", "port": 30000, - "target_group_arn": "arn:aws:elasticloadbalancing:ap-northeast-2:508259851457:targetgroup/tg-spot-kr-tcp-30000/bb1ec3447d8f55f1", - "target_id": "i-092cbe5f9c68bf815" + "target_group_arn": "arn:aws:elasticloadbalancing:ap-northeast-2:508259851457:targetgroup/tg-prod-kr-tcp-30000/dbc0dba72448ec1f", + "target_id": "i-0739c2d32a88b7962" }, "sensitive_attributes": [], "private": "bnVsbA==", "dependencies": [ - "aws_alb_target_group.tg-spot-kr-tcp-30000" + "aws_alb_target_group.tg-prod-kr-tcp-30000" ] } ] @@ -363,22 +883,22 @@ { "mode": "managed", "type": "aws_alb_target_group_attachment", - "name": "spot-master-tls-2a", + "name": "prod-master-tls-30001-2a", "provider": "provider[\"registry.terraform.io/hashicorp/aws\"]", "instances": [ { "schema_version": 0, "attributes": { "availability_zone": null, - "id": "arn:aws:elasticloadbalancing:ap-northeast-2:508259851457:targetgroup/tg-spot-kr-tcp-30001/fa75e29a3ffe1fa4-20221209044554633800000004", + "id": "arn:aws:elasticloadbalancing:ap-northeast-2:508259851457:targetgroup/tg-prod-kr-tcp-30001/32f75b1c3463b8e8-20221223032107718900000008", "port": 30001, - "target_group_arn": "arn:aws:elasticloadbalancing:ap-northeast-2:508259851457:targetgroup/tg-spot-kr-tcp-30001/fa75e29a3ffe1fa4", - "target_id": "i-07115778af7e7e69d" + "target_group_arn": "arn:aws:elasticloadbalancing:ap-northeast-2:508259851457:targetgroup/tg-prod-kr-tcp-30001/32f75b1c3463b8e8", + "target_id": "i-06743c6115368596c" }, "sensitive_attributes": [], "private": "bnVsbA==", "dependencies": [ - "aws_alb_target_group.tg-spot-kr-tcp-30001" + "aws_alb_target_group.tg-prod-kr-tcp-30001" ] } ] @@ -386,22 +906,22 @@ { "mode": "managed", "type": "aws_alb_target_group_attachment", - "name": "spot-master-tls-2b", + "name": "prod-master-tls-30001-2b", "provider": "provider[\"registry.terraform.io/hashicorp/aws\"]", "instances": [ { "schema_version": 0, "attributes": { "availability_zone": null, - "id": "arn:aws:elasticloadbalancing:ap-northeast-2:508259851457:targetgroup/tg-spot-kr-tcp-30001/fa75e29a3ffe1fa4-20221209044554558600000002", + "id": "arn:aws:elasticloadbalancing:ap-northeast-2:508259851457:targetgroup/tg-prod-kr-tcp-30001/32f75b1c3463b8e8-20221223032107396200000002", "port": 30001, - "target_group_arn": "arn:aws:elasticloadbalancing:ap-northeast-2:508259851457:targetgroup/tg-spot-kr-tcp-30001/fa75e29a3ffe1fa4", - "target_id": "i-0a6da0d5ace7dcd4e" + "target_group_arn": "arn:aws:elasticloadbalancing:ap-northeast-2:508259851457:targetgroup/tg-prod-kr-tcp-30001/32f75b1c3463b8e8", + "target_id": "i-01b5f7d2d7382274d" }, "sensitive_attributes": [], "private": "bnVsbA==", "dependencies": [ - "aws_alb_target_group.tg-spot-kr-tcp-30001" + "aws_alb_target_group.tg-prod-kr-tcp-30001" ] } ] @@ -409,22 +929,367 @@ { "mode": "managed", "type": "aws_alb_target_group_attachment", - "name": "spot-master-tls-2c", + "name": "prod-master-tls-30001-2c", "provider": "provider[\"registry.terraform.io/hashicorp/aws\"]", "instances": [ { "schema_version": 0, "attributes": { "availability_zone": null, - "id": "arn:aws:elasticloadbalancing:ap-northeast-2:508259851457:targetgroup/tg-spot-kr-tcp-30001/fa75e29a3ffe1fa4-20221209044554573800000003", + "id": "arn:aws:elasticloadbalancing:ap-northeast-2:508259851457:targetgroup/tg-prod-kr-tcp-30001/32f75b1c3463b8e8-20221223032107666200000007", "port": 30001, - "target_group_arn": "arn:aws:elasticloadbalancing:ap-northeast-2:508259851457:targetgroup/tg-spot-kr-tcp-30001/fa75e29a3ffe1fa4", - "target_id": "i-092cbe5f9c68bf815" + "target_group_arn": "arn:aws:elasticloadbalancing:ap-northeast-2:508259851457:targetgroup/tg-prod-kr-tcp-30001/32f75b1c3463b8e8", + "target_id": "i-0739c2d32a88b7962" }, "sensitive_attributes": [], "private": "bnVsbA==", "dependencies": [ - "aws_alb_target_group.tg-spot-kr-tcp-30001" + "aws_alb_target_group.tg-prod-kr-tcp-30001" + ] + } + ] + }, + { + "mode": "managed", + "type": "aws_alb_target_group_attachment", + "name": "prod-master-tls-31300-2a", + "provider": "provider[\"registry.terraform.io/hashicorp/aws\"]", + "instances": [ + { + "schema_version": 0, + "attributes": { + "availability_zone": null, + "id": "arn:aws:elasticloadbalancing:ap-northeast-2:508259851457:targetgroup/tg-prod-kr-tcp-31300/37a260b4c911162e-20221223032108505300000010", + "port": 31300, + "target_group_arn": "arn:aws:elasticloadbalancing:ap-northeast-2:508259851457:targetgroup/tg-prod-kr-tcp-31300/37a260b4c911162e", + "target_id": "i-06743c6115368596c" + }, + "sensitive_attributes": [], + "private": "bnVsbA==", + "dependencies": [ + "aws_alb_target_group.tg-prod-kr-tcp-31300" + ] + } + ] + }, + { + "mode": "managed", + "type": "aws_alb_target_group_attachment", + "name": "prod-master-tls-31300-2b", + "provider": "provider[\"registry.terraform.io/hashicorp/aws\"]", + "instances": [ + { + "schema_version": 0, + "attributes": { + "availability_zone": null, + "id": "arn:aws:elasticloadbalancing:ap-northeast-2:508259851457:targetgroup/tg-prod-kr-tcp-31300/37a260b4c911162e-20221223032107421400000003", + "port": 31300, + "target_group_arn": "arn:aws:elasticloadbalancing:ap-northeast-2:508259851457:targetgroup/tg-prod-kr-tcp-31300/37a260b4c911162e", + "target_id": "i-01b5f7d2d7382274d" + }, + "sensitive_attributes": [], + "private": "bnVsbA==", + "dependencies": [ + "aws_alb_target_group.tg-prod-kr-tcp-31300" + ] + } + ] + }, + { + "mode": "managed", + "type": "aws_alb_target_group_attachment", + "name": "prod-master-tls-31300-2c", + "provider": "provider[\"registry.terraform.io/hashicorp/aws\"]", + "instances": [ + { + "schema_version": 0, + "attributes": { + "availability_zone": null, + "id": "arn:aws:elasticloadbalancing:ap-northeast-2:508259851457:targetgroup/tg-prod-kr-tcp-31300/37a260b4c911162e-20221223032107374000000001", + "port": 31300, + "target_group_arn": "arn:aws:elasticloadbalancing:ap-northeast-2:508259851457:targetgroup/tg-prod-kr-tcp-31300/37a260b4c911162e", + "target_id": "i-0739c2d32a88b7962" + }, + "sensitive_attributes": [], + "private": "bnVsbA==", + "dependencies": [ + "aws_alb_target_group.tg-prod-kr-tcp-31300" + ] + } + ] + }, + { + "mode": "managed", + "type": "aws_alb_target_group_attachment", + "name": "prod-master-tls-31301-2a", + "provider": "provider[\"registry.terraform.io/hashicorp/aws\"]", + "instances": [ + { + "schema_version": 0, + "attributes": { + "availability_zone": null, + "id": "arn:aws:elasticloadbalancing:ap-northeast-2:508259851457:targetgroup/tg-prod-kr-tcp-31301/c69a0602adf80661-2022122303210842110000000f", + "port": 31301, + "target_group_arn": "arn:aws:elasticloadbalancing:ap-northeast-2:508259851457:targetgroup/tg-prod-kr-tcp-31301/c69a0602adf80661", + "target_id": "i-06743c6115368596c" + }, + "sensitive_attributes": [], + "private": "bnVsbA==", + "dependencies": [ + "aws_alb_target_group.tg-prod-kr-tcp-31301" + ] + } + ] + }, + { + "mode": "managed", + "type": "aws_alb_target_group_attachment", + "name": "prod-master-tls-31301-2b", + "provider": "provider[\"registry.terraform.io/hashicorp/aws\"]", + "instances": [ + { + "schema_version": 0, + "attributes": { + "availability_zone": null, + "id": "arn:aws:elasticloadbalancing:ap-northeast-2:508259851457:targetgroup/tg-prod-kr-tcp-31301/c69a0602adf80661-2022122303210830580000000e", + "port": 31301, + "target_group_arn": "arn:aws:elasticloadbalancing:ap-northeast-2:508259851457:targetgroup/tg-prod-kr-tcp-31301/c69a0602adf80661", + "target_id": "i-01b5f7d2d7382274d" + }, + "sensitive_attributes": [], + "private": "bnVsbA==", + "dependencies": [ + "aws_alb_target_group.tg-prod-kr-tcp-31301" + ] + } + ] + }, + { + "mode": "managed", + "type": "aws_alb_target_group_attachment", + "name": "prod-master-tls-31301-2c", + "provider": "provider[\"registry.terraform.io/hashicorp/aws\"]", + "instances": [ + { + "schema_version": 0, + "attributes": { + "availability_zone": null, + "id": "arn:aws:elasticloadbalancing:ap-northeast-2:508259851457:targetgroup/tg-prod-kr-tcp-31301/c69a0602adf80661-2022122303210822000000000d", + "port": 31301, + "target_group_arn": "arn:aws:elasticloadbalancing:ap-northeast-2:508259851457:targetgroup/tg-prod-kr-tcp-31301/c69a0602adf80661", + "target_id": "i-0739c2d32a88b7962" + }, + "sensitive_attributes": [], + "private": "bnVsbA==", + "dependencies": [ + "aws_alb_target_group.tg-prod-kr-tcp-31301" + ] + } + ] + }, + { + "mode": "managed", + "type": "aws_alb_target_group_attachment", + "name": "prod-master-tls-31302-2a", + "provider": "provider[\"registry.terraform.io/hashicorp/aws\"]", + "instances": [ + { + "schema_version": 0, + "attributes": { + "availability_zone": null, + "id": "arn:aws:elasticloadbalancing:ap-northeast-2:508259851457:targetgroup/tg-prod-kr-tcp-31302/90b5772fefe00a35-20221223032109004600000014", + "port": 31302, + "target_group_arn": "arn:aws:elasticloadbalancing:ap-northeast-2:508259851457:targetgroup/tg-prod-kr-tcp-31302/90b5772fefe00a35", + "target_id": "i-06743c6115368596c" + }, + "sensitive_attributes": [], + "private": "bnVsbA==", + "dependencies": [ + "aws_alb_target_group.tg-prod-kr-tcp-31302" + ] + } + ] + }, + { + "mode": "managed", + "type": "aws_alb_target_group_attachment", + "name": "prod-master-tls-31302-2b", + "provider": "provider[\"registry.terraform.io/hashicorp/aws\"]", + "instances": [ + { + "schema_version": 0, + "attributes": { + "availability_zone": null, + "id": "arn:aws:elasticloadbalancing:ap-northeast-2:508259851457:targetgroup/tg-prod-kr-tcp-31302/90b5772fefe00a35-20221223032108614000000012", + "port": 31302, + "target_group_arn": "arn:aws:elasticloadbalancing:ap-northeast-2:508259851457:targetgroup/tg-prod-kr-tcp-31302/90b5772fefe00a35", + "target_id": "i-01b5f7d2d7382274d" + }, + "sensitive_attributes": [], + "private": "bnVsbA==", + "dependencies": [ + "aws_alb_target_group.tg-prod-kr-tcp-31302" + ] + } + ] + }, + { + "mode": "managed", + "type": "aws_alb_target_group_attachment", + "name": "prod-master-tls-31302-2c", + "provider": "provider[\"registry.terraform.io/hashicorp/aws\"]", + "instances": [ + { + "schema_version": 0, + "attributes": { + "availability_zone": null, + "id": "arn:aws:elasticloadbalancing:ap-northeast-2:508259851457:targetgroup/tg-prod-kr-tcp-31302/90b5772fefe00a35-20221223032108674200000013", + "port": 31302, + "target_group_arn": "arn:aws:elasticloadbalancing:ap-northeast-2:508259851457:targetgroup/tg-prod-kr-tcp-31302/90b5772fefe00a35", + "target_id": "i-0739c2d32a88b7962" + }, + "sensitive_attributes": [], + "private": "bnVsbA==", + "dependencies": [ + "aws_alb_target_group.tg-prod-kr-tcp-31302" + ] + } + ] + }, + { + "mode": "managed", + "type": "aws_alb_target_group_attachment", + "name": "prod-master-tls-31303-2a", + "provider": "provider[\"registry.terraform.io/hashicorp/aws\"]", + "instances": [ + { + "schema_version": 0, + "attributes": { + "availability_zone": null, + "id": "arn:aws:elasticloadbalancing:ap-northeast-2:508259851457:targetgroup/tg-prod-kr-tcp-31303/2a237ebe36d7f334-20221223032107522000000006", + "port": 31303, + "target_group_arn": "arn:aws:elasticloadbalancing:ap-northeast-2:508259851457:targetgroup/tg-prod-kr-tcp-31303/2a237ebe36d7f334", + "target_id": "i-06743c6115368596c" + }, + "sensitive_attributes": [], + "private": "bnVsbA==", + "dependencies": [ + "aws_alb_target_group.tg-prod-kr-tcp-31303" + ] + } + ] + }, + { + "mode": "managed", + "type": "aws_alb_target_group_attachment", + "name": "prod-master-tls-31303-2b", + "provider": "provider[\"registry.terraform.io/hashicorp/aws\"]", + "instances": [ + { + "schema_version": 0, + "attributes": { + "availability_zone": null, + "id": "arn:aws:elasticloadbalancing:ap-northeast-2:508259851457:targetgroup/tg-prod-kr-tcp-31303/2a237ebe36d7f334-20221223032109149300000015", + "port": 31303, + "target_group_arn": "arn:aws:elasticloadbalancing:ap-northeast-2:508259851457:targetgroup/tg-prod-kr-tcp-31303/2a237ebe36d7f334", + "target_id": "i-01b5f7d2d7382274d" + }, + "sensitive_attributes": [], + "private": "bnVsbA==", + "dependencies": [ + "aws_alb_target_group.tg-prod-kr-tcp-31303" + ] + } + ] + }, + { + "mode": "managed", + "type": "aws_alb_target_group_attachment", + "name": "prod-master-tls-31303-2c", + "provider": "provider[\"registry.terraform.io/hashicorp/aws\"]", + "instances": [ + { + "schema_version": 0, + "attributes": { + "availability_zone": null, + "id": "arn:aws:elasticloadbalancing:ap-northeast-2:508259851457:targetgroup/tg-prod-kr-tcp-31303/2a237ebe36d7f334-20221223032107490400000005", + "port": 31303, + "target_group_arn": "arn:aws:elasticloadbalancing:ap-northeast-2:508259851457:targetgroup/tg-prod-kr-tcp-31303/2a237ebe36d7f334", + "target_id": "i-0739c2d32a88b7962" + }, + "sensitive_attributes": [], + "private": "bnVsbA==", + "dependencies": [ + "aws_alb_target_group.tg-prod-kr-tcp-31303" + ] + } + ] + }, + { + "mode": "managed", + "type": "aws_alb_target_group_attachment", + "name": "prod-master-tls-31304-2a", + "provider": "provider[\"registry.terraform.io/hashicorp/aws\"]", + "instances": [ + { + "schema_version": 0, + "attributes": { + "availability_zone": null, + "id": "arn:aws:elasticloadbalancing:ap-northeast-2:508259851457:targetgroup/tg-prod-kr-tcp-31304/3bd0ebf005c36880-2022122303210791990000000a", + "port": 31304, + "target_group_arn": "arn:aws:elasticloadbalancing:ap-northeast-2:508259851457:targetgroup/tg-prod-kr-tcp-31304/3bd0ebf005c36880", + "target_id": "i-06743c6115368596c" + }, + "sensitive_attributes": [], + "private": "bnVsbA==", + "dependencies": [ + "aws_alb_target_group.tg-prod-kr-tcp-31304" + ] + } + ] + }, + { + "mode": "managed", + "type": "aws_alb_target_group_attachment", + "name": "prod-master-tls-31304-2b", + "provider": "provider[\"registry.terraform.io/hashicorp/aws\"]", + "instances": [ + { + "schema_version": 0, + "attributes": { + "availability_zone": null, + "id": "arn:aws:elasticloadbalancing:ap-northeast-2:508259851457:targetgroup/tg-prod-kr-tcp-31304/3bd0ebf005c36880-2022122303210801140000000b", + "port": 31304, + "target_group_arn": "arn:aws:elasticloadbalancing:ap-northeast-2:508259851457:targetgroup/tg-prod-kr-tcp-31304/3bd0ebf005c36880", + "target_id": "i-01b5f7d2d7382274d" + }, + "sensitive_attributes": [], + "private": "bnVsbA==", + "dependencies": [ + "aws_alb_target_group.tg-prod-kr-tcp-31304" + ] + } + ] + }, + { + "mode": "managed", + "type": "aws_alb_target_group_attachment", + "name": "prod-master-tls-31304-2c", + "provider": "provider[\"registry.terraform.io/hashicorp/aws\"]", + "instances": [ + { + "schema_version": 0, + "attributes": { + "availability_zone": null, + "id": "arn:aws:elasticloadbalancing:ap-northeast-2:508259851457:targetgroup/tg-prod-kr-tcp-31304/3bd0ebf005c36880-2022122303210811950000000c", + "port": 31304, + "target_group_arn": "arn:aws:elasticloadbalancing:ap-northeast-2:508259851457:targetgroup/tg-prod-kr-tcp-31304/3bd0ebf005c36880", + "target_id": "i-0739c2d32a88b7962" + }, + "sensitive_attributes": [], + "private": "bnVsbA==", + "dependencies": [ + "aws_alb_target_group.tg-prod-kr-tcp-31304" ] } ] @@ -432,7 +1297,7 @@ { "mode": "managed", "type": "aws_route53_record", - "name": "spot-dns-keycloak", + "name": "datagate", "provider": "provider[\"registry.terraform.io/hashicorp/aws\"]", "instances": [ { @@ -441,19 +1306,19 @@ "alias": [ { "evaluate_target_health": true, - "name": "nlb-spot-kr-ingress-78764994534ff2f2.elb.ap-northeast-2.amazonaws.com", + "name": "nlb-prod-kr-ingress-a1b7c286701236ba.elb.ap-northeast-2.amazonaws.com", "zone_id": "ZIBE1TIR4HY56" } ], "allow_overwrite": null, "failover_routing_policy": [], - "fqdn": "test.spot.datasaker.io", + "fqdn": "gate.kr.datasaker.io", "geolocation_routing_policy": [], "health_check_id": "", - "id": "Z072735718G25WNVKU834_test.spot.datasaker.io_A", + "id": "Z072735718G25WNVKU834_gate.kr.datasaker.io_A", "latency_routing_policy": [], "multivalue_answer_routing_policy": null, - "name": "test.spot.datasaker.io", + "name": "gate.kr.datasaker.io", "records": [], "set_identifier": "", "ttl": 0, @@ -464,7 +1329,7 @@ "sensitive_attributes": [], "private": "eyJzY2hlbWFfdmVyc2lvbiI6IjIifQ==", "dependencies": [ - "aws_alb.nlb-spot-kr-ingress" + "aws_alb.nlb-prod-kr-ingress" ] } ] @@ -472,7 +1337,7 @@ { "mode": "managed", "type": "aws_route53_record", - "name": "spot-dns-krakend", + "name": "release_datagate", "provider": "provider[\"registry.terraform.io/hashicorp/aws\"]", "instances": [ { @@ -481,22 +1346,22 @@ "alias": [ { "evaluate_target_health": true, - "name": "nlb-spot-kr-ingress-78764994534ff2f2.elb.ap-northeast-2.amazonaws.com", + "name": "nlb-prod-kr-ingress-a1b7c286701236ba.elb.ap-northeast-2.amazonaws.com", "zone_id": "ZIBE1TIR4HY56" } ], "allow_overwrite": null, "failover_routing_policy": [], - "fqdn": "api.spot.datasaker.io", + "fqdn": "gate.rel.kr.datasaker.io", "geolocation_routing_policy": [], - "health_check_id": "", - "id": "Z072735718G25WNVKU834_api.spot.datasaker.io_A", + "health_check_id": null, + "id": "Z072735718G25WNVKU834_gate.rel.kr.datasaker.io_A", "latency_routing_policy": [], "multivalue_answer_routing_policy": null, - "name": "api.spot.datasaker.io", - "records": [], - "set_identifier": "", - "ttl": 0, + "name": "gate.rel.kr.datasaker.io", + "records": null, + "set_identifier": null, + "ttl": null, "type": "A", "weighted_routing_policy": [], "zone_id": "Z072735718G25WNVKU834" @@ -504,7 +1369,87 @@ "sensitive_attributes": [], "private": "eyJzY2hlbWFfdmVyc2lvbiI6IjIifQ==", "dependencies": [ - "aws_alb.nlb-spot-kr-ingress" + "aws_alb.nlb-prod-kr-ingress" + ] + } + ] + }, + { + "mode": "managed", + "type": "aws_route53_record", + "name": "release_krakend", + "provider": "provider[\"registry.terraform.io/hashicorp/aws\"]", + "instances": [ + { + "schema_version": 2, + "attributes": { + "alias": [ + { + "evaluate_target_health": true, + "name": "nlb-prod-kr-ingress-a1b7c286701236ba.elb.ap-northeast-2.amazonaws.com", + "zone_id": "ZIBE1TIR4HY56" + } + ], + "allow_overwrite": null, + "failover_routing_policy": [], + "fqdn": "api.rel.kr.datasaker.io", + "geolocation_routing_policy": [], + "health_check_id": null, + "id": "Z072735718G25WNVKU834_api.rel.kr.datasaker.io_A", + "latency_routing_policy": [], + "multivalue_answer_routing_policy": null, + "name": "api.rel.kr.datasaker.io", + "records": null, + "set_identifier": null, + "ttl": null, + "type": "A", + "weighted_routing_policy": [], + "zone_id": "Z072735718G25WNVKU834" + }, + "sensitive_attributes": [], + "private": "eyJzY2hlbWFfdmVyc2lvbiI6IjIifQ==", + "dependencies": [ + "aws_alb.nlb-prod-kr-ingress" + ] + } + ] + }, + { + "mode": "managed", + "type": "aws_route53_record", + "name": "release_ui", + "provider": "provider[\"registry.terraform.io/hashicorp/aws\"]", + "instances": [ + { + "schema_version": 2, + "attributes": { + "alias": [ + { + "evaluate_target_health": true, + "name": "nlb-prod-kr-ingress-a1b7c286701236ba.elb.ap-northeast-2.amazonaws.com", + "zone_id": "ZIBE1TIR4HY56" + } + ], + "allow_overwrite": null, + "failover_routing_policy": [], + "fqdn": "app.rel.kr.datasaker.io", + "geolocation_routing_policy": [], + "health_check_id": null, + "id": "Z072735718G25WNVKU834_app.rel.kr.datasaker.io_A", + "latency_routing_policy": [], + "multivalue_answer_routing_policy": null, + "name": "app.rel.kr.datasaker.io", + "records": null, + "set_identifier": null, + "ttl": null, + "type": "A", + "weighted_routing_policy": [], + "zone_id": "Z072735718G25WNVKU834" + }, + "sensitive_attributes": [], + "private": "eyJzY2hlbWFfdmVyc2lvbiI6IjIifQ==", + "dependencies": [ + "aws_alb.nlb-prod-kr-ingress" ] } ] diff --git a/scripts/prod/lambda/lambda_restart.sh b/scripts/prod/lambda/lambda_restart.sh new file mode 100755 index 0000000..441f368 --- /dev/null +++ b/scripts/prod/lambda/lambda_restart.sh @@ -0,0 +1,102 @@ +if [ -z "$BASH_VERSION" ]; then exec bash "$0" "$@"; exit; fi + +#---------------------------------------------------------------------------------------------------------------- +# 변수 선언 +echo_line="==========================================================================" +search_tag="prod" +start_function="autoscailing_start_prod" +stop_function="autoscailing_stop_prod" + +#---------------------------------------------------------------------------------------------------------------- +# aws 인스턴스 조회 +_get_aws_status (){ + aws_query="Reservations[].Instances[].[ InstanceId, Tags[?Key=='Name'].Value|[0] ]" + aws_filter="Name=instance-state-name,Values=running" + current_ec2_num=`aws ec2 describe-instances --query "${aws_query}" --filter ${aws_filter} --output text | grep ${search_tag} | egrep -iv '(bastion|wireguard)' |wc -l` +} + +#---------------------------------------------------------------------------------------------------------------- +# log 출력 +_get_time_log (){ + datetime=`date +'%Y-%m-%d %H:%M:%S'` + string=$1 + echo "[${datetime}] ${string}" +} + +#---------------------------------------------------------------------------------------------------------------- +# aws lambda 실행 후 인스턴스 조회하여 성공/실패 여부 체크 + +_main (){ + lambda_function=$1 + echo ${echo_line} + if [[ ${lambda_fuction} == *"stop"* ]]; then + what_func='stop' + else + what_func='start' + fi + + _get_time_log "[INFO] aws lambda ${lambda_function} start" + + aws lambda invoke --function-name ${lambda_function} --cli-binary-format raw-in-base64-out --payload '{ "key": "value" }' response.json > /tmp/aws_func_result + #echo "aws lambda invoke --function-name ${lambda_function} --cli-binary-format raw-in-base64-out --payload '{ "key": "value" }' response.json" + + succ_flag=0 + while read line + do + if [[ $line == *"200"* ]]; then + succ_flag=1 + _get_time_log "[INFO] aws lambda ${lambda_function} success!" + break + else + succ_flag=0 + fi + done < /tmp/aws_func_result + + if [[ ${succ_flag} == 1 ]]; then + aws lambda invoke --function-name ${lambda_function} out --log-type Tail --query 'LogResult' --output text | base64 -d > /tmp/aws_func_output + if [[ ${what_func} == 'stop' ]]; then + final_ec2_num=0 + else + final_ec2_num=`grep "Starting" /tmp/aws_func_output | wc -l` + fi + + num=0 + while true + do + _get_aws_status + num=`echo $(( $num + 1 ))` + if [[ ${current_ec2_num} == ${final_ec2_num} ]]; then + _get_time_log "[INFO] aws ${search_tag} instance number: ${final_ec2_num} check success!" + break + elif [[ ${num} == 30 ]]; then + _get_time_log "[Error] time out!" + break + else + _get_time_log "[Retry: ${num}] aws ${search_tag} instance number: ${final_ec2_num} checking..." + fi + sleep 5 + done + else + echo ${echo_line} + _get_time_log "[Error] aws lambda ${lambda_function} failed!" + exit + fi + echo ${echo_line} + #--------------- + +} +#---------------------------------------------------------------------------------------------------------------- +# 실행 + +_main ${stop_function} + +_main ${start_function} + +#---------------------------------------------------------------------------------------------------------------- +# 임시 파일 삭제 + +unlink out +unlink response.json +unlink /tmp/aws_func_output +unlink /tmp/aws_func_result +#---------------------------------------------------------------------------------------------------------------- diff --git a/scripts/prod/lambda/lambda_start.sh b/scripts/prod/lambda/lambda_start.sh new file mode 100755 index 0000000..98020f1 --- /dev/null +++ b/scripts/prod/lambda/lambda_start.sh @@ -0,0 +1,99 @@ +if [ -z "$BASH_VERSION" ]; then exec bash "$0" "$@"; exit; fi + +#---------------------------------------------------------------------------------------------------------------- +# 변수 선언 +echo_line="==========================================================================" +search_tag="prod" +start_function="autoscailing_start_prod" + +#---------------------------------------------------------------------------------------------------------------- +# aws 인스턴스 조회 +_get_aws_status (){ + aws_query="Reservations[].Instances[].[ InstanceId, Tags[?Key=='Name'].Value|[0] ]" + aws_filter="Name=instance-state-name,Values=running" + current_ec2_num=`aws ec2 describe-instances --query "${aws_query}" --filter ${aws_filter} --output text | grep ${search_tag} | egrep -iv '(bastion|wireguard)' |wc -l` +} + +#---------------------------------------------------------------------------------------------------------------- +# log 출력 +_get_time_log (){ + datetime=`date +'%Y-%m-%d %H:%M:%S'` + string=$1 + echo "[${datetime}] ${string}" +} + +#---------------------------------------------------------------------------------------------------------------- +# aws lambda 실행 후 인스턴스 조회하여 성공/실패 여부 체크 + +_main (){ + lambda_function=$1 + echo ${echo_line} + if [[ ${lambda_fuction} == *"stop"* ]]; then + what_func='stop' + else + what_func='start' + fi + + _get_time_log "[INFO] aws lambda ${lambda_function} start" + + aws lambda invoke --function-name ${lambda_function} --cli-binary-format raw-in-base64-out --payload '{ "key": "value" }' response.json > /tmp/aws_func_result + #echo "aws lambda invoke --function-name ${lambda_function} --cli-binary-format raw-in-base64-out --payload '{ "key": "value" }' response.json" + + succ_flag=0 + while read line + do + if [[ $line == *"200"* ]]; then + succ_flag=1 + _get_time_log "[INFO] aws lambda ${lambda_function} success!" + break + else + succ_flag=0 + fi + done < /tmp/aws_func_result + + if [[ ${succ_flag} == 1 ]]; then + aws lambda invoke --function-name ${lambda_function} out --log-type Tail --query 'LogResult' --output text | base64 -d > /tmp/aws_func_output + if [[ ${what_func} == 'stop' ]]; then + final_ec2_num=0 + else + final_ec2_num=`grep "Starting" /tmp/aws_func_output | wc -l` + fi + + num=0 + while true + do + _get_aws_status + num=`echo $(( $num + 1 ))` + if [[ ${current_ec2_num} == ${final_ec2_num} ]]; then + _get_time_log "[INFO] aws ${search_tag} instance number: ${final_ec2_num} check success!" + break + elif [[ ${num} == 30 ]]; then + _get_time_log "[Error] time out!" + break + else + _get_time_log "[Retry: ${num}] aws ${search_tag} instance number: ${final_ec2_num} checking..." + fi + sleep 5 + done + else + echo ${echo_line} + _get_time_log "[Error] aws lambda ${lambda_function} failed!" + exit + fi + echo ${echo_line} + #--------------- + +} +#---------------------------------------------------------------------------------------------------------------- +# 실행 + +_main ${start_function} + +#---------------------------------------------------------------------------------------------------------------- +# 임시 파일 삭제 + +unlink out +unlink response.json +unlink /tmp/aws_func_output +unlink /tmp/aws_func_result +#---------------------------------------------------------------------------------------------------------------- diff --git a/scripts/prod/lambda/lambda_stop.sh b/scripts/prod/lambda/lambda_stop.sh new file mode 100755 index 0000000..97ccf32 --- /dev/null +++ b/scripts/prod/lambda/lambda_stop.sh @@ -0,0 +1,100 @@ +if [ -z "$BASH_VERSION" ]; then exec bash "$0" "$@"; exit; fi + +#---------------------------------------------------------------------------------------------------------------- +# 변수 선언 +echo_line="==========================================================================" +search_tag="prod" +stop_function="autoscailing_stop_prod" +start_function="autoscailing_start_prod" + +#---------------------------------------------------------------------------------------------------------------- +# aws 인스턴스 조회 +_get_aws_status (){ + aws_query="Reservations[].Instances[].[ InstanceId, Tags[?Key=='Name'].Value|[0] ]" + aws_filter="Name=instance-state-name,Values=running" + current_ec2_num=`aws ec2 describe-instances --query "${aws_query}" --filter ${aws_filter} --output text | grep ${search_tag} | wc -l` +} + +#---------------------------------------------------------------------------------------------------------------- +# log 출력 +_get_time_log (){ + datetime=`date +'%Y-%m-%d %H:%M:%S'` + string=$1 + echo "[${datetime}] ${string}" +} + +#---------------------------------------------------------------------------------------------------------------- +# aws lambda 실행 후 인스턴스 조회하여 성공/실패 여부 체크 + +_main (){ + lambda_function=$1 + echo ${echo_line} + if [[ ${lambda_fuction} == *"stop"* ]]; then + what_func='stop' + else + what_func='start' + fi + + _get_time_log "[INFO] aws lambda ${lambda_function} start" + + aws lambda invoke --function-name ${lambda_function} --cli-binary-format raw-in-base64-out --payload '{ "key": "value" }' response.json > /tmp/aws_func_result + #echo "aws lambda invoke --function-name ${lambda_function} --cli-binary-format raw-in-base64-out --payload '{ "key": "value" }' response.json" + + succ_flag=0 + while read line + do + if [[ $line == *"200"* ]]; then + succ_flag=1 + _get_time_log "[INFO] aws lambda ${lambda_function} success!" + break + else + succ_flag=0 + fi + done < /tmp/aws_func_result + + if [[ ${succ_flag} == 1 ]]; then + aws lambda invoke --function-name ${lambda_function} out --log-type Tail --query 'LogResult' --output text | base64 -d > /tmp/aws_func_output + if [[ ${what_func} == 'stop' ]]; then + final_ec2_num=0 + else + final_ec2_num=`grep "Starting" /tmp/aws_func_output | wc -l` + fi + + num=0 + while true + do + _get_aws_status + num=`echo $(( $num + 1 ))` + if [[ ${current_ec2_num} == ${final_ec2_num} ]]; then + _get_time_log "[INFO] aws ${search_tag} instance number: ${final_ec2_num} check success!" + break + elif [[ ${num} == 30 ]]; then + _get_time_log "[Error] time out!" + break + else + _get_time_log "[Retry: ${num}] aws ${search_tag} instance number: ${final_ec2_num} checking..." + fi + sleep 5 + done + else + echo ${echo_line} + _get_time_log "[Error] aws lambda ${lambda_function} failed!" + exit + fi + echo ${echo_line} + #--------------- + +} +#---------------------------------------------------------------------------------------------------------------- +# 실행 + +_main ${stop_function} + +#---------------------------------------------------------------------------------------------------------------- +# 임시 파일 삭제 + +unlink out +unlink response.json +unlink /tmp/aws_func_output +unlink /tmp/aws_func_result +#---------------------------------------------------------------------------------------------------------------- diff --git a/scripts/prod/prod.sh b/scripts/prod/prod.sh new file mode 100755 index 0000000..54e6551 --- /dev/null +++ b/scripts/prod/prod.sh @@ -0,0 +1,66 @@ +#!/bin/bash +if [ -z "$BASH_VERSION" ]; then exec bash "$0" "$@"; exit; fi + +#---------------------------------------------------------------------------------------------------------------- +# 변수 선언 +current_path=`pwd` +line="*-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-*" + +#---------------------------------------------------------------------------------------------------------------- +# 파일 및 폴더 경로 확인 +__find_path (){ + script_file="00_terraform_var_change.sh" + cd ../../ + tmp_path=`find -name ${script_file} | grep -vi old` + tmp_num=`grep -c "/" ${tmp_path}` + path_num=`echo $(( $tmp_num - 1 ))` + script_path=`echo ${tmp_path}| cut -d "/" -f1-${path_num}` + _bash=`which bash` + _terraform=`which terraform` +} + +#---------------------------------------------------------------------------------------------------------------- +# lambda 실행 +__lambda_execute (){ + lambda_file="lambda_${1}.sh" + cd "${current_path}/lambda" + #./${lambda_file} + echo ${line} + echo "lambda file : $(pwd)/${lambda_file}" #DEBUG + ${_bash} ${lambda_file} + echo ${line} +} + +#---------------------------------------------------------------------------------------------------------------- +# 변수 변경 스크립트 실행 뒤 terraform apply 실행 +__terraform_target (){ + cd ${current_path} + cd ../../ + cd ${script_path} + echo "script_file : ${script_file}" #DEBUG + ${_bash} ${script_file} + echo ${line} + ${_terraform} apply +} + +#---------------------------------------------------------------------------------------------------------------- + +if [[ ${1} == '' ]];then + echo "[Usage] ${0} { start | stop | restart } " + exit +else + script_func=${1} + __find_path + if [[ ${script_func} == 'start' ]];then + __lambda_execute start + __terraform_target + elif [[ ${script_func} == 'stop' ]];then + __lambda_execute stop + elif [[ ${script_func} == 'restart' ]];then + __lambda_execute restart + __terraform_target + else + echo "[Usage] ${0} { start | stop | restart } " + exit + fi +fi diff --git a/scripts/spot_lambda/lambda_restart.sh b/scripts/spot/lambda_restart.sh similarity index 100% rename from scripts/spot_lambda/lambda_restart.sh rename to scripts/spot/lambda_restart.sh diff --git a/scripts/spot_lambda/lambda_stop.sh b/scripts/spot/lambda_stop.sh similarity index 100% rename from scripts/spot_lambda/lambda_stop.sh rename to scripts/spot/lambda_stop.sh