AWS Aurora와 RDS 비교하기

안녕하세요. AWS에서 데이터베이스를 선택할 때 가장 먼저 마주하는 고민이 있습니다.

‍

"그냥 익숙한 RDS MySQL을 쓸까? 아니면 AWS가 그렇게 자랑하는 Aurora를 써볼까?"

‍

얼핏 보면 둘 다 똑같은 MySQL/PostgreSQL 엔진을 사용하는 관리형 DB처럼 보입니다. 하지만 이 둘은 엔진 뚜껑을 열어보면 아예 다른 구조로 동작합니다.

‍

오늘은 전통적인 강자 RDS와 클라우드 네이티브의 정점 Aurora의 차이점을 아키텍처 관점에서 비교해 드립니다.

‍

1. Amazon RDS : “관리를 대신 해주는 든든한 서버”

RDS(Relational Database Service)는 우리가 온프레미스에서 쓰던 DB 서버를 그대로 클라우드로 옮겨서, 관리만 편하게 만든 것입니다.

‍

구조: EC2 인스턴스에 EBS(블록 스토리지)를 붙여서 DB를 설치한 구조와 유사합니다.

특징:

프로비저닝, 패치, 백업을 AWS가 자동화해 줍니다.

Multi-AZ (고가용성): 장애 대비를 위해 Standby 인스턴스를 하나 더 띄우고, **동기식(Synchronous)**으로 데이터를 복제합니다.

한계: 스토리지와 컴퓨팅이 묶여 있습니다. 데이터가 늘어나면 스토리지 용량을 늘려야 하고, 이 과정에서 퍼포먼스 영향이 있을 수 있습니다.

‍

2. Amazon Aurora : "클라우드를 위해 다시 태어난 DB"

Aurora는 AWS가 **"클라우드 환경에 최적화된 DB는 어떠해야 하는가?"**를 고민하고 바닥부터 다시 설계한 서비스입니다. 가장 큰 핵심은 **"컴퓨팅과 스토리지의 완벽한 분리"**입니다.

핵심 차이 1: 스토리지 아키텍처 (The Storage Volume)

RDS: 내가 할당한 EBS 볼륨에 데이터를 씁니다.

Aurora: 가상화된 분산 스토리지 볼륨을 사용합니다.

데이터를 저장하자마자 3개의 가용 영역(AZ)에 6개의 복제본으로 쪼개져 저장됩니다.

스토리지가 10GB 단위로 최대 128TB까지 자동으로 늘어납니다. (용량 산정 불필요)

장점: 디스크 I/O 병목이 획기적으로 줄어듭니다. (RDS 대비 MySQL 5배, PostgreSQL 3배 성능)

핵심 차이 2: 읽기 복제본 (Read Replica)과 지연 시간

RDS: 읽기 전용 복제본(Read Replica)을 만들면, 마스터 DB의 데이터를 비동기로 복사해 와야 합니다. (복제 지연 발생 가능)

Aurora: 마스터와 복제본이 같은 스토리지(Cluster Volume)를 공유합니다.

데이터를 복사할 필요가 없습니다. 그냥 같은 디스크를 바라보면 되니까요.

복제 지연(Lag)이 거의 없고(ms 단위), 복제본을 최대 15개까지 순식간에 늘릴 수 있습니다.

핵심 차이 3: 장애 복구 속도 (Failover)

RDS: 마스터가 죽으면 Standby가 승격되는 데 보통 60초~120초가 걸립니다. (DNS 변경 시간 포함)

Aurora: 마스터가 죽으면 읽기 복제본 중 하나가 즉시 마스터로 승격됩니다. 이 과정이 30초 이내로 매우 빠릅니다. 심지어 스토리지 문제가 생겨도 자가 치유(Self-healing) 기능이 작동합니다.

‍

3. 요약: 언제 무엇을 써야 할까?

마치며

**"그래서 뭘 써요?"**라고 물으신다면, 저는 이렇게 추천합니다.

스타트업 초기/개발 서버: RDS로 시작하세요. 비용 효율적이고 충분히 좋습니다.

서비스가 급성장하거나 쇼핑몰 이벤트가 많다면: Aurora로 마이그레이션하세요. 트래픽 폭주 시 읽기 복제본 확장의 유연함과 장애 복구 속도는 돈값을 톡톡히 합니다.

  • Amazon RDS : “관리를 대신 해주는 든든한 서버”

  • Amazon Aurora : "클라우드를 위해 다시 태어난 DB"

  • 요약: 언제 무엇을 써야 할까?

관련 키워드
클라우드
관련 키워드
클라우드
관련 콘텐츠
Insight
클라우드
AWS
Azure
Insight
Tech Guide
클라우드
운영 최적화
AWS
Tech Guide
Tech Guide
클라우드
운영 최적화
AWS
Tech Guide