
RDS는 관리형 관계형 DB로, 백업/패치/모니터링/복구/확장/보안 같은 운영을 AWS가 맡고, 우리는 스키마·쿼리·성능 튜닝에 집중. Aurora는 별도 서비스(호환성은 MySQL/PostgreSQL)이며, 여기서는 RDS 표준 엔진 중심으로 정리
Engine: MySQL / MariaDB / PostgreSQL / Oracle / SQL Server(엔진/에디션별 기능 상이)
고가용성(HA)
확장성(Scale)
백업/복구
보안
운영/관측
Storage Type
용량/성능 팁
Multi-AZ(표준)
Multi-AZ DB Cluster
Read Replica
크로스 리전
Automated Backups + PITR: 보존 기간 내 원하는 시점으로 복구
DB Snapshot: 스냅샷 기반 리전 간 복사 및 암호화 상태 승계
RDS Blue/Green Deployments(MySQL/MariaDB/PostgreSQL):
암호화: KMS로 at-rest, SSL/TLS로 in-transit
인증
네트워킹: Private Subnet 배치 권장, Security Group 최소 허용 원칙, 필요 시 Publicly Accessible(보안 주의)
Performance Insights: DB 대기 이벤트/SQL 식별(기본 무료 구간 + 장기 보존 유료)
Parameter Group / Option Group
Maintenance Window: 소규모 패치/버전 업 일정화(즉시/예약)
RDS Proxy: 커넥션 풀/Failover 흡수(서버리스/람다·Burst 트래픽에 유리)
Multi-AZ vs Read Replica
성능 병목 대처
보안 기본 3종: KMS 암호화, TLS, 프라이빗 서브넷 + SG 최소허용
운영 자동화: Storage Auto Scaling, Performance Insights, Blue/Green, RDS Proxy
# 1) DB 생성(예: MySQL, Multi-AZ, gp3)
aws rds create-db-instance \
--db-instance-identifier mydb \
--engine mysql --engine-version 8.0 \
--db-instance-class db.m6g.large \
--allocated-storage 100 \
--storage-type gp3 --iops 6000 --max-allocated-storage 1000 \
--master-username admin --master-user-password '*****' \
--multi-az \
--vpc-security-group-ids sg-xxxx \
--db-subnet-group-name my-subnet-group \
--backup-retention-period 7 \
--enable-performance-insights
# 2) Read Replica 생성(동일 리전 예시)
aws rds create-db-instance-read-replica \
--db-instance-identifier mydb-replica-1 \
--source-db-instance-identifier mydb
# 3) 스냅샷 생성/복원
aws rds create-db-snapshot --db-snapshot-identifier snap-20251008 --db-instance-identifier mydb
aws rds restore-db-instance-from-db-snapshot \
--db-instance-identifier mydb-restore \
--db-snapshot-identifier snap-20251008
# 4) 강제 Failover(다중 AZ에서 재부팅+전환)
aws rds reboot-db-instance --db-instance-identifier mydb --force-failover
주의: 파라미터/옵션은 엔진/버전/리전에 따라 다릅니다. 운영 전 테스트 계정에서 검증하세요.