Amazon Aurora 기능

Amazon Aurora를 사용해야 하는 이유는?

Amazon Aurora는 고사양 상용 데이터베이스의 속도 및 가용성에 오픈 소스 데이터베이스의 단순성 및 비용 효율성을 결합한 관계형 데이터베이스 서비스입니다. Aurora는 MySQL 및 PostgreSQL과 완벽하게 호환되므로 기존 애플리케이션과 도구를 수정 없이 실행할 수 있습니다.

뛰어난 성능 및 확장성

SysBench와 같은 표준 벤치마크 테스트 결과 유사한 하드웨어에서 처리량이 Stock MySQL보다 최대 5배 높고 PostgreSQL보다 3배 높은 것으로 나타났습니다. Aurora는 다양한 소프트웨어와 하드웨어 기술을 사용하여 데이터베이스 엔진이 사용 가능한 컴퓨팅과 메모리, 네트워킹을 충분히 사용할 수 있도록 보장합니다. I/O 작업에서 쿼럼과 같은 분산 시스템 기술을 사용하여 성능 일관성을 향상합니다.

Amazon Aurora Serverless는 Aurora의 온디맨드 Auto Scaling 구성으로, 이를 통해 데이터베이스를 자동으로 시작 및 종료하고 애플리케이션의 필요에 따라 용량을 늘리거나 줄일 수 있습니다. Amazon Aurora Serverless를 사용하면 데이터베이스 인스턴스를 관리하지 않고도 클라우드에서 데이터베이스를 실행할 수 있습니다. 또한 기존 또는 새 데이터베이스 클러스터에서 프로비저닝된 인스턴스와 함께 Aurora Serverless v2 인스턴스를 사용할 수 있습니다.

Amazon Relational Database Service(Amazon RDS) API를 사용하거나 AWS Management Console에서 배포를 지원하는 프로비저닝 인스턴스를 늘리거나 줄일 수 있습니다. 컴퓨팅 조정 작업은 일반적으로 몇 분이면 완료됩니다.

Aurora는 가장 까다로운 애플리케이션의 요구 사항에 맞게 I/O를 자동으로 조정합니다. 또한 스토리지 요구 사항이 증가함에 따라 데이터베이스 볼륨 크기를 늘립니다. 볼륨은 최대 128TiB까지 10GB 단위로 확장됩니다. 볼륨 증가를 처리하기 위해 데이터베이스에 추가 스토리지를 프로비저닝할 필요가 없습니다. 또한 데이터베이스 클러스터에 Amazon Aurora I/O-Optimized 구성을 사용할 때 I/O 지출이 Aurora 데이터베이스 지출의 25%를 초과하면 최대 40%의 비용 절감 효과를 제공합니다. 자세히 알아보려면 Aurora 스토리지 및 신뢰성을 참조하세요.

최대 15개의 Amazon Aurora 복제본을 생성하여 대량의 애플리케이션 요청을 지원할 수 있도록 읽기 처리량을 늘릴 수 있습니다. Aurora 복제본은 소스 인스턴스와 동일한 기본 스토리지를 공유하므로 비용이 절감되며 복제본 노드에서 쓰기를 수행할 필요가 없습니다. 이에 따라 남는 처리 용량을 읽기 요청에 사용하고 복제본 지연 시간을 줄일 수 있습니다(대개 10밀리초 미만으로).

Aurora는 리더 엔드포인트를 제공하므로 복제본이 추가 및 제거될 때 이를 추적하지 않고도 애플리케이션을 연결할 수 있습니다. 또한 Auto Scaling을 지원하므로 지정하는 성능 지표의 변화에 따라 복제본을 자동으로 추가하고 제거합니다. 자세히 알아보려면 Aurora 복제본에 Amazon Aurora 오토 스케일링 사용을 참조하세요.

Aurora는 리전 간 읽기 전용 복제를 지원합니다. 리전 간 복제는 사용자에게 빠른 로컬 읽기를 제공하며, 각 리전에는 로컬 읽기를 확장하기 위해 15개의 Aurora 복제본을 추가할 수 있습니다. 자세한 내용은 Amazon Aurora Global Database를 참조하세요.

사용자 지정 엔드포인트를 통해 여러 데이터베이스 인스턴스에서 워크로드를 분산하고 로드 밸런싱할 수 있습니다. 예를 들어 분석 워크로드를 실행하기 위해 메모리 용량이 더 큰 인스턴스 유형을 사용하도록 Aurora 복제본을 프로비저닝할 수 있습니다. 그러면 사용자 지정 엔드포인트가, 다른 인스턴스를 격리된 상태로 유지하면서 적절하게 구성된 이러한 인스턴스로 워크로드를 라우팅할 수 있습니다.

Amazon Aurora 최적화된 읽기는 새로운 가격 대비 성능 기능으로, 이 기능이 없는 인스턴스에 비해 쿼리 지연 시간을 최대 8배 개선하고 최대 30%의 비용 절감 효과를 제공합니다. 데이터베이스 인스턴스의 메모리 용량을 초과하는 대규모 데이터 세트가 있는 애플리케이션에 적합합니다.

