기존 데이터베이스 시스템에는 많은 성능, 가용성 및 확장성 제한이 있습니다. Amazon Aurora는 이러한 제한 사항에 대한 솔루션입니다.

비즈니스를 실행하는 앱을 구동하려면 데이터베이스가 필요합니다. 더 나은 서비스를 제공하려면 더 크고, 더 안정적이고, 더 빨라야 합니다. Amazon Web Services를 사용하면 기업에서 쉽게 데이터를 관리하고 고객 만족도를 높일 수 있습니다.

Amazon의 AWS Aurora 웹 서비스가 그러한 서비스의 예입니다. 클러스터 볼륨을 사용하여 데이터를 관리하고 비상 백업을 위해 할당합니다.

아마존 오로라는 무엇입니까?

클라우드 네이티브 데이터베이스인 Amazon Aurora는 오픈 소스 MySQL 및 PostgreSQL과 완벽하게 호환됩니다. Aurora는 모든 오픈 소스 MySQL 기능을 지원합니다. 또한 이러한 데이터베이스에서 실행되는 응용 프로그램과의 드롭인 호환성도 허용합니다.

Aurora는 오픈 소스 데이터베이스의 비용 효율성과 단순성을 갖추면서도 상용 데이터베이스와 동일한 성능을 갖춘 완전 관리형 데이터베이스 서비스가 필요한 고객을 위해 설계되었습니다.

Aurora는 기존 MySQL보다 5배 빠르고 PostgreSQL보다 3배 더 나은 성능을 제공합니다. Amazon RDS는 프로비저닝, 백업 및 복구와 같은 작업을 처리합니다. 선불 비용이 없으며 월 사용료만 지불하면 됩니다.

Aurora는 상용 데이터베이스 비용의 일부만으로 운영 우수성과 엔터프라이즈 기능에 대한 실적을 제공한다는 점에서 독특합니다.

Aurora는 전 세계적으로 비교할 수 없는 성능, 가용성, 보안 및 안정성을 제공합니다. Aurora는 2014년 출시 이후 AWS 포트폴리오에서 가장 빠르게 성장하는 서비스였습니다.

Amazon Aurora는 어디에 사용됩니까?

오로라의 눈부신 성장은 많은 산업계의 뜨거운 관심에 힘입어 이루어졌습니다. 우리는 지난 12개월 동안 금융 서비스, 소프트웨어, 인터넷, 엔터테인먼트, 게임 및 소매 분야에 대한 강한 관심을 보았습니다.

고객은 Aurora MySQL 및 Aurora PostgreSQL로 마이그레이션하여 MySQL 및 PostgreSQL 데이터베이스를 통합합니다. 또한 많은 고객이 Oracle 또는 Microsoft SQL Server와 같은 레거시 데이터베이스에서 Aurora PostgreSQL로 마이그레이션하는 것을 볼 수 있습니다.

“중단 없는” 고객은 높은 라이센스 비용을 지불하고 레거시 데이터베이스에 얽매이는 데 지쳤습니다. 높은 성장세를 보이는 고객은 모든 리전에서 빠르고 원활하게 확장하기를 원합니다. 또한 AWS 서비스 전반에 걸쳐 통합할 수 있기를 원합니다.

Amazon Aurora의 이점

다음은 Amazon Aurora 사용의 이점입니다.

확장성

자동 크기 조정을 활성화할 수 있습니다. 더 많은 저장 공간이 있으면 저장 용량이 늘어납니다. 저장 공간이 줄어들면 데이터베이스 크기도 줄어듭니다.

비용 효율적

사용한 처리 능력과 저장 공간에 대해서만 비용을 지불하세요. 선수금이나 기타 비용은 없습니다. 매월 납부하는 방법은 간단합니다.

보안

Amazon VPC를 사용하면 데이터베이스가 실행 중인 네트워크를 격리할 수 있습니다.

