상위 이슈
#39
작업 내용
Prod 환경의 RDS를 EC2 t4g.nano로 전환하는 첫 번째 단계입니다.
이 PR이 머지되면 기존 RDS는 유지된 채로 DB EC2만 새로 생성됩니다.
modules/app_stack/ 변경
db_ec2.tf 신규 작성
aws_instance.db_server (enable_db_ec2 ? 1 : 0)
- ARM Ubuntu AMI 기반, private 배치, gp3 20GB
- cloud-init으로 MySQL 설치 및 튜닝 설정 적용
security_groups.tf 수정
aws_security_group.db_ec2_sg 추가 (인바운드 3306: api_sg에서만 허용)
variables.tf 수정
enable_db_ec2 (bool, default: false)
db_instance_type (string)
db_ami_id (string)
output.tf 수정
db_server_private_ip, db_server_instance_id 추가
scripts/mysql_setup.sh.tftpl 신규 작성
environment/prod/ 변경
main.tf: enable_db_ec2 = true 및 관련 변수 전달 추가
variables.tf: db_instance_type, db_ami_id 변수 추가
작업 상세 내용
주의사항
이 작업 완료 후 RDS와 DB EC2가 동시에 존재하는 상태가 됩니다.
다음 단계인 데이터 마이그레이션(서브 이슈 2)이 완료되기 전까지 앱은 기존 RDS를 바라봅니다.
상위 이슈
#39
작업 내용
Prod 환경의 RDS를 EC2 t4g.nano로 전환하는 첫 번째 단계입니다.
이 PR이 머지되면 기존 RDS는 유지된 채로 DB EC2만 새로 생성됩니다.
modules/app_stack/변경db_ec2.tf신규 작성aws_instance.db_server(enable_db_ec2 ? 1 : 0)security_groups.tf수정aws_security_group.db_ec2_sg추가 (인바운드 3306:api_sg에서만 허용)variables.tf수정enable_db_ec2(bool, default: false)db_instance_type(string)db_ami_id(string)output.tf수정db_server_private_ip,db_server_instance_id추가scripts/mysql_setup.sh.tftpl신규 작성environment/prod/변경main.tf:enable_db_ec2 = true및 관련 변수 전달 추가variables.tf:db_instance_type,db_ami_id변수 추가작업 상세 내용
modules/app_stack/scripts/mysql_setup.sh.tftpl작성modules/app_stack/db_ec2.tf작성modules/app_stack/security_groups.tf수정modules/app_stack/variables.tf수정modules/app_stack/output.tf수정environment/prod/variables.tf수정environment/prod/main.tf수정주의사항
이 작업 완료 후 RDS와 DB EC2가 동시에 존재하는 상태가 됩니다.
다음 단계인 데이터 마이그레이션(서브 이슈 2)이 완료되기 전까지 앱은 기존 RDS를 바라봅니다.