diff --git a/config/secrets b/config/secrets index cbceeaa..86d5235 160000 --- a/config/secrets +++ b/config/secrets @@ -1 +1 @@ -Subproject commit cbceeaaba7de5fa1c944732d2223759fe4a44d2a +Subproject commit 86d5235eec346b56210117b54ffa79590383d579 diff --git a/environment/prod/main.tf b/environment/prod/main.tf index 4ea1a90..23f952d 100644 --- a/environment/prod/main.tf +++ b/environment/prod/main.tf @@ -28,6 +28,7 @@ module "prod_stack" { db_instance_type = var.db_ec2_instance_type db_ami_id = var.db_ec2_ami_id db_subnet_id = var.db_ec2_subnet_id + db_private_ip = var.db_ec2_private_ip db_data_volume_size = var.db_data_volume_size # 보안 그룹 규칙 diff --git a/environment/prod/variables.tf b/environment/prod/variables.tf index f300e67..bc8ec26 100644 --- a/environment/prod/variables.tf +++ b/environment/prod/variables.tf @@ -33,6 +33,11 @@ variable "db_ec2_subnet_id" { type = string } +variable "db_ec2_private_ip" { + description = "DB EC2에 고정할 Private IP (db_ec2_subnet_id 의 CIDR 안에 있어야 합니다)" + type = string +} + variable "db_data_volume_size" { description = "DB EC2 MySQL data volume 크기 (GiB)" type = number diff --git a/modules/app_stack/db_ec2.tf b/modules/app_stack/db_ec2.tf index c575e86..fbfccb4 100644 --- a/modules/app_stack/db_ec2.tf +++ b/modules/app_stack/db_ec2.tf @@ -44,6 +44,8 @@ resource "aws_instance" "db_server" { ami = var.db_ami_id instance_type = var.db_instance_type subnet_id = var.db_subnet_id + # 인스턴스를 교체해도 Parameter Store 의 datasource 주소와 API 서버 설정을 그대로 쓰도록 주소를 고정합니다. + private_ip = var.db_private_ip vpc_security_group_ids = [ aws_security_group.db_ec2_sg[count.index].id, diff --git a/modules/app_stack/variables.tf b/modules/app_stack/variables.tf index 890b234..647d3e7 100644 --- a/modules/app_stack/variables.tf +++ b/modules/app_stack/variables.tf @@ -36,6 +36,12 @@ variable "db_subnet_id" { default = null } +variable "db_private_ip" { + description = "DB EC2에 고정할 Private IP. 인스턴스를 교체해도 같은 주소를 유지해 datasource 설정을 바꾸지 않기 위해 사용합니다" + type = string + default = null +} + variable "db_data_volume_size" { description = "DB EC2 MySQL data volume 크기 (GiB)" type = number