AWS Key Management Service를 사용하여 데이터를 보호하는 암호화 키를 생성합니다.

고가용성 및 내구성

많은 가용 영역에서 Aurora의 복제본을 생성할 수 있습니다.

여러 AWS 지역에 쉽게 배포할 수 있는 글로벌 데이터베이스이므로 로컬 읽기/쓰기 속도가 감소할 수 있습니다.

마이그레이션 지원

로컬 데이터베이스를 Aurora로 마이그레이션하려면 pg-dump 또는 MySQL 덤프 명령을 사용할 수 있습니다.

완전 관리형

Aurora는 사용하기 매우 쉽습니다. AWS RDS 콘솔을 사용하여 인스턴스를 쉽게 설정할 수 있습니다. Aurora는 추가 비용 없이 Amazon Cloudwatch를 통한 모니터링을 제공합니다.

프로비저닝, 업데이트 또는 업그레이드에 대해 걱정할 필요가 없습니다. Amazon은 소프트웨어의 모든 측면을 완벽하게 제어하며 필요한 모든 패치를 수행합니다.

Amazon Aurora의 최고의 기능

다음은 Amazon Aurora의 최고 기능입니다.

확장성: Amazon Aurora의 가장 큰 특징입니다. 데이터베이스는 저장소 요구 사항에 따라 크기가 자동으로 증가합니다. 볼륨은 최대 10GB까지 증가할 수 있으며 최대 128TB에 도달할 수 있습니다. 이를 통해 원활한 보관이 가능합니다.

높은 처리량: SysBench 벤치마크는 처리량이 5배 증가한 것으로 나타났습니다. Amazon Aurora는 사용 가능한 메모리, 컴퓨팅 및 네트워킹을 최대화하기 위해 다양한 소프트웨어 및 하드웨어 기술을 사용합니다. 성능 일관성을 향상시키기 위해 쿼럼과 같은 분산 시스템 기술을 사용하여 입력 및 출력 작업을 수행합니다.

인스턴스 모니터링 및 복구: Amazon RDS는 Amazon Aurora 데이터베이스와 기본 EC2 인스턴스의 상태와 성능을 지속적으로 모니터링합니다. Amazon RDS는 데이터베이스 및 모든 관련 프로세스에 장애가 발생할 경우 데이터베이스를 자동으로 다시 시작합니다.

암호화: Amazon Aurora는 AWS Key Management Service를 통해 생성하고 제어하는 ​​키를 사용하여 데이터베이스를 암호화할 수 있도록 하여 높은 보안을 제공합니다. Amazon Aurora는 SSL 암호화를 사용하여 전송 중에 데이터를 보호합니다.

사용하기 쉬움: Amazon Aurora는 사용하기 쉽습니다. Amazon RDS Management Console은 새로운 Amazon Aurora DB 인스턴스를 생성하는 데 사용됩니다. 이 API 호출 또는 CLI는 하나의 API 호출만 받습니다. Amazon Aurora DB 인스턴스는 각 DB 인스턴스 유형에 적합한 파라미터와 설정으로 미리 구성되어 있습니다.

비용 효율적: 사용한 만큼만 비용을 지불하세요. 선불 비용이나 기타 수수료는 없습니다. 매월 납부하는 방법은 간단합니다.

마이그레이션 지원: 로컬 데이터베이스를 Aurora에서 Aurora로 마이그레이션하려면 pg-dump 또는 MySQL 덤프 명령을 사용할 수 있습니다.

Aurora는 완전 관리형입니다. 즉시 사용을 시작할 수 있습니다. AWS RDS 콘솔을 사용하여 인스턴스를 생성하거나 코드에서 API를 호출하기만 하면 됩니다. 프로비저닝, 업데이트 또는 업그레이드에 대해 걱정할 필요가 없습니다.

아마존 오로라 아키텍처

