Amazon® Web Services®(AWS®)는 관계형 및 비관계형 데이터베이스를 모두 아우르는 다양한 데이터베이스(DB) 서비스를 Database-as-a-Service(DBaaS)와 Platform-as-a-Service(PaaS) 두 가지 모델로 제공합니다.
이러한 서비스는 주요 벤더가 제공하는 대부분의 상용 라이선스 제품과 오픈소스 제품을 지원합니다. AWS는 기업 수준에서 안전하고 확장 가능한 데이터베이스를 효율적이면서도 비용 효과적으로 구축·운영할 수 있는 방법을 제공합니다.
이 글에서는 AWS의 대표적인 DBMS 서비스와, 이 서비스들이 어떤 클라우드 플랫폼에서도 사랑받는 이유가 된 핵심 기능들을 간략히 소개합니다. 다루는 AWS 서비스는 다음과 같습니다.
- RDS: 관계형 데이터베이스(RDBMS) 서비스
- Aurora: AWS 자체 개발 RDBMS 서비스
- DynamoDB: 비관계형(NoSQL) 데이터베이스 서비스
- DMS: 데이터베이스 마이그레이션 서비스
아마존 DBMS 서비스 개요
다음 이미지는 데이터 구성 방식에 따른 DBMS 유형을 보여줍니다.

AWS는 사용자에게 상용 라이선스 기반 제품과 무료로 사용할 수 있는 다양한 DB 서비스를 제공하며, 이는 관계형 및 비관계형 데이터베이스 서비스 양쪽에 해당합니다. Oracle®, Microsoft® 등 유명 업체의 DBMS 엔진을 지원할 뿐만 아니라, Amazon은 Aurora®라는 자체 DBMS 서비스도 제공합니다. Aurora는 매우 발전된 기술과 높은 보안성, 뛰어난 신뢰성을 자랑합니다. 전용 RDBMS 서비스 외에도, 경량화되고 온디맨드 방식으로 자동 확장되는 DBMS 서비스인 Aurora Serverless도 함께 제공됩니다.
Amazon Relational Database Service(RDS)
Amazon Relational Database Service(RDS)에서 사용할 수 있는 대표적인 관계형 DB 엔진으로는 Aurora, PostgreSQL®, MySQL®, MariaDB®, Oracle® 등이 있습니다.