최적화된 읽기 인스턴스는 로컬 NVMe 기반 SSD 블록 레벨 스토리지(Graviton 기반 r6gd 및 인텔 기반 r6id 인스턴스에서 사용 가능)를 사용하여 데이터 세트가 데이터베이스 인스턴스의 메모리 용량을 초과하는 애플리케이션의 쿼리 지연 시간을 개선합니다. 최적화된 읽기에는 데이터베이스 인스턴스를 최대한 활용할 수 있도록 하는 계층형 캐싱 및 임시 객체와 같은 향상된 성능 기능이 포함됩니다.

쿼리 지연 시간이 최대 8배 개선되므로 운영 대시보드, 이상 탐지, pgvector를 사용한 유사성 검색 등 읽기 중심의 I/O 집약적인 워크로드를 효과적으로 실행할 수 있습니다. pgvector에서 Amazon Aurora PostgreSQL 최적화된 읽기는 사용 가능한 인스턴스 메모리를 초과하는 워크로드에서 벡터 검색에 대한 초당 쿼리 수를 최대 9배까지 늘려줍니다. PostgreSQL 호환 Aurora에서 최적화된 읽기를 사용할 수 있습니다.

Amazon Aurora 병렬 쿼리는 현재 데이터에 대해 더 빠른 분석 쿼리를 제공합니다. 핵심 트랜잭션 워크로드의 처리량을 높게 유지하면서 쿼리 속도를 최대 100배로 높일 수 있습니다. 쿼리 처리를 Aurora 스토리지 계층까지 적용함으로써 네트워크 트래픽을 줄이면서 많은 양의 컴퓨팅 파워를 얻을 수 있습니다. 병렬 쿼리를 사용하여 동일한 Aurora 데이터베이스에서 트랜잭션 및 분석 워크로드를 나란히 실행할 수 있습니다. 병렬 쿼리는 MySQL 호환 Aurora에서 사용할 수 있습니다.

Amazon DevOps Guru는 기계 학습(ML) 기반의 클라우드 운영 서비스로, 애플리케이션 가용성 개선에 도움을 줍니다. Amazon DevOps Guru for RDS를 사용하면 사용자는 기계 학습 기반 인사이트를 사용해 관계형 데이터베이스와 관련된 성능 문제를 쉽게 탐지 및 진단할 수 있으며 해당 문제를 며칠이 아니라 몇 분 내에 해결할 수 있습니다. 개발자 및 DevOps 엔지니어는 DevOps Guru for RDS를 사용해 데이터베이스 전문가의 도움 없이도 성능 문제의 근본 원인을 자동으로 식별하고 문제 해결에 도움이 되는 지능형 권장 사항을 확보할 수 있습니다.

시작하려면 Amazon RDS Management Console에서 Amazon RDS 성능 개선 도우미를 사용하도록 설정하세요. Performance Insights가 활성화되면 Amazon DevOps Guru 콘솔에서 Amazon Aurora 리소스, 기타 지원되는 리소스 또는 전체 계정에 대해 도우미를 사용하도록 설정합니다.

높은 가용성 및 안정성

Amazon RDS는 Aurora 데이터베이스와 기본 Amazon Elastic Compute Cloud(Amazon EC2) 인스턴스의 상태를 지속적으로 모니터링합니다. 데이터베이스 장애가 발생할 경우 Amazon RDS는 데이터베이스 및 관련 프로세스를 자동으로 다시 시작합니다. Aurora는 데이터베이스 재실행 로그로 장애 복구를 리플레이할 필요가 없으므로 재시작 시간이 대폭 줄어듭니다. 또한 이 서비스에서는 데이터베이스 버퍼 캐시를 데이터베이스 프로세스와 분리하므로 데이터베이스를 다시 시작해도 캐시가 유지될 수 있습니다.

인스턴스 장애 시 Aurora는 Amazon RDS Multi-AZ 기술을 사용하여 3개의 가용 영역에서 생성한 최대 15개의 Aurora 복제본 중 하나로 장애 조치를 자동화합니다. Aurora 복제본이 프로비저닝되지 않은 경우 장애가 발생하면 Amazon RDS에서 자동으로 새 Aurora DB 인스턴스를 만들려고 시도합니다. 커뮤니티 MySQL 및 PostgreSQL 드라이버를 오픈 소스 및 드롭인 방식의 호환되는 AWS JDBC Driver for MySQLAWS JDBC Driver for PostgreSQL로 교체하여 장애 조치 시간을 최소화할 수 있습니다. 또한 RDS 프록시를 사용하여 장애 조치 시간을 줄이고 가용성을 개선할 수도 있습니다. 장애 조치가 발생하면 Amazon RDS Proxy가 요청을 새 데이터베이스 인스턴스로 직접 라우팅하므로 애플리케이션 연결이 유지되는 동안 장애 조치 시간이 최대 66% 단축됩니다.