Aurora 데이터베이스의 전체 아키텍처는 기존 DBMS 위에 구축됩니다. 트랜잭션 관리자, 쿼리 실행 엔진 및 복구 관리자와 같은 대부분의 DBMS 구성 요소를 재사용합니다.

Amazon Aurora는 기존의 게임을 뛰어넘는 새로운 DBMS입니다. 가용성, 안정성 및 확장성을 높이기 위해 기존 DBMS를 많이 개선합니다.

이러한 변경 사항은 다음과 같습니다.

  • 기본 복제본 설정이 사용됨
  • 데이터의 원격 스토리지 복제 가능
  • 변경 로그만 원격 디스크에 저장됩니다.

Amazon Aurora의 아키텍처는 기존 관계형 데이터베이스의 스토리지 계층을 확장할 수 있습니다.

Amazon Aurora의 기본 데이터베이스 인스턴스는 처리를 위해 redo 로그를 스토리지 계층으로 전달합니다. 로그는 새 페이지 버전을 생성 및 저장하고 모든 것을 S3에 백업하는 스토리지 계층에서 처리됩니다.

이미지 크레디트: AWS

Amazon Aurora는 확장 중에 추가 데이터베이스 엔진 인스턴스를 생성하고 기존 스토리지 계층에 연결하기만 하면 됩니다. 이렇게 하면 병렬 처리를 위해 이러한 작업을 스토리지 계층에 위임하여 데이터 복제의 병목 현상을 제거합니다.

이를 통해 다음과 같은 많은 새로운 기능을 만들 수 있습니다.

  • 즉각적인 충돌 복구: 마지막 체크포인트에서 로그를 재생할 필요가 없습니다.
  • 빠른 장애 조치: 가장 최근의 리두 로그 레코드가 있는 복제본 데이터베이스에 대해 걱정할 필요가 없습니다. 스토리지 계층이 이를 처리합니다.
  • 역추적: 스토리지 계층이 리두 로그를 스트리밍했기 때문에 S3 백업에서 체크포인트를 복원할 필요 없이 데이터를 과거의 특정 지점으로 “되감기”할 수 있습니다.

아마존 오로라 설정

다음은 Amazon Aurora를 성공적으로 설정하는 단계입니다.

#1. AWS 관리 콘솔에 로그인하고 RDS를 엽니다.

#2. 데이터베이스 생성을 클릭합니다.

#삼. 엔진 옵션을 Amazon Aurora로 선택합니다.

#4. 필요한 Aurora MySQL 버전을 선택합니다.

#5. DB 클러스터 식별자를 생성하고 자격 증명 설정 사용자 이름과 암호를 설정합니다.

#6. 드롭다운 옵션에서 인스턴스 구성을 선택하고 복제본 생성 여부 옵션을 선택합니다.

#7. 아래와 같이 연결 옵션을 선택합니다.

#8. 기존 VPC 보안 그룹에서 선택하거나 새로 생성합니다.

#9. 향상된 모니터링을 활성화하고 세분성 및 모니터링 역할 옵션을 선택합니다.

#10. 마지막으로 데이터베이스 생성을 클릭합니다.

#11. Amazon Aurora 데이터베이스를 성공적으로 생성했습니다.

요금 모델: Amazon Aurora

Aurora Serverless ACU v2의 비용은 시간당 $0.12로 프로비저닝된 Aurora ACU 가격의 두 배입니다. 이는 다음을 의미합니다.

  • 최소 현재 실행 비용: ACU 4개, 시간당 $0.48 또는 월 $350
  • auto-scaling 기능을 병리학적으로 트리거하는 워크로드의 경우 최소 확장성 증가가 30초 또는 절반 ACU에 대해 $0.0005입니다.

Aurora Serverless V2의 월별 비용은 $350입니다. 각 자동 크기 조정 이벤트에는 최소 0.0005 USD가 청구됩니다. 이에 상응하는 Aurora 용량은 월 175달러이지만 응답성이 뛰어난 서버리스 자동 확장 기능이 없습니다.

