AWS Aurora

강재민·2022년 11월 23일
0

Amazon Aurora이란 무엇인가요?

Amazon Aurora(Aurora)MySQLPostgreSQL과 호환되는 완전 관리형 관계형 데이터베이스 엔진입니다. MySQL 및 PostgreSQL이 고급 상용 데이터베이스의 속도안정성을 오픈 소스 데이터베이스의 단순성 및 비용 효율성과 어떻게 결합하는지 이미 알고 계실 것입니다. 오늘날 기존 MySQL 및 PostgreSQL 데이터베이스에 사용되는 코드, 도구 및 애플리케이션 모두 Aurora에서도 사용할 수 있습니다. 일부 워크로드의 경우 Aurora은 기존 애플리케이션을 거의 변경하지 않고도 MySQL의 처리량을 최대 5배, PostgreSQL의 처리량을 최대 3배 제공할 수 있습니다.

Aurora에는 고성능 스토리지 하위시스템이 포함됩니다. MySQL 및 PostgreSQL과 호환되는 데이터베이스 엔진은 빠른 분산형 스토리지를 활용하도록 사용자 지정됩니다. 기본 스토리지는 필요에 따라 자동으로 커집니다. Aurora 클러스터 볼륨 크기는 최대 128 tebibytes (TiB)까지 증가할 수 있습니다. Aurora는 또한 데이터베이스 구성 및 관리의 가장 어려운 측면 중 하나인 데이터베이스 클러스터링 및 복제를 자동화하고 표준화합니다.

Aurora는 관리형 데이터베이스 서비스인 Amazon Realtional Database Service(Amazon RDS)의 일부입니다. Amazon RDS는 클라우드에서 관계형 데이터베이스를 더 쉽게 설치, 운영 및 크기 조정할 수 있는 웹 서비스입니다. Amazon RDS에 익숙하지 않은 경우 Amazon Relational Database Service 사용 설명서를 참조하세요.

다음 사항은 Aurora이 Amazon RDS에서 사용 가능한 표준 MySQL 및 PostgreSQL 엔진과 어떻게 관련되는지를 보여줍니다.

Amazon RDS를 통해 새 데이터베이스 서버를 설정할 때 Aurora을 DB 엔진 옵션으로 선택합니다.

Aurora는 관리를 위해 익숙한 Amazon Relational Database Service(Amazon RDS) 기능을 활용합니다. Aurora는 Amazon RDS AWS Management Console 인터페이스, AWS CLI 명령 및 API 작업을 사용하여 프로비저닝, 패치 적용, 백업, 복구, 장애 감지 및 복구와 같은 일상적인 데이터베이스 태스크를 처리합니다.

Aurora 관리 작업에는 일반적으로 개별 데이터베이스 인스턴스 대신 복제를 통해 동기화되는 전체 데이터베이스 서버 클러스터가 포함됩니다. 자동 클러스터링, 복제 및 스토리지 할당을 통해 최대 MySQL 및 PostgreSQL 배포판에 대한 설정, 작동 및 확장 작업이 간편하고 비용 효율적입니다.

스냅 샷을 생성 및 복원하거나 단방향 복제를 설정하여 Amazon RDS for MySQL 및 Amazon RDS for PostgreSQL의 데이터를 Aurora로 가져올 수 있습니다. 기존 Amazon RDS for MySQL 및 Amazon RDS for PostgreSQL 애플리케이션을 Aurora로 전환할 수 있는 푸시 버튼식 마이그레이션 도구를 사용할 수 있습니다.


Amazon Aurora DB 클러스터

Amazon Aurora DB cluster하나 이상DB 인스턴스와 이 DB 인스턴스의 데이터를 관리하는 클러스터 볼륨으로 구성됩니다. Aurora 클러스터 볼륨은 다중 가용 영역을 아우르는 가상 데이터베이스 스토리지 볼륨으로서, 각 가용 영역에는 DB 클러스터 데이터의 사본이 있습니다. Aurora DB 클러스터는 다음과 같이 두 가지 유형의 DB 인스턴스로 구성됩니다.