전 세계에 분산된 애플리케이션의 경우, 하나의 Aurora 데이터베이스가 여러 AWS 리전에 걸쳐 있는 Aurora Global Database를 사용하면 빠른 로컬 읽기 및 빠른 재해 복구가 가능합니다. Aurora Global Database는 스토리지 기반 복제를 사용하여 평균 1초 미만의 지연 시간으로 여러 리전에 데이터베이스를 복제할 수 있습니다. 리전의 성능 저하 또는 운영 중단으로부터 신속하게 복구해야 하는 경우 보조 리전을 백업 옵션으로 사용할 수 있습니다. 보조 리전의 데이터베이스는 1분 내에 전체 읽기/쓰기 용량으로 승격될 수 있습니다. 자세히 알아보려면 Amazon Aurora Global Database 사용을 참조하세요.

Aurora의 데이터베이스 스토리지 볼륨은 10GiB 청크로 분할되어 3개의 가용 영역에 복제되며, 각 가용 영역에는 각 쓰기 복제본 2개가 유지됩니다. Aurora 스토리지는 내결함성을 갖추고 있어, 데이터베이스 쓰기 가용성에 영향을 주지 않고 최대 2개의 데이터 사본 손실을 처리하고 읽기 가용성에 영향을 주지 않고 최대 3개의 데이터 사본 손실을 투명하게 처리할 수 있습니다. Aurora 스토리지는 자가 복구가 가능합니다. 데이터 블록과 디스크를 지속적으로 스캔하여 오류를 검사하고 자동으로 교체합니다.

Aurora의 백업 기능을 사용하여 인스턴스를 특정 시점으로 복구할 수 있습니다. 이를 통해 데이터베이스를 보존 기간 중 어느 시점(초 단위)으로나 복원할 수 있습니다(최근 5분 전까지 가능). 자동 백업 보존 기간은 최대 35일로 구성할 수 있습니다. 자동화된 백업은 99.999999999%의 내구성으로 설계된 Amazon Simple Storage Service(Amazon S3)에 저장됩니다. Aurora 백업은 지속적인 자동 증분 백업이며 데이터베이스 성능에 영향을 미치지 않습니다.

DB 스냅샷은 Amazon S3에 저장된 인스턴스에 대해 사용자가 시작하는 백업으로서 명시적으로 삭제할 때까지 보관됩니다. DB 스냅샷은 자동화된 증분 스냅샷을 활용하여 필요한 시간과 스토리지를 절감합니다. 원하는 경우 언제나 DB 스냅샷으로 인스턴스를 생성할 수 있습니다.

역추적은 백업에서 데이터를 복원할 필요 없이 데이터베이스를 이전의 특정 시점으로 빠르게 이동할 수 있는 기능입니다. 이 기능을 사용하면 잘못된 테이블을 제거하거나 잘못된 행을 삭제하는 등의 사용자 오류를 신속하게 복구할 수 있습니다. 역추적 기능을 활성화하면 Aurora가 지정된 역추적 기간의 데이터 레코드를 유지합니다. 예를 들어 데이터베이스를 최대 72시간 전으로 되돌릴 수 있도록 Backtrack을 설정할 수 있습니다. 데이터 레코드를 복사할 필요가 없으므로 대규모 데이터베이스의 경우에도 역추적은 몇 초면 완료됩니다. 앞뒤로 이동하여 오류가 발생하기 바로 전 시점을 찾을 수 있습니다.

Backtrack은 특히 테스트가 데이터를 삭제하거나 무효화하는 상황에서 개발 및 테스트용으로도 유용합니다. 즉, 원래 데이터베이스 상태로 되돌려 테스트를 다시 실행할 수 있습니다. API를 통해 역추적을 호출한 다음 테스트를 수행하는 스크립트를 생성하여 테스트 프레임워크에 간단하게 통합할 수 있습니다. 역추적은 MySQL과 호환되는 Aurora에서 사용할 수 있습니다.

뛰어난 보안

Amazon Virtual Private Cloud(Amazon VPC) 내에서 실행되는 Aurora는 자체 가상 네트워크 내에 데이터베이스를 격리하고 산업 표준 암호화 IPsec VPN을 사용하여 온프레미스 IT 인프라에 연결하는 데 도움이 됩니다. Amazon VPC에서의 Amazon Relational Database Service(RDS)에 대한 자세한 내용은 Amazon RDS 사용 설명서를 참조하세요. 또한 Amazon RDS를 사용하는 경우 방화벽 설정을 구성하고 DB 인스턴스에 대한 네트워크 액세스를 제어할 수 있습니다.

Aurora는 AWS Identity and Access Management(IAM)와 통합되어 IAM 사용자 및 그룹이 특정 Aurora 리소스(예: DB 인스턴스, DB 스냅샷, DB 파라미터 그룹, DB 이벤트 구독 및 DB 옵션 그룹)에서 수행할 수 있는 작업을 제어하는 기능을 제공합니다. 또한 Aurora 리소스를 태깅하고, 태그 및 태그 값이 동일한 리소스 그룹에서 IAM 사용자 및 그룹이 수행할 수 있는 작업을 제어할 수 있습니다. IAM 통합에 대한 자세한 정보는 IAM 데이터베이스 인증 설명서를 참조하세요.