사용 사례: Amazon Aurora

#1. 서비스형 소프트웨어(SaaS)

스토리지 및 인스턴스 확장에 유연할 수 있는 다재다능한 아키텍처를 사용합니다. 결과적으로 Amazon Aurora를 통해 기업은 데이터베이스에 대해 걱정하지 않고 고품질 애플리케이션 개발에 집중할 수 있습니다.

#2. 게임 목적

AWS Aurora는 관계형 데이터베이스와 동일한 방식으로 작동합니다. 높은 처리량, 대용량 저장 용량, 고가용성 및 고가용성을 제공합니다.

#삼. 엔터프라이즈 애플리케이션

Amazon Aurora는 관계형 데이터베이스보다 이미 필름이 많은 회사와 호환됩니다. Aurora는 다른 옵션에 비해 가격을 최대 90%까지 낮춰 비용 효율적입니다.

MySQL 및 PostgreSQL과 Aurora의 호환성

Amazon Aurora는 고성능, 글로벌 가용성 및 완전한 MySQL/PostgreSQL 호환성을 위해 구축되었습니다. 표준 도구를 사용하면 Aurora에서 MySQL 및 PostgreSQL 데이터베이스를 쉽게 마이그레이션할 수 있습니다. 최소한의 코드 변경으로 Aurora PostgreSQL용 Babelfish로 레거시 SQL Server 앱을 실행할 수도 있습니다.

Amazon Aurora는 pg_dump 또는 pg_restore와 같은 표준 PostgreSQL 가져오기/내보내기 도구와 함께 작동합니다. Amazon RDS 또는 MySQL DB 스냅샷을 사용하여 새 Amazon Aurora 테이블을 생성할 수도 있습니다.

DB 스냅샷은 일반적으로 신속하게 완료되지만 마이그레이션되는 데이터의 양과 형식에 따라 달라집니다.

아마존 오로라 대 아마존 RDS

건축 디자인

RDS 아키텍처는 Amazon EC2에 수동으로 데이터베이스 엔진을 설치할 수 있지만 프로비저닝 및 유지 관리는 AWS에 맡긴다는 점에서 유사합니다. RDS는 자동 장애 조치, 백업 등과 같은 많은 기능을 제공합니다. RDS는 Amazon EBS 볼륨을 사용하여 로그 및 데이터베이스 데이터를 저장합니다.

Aurora 데이터베이스 스토리지 시스템은 안정적이고 내결함성이 있습니다. Aurora용 데이터베이스 스토리지는 인스턴스와 독립적입니다. Aurora는 각각 10GB 청크가 있는 6개의 복사본에 데이터를 저장합니다. 이러한 복사본은 3개의 가용 영역에 배포됩니다. Aurora 인스턴스가 하나만 있는 경우에도 여전히 6개의 데이터 복사본이 있습니다.

성능

RDS는 향상된 I/O 처리량 성능을 위해 SSD 스토리지를 사용합니다. 두 가지 SSD 지원 스토리지 옵션을 사용할 수 있습니다. 하나는 고성능 OLTP 애플리케이션용이고 다른 하나는 범용의 비용 효율적인 용도입니다.

Aurora는 유사한 하드웨어에서 PostgreSQL 성능의 2배, 표준 MySQL 성능의 5배를 제공합니다. Aurora의 성능은 지속적으로 더 높고 더 일관되었습니다.

데이터베이스 엔진 지원

RDS는 MySQL, PostgreSQL, MariaDB는 물론 Microsoft SQL Server 및 Oracle과도 호환됩니다.

Aurora는 PostgreSQL 및 MySQL과 모두 호환됩니다. 즉, 변경 없이 PostgreSQL과 MySQL 모두에서 기존 데이터베이스 도구와 앱을 사용할 수 있습니다.

