AWS RDS(Amazon Relational Database Service)는 클라우드에서 관리되는 관계형 데이터베이스 서비스로, 사용자가 직접 데이터베이스를 설치하고 운영하는 부담을 줄여줍니다.
자동 백업, 보안, 스케일링, 패치 관리 등을 AWS가 처리해주므로, 사용자는 애플리케이션 개발과 데이터 관리에 집중할 수 있습니다.
AWS RDS는 여러 관계형 데이터베이스 엔진을 지원합니다:
| 데이터베이스 엔진 | 설명 |
|---|---|
| MySQL | 오픈소스 관계형 데이터베이스, 널리 사용됨 |
| PostgreSQL | 강력한 기능과 확장성을 가진 오픈소스 DB |
| MariaDB | MySQL 기반의 오픈소스 DB, 성능 최적화됨 |
| Oracle | 기업용 데이터베이스, 라이선스 필요 |
| SQL Server | Microsoft의 데이터베이스, Windows 기반 서비스 |
| Amazon Aurora | AWS가 개발한 클라우드 최적화 DB (MySQL & PostgreSQL 호환) |
| 배포 방식 | 설명 |
|---|---|
| Single-AZ | 하나의 가용 영역(AZ)에서 운영, 기본 설정 |
| Multi-AZ | 장애 대비를 위해 다른 가용 영역에 복제본 유지 |
| Read Replica | 읽기 부하 분산을 위한 복제본 생성 가능 |
MySQL의 경우:
mysql -h <RDS_ENDPOINT> -u <USERNAME> -p
PostgreSQL의 경우:
psql -h <RDS_ENDPOINT> -U <USERNAME> -d <DATABASE>
| 항목 | RDS | EC2에서 직접 운영 |
|---|---|---|
| 관리 편의성 | AWS가 자동 관리 | 직접 설정 및 관리 필요 |
| 자동 백업 | 지원 | 직접 백업 스크립트 필요 |
| 자동 스케일링 | 스토리지 자동 확장 가능 | 직접 설정해야 함 |
| 보안 패치 | 자동 적용 가능 | 직접 패치 적용 필요 |
| 비용 | 관리 기능 포함된 비용 | EC2 + DB 비용 발생 |
✅ EC2에서 직접 운영하면 더 많은 커스터마이징이 가능하지만, 관리 부담이 커짐.
✅ RDS는 운영 부담을 줄이고 자동화된 기능을 제공함.
✔ 관리 부담을 줄이고 싶을 때
✔ 데이터베이스 자동 백업과 복구가 필요한 경우
✔ Multi-AZ를 통한 가용성을 높이고 싶을 때
✔ 보안 관리 및 패치를 자동화하고 싶을 때
✔ 읽기 부하가 많아 Read Replica 기능이 필요한 경우
🚀 즉, 운영 부담을 최소화하면서 확장 가능한 DB 환경을 구축하고 싶다면 RDS를 사용하는 것이 좋음!
EC2에 직접 설치할 경우, 성능 튜닝과 최적화가 필요하지만 자유도가 높음.
| 항목 | RDS (MySQL, PostgreSQL 등) | Amazon Aurora |
|---|---|---|
| 성능 | 일반적인 DB 성능 | 5배 이상 빠름 (MySQL 대비) |
| 복제 | Read Replica 지원 | 기본적으로 6개의 복제본 유지 |
| Multi-AZ | 선택 가능 | 기본적으로 활성화 |
| 스토리지 자동 확장 | 설정 필요 | 자동 조정 (10GB~128TB) |
| 비용 | 저렴한 편 | RDS보다 약간 비쌈 |
✅ Aurora는 MySQL/PostgreSQL 호환이지만, 클라우드에 최적화된 고성능 DB
✅ 일반적인 DB 사용이라면 RDS, 더 높은 성능이 필요하면 Aurora 선택