You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Prod EC2 MySQL에 RDS 수준의 기본 데이터 보호 체계를 마련합니다. 일간 전체 mysqldump와 binlog를 S3에 보관하고, 장애 유형별 복구 절차를 문서화한 뒤 검증된 절차를 수동 복구 워크플로우로 구성합니다.
배경
Prod DB는 RDS에서 단일 EC2의 MySQL 8.4.8 Docker 컨테이너로 전환되었으며, 데이터는 별도 12GiB gp3 EBS에 저장됩니다. 데이터 EBS를 분리했기 때문에 EC2 장애는 기존 EBS를 새 EC2에 연결해 복구할 수 있지만, EBS 손상·삭제, 잘못된 DELETE/UPDATE, 스키마 변경과 같은 데이터 장애는 별도 백업 없이는 복구할 수 없습니다.
현재 DB 규모와 비용을 고려하여 EBS 스냅샷 대신 S3 기반 논리 백업으로 통일합니다. 일 1회 전체 dump를 기준점으로 사용하고 binlog를 지속적으로 아카이빙하여 장애 또는 운영 실수 직전 시점까지 복구할 수 있도록 합니다.
운영 목표
목표 RPO: 5분
초기 목표 RTO: 1시간에서 2시간
전체 mysqldump: 일 1회
binlog: 생성부터 S3 업로드 완료까지 5분 이내
보관 기간: 2주
백업 실패·누락·업로드 지연 시 Discord 알림
실제 복구 테스트 후 RTO와 세부 보관정책 확정
IAM 및 권한 관리 원칙
IAM Role, IAM Policy, IAM User와 권한 연결 작업은 AWS에서 수동으로 관리합니다.
Terraform 코드에는 IAM 권한 정의와 권한 연결 정보를 선언하지 않습니다.
Terraform에서 권한이 필요한 경우 수동으로 생성된 리소스의 이름이나 식별자만 변수로 전달해 참조합니다.
#53 - feat: Prod DB EC2 리소스 추가 [merged] #58 - refactor: DB EC2 MySQL data volume 분리 [merged] #63 - refactor: prod RDS 리소스 제거 [merged]
📝 Issue Planner
Check the box below or use the @coderabbitai plan command to generate an implementation plan and prompts that you can use with your favorite coding assistant.
Create Plan
🧪 Issue enrichment is currently in open beta.
You can configure auto-planning by selecting labels in the issue_enrichment configuration.
To disable automatic issue enrichment, add the following to your .coderabbit.yaml:
issue_enrichment:
auto_enrich:
enabled: false
💬 Have feedback or questions? Drop into our discord!
Activity
coderabbitai commentedon Jul 11, 2026
🔗 Related PRs
#53 - feat: Prod DB EC2 리소스 추가 [merged]
#58 - refactor: DB EC2 MySQL data volume 분리 [merged]
#63 - refactor: prod RDS 리소스 제거 [merged]
📝 Issue Planner
Check the box below or use the
@coderabbitai plancommand to generate an implementation plan and prompts that you can use with your favorite coding assistant.🧪 Issue enrichment is currently in open beta.
You can configure auto-planning by selecting labels in the issue_enrichment configuration.
To disable automatic issue enrichment, add the following to your
.coderabbit.yaml:💬 Have feedback or questions? Drop into our discord!