Aurora는 AWS Key Management Service(KMS)를 통해 생성하고 제어하는 키를 사용해 데이터베이스를 암호화하는 데 도움이 됩니다. Aurora 암호화를 실행 중인 데이터베이스 인스턴스에서는 같은 클러스터에 있는 자동 백업, 복제본 및 스냅샷과 마찬가지로 기본 스토리지에 저장된 데이터가 암호화됩니다. Aurora는 SSL(AES-256)을 사용하여 전송 중 데이터를 보호합니다.

Aurora는 데이터베이스 성능에 미치는 영향을 최소화하면서 데이터베이스 이벤트를 기록하는 데 도움이 됩니다. 나중에 데이터베이스 관리, 보안, 거버넌스, 규정 준수 및 기타 목적으로 이러한 로그를 분석할 수 있습니다. 감사 로그를 Amazon CloudWatch로 전송하여 활동을 모니터링할 수도 있습니다.

Amazon GuardDuty는 Aurora 데이터베이스에 저장된 데이터에 대한 잠재적 위협을 식별하는 데 도움이 되는 Aurora용 위협 탐지를 제공합니다. GuardDuty RDS Protection 기능은 계정의 기존 및 신규 데이터베이스에 대한 로그인 활동을 프로파일링 및 모니터링하고 맞춤형 ML 모델을 사용하여 Aurora 데이터베이스에 대한 의심스러운 로그인을 정확하게 탐지합니다. 잠재적 위협이 감지되면 GuardDuty에서 보안 결과가 생성되며, 여기에는 데이터베이스 세부 정보와 의심 활동에 대한 풍부한 컨텍스트 정보가 포함됩니다. Aurora를 GuardDuty와 통합하면 데이터베이스를 수정하지 않고도 데이터베이스 이벤트 로그에 직접 액세스할 수 있습니다. 이 통합은 데이터베이스 성능에 영향을 미치지 않도록 설계되었습니다.

비용 효율성

Aurora에는 선불 약정이 없습니다. 시작하는 각 인스턴스에 대해 시간당 요금이 부과되며 Aurora DB 인스턴스 사용을 마친 후에는 인스턴스를 삭제할 수 있습니다. 안전상의 조치를 위해 스토리지를 과다 프로비저닝할 필요가 없으며, 실제로 사용한 스토리지에 대해서만 지불합니다. 자세한 내용은 Aurora 요금 페이지를 참조하세요.

Aurora에서는 애플리케이션의 I/O 소비량과 관계없이 가격 대비 성능과 가격 예측 가능성 요구 사항에 따라 2가지 구성 옵션 중에서 유연하게 선택하여 데이터베이스 지출을 최적화할 수 있습니다. 2가지 구성 옵션은 Aurora I/O-Optimized와 Aurora Standard입니다. 두 옵션 모두 사전 I/O 또는 스토리지 프로비저닝이 필요하지 않으며 가장 까다로운 애플리케이션을 지원하도록 I/O를 확장할 수 있습니다.

Aurora I/O-Optimized는 데이터베이스 클러스터 구성입니다. 결제 처리 시스템, 전자상거래 시스템 및 금융 애플리케이션과 같은 I/O 집약적 워크로드를 사용하는 고객에게 향상된 가격 대비 성능을 제공합니다. I/O 지출이 총 Aurora 데이터베이스 지출의 25%를 초과하는 경우 Aurora I/O-Optimized를 이용하면 I/O 집약적 워크로드의 비용을 최대 40% 절감할 수 있습니다. Aurora I/O-Optimized를 사용할 때는 데이터베이스 인스턴스 및 스토리지에 대한 요금이 부과됩니다. 읽기 및 쓰기 I/O 작업에 대한 비용이 없으므로 I/O 변동성과 관계없이 모든 애플리케이션에 대한 요금을 예측할 수 있습니다.

Aurora Standard는 I/O 사용량이 낮거나 중간 정도인 대부분의 애플리케이션에서 비용 효율적인 요금으로 사용할 수 있는 데이터베이스 클러스터 구성입니다. Aurora Standard를 사용할 때는 데이터베이스 인스턴스, 스토리지 및 요청 I/O당 요금에 대한 비용을 지불합니다.

분석 워크로드가 많은 애플리케이션의 I/O 비용은 일반적으로 데이터베이스 비용의 가장 큰 부분을 차지합니다. I/O 작업은 Aurora 데이터베이스 엔진에서 SSD 기반 가상화 스토리지 계층에 대해 수행됩니다. 모든 데이터베이스 페이지 읽기 작업은 1건의 I/O로 계산됩니다. Aurora 데이터베이스 엔진은 버퍼 캐시에 없는 데이터베이스 페이지를 가져오기 위해 스토리지 계층에 대한 읽기를 실행합니다. 각 데이터베이스 페이지는 PostgreSQL 호환 Aurora에서 8KB이고, MySQL 호환 Aurora에서 16KB입니다.