내구성 및 가용성

Aurora에는 매우 낮은 RPO(복구 지점 목표)로 지속적인 백업 및 복원을 허용하는 고유한 스토리지 모델이 있습니다. 이것은 RDS보다 더 안정적이고 내구성이 있습니다.

데이터는 Aurora에서 설계상 내구성이 있습니다. 항상 데이터 사본이 여러 개 있습니다. 각 Aurora 클러스터에는 3개의 AZ에 분산된 6개의 스토리지 노드가 있습니다. 컴퓨팅 노드가 하나만 있더라도 데이터 사본이 여러 개 있습니다.

회복력

아키텍처 설계로 인해 Aurora는 RDS보다 더 탄력적입니다. 장애 복구가 빠릅니다. 컴퓨팅 노드가 충돌하면 Aurora가 신속하게 복구할 수 있습니다.

저장

RDS 스토리지 자동 크기 조정은 증가하는 데이터베이스 워크로드를 수용하기 위해 스토리지 용량을 64TiB(SQL Server의 16TiB 제외)로 확장합니다. 가동 중지 시간이 없습니다.

Aurora는 스토리지를 최소 10GB에서 최대 128TiB로 늘려 스토리지를 자동으로 늘립니다. 저장소는 데이터베이스 성능에 영향을 주지 않고 10GB 단위로 증가합니다.

확장성

수직 확장: RDS와 Aurora를 사용하면 메모리와 컴퓨팅 리소스를 최대 244GiB RAM과 32개의 가상 CPU로 확장할 수 있습니다. 몇 초 만에 작업을 확장할 수 있습니다.

Aurora Auto Scaling 동적: Aurora Auto Scaling은 단일 마스터 복제를 사용하여 Aurora DB 클러스터에 사용할 수 있는 Aurora 복제본 수를 동적으로 조정합니다. RDS는 이러한 Auto Scaling을 지원하지 않습니다.

복제

RDS를 사용하여 최대 5개의 복제본을 제공할 수 있습니다. 복제 프로세스도 Aurora보다 느립니다.

Aurora는 최대 15개의 복제본을 프로비저닝할 수 있으며 복제에는 몇 초 밖에 걸리지 않습니다. Aurora는 새 읽기 전용 복제본을 빠르게 추가할 수 있기 때문에 더 빠르게 확장됩니다.

장애 조치

RDS에서 복제본을 읽기 위한 장애 조치는 수동으로 발생합니다. 이로 인해 데이터 손실이 발생할 수 있습니다. 다중 AZ(대기 인스턴스)를 사용하여 장애 조치를 자동화하고 데이터 손실을 방지할 수 있습니다.

데이터 손실을 방지하기 위해 Aurora는 장애 조치를 사용하여 복제본을 자동으로 읽습니다. Aurora는 장애 조치 시간이 더 빠릅니다.

클러스터 엔드포인트

RDS에는 쓰기 쿼리를 실행하는 데 사용할 수 있는 클러스터 엔드포인트가 있습니다. 현재 마스터 데이터베이스 인스턴스에 대한 DNS 포인터입니다. RDS는 장애 조치 중에 간단한 DNS 변경을 통해 엔드포인트를 새 마스터로 라우팅합니다.

클러스터 엔드포인트는 쿼리 작성을 위해 Aurora에서 계속 사용할 수 있습니다. 이 엔드포인트는 읽기 복제를 위한 로드 밸런서 역할도 합니다. 이 엔드포인트는 읽기 쿼리에 응답하는 데 사용할 수 있습니다.

지원

RDS는 DB 인스턴스의 백업 기간 동안 DB 인스턴스의 백업을 자동으로 생성하고 저장합니다. RDS는 DB 인스턴스의 스냅샷을 스토리지 볼륨으로 만들어 선택한 데이터베이스뿐만 아니라 모든 데이터베이스를 백업합니다.

