Amazon Web Services 한국 블로그
Amazon Aurora DSQL 정식 출시 – 가장 빠른 서버리스 분산 SQL 데이터베이스
오늘 Amazon Aurora DSQL의 정식 출시를 발표합니다. 이는 사실상 무제한의 확장성, 최고 수준의 가용성, 그리고 항상 사용 가능한 애플리케이션을 위한 인프라 관리가 필요 없는, 가장 빠른 서버리스 분산 SQL 데이터베이스입니다. 패치, 업그레이드, 유지보수 가동 중지 시간에 대한 운영 부담을 없애고, 몇 가지 간단한 단계만으로 새로운 데이터베이스를 생성할 수 있는 쉽고 편리한 개발자 경험을 누릴 수 있습니다.
AWS re:Invent 2024에서 Aurora DSQL의 평가판을 소개했을 때, 고객들은 복잡한 관계형 데이터베이스 문제를 간소화하는 이 혁신적인 솔루션에 큰 기대를 보였습니다. 기조연설에서 Amazon.com의 CTO인 Dr. Werner Vogels는 Aurora DSQL의 설계 단계에서 복잡성을 미리 관리하는 것에 대해 언급했습니다. 대부분의 기존 데이터베이스와 달리, Aurora DSQL은 쿼리 프로세서, 어드저디케이터, 저널, 크로스바 등 여러 개의 독립적인 구성요소로 분산되어 있습니다.
이러한 구성요소들은 높은 응집도를 갖고 있으며, 잘 정의된 API를 통해 서로 통신하고, 워크로드에 따라 독립적으로 확장할 수 있습니다. 이러한 아키텍처 덕분에 다중 리전에서도 낮은 지연 시간과 전 세계적으로 동기화된 시간을 바탕으로 강력한 일관성을 제공합니다. Aurora DSQL이 내부적으로 어떻게 동작하는지 더 자세히 알고 싶으시다면, Dr. Werner Vogels의 기조연설을 시청하시고, Aurora DSQL에 관한 이야기도 읽어보세요.
Amazon Aurora DSQL 아키텍처
애플리케이션은 데이터베이스 샤딩이나 인스턴스 업그레이드 없이도 가장 빠른 분산 SQL 읽기 및 쓰기 성능을 활용하고, 어떤 워크로드 수요에도 대응할 수 있도록 확장할 수 있습니다. Aurora DSQL의 액티브-액티브 분산 아키텍처는 단일 리전에서 99.99%, 여러 리전에서는 99.999%의 가용성을 위해 설계되어 있습니다. 이는 애플리케이션이 드물게 리전 클러스터 엔드포인트에 연결할 수 없는 경우에도, 강력한 일관성을 유지하며 읽기와 쓰기를 계속할 수 있음을 의미합니다.
단일 리전 구성에서 Aurora DSQL은 모든 쓰기 트랜잭션을 분산 트랜잭션 로그에 커밋하고, 커밋된 모든 로그 데이터를 세 개의 가용 영역(AZ)에 있는 사용자 스토리지 복제본에 동기적으로 복제합니다. 클러스터 스토리지 복제본은 스토리지 플릿에 분산되어 있으며, 최적의 읽기 성능을 보장하기 위해 자동으로 확장됩니다.
다중 리전 클러스터는 단일 리전 클러스터와 동일한 복원력과 연결성을 제공하면서, 두 개의 리전(각각 피어링된 클러스터 리전)에 대해 하나씩 총 두 개의 리전 엔드포인트를 통해 가용성을 높입니다. 피어링된 클러스터의 두 엔드포인트는 모두 하나의 논리적 데이터베이스처럼 보이며, 강력한 데이터 일관성을 유지하면서 동시에 읽기 및 쓰기 작업을 지원합니다. 세 번째 리전은 로그만 기록하는 감시자 역할을 하며, 클러스터 리소스나 엔드포인트는 없습니다. 이를 통해 애플리케이션과 연결을 지리적 위치, 성능 또는 복원력 목적에 따라 균형 있게 분산할 수 있고, 모든 리더가 항상 동일한 데이터를 볼 수 있도록 보장합니다.
Aurora DSQL은 마이크로서비스와 이벤트 기반 아키텍처를 사용하는 애플리케이션을 지원하기에 이상적이며, 은행, 전자상거래, 여행, 리테일과 같은 산업에서 고도로 확장 가능한 솔루션을 설계할 수 있습니다. 또한 다중 리전 확장성과 복원력이 필요한 멀티테넌트 서비스형 소프트웨어(SaaS) 애플리케이션, 결제 처리, 게임 플랫폼, 소셜 미디어 애플리케이션과 같은 데이터 기반 서비스에도 적합합니다.
Amazon Aurora DSQL
Aurora DSQL은 간단한 콘솔 환경부터 시작하여 사용하기 쉬운 경험을 제공합니다. 익숙한 SQL 클라이언트를 사용해 기존 역량을 그대로 활용할 수 있으며, 다른 AWS 서비스와의 통합을 통해 데이터베이스 관리를 더욱 개선할 수 있습니다.
Aurora DSQL 클러스터를 생성하려면 Aurora DSQL 콘솔로 이동한 뒤 클러스터 생성을 선택하세요. 단일 리전 또는 다중 리전 구성 옵션 중에서 선택하여 필요에 맞는 데이터베이스 인프라를 구축할 수 있습니다.
1. 단일 리전 클러스터 생성
단일 리전 클러스터를 생성하려면 클러스터 생성만 선택합니다. 이게 전부입니다!
몇 분 내로 Aurora DSQL 클러스터가 생성되는 것을 확인할 수 있습니다. 클러스터에 연결하려면 PostgreSQL 대화형 터미널, DBeaver, JetBrains DataGrip과 같은 선호하는 SQL 클라이언트를 사용하거나, 데이터베이스 엔드포인트와 인증 토큰을 비밀번호로 활용해 다양한 프로그래밍 방식으로 접근할 수 있습니다. 자격 증명 관리를 더욱 안전하고 간편하게 하려면 AWS Secrets Manager와 통합하여 인증 토큰을 자동 생성 및 교체할 수 있습니다.
인증 토큰을 얻으려면 클러스터 상세 페이지에서 연결 및 토큰 가져오기를 선택하세요. 엔드포인트(호스트)에서 엔드포인트를 복사하고, 인증 토큰(비밀번호) 섹션에서 관리자로 연결을 선택한 뒤 생성된 인증 토큰을 복사하세요.
그리고 CloudShell에서 열기를 선택하면 몇 번의 클릭만으로 클러스터에 원활하게 연결할 수 있습니다.
Aurora DSQL 클러스터에 연결한 후에는 샘플 SQL 문을 실행하여 클러스터를 테스트할 수 있습니다. 또한 Python, Java, JavaScript, C++, Ruby, .NET, Rust, Golang 등 선호하는 프로그래밍 언어를 사용해 애플리케이션에서 SQL 문을 쿼리할 수 있습니다. Django, Ruby on Rails, AWS Lambda 애플리케이션을 활용해 Amazon Aurora DSQL과 상호작용하는 샘플 애플리케이션도 구축할 수 있습니다.
2. 다중 리전 클러스터 생성
다중 리전 클러스터를 생성하려면, 클러스터를 피어링하기 위해 다른 클러스터의 Amazon Resource Name(ARN)을 추가해야 합니다.
첫 번째 클러스터를 생성하려면 콘솔에서 다중 리전을 선택하세요. 또한, 데이터가 피어링된 리전에 쓰여지지만 엔드포인트가 없는 감시 리전을 선택해야 합니다. 그리고 클러스터 생성을 선택합니다. 이미 원격 리전에 클러스터가 있다면, 선택적으로 해당 ARN을 입력할 수 있습니다.
다음으로, 기존의 원격 클러스터를 추가하거나, 다른 리전에서 두 번째 클러스터를 생성하려면 클러스터 생성을 선택하세요.
이제 첫 번째 클러스터의 피어 클러스터 ARN을 활용해 두 번째 클러스터를 생성할 수 있습니다.
두 번째 클러스터가 생성되면, 다중 리전 생성 과정을 완료하기 위해 us-east-1
에서 클러스터를 피어링해야 합니다.
첫 번째 클러스터 페이지로 이동하여 피어링을 선택해 두 클러스터 모두의 피어링을 확정하세요.
이제 다중 리전 클러스터가 성공적으로 생성되었습니다. 피어 탭에서 다른 리전에 있는 피어에 대한 세부 정보를 확인할 수 있습니다.
Aurora DSQL을 직접 체험해보고 싶다면, 이 단계별 워크숍을 활용해 보세요. 이 워크숍은 액티브-액티브 복원력을 갖춘 샘플 리테일 리워드 포인트 애플리케이션을 구축하면서 아키텍처, 주요 고려 사항, 모범 사례를 안내합니다.
또한 AWS SDK, AWS Comand Line Interface(AWS CLI), 및 Aurora DSQL API를 사용해 Aurora DSQL을 프로그래밍 방식으로 생성하고 관리할 수 있습니다. 더 자세한 내용은 Amazon Aurora DSQL 사용자 가이드의 Aurora DSQL 클러스터 설정을 참고하세요.
평가판 이후에 추가된 기능
평가판 기간 동안 여러분의 피드백과 제안을 반영해 새로운 기능을 추가했습니다. 새로 추가된 특성과 기능 중 일부를 아래에서 소개합니다.
- 콘솔 경험 – 다중 리전 클러스터 생성 및 피어링, 그리고 AWS CloudShell을 통한 손쉬운 연결을 지원하도록 클러스터 관리 경험을 개선했습니다.
- PostgreSQL 기능 – 뷰(view) 지원, 기존 데이터가 있는 테이블에 대한 고유 보조 지표 추가, 그리고 자동 분석 기능을 도입하여 테이블 통계를 수동으로 관리할 필요가 없어졌습니다. Aurora DSQL의 PostgreSQL 호환 기능에 대해 자세히 알아보세요.
- AWS 서비스와의 통합 – 전체 스냅샷 백업 및 Aurora DSQL 클러스터 복원을 위한 AWS Backup, 프라이빗 네트워크 연결을 위한 AWS PrivateLink, Aurora DSQL 리소스 관리를 위한 AWS CloudFormation, Aurora DSQL 운영 로깅을 위한 AWS CloudTrail 등 다양한 AWS 서비스와 통합했습니다.
또한, 개발자 생산성을 높이기 위해 모델 컨텍스트 프로토콜(MCP) 서버를 제공해, 생성형 AI 모델과 데이터베이스가 자연어로 상호작용할 수 있도록 지원합니다. 예를 들어, Amazon Q Developer CLI를 설치하고 Aurora DSQL MCP 서버를 구성하면 Amazon Q Developer CLI가 Aurora DSQL 클러스터에 접근할 수 있습니다. 추가 통합 코드 없이도 데이터베이스 스키마를 쉽게 탐색하고, 테이블 구조를 이해하며, 복잡한 SQL 쿼리도 실행할 수 있습니다.
정식 출시
Amazon Aurora DSQL은 오늘부터 AWS 미국 동부(버지니아 북부), 미국 동부(오하이오), 미국 서부(오리건) 리전에서 단일 및 다중 리전 클러스터(피어 2개, 감시 리전 1개)로 이용 가능하며, 아시아 태평양(오사카) 및 아시아 태평양(도쿄)에서는 단일 리전 클러스터, 유럽(아일랜드), 유럽(런던), 유럽(파리)에서도 단일 리전 클러스터로 사용할 수 있습니다.
요금은 읽기/쓰기 같은 요청 기반 활동에 대해 Distributed Processing Unit(DPU)이라는 단일 정규화된 과금 단위로 월 단위로 청구됩니다. 스토리지는 데이터베이스의 총 크기를 기준으로 GB-월로 측정됩니다. 단일 리전 또는 다중 리전 피어 클러스터 당 데이터의 논리적 복사본 하나에 대해서만 요금이 부과됩니다. AWS 프리 티어의 일부로, 매월 최초 10만 DPU와 1GB-월 스토리지는 무료입니다. 자세한 내용은 Amazon Aurora DSQL 요금 페이지를 참고하세요.
Aurora DSQL 콘솔에서 무료로 Aurora DSQL을 직접 체험해보세요. 더 많은 정보는 Aurora DSQL 사용자 가이드를 참고하고, 피드백은 AWS re:Post for Aurora DSQL 또는 평소 사용하는 AWS Support 채널로 보내주세요.
— Channy