Aurora는 비용을 절감하고 읽기/쓰기 트래픽에 사용할 리소스를 확보하기 위해 불필요한 I/O를 제거하도록 설계되었습니다. 쓰기 I/O 작업은 안정적인 쓰기를 위해 트랜잭션 로그 기록을 스토리지 계층으로 푸시할 때만 사용됩니다. 쓰기 I/O 작업은 4KB 단위로 계산됩니다. 예를 들어 1,024바이트 크기의 트랜잭션 로그 기록은 1건의 I/O 작업으로 계산됩니다. 하지만 트랜잭션 로그 크기가 4KB 미만인 동시 쓰기 작업은 I/O 사용을 최적화하기 위해 Aurora 데이터베이스 엔진에서 배치 처리될 수 있습니다. 기존 데이터베이스 엔진과는 달리 Aurora는 변경된 데이터베이스 페이지를 스토리지 계층으로 푸시하지 않으므로 I/O 사용을 좀 더 줄일 수 있습니다.

Aurora 인스턴스가 얼마나 많은 I/O 작업을 사용하는지는 AWS Management Console에서 확인할 수 있습니다. I/O 사용량을 확인하려면 콘솔의 RDS 섹션에서 인스턴스 목록을 찾아, Aurora 인스턴스를 선택한 후, 모니터링 섹션에서 Billed read operations(결제된 읽기 작업) 및 Billed write operations(결제된 쓰기 작업) 지표를 보면 됩니다.

데이터베이스 클러스터를 Aurora Standard 구성으로 구성하면 읽기 및 쓰기 I/O 작업에 대한 요금이 부과됩니다. 데이터베이스 클러스터를 Aurora I/O-Optimized로 구성하면 읽기 및 쓰기 I/O 작업에 대한 요금이 부과되지 않습니다. I/O 작업 요금에 대한 자세한 내용은 Amazon Aurora 요금 페이지를 참조하세요.

Aurora PostgreSQL용 Aurora 최적화된 읽기는 지연 시간에 민감한 애플리케이션과 대규모 작업 세트를 보유한 고객에게 매력적인 가격 대비 성능으로 비즈니스 SLA를 충족할 수 있는 대안을 제공합니다. 또한 더 큰 메모리 용량을 확보하기 위해 데이터베이스 인스턴스를 자주 확장할 필요 없이 더 유연하게 데이터 세트를 확장할 수 있습니다. 최적화된 읽기에는 계층형 캐싱 및 임시 객체와 같은 향상된 성능 기능이 포함됩니다.

계층형 캐싱은 운영 대시보드, 이상 탐지, 벡터 기반 유사성 검색과 같은 읽기 중심 I/O 집약적 애플리케이션에 대한 쿼리 지연 시간을 최대 8배 개선하고 비용을 최대 30% 절감합니다. 이러한 이점은 인 메모리 데이터베이스 버퍼 캐시에서 제거된 데이터를 로컬 스토리지에 자동으로 캐싱하여 해당 데이터에 대한 후속 액세스 속도를 높임으로써 실현됩니다. 계층형 캐싱은 Aurora I/O-Optimized 구성을 통해 Aurora PostgreSQL에만 사용할 수 있습니다.

임시 객체는 Aurora PostgreSQL을 통해 생성된 임시 테이블을 로컬 스토리지에 배치하여 정렬, 해시 집계, 고부하 조인 및 기타 데이터 집약적 작업과 관련된 쿼리 성능을 개선함으로써 쿼리 처리 속도를 높입니다.

완전관리형

Aurora를 시작하는 것은 쉽습니다. Amazon RDS Management Console이나 단일 API 직접 호출 또는 CLI를 사용하여 새로운 Aurora DB 인스턴스를 시작하면 됩니다. Aurora DB 인스턴스는 선택한 DB 인스턴스 클래스에 적합한 파라미터 및 설정 세트로 미리 구성됩니다. DB 인스턴스를 시작하고 애플리케이션을 연결하기만 하면 됩니다. 이 작업은 몇 분밖에 걸리지 않으며 추가 구성이 필요하지 않습니다. DB 파라미터 그룹을 사용하면 데이터베이스를 세부적으로 제어하고 튜닝할 수 있습니다.