Aurora는 클러스터 볼륨을 자동으로 백업하고 백업 보존 기간 동안 데이터를 계속 복원합니다. Aurora 백업은 연속적이고 증분식이므로 백업 보존 기간 내의 모든 지점을 신속하게 복원할 수 있습니다.

아래는 Amazon Aurora와 Amazon RDS의 요약 표입니다.

Amazon AuroraAmazon RDS스토리지를 10GB에서 64GB로 확장 가능 SQL Server, MariaDB, Oracle Database, MySQL, PostgreSQL 및 Amazon Aurora15개의 복제본 지원5개의 복제본 지원가격은 I/O 작업에 따라 다름최소 사용 요금 없이 무료로 사용해 볼 수 있습니다.

Amazon Aurora 대 DynamoDB

내구성 및 가용성

각 DynamoDB 데이터 조각은 여러 물리적 노드에 복제됩니다. Amazon은 이러한 물리적 노드를 여러 영역(가용 영역이라고도 함)에 배치하여 화재나 대규모 정전과 같은 재난 발생 시 높은 내구성과 가용성을 보장합니다. 하나의 사본이 다운되더라도 작업은 계속됩니다. SSD는 또한 매우 안정적이고 내구성이 있습니다.

백업 및 복원

DynamoDB는 온디맨드 백업과 PITR(특정 시점 백업)을 제공하여 모든 데이터베이스 상태에 액세스할 수 있습니다. DynamoDB는 모든 양의 데이터를 백업할 수 있습니다. 성능과 가용성은 영향을 받지 않습니다. 백업에는 시간이 거의 걸리지 않으며 사용자는 백업 일정이나 백그라운드 프로세스에 대해 걱정할 필요가 없습니다. AWS는 단 한 번의 API 호출로 백업 복구를 허용합니다.

Amazon Aurora 백업 프로세스는 DynamoDB와 유사합니다. 성능 중단이나 데이터베이스 서비스 중단 없이 생성되었습니다. Amazon 백업은 S3 버킷에 저장됩니다. 백업 기간을 지정하지 않으면 Aurora가 자동으로 30분의 백업을 생성합니다.

액세스 제어

DynamoDB는 데이터베이스 생성 및 쿼리 권한을 제한하는 세분화된 정책으로 IAM 사용자 및 역할을 지원합니다. Amazon Aurora에도 비슷한 권한 체계가 있습니다.

그러나 Aurora는 데이터베이스에 연결하기 위한 MySQL 및 PostgreSQL 호환 연결 인터페이스도 제공합니다.

지역 서비스인 DynamoDB는 VPC 경계에 종속되지 않습니다. 그러나 Aurora DB 클러스터는 네트워크 경계를 명확하게 정의하는 VPC에 설정해야 합니다. 또한 VPC 보안 그룹을 사용하여 데이터베이스 인스턴스에 연결할 수 있는 디바이스 또는 Amazon EC2 인스턴스를 제어할 수 있습니다.

다음은 Amazon Aurora와 DynamoDB의 요약 표입니다.

Amazon AuroraDynamoDBMySQL 및 PostgreSQL을 지원하는 관계형 데이터베이스NoSQL 데이터베이스Multi-region, Single-masterMulti-region, Multi-masterReplica는 1분 안에 기본으로 승격될 수 있습니다.고가용성복제 지연 시간은 1초 미만입니다.복제 지연 시간은 밀리초 미만입니다.

결론

그거였다. 우리 모두는 관계형 데이터베이스의 새로운 시대로 접어들고 있으며 Aurora는 시작에 불과합니다. 고객들은 압도적인 동의로 응답했습니다. Capital One, Dow Jones, Netflix, Verizon과 같은 모든 업계의 리더들은 관계형 데이터베이스 워크로드를 MySQL 및 PostgreSQL 호환 에디션을 포함한 Aurora로 마이그레이션하고 있습니다.