RDS의 주요 특징은 다음과 같습니다.
- 관리 오버헤드 없이 완전한 기능을 갖춘 DB를 프로비저닝하는 DBaaS(Database as a Service) 모델
- 가상 머신 위에서 실행되지만, 사용자가 해당 서버에 직접 로그인할 수는 없습니다.
- RDS 운영체제(OS)와 데이터베이스 패치는 AWS가 담당합니다.
- MySQL, MariaDB, PostgreSQL, Oracle, MS SQL Server, Aurora 등 다양한 DB 엔진 지원
- 단일 가용 영역(AZ) 또는 여러 가용 영역에 배포 가능
- S3에 대한 자동 백업과 수동 스냅샷 등 다양한 백업 옵션 제공
- 백업으로 복구할 경우, 복구된 DB는 새로운 인스턴스로 생성됩니다.
- 다중 AZ(기본–대기 모델) 기반의 복원력을 통해 동기식 복제와 자동 장애 조치(failover)를 별도 개입 없이 제공
- 읽기 전용 복제본(Read Replica)을 활용한 비동기식 복제로 읽기 성능 향상 가능
Amazon Aurora
Amazon Aurora는 AWS의 관계형 데이터베이스 서비스입니다. Aurora 사용 설명서에 따르면 "Aurora는 관리형 데이터베이스 서비스인 Amazon Relational Database Service(Amazon RDS)의 일부이며, Amazon RDS는 클라우드에서 관계형 데이터베이스를 더 쉽게 설정, 운영, 확장할 수 있도록 돕는 웹 서비스입니다."
Amazon Aurora DBMS 서비스의 주요 특징은 다음과 같습니다.
- "Amazon Aurora는 클라우드를 위해 구축된 MySQL 및 PostgreSQL 호환 관계형 데이터베이스로, 기존 엔터프라이즈급 데이터베이스의 성능과 가용성을 오픈소스 데이터베이스의 단순함과 비용 효율성과 결합했습니다." (Amazon Aurora 공식 문서)
- "Amazon Aurora는 표준 MySQL 데이터베이스보다 최대 5배, 표준 PostgreSQL 데이터베이스보다 최대 3배 빠릅니다. 상용 데이터베이스 수준의 보안, 가용성, 신뢰성을 1/10 비용으로 제공합니다." (Amazon Aurora 공식 문서)
- 클러스터 기반 구성 사용: 하나의 기본(primary) 인스턴스와 0개 이상의 복제본으로 구성
- 모든 인스턴스는 '클러스터 볼륨'이라 불리는 공유 스토리지를 사용하며 자동 복구(auto-healing) 기능을 갖춤. 클러스터 볼륨은 자동으로 확장되고, AWS는 실제 사용한 용량에 대해서만 과금하며 S3에 지속적으로 백업
- 최소 3개의 가용 영역에 데이터 사본이 2개씩 저장되므로, 데이터는 항상 최소 6개의 복제본을 유지
- Aurora 스토리지는 데이터 블록과 디스크를 지속적으로 검사하고 오류를 자동으로 복구하는 자가 치유(self-healing) 구조
- 최대 15개의 복제본까지 구성 가능하며, 병렬 쿼리(parallel query) 기능 활용 가능
- 읽기-쓰기 엔드포인트를 사용해 모든 복제본에 걸쳐 연결 부하를 분산
Aurora Serverless
AWS 공식 문서에 따르면 Amazon Aurora Serverless는 "Amazon Aurora의 온디맨드 자동 확장 구성입니다. Aurora Serverless DB 클러스터는 애플리케이션의 필요에 따라 컴퓨팅 용량을 늘리고 줄이는 DB 클러스터로, 사용자가 용량을 직접 관리해야 하는 Aurora 프로비저닝 DB 클러스터와 대비됩니다. Aurora Serverless는 사용 빈도가 낮거나 간헐적이거나 예측하기 어려운 워크로드에 비교적 간단하고 비용 효율적인 선택지를 제공하며, 사용량에 맞춰 자동으로 시작·확장되고 미사용 시에는 자동으로 종료되어 비용 효율성이 뛰어낙니다."
Aurora Serverless의 특징은 다음과 같습니다.
- Aurora와 동일한 DB 엔진을 기반으로 하지만, 하드웨어를 직접 프로비저닝하는 대신 AWS가 서비스 형태로 처리합니다.
- 메모리 GB 단위로 최소/최대 Aurora Capacity Unit(ACU)을 지정해야 합니다.
- 데이터 API를 사용해 DB를 쿼리할 수 있습니다(toad 등 도구 활용).
- 초 단위 과금이 적용되며, 유휴 상태에서 일시 중지하면 스토리지 요금만 청구됩니다.
- 사용 패턴을 알 수 없거나, 사용 빈도가 낮으면서 부하 변동이 큰 애플리케이션에 이상적입니다.
DynamoDB (NoSQL)
DynamoDB의 주요 특징은 다음과 같습니다.
- "Amazon DynamoDB는 어떤 규모에서든 일관된 한 자릿수 밀리초 지연 시간이 필요한 모든 애플리케이션을 위한 빠르고 유연한 NoSQL 데이터베이스 서비스입니다. 완전 관리형 데이터베이스로 문서(document)와 키-값(key-value) 데이터 모델을 모두 지원하며, 유연한 데이터 모델과 신뢰할 수 있는 성능 덕분에 모바일, 웹, 게임, 광고 기술(ad-tech), 사물인터넷(IoT) 등 다양한 애플리케이션에 적합합니다." (Amazon Cloud Services)
- "Amazon DynamoDB는 어떤 규모에서든 한 자릿수 밀리초 성능을 제공하는 키-값 및 문서 데이터베이스입니다. 내장된 보안, 백업 및 복원, 인메모리 캐싱을 갖춘 완전 관리형 멀티 리전 내구성 데이터베이스로, 인터넷 규모의 애플리케이션에 적합합니다." (Amazon Database 백서)
- 리전별로 파티셔닝된 DB 서비스로, 테이블 생성을 지원합니다.
- 테이블은 동일한 파티션 키와 정렬 키를 공유하는 항목(item)들의 집합이며, 각 테이블은 고유한 구성 및 성능 설정을 가집니다.
- 항목(item)은 테이블 내부에서 동일한 키 구조를 공유하는 속성(attribute)들의 집합입니다.
- 속성(attribute)은 하나의 키와 값으로 이루어집니다.
다음 예시는 세 개의 항목을 가진 People 테이블을 보여주며, 각 항목은 person id(기본 키), 성(last name) 등의 속성을 포함합니다.