Aurora는 추가 비용 없이 DB 인스턴스에 대한 Amazon CloudWatch 지표를 제공합니다. AWS Management Console을 사용하여 컴퓨팅, 메모리, 스토리지, 쿼리 처리량, 캐시 적중률 및 활성 연결을 비롯하여 데이터베이스 인스턴스와 관련된 20개 이상의 주요 운영 지표를 볼 수 있습니다. 또한 Enhanced Monitoring을 사용하여 데이터베이스가 실행되는 운영 체제 인스턴스에서 지표를 수집할 수 있습니다. 데이터베이스 모니터링 도구인 Amazon RDS Performance Insights를 사용하여 데이터베이스 부하를 시각화하는 이해하기 쉬운 대시보드를 통해 데이터베이스 성능 문제를 쉽게 감지하고 조치를 취할 수 있습니다. 마지막으로, Amazon DevOps Guru for RDS를 사용하여 성능 문제를 손쉽게 감지하고, 성능 문제의 근본 원인을 자동으로 식별하며, 데이터베이스 전문가의 도움 없이 문제를 해결하는 데 도움이 되는 지능형 권장 사항을 받을 수 있습니다.

Amazon RDS 블루/그린 배포를 사용하면 Aurora MySQL 호환 버전 및 Aurora PostgreSQL 호환 버전에서 데이터 손실 없이 더 안전하고 더 간편하고 더 빠르게 데이터베이스를 업데이트할 수 있습니다. 블루/그린 배포에서는 몇 단계만 거치면 프로덕션 환경을 미러링하는 스테이징 환경을 생성하고 논리적 복제를 사용하여 두 환경을 동기화 상태로 유지할 수 있습니다. 프로덕션 워크로드에 영향을 미치지 않으면서 메이저/마이너 버전 업그레이드, 스키마 수정 및 파라미터 설정 변경과 같은 변경을 수행할 수 있습니다.

스테이징 환경을 승격할 때 블루/그린 배포는 전환이 완료될 때까지 블루 환경과 그린 환경에 대한 쓰기를 차단합니다. 블루/그린 배포에서는 기본 제공 전환 가드레일을 사용하는데, 이 가드레일은 스테이징 환경의 최대 허용 가능 가동 중지 시간이 초과되거나, 복제 오류가 감지되거나, 인스턴스 상태를 확인하는 등의 경우에 승격을 시간 초과 처리합니다.

Aurora는 최신 패치를 적용하여 데이터베이스를 최신 상태로 유지합니다. DB Engine Version Management를 통해 인스턴스의 패치 여부와 시기를 제어할 수 있습니다. Aurora는 가능한 경우 무중단 패치를 사용합니다. 적절한 시간 창이 나타나면, 패치가 진행되면서 인스턴스가 제자리에서 업데이트되고 애플리케이션 세션이 유지되며 데이터베이스 엔진이 다시 시작되어 처리량이 일시적으로 감소합니다(5초 정도).

Aurora는 자동화된 장애 조치 같은 중요한 데이터베이스 이벤트를 이메일이나 SMS를 통해 알릴 수 있습니다. AWS Management Console 또는 Amazon RDS API를 사용하여 Aurora 데이터베이스와 관련된 40개 이상의 다양한 DB 이벤트를 구독할 수 있습니다.

Aurora는 빠르고 효율적인 복제 작업을 지원합니다. 이 작업을 통해 테라바이트 규모의 데이터베이스 클러스터 전체를 몇 분 만에 복제할 수 있습니다. 복제는 애플리케이션 개발, 테스트, 데이터베이스 업데이트 및 분석 쿼리 실행과 같은 다양한 목적에 유용합니다. 즉각적인 데이터 가용성으로 인해 소프트웨어 개발 및 프로젝트 업그레이드가 크게 가속화되고 분석이 더욱 정확해질 수 있습니다.

몇 개 단계를 수행하여 Aurora 데이터베이스를 복제할 수 있으며 데이터 변경 사항을 저장하기 위한 추가 공간을 사용하는 경우 외에는 스토리지 요금이 발생하지 않습니다.

단 몇 개의 단계로 Aurora 데이터베이스를 직접 중지하고 시작할 수 있습니다. 따라서 데이터베이스를 상시 구동하지 않아도 되는 개발 및 테스트 작업에 Aurora를 쉽고 저렴하게 이용할 수 있습니다. 데이터베이스를 중지해도 데이터는 삭제되지 않습니다. 자세한 정보는 시작/중지 설명서를 참조하세요.

제로 ETL 통합

Amazon Aurora와 Amazon Redshift의 제로 ETL 통합을 사용하면 추출, 전환, 적재(ETL) 작업을 수행하는 복잡한 데이터 파이프라인을 구축하거나 유지 관리할 필요 없이 Amazon Redshift를 사용하여 Aurora의 페타바이트급 트랜잭션 데이터에 대해 실시간에 가까운 분석 및 기계 학습을 수행할 수 있습니다. 트랜잭션 데이터는 Aurora에 작성된 후 몇 초 내에 자동으로 지속적으로 복제되며 Amazon Redshift에서 원활하게 사용할 수 있습니다.

