From e94b6c6631e5dcde5652937a033237612fa6ca19 Mon Sep 17 00:00:00 2001 From: Hexeong <123macanic@naver.com> Date: Fri, 10 Jul 2026 14:52:49 +0900 Subject: [PATCH 1/3] =?UTF-8?q?refactor:=20rds.tf=EC=97=90=EC=84=9C=20db?= =?UTF-8?q?=5Fuser=EC=97=90=20=EB=8C=80=ED=95=9C=20=EC=9E=90=EC=9B=90=20?= =?UTF-8?q?=EC=84=A0=EC=96=B8=20=EB=B6=84=EB=A6=AC?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- modules/app_stack/db_users.tf | 23 +++++++++++++++++++++++ modules/app_stack/rds.tf | 27 --------------------------- 2 files changed, 23 insertions(+), 27 deletions(-) create mode 100644 modules/app_stack/db_users.tf diff --git a/modules/app_stack/db_users.tf b/modules/app_stack/db_users.tf new file mode 100644 index 0000000..580b648 --- /dev/null +++ b/modules/app_stack/db_users.tf @@ -0,0 +1,23 @@ +resource "mysql_user" "users" { + for_each = var.enable_rds || var.enable_db_ec2 ? var.additional_db_users : {} + + user = each.key + host = "%" + plaintext_password = each.value.password + + depends_on = [ + aws_db_instance.default, + aws_instance.db_server, + ] +} + +resource "mysql_grant" "user_grants" { + for_each = var.enable_rds || var.enable_db_ec2 ? var.additional_db_users : {} + + user = each.key + host = "%" + database = each.value.database + privileges = each.value.privileges + + depends_on = [mysql_user.users] +} diff --git a/modules/app_stack/rds.tf b/modules/app_stack/rds.tf index c9ed1d1..88671d3 100644 --- a/modules/app_stack/rds.tf +++ b/modules/app_stack/rds.tf @@ -1,4 +1,3 @@ -# 5. RDS resource "aws_db_instance" "default" { count = var.enable_rds ? 1 : 0 @@ -21,29 +20,3 @@ resource "aws_db_instance" "default" { Name = var.rds_identifier } } - -# 6. MySQL 추가 유저 생성 -resource "mysql_user" "users" { - for_each = var.enable_rds || var.enable_db_ec2 ? var.additional_db_users : {} - - user = each.key - host = "%" - plaintext_password = each.value.password - - depends_on = [ - aws_db_instance.default, - aws_instance.db_server, - ] -} - -# 7. MySQL 권한 부여 -resource "mysql_grant" "user_grants" { - for_each = var.enable_rds || var.enable_db_ec2 ? var.additional_db_users : {} - - user = each.key - host = "%" - database = each.value.database - privileges = each.value.privileges - - depends_on = [mysql_user.users] -} From 533d7f5ea120a7feafc953531fdc94c392a62dd6 Mon Sep 17 00:00:00 2001 From: Hexeong <123macanic@naver.com> Date: Fri, 10 Jul 2026 14:53:01 +0900 Subject: [PATCH 2/3] =?UTF-8?q?refactor:=20prod=20=ED=99=98=EA=B2=BD?= =?UTF-8?q?=EC=97=90=EC=84=9C=20rds=20=EC=A0=9C=EA=B1=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- environment/stage/main.tf | 3 --- modules/app_stack/variables.tf | 2 +- 2 files changed, 1 insertion(+), 4 deletions(-) diff --git a/environment/stage/main.tf b/environment/stage/main.tf index 05baf67..4921402 100644 --- a/environment/stage/main.tf +++ b/environment/stage/main.tf @@ -20,9 +20,6 @@ module "stage_stack" { # 인스턴스 스펙 instance_type = var.server_instance_type - # RDS 미사용 (Docker container로 대체) - enable_rds = false - # 보안 그룹 규칙 api_ingress_rules = var.api_ingress_rules diff --git a/modules/app_stack/variables.tf b/modules/app_stack/variables.tf index b143250..5f14a56 100644 --- a/modules/app_stack/variables.tf +++ b/modules/app_stack/variables.tf @@ -9,7 +9,7 @@ variable "instance_type" { variable "enable_rds" { description = "RDS 사용 여부" type = bool - default = true + default = false } variable "enable_db_ec2" { From 66b0e1602a6242403c26cda7c8fd615cdc369540 Mon Sep 17 00:00:00 2001 From: Hexeong <123macanic@naver.com> Date: Fri, 10 Jul 2026 15:06:50 +0900 Subject: [PATCH 3/3] =?UTF-8?q?refactor:=20db=5Fusers=EC=97=90=20=EB=8C=80?= =?UTF-8?q?=ED=95=9C=20=EB=AF=BC=EA=B0=90=EA=B0=92=20=EC=B2=98=EB=A6=AC?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- environment/prod/variables.tf | 1 + modules/app_stack/db_users.tf | 14 +++++++++----- modules/app_stack/variables.tf | 3 ++- 3 files changed, 12 insertions(+), 6 deletions(-) diff --git a/environment/prod/variables.tf b/environment/prod/variables.tf index 997232e..af55f8c 100644 --- a/environment/prod/variables.tf +++ b/environment/prod/variables.tf @@ -92,6 +92,7 @@ variable "additional_db_users" { database = string privileges = list(string) })) + sensitive = true } variable "key_name" { diff --git a/modules/app_stack/db_users.tf b/modules/app_stack/db_users.tf index 580b648..1eb6033 100644 --- a/modules/app_stack/db_users.tf +++ b/modules/app_stack/db_users.tf @@ -1,9 +1,13 @@ +locals { + db_user_names = var.enable_rds || var.enable_db_ec2 ? toset(nonsensitive(keys(var.additional_db_users))) : toset([]) +} + resource "mysql_user" "users" { - for_each = var.enable_rds || var.enable_db_ec2 ? var.additional_db_users : {} + for_each = local.db_user_names user = each.key host = "%" - plaintext_password = each.value.password + plaintext_password = var.additional_db_users[each.key].password depends_on = [ aws_db_instance.default, @@ -12,12 +16,12 @@ resource "mysql_user" "users" { } resource "mysql_grant" "user_grants" { - for_each = var.enable_rds || var.enable_db_ec2 ? var.additional_db_users : {} + for_each = local.db_user_names user = each.key host = "%" - database = each.value.database - privileges = each.value.privileges + database = var.additional_db_users[each.key].database + privileges = var.additional_db_users[each.key].privileges depends_on = [mysql_user.users] } diff --git a/modules/app_stack/variables.tf b/modules/app_stack/variables.tf index 5f14a56..e7a2e2b 100644 --- a/modules/app_stack/variables.tf +++ b/modules/app_stack/variables.tf @@ -107,7 +107,8 @@ variable "additional_db_users" { database = string privileges = list(string) })) - default = {} + sensitive = true + default = {} } variable "db_engine_version" {