이미지 출처: https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/HowItWorks.CoreComponents.html
AWS Database Migration Service(DMS)
AWS Database Migration Service(DMS)는 AWS가 제공하는 데이터베이스 마이그레이션 도구입니다. 다음 이미지는 서비스 간 데이터 마이그레이션 과정을 보여줍니다.

이미지 출처: https://aws.amazon.com/dms/
AWS DMS가 제공하는 주요 기능은 다음과 같습니다.
- "데이터베이스를 AWS로 빠르고 안전하게 마이그레이션할 수 있도록 지원합니다. 마이그레이션 중에도 원본 데이터베이스는 완전히 정상 작동하므로, 해당 데이터베이스에 의존하는 애플리케이션의 가동 중단 시간을 최소화할 수 있습니다." (digitalcloud.training)
- 온프레미스 인스턴스 간(AWS Cloud 설정을 통해), 또는 클라우드와 온프레미스 환경의 조합 간 등 다양한 환경으로 데이터를 마이그레이션할 수 있습니다.
- 동종(homogeneous) 및 이종(heterogeneous) 마이그레이션을 모두 지원하며, 동일한 DB 엔진은 물론 서로 다른 DB 엔진 간 마이그레이션도 가능합니다.
- "대상에 테이블이나 기본 키가 존재하지 않으면 자동으로 생성합니다. 대상 테이블을 미리 수동으로 만들거나, AWS Schema Conversion Tool(SCT)을 사용해 대상 테이블, 인덱스, 뷰, 트리거 등 일부 또는 전부를 생성할 수도 있습니다." (AWS Database Migration Service)
- 동일한 DB 엔진으로 이전하는 경우에는 SCT가 필요하지 않습니다.
맺음말
DBMS 서비스는 모든 조직에 필수적인 요소이며, 우리는 데이터가 새로운 석유(oil)라고 불리는 시대에 살고 있습니다. 원시 데이터만으로는 오히려 혼란을 야기할 수 있지만, 적절한 DBMS 시스템은 사용자의 트랜잭션을 지원하고 다양한 정보에 대한 통찰력을 제공합니다. 다만 DBMS는 복잡한 시스템이라 전용 인프라와 기술 전문성을 갖춘 팀이 필요하며, 보안과 확장성은 여전히 큰 과제입니다.
AWS는 거의 모든 사용 사례와 예산 제약에 맞출 수 있는 폭넓은 엔터프라이즈급 DBMS 엔진과 뛰어난 확장성, 그리고 완전 관리형 및 부분 관리형 옵션을 제공합니다. 필요에 따라 맞춤 설정할 수 있는 데이터베이스 백업 옵션과, 마이그레이션을 간소화하는 AWS DMS도 활용할 수 있습니다. 따라서 예산이 제한적인 신생 기업, 특히 스타트업에게 AWS는 요구 사항을 충족하기에 완벽한 환경입니다. 대규모 레거시 고객들 역시 AWS 데이터베이스 서비스의 잠재력을 인식하고 조금씩이지만 꾸준히 전환하고 있습니다.
AWS 데이터 서비스에 대해 더 자세히 알아보세요.
피드백 탭을 활용해 의견을 남기거나 질문할 수 있으며, 언제든 저희와 대화를 시작할 수 있습니다.