Amazon Redshift에서 데이터를 사용할 수 있게 된 후에는 즉시 분석을 시작하고 데이터 공유, 구체화된 뷰, Amazon Redshift ML과 같은 고급 기능을 적용하여 종합적인 예측 인사이트를 얻을 수 있습니다. 다양한 Aurora 데이터베이스 클러스터의 여러 테이블을 통합하고 하나의 Amazon Redshift 데이터 웨어하우스에 데이터를 복제하여 여러 애플리케이션과 데이터 소스에서 통합 분석을 실행할 수 있습니다. Aurora ServerlessAmazon Redshift Serverless를 모두 사용하는 경우 데이터 파이프라인용 인프라를 관리할 필요 없이 트랜잭션 데이터에 대해 거의 실시간 분석을 생성할 수 있습니다. Amazon Redshift와 Aurora 제로 ETL 통합을 사용하는 방법에 대한 설명서를 읽어보세요.

생성형 AI

Aurora는 기계 학습(ML) 및 생성형 인공 지능(AI) 모델에서 데이터를 이동하지 않고도 실시간으로 Aurora에 저장된 데이터를 사용할 수 있도록 하는 기능을 제공합니다. Amazon Aurora PostgreSQL 호환 버전을 사용하면 pgvector 확장 프로그램을 통해 ML 임베딩을 저장, 검색, 인덱싱 및 쿼리하는 벡터 데이터베이스 기능에 액세스할 수 있습니다.

벡터 임베딩은 텍스트, 이미지, 비디오와 같은 콘텐츠의 의미 체계 의미를 나타내는 숫자 표현입니다. 생성형 AI 및 기타 AI/ML 시스템에서는 임베딩을 사용하여 대규모 언어 모델(LLM)에 대한 이 콘텐츠 입력의 의미 체계 의미를 캡처합니다. Amazon BedrockAmazon SageMaker의 모델과 같은 ML 및 AI 모델의 임베딩을 Aurora 데이터베이스에 저장할 수 있습니다. Aurora PostgreSQL의 확장 프로그램 버전에 대한 설명서를 읽어 보세요.

Amazon Aurora PostgreSQL은 조직의 개인 데이터 소스를 파운데이션 모델(FM)에 연결하고 이에 대한 자동 검색 증강 생성(RAG) 워크플로를 활성화하기 위해 Amazon Bedrock용 기술 자료로 제공됩니다. 이를 통해 FM은 특정 도메인 및 조직에 대해 더 잘 알 수 있습니다. Aurora PostgreSQL을 Amazon Bedrock용 기술 자료로 사용하는 방법에 대한 설명서를 읽어 보세요.

또한 Aurora 기계 학습(Aurora ML)을 사용하면 생성형 AI 모델 예측을 Aurora 데이터베이스에 간편하게 추가할 수 있습니다. Aurora ML은 ML 모델을 SQL 함수로 노출합니다. 따라서 표준 SQL을 사용하여 ML 모델을 직접적으로 호출하고 데이터를 전달하며 예측, 텍스트 요약 또는 감정을 쿼리 결과로 반환할 수 있습니다. Aurora ML을 사용하면 pgvector 확장 프로그램을 통해 최신 임베딩을 반환하는 SageMaker 또는 Amazon Bedrock 모델을 주기적으로 직접 호출하여 Aurora PostgreSQL 데이터베이스에 새 임베딩을 실시간으로 추가할 수 있습니다.

마이그레이션 지원

Aurora에서 표준 MySQL 가져오기 및 내보내기 도구를 사용할 수 있습니다. 또한 Amazon RDS for MySQL DB 스냅샷에서 새로운 Aurora 데이터베이스를 손쉽게 만들 수 있습니다. DB 스냅샷 기반의 마이그레이션 작업은 대개 한 시간 이내에 완료되지만 마이그레이션되는 데이터의 양과 형식에 따라 다릅니다.

또는 AWS Database Migration Service(AWS DMS)는 원활한 마이그레이션을 위해 DMS 콘솔 내에 내장된 기본 도구를 제공합니다. 프로비저닝하거나 규모를 조정할 복제 인스턴스가 없으므로 클릭 몇 번으로 데이터베이스 마이그레이션을 시작할 수 있으며 사용한 시간에 대한 시간당 요금만 부과됩니다.

Aurora MySQL 호환 버전 데이터베이스와 AWS 내부 또는 외부에서 실행되는 외부 MySQL 데이터베이스 간에 binlog 기반 복제를 설정할 수도 있습니다.

pg_dump 및 pg_restore를 포함한 표준 PostgreSQL 가져오기 및 내보내기 도구를 Aurora와 함께 사용할 수 있습니다. Aurora는 Amazon RDS for PostgreSQL의 스냅샷 가져오기와 AWS Database Migration Service(AWS DMS)를 통한 복제도 지원합니다.

Aurora는 상용 데이터베이스의 데이터베이스 워크로드를 이전하기에 적합한 환경입니다. Aurora는 상용 데이터베이스 엔진과 유사한 기능을 포함하며 대부분의 엔터프라이즈 데이터베이스 워크로드에 필요한 엔터프라이즈급 성능, 내구성 및 고가용성을 제공합니다. AWS Database Migration Service(AWS DMS)를 사용하면 DMS Schema Conversion 및 DMS Serverless와 같은 관리형 기능을 통해 Aurora로 데이터베이스를 빠르게 마이그레이션할 수 있습니다. DMS Schema Conversion은 스키마 및 소스 객체를 자동으로 평가한 후 Aurora 클러스터와 호환되는 것으로 변환합니다. DMS Serverless는 마이그레이션 리소스의 프로비저닝, 모니터링 및 규모 조정을 자동화합니다.