기본 DB 인스턴스 – 읽기 및 쓰기 작업을 지원하고, 클러스터 볼륨의 모든 데이터 수정을 실행합니다. Aurora DB 클러스터마다 기본 DB 인스턴스가 하나씩 있습니다.

Aurora 복제본 – 기본 DB 인스턴스와 동일한 스토리지 볼륨에 연결되며 읽기 작업만 지원합니다. 각 Aurora DB 클러스터는 기본 DB 인스턴스에 더해 최대 15개까지 Aurora 복제본을 구성할 수 있습니다. Aurora 복제본을 별도의 가용 영역에 배치하여 고가용성을 유지합니다. Aurora는 기본 DB 인스턴스를 사용할 수 없는 경우 자동으로 Aurora 복제본으로 장애 조치합니다. Aurora 복제본에 대해 장애 조치 우선 순위를 지정할 수 있습니다. 또한 Aurora 복제본은 기본 DB 인스턴스에서 읽기 워크로드를 오프로드할 수 있습니다.

다음은 클러스터 볼륨과 Aurora DB 클러스터에 속하는 기본 DB 인스턴스 및 Aurora 복제본 사이의 관계를 나타낸 다이어그램입니다.


AWS — Difference between Amazon Aurora and Amazon RDS


Amazon Aurora

오로라는 완전관리형 MYSQL 과 PostgreSQL 관계형 데이터베이스입니다. 클라우드의 장점인 수행능력과 가용성을 오픈소스의 장점인 비용 효율적인 면과 결합했습니다.


Amazon RDS

RDS는 관리형 SQL 데이터베이스 서비스로, 프로비저닝, 설치, 패치, 백업을 쉽게 만들어줍니다. 이는 오로라, MYSQL, PostgreSQL, MariaDB, MicrosoftSQLServer, Oracle 데이터 베이스 엔진을 지원합니다.


Key Differences: Amazon Aurora vs Amazon RDS


Architecture Design

RDS 아키텍처는 EC2위에 데이터베이스 엔진을 설치하는 것과 비슷합니다. 하지만 AWS에서 프로비저닝과 유지보스 등을 관리합니다. RDS는 automatic failover, backup, 등등을 지원합니다. RDS는 스토리지 로그와 데이터베이스를 위해 Amazon EBS을 사용합니다. 신뢰성을 달성하기 위해 당신은 멀티 AZ를 필요로 합니다. 이때 RDS 인스턴스와 다른 가용영역에 있는 대기 인스턴시와 싱크업을 하게 됩니다.

오로라 데이터베이스 스토리지는 신뢰성과 내마모성을 위해서 설계되었습니다. 오로라 데이터베이스의 스터리지는 인스턴스로부터 분리되어있습니다. 오로라에서 데이터는 6개의 복제본(10GB의 청크로 분리되어있는)으로 3개의 가용영역에 존재합니다. 그러므로 만약 당신이 하나의 오로라 인스턴스를 가지고 있다고 하더라도 당신은 6개의 데이터 복제본을 가지게 됩니다.


Summary

오로라의 특별한 아키텍처는 RDS와 비교했을 때 당신에게 내구성, 확장성, 탄력성, 그리고 성능을 제공합니다. 비록 작은 비용증가가 존재하지만, 엔터프라이즈급의 어플리케이션에는 오로라를 추천합니다. 만약 당신의 워크로드에 읽기가 많거나 고가용성이 필요하다면 오로라는 완벽하게 맞는 선택지가 될 수 있습니다.


실습

실습은 알아서.. 오로라는 실습이 중요하다기보다 오로라의 내부 구조 원리를 이해하고 거기서 나오는 RDS와의 차이점을 이해하는 것이 중요한 것 같다.

0개의 댓글