Babelfish for Aurora PostgreSQL은 Aurora PostgreSQL 호환 버전의 새로운 기능으로, 이를 통해 Aurora는 Microsoft SQL Server용으로 작성된 애플리케이션의 명령을 이해할 수 있습니다. 이제 Aurora PostgreSQL은 Babelfish를 통해 Microsoft SQL Server의 전용 SQL 언어인 T-SQL을 이해하고 동일한 통신 프로토콜을 지원합니다. 따라서 원래 SQL Server용으로 작성된 앱을 최소한의 코드 변경으로 Aurora에서 사용할 수 있습니다. 결과적으로, SQL Server 2005 이상에서 실행되는 애플리케이션을 수정하고 Aurora로 이동하는 데 필요한 작업이 줄어들기 때문에 마이그레이션 속도를 높이고 위험을 낮추며 비용 효율성을 개선할 수 있습니다. Babelfish는 Aurora의 기본 제공 기능으로, 추가 비용 없이 사용할 수 있습니다. RDS 콘솔에서 몇 단계만 수행하여 Aurora 클러스터에서 Babelfish를 사용할 수 있습니다.

개발자 생산성

Trusted Language Extensions(TLE) for PostgreSQL은 AWS에서 코드를 인증하지 않고도 고성능 확장 프로그램을 신속하게 구축하고 Amazon Aurora에서 안전하게 실행할 수 있게 해 주는 개발 키트이자 오픈 소스 프로젝트입니다. 개발자는 JavaScript, PL/pgSQL, Perl 및 SQL과 같은 신뢰할 수 있는 언어를 사용하여 확장 프로그램을 안전하게 작성할 수 있습니다. TLE는 안전하지 않은 리소스에 대한 액세스를 차단하도록 설계되었으며 확장 프로그램의 결함을 단일 데이터베이스 연결로 제한합니다. DBA는 확장 프로그램을 설치할 수 있는 사용자와 확장 프로그램을 실행하기 위한 권한 모델을 생성할 수 있는 사용자를 제어할 수 있는 세부적인 온라인 관리 권한을 갖습니다. TLE는 Aurora 고객에게 추가 비용 없이 제공됩니다.

Aurora는 데이터베이스에서 직접 기계 학습 기능을 제공하므로 익숙한 SQL 프로그래밍 언어를 통해 ML 기반 예측을 애플리케이션에 추가할 수 있습니다. Aurora와 AWS 기계 학습 서비스 간의 간단하고 안전하며 최적화된 통합을 통해 사용자 지정 통합을 구축하거나 데이터를 이동하지 않고도 다양한 ML 알고리즘에 액세스할 수 있습니다. Aurora 기계 학습에 대해 자세히 알아보세요.

Aurora는 완전관리형 및 고가용성 데이터베이스 프록시인 Amazon RDS Proxy와 함께 사용할 수 있으므로 애플리케이션의 뛰어난 확장성, 데이터베이스 장애에 대한 탁월한 복원력 및 더욱 강화된 보안을 제공합니다. RDS Proxy를 사용하면 애플리케이션이 데이터베이스에 설정된 연결을 풀링 및 공유할 수 있어 데이터베이스 효율성과 애플리케이션 확장성이 향상됩니다. RDS Proxy는 애플리케이션 연결을 보존하면서 새 데이터베이스 인스턴스에 자동으로 연결하여 장애 조치 시간을 줄입니다. 또한 AWS IAMAWS Secrets Manager와의 통합을 통해 보안을 강화합니다.

데이터 API는 Aurora 데이터베이스에 SQL 쿼리를 실행하여 현대적 애플리케이션을 빠르게 개발하고자 할 때 쉽고 안전하게 사용할 수 있는 HTTPS API입니다. 데이터 API를 사용하면 Aurora 데이터베이스에 안전하게 연결하는 데 필요한 네트워크 및 애플리케이션 구성 태스크가 필요하지 않으므로 간단한 API 직접 호출로 Aurora에 액세스할 수 있습니다. 데이터 API를 사용하면 데이터베이스 드라이버와 클라이언트측 연결 풀링 소프트웨어를 사용할 필요가 없습니다. 또한 데이터베이스 연결을 자동으로 풀링하고 공유하여 애플리케이션 확장성을 개선합니다. 데이터 API는 AWS IAMAWS Secrets Manager와의 통합을 통해 보안을 강화합니다.

개발자는 AWS SDK로 구축한 애플리케이션을 통해 데이터 API를 호출할 수 있습니다. 또한 데이터 API는 AWS AppSync GraphQL API의 Aurora 데이터베이스에 대한 액세스를 제공합니다.