본문 바로가기
ETC DB

Amazon Aurora 정의

by 타마마임팩트_쫀 2021. 7. 21.

1. Aurora 란?

Amazon Aurora(Aurora)는 MySQL 및 PostgreSQL과 호환되는 완전 관리형 관계형 데이터베이스 엔진입니다. 기존 MySQL 및 PostgreSQL 데이터베이스에 사용되는 코드, 도구 및 애플리케이션 모두 Aurora에서도 사용할 수 있습니다. 일부 워크로드의 경우 Aurora은 기존 애플리케이션을 거의 변경하지 않고도 MySQL의 처리량을 최대 5배, PostgreSQL의 처리량을 최대 3배 제공할 수 있습니다.

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

Aurora은 관리형 데이터베이스 서비스 Amazon Relational Database Service(Amazon RDS)의 일부입니다. Amazon RDS는 클라우드에서 관계형 데이터베이스를 보다 쉽게 설정, 작동 및 확장할 수 있게 해주는 웹 서비스입니다.

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

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

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

 

2. 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 복제본을 별도의 가용 영역에 배포하여 고가용성을 유지할 수 있습니다. 기본 DB 인스턴스를 사용할 수 없는 상태가 되면 Aurora은 Aurora 복제본으로 자동 장애 조치합니다. Aurora 복제본에 대해 장애 조치 우선 순위를 지정할 수 있습니다. 또한 Aurora 복제본은 기본 DB 인스턴스에서 읽기 워크로드를 오프로드할 수 있습니다.

Aurora 멀티 마스터 클러스터의 경우 모든 DB 인스턴스에 읽기/쓰기 기능이 있습니다. 

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

Aurora 클러스터를 보면 컴퓨팅 용량과 스토리지가 분리되어 있습니다. 예를 들어 DB 인스턴스가 1개뿐인 Aurora 구성은 계속해서 클러스터입니다. 기본 스토리지 볼륨에는 여러 가용 영역(AZ)으로 분산된 다수의 스토리지 노드가 포함되어 있기 때문입니다.

 

3. 리전 및 가용 영역

Amazon 클라우드 컴퓨팅 리소스는 세계 각지의 여러 곳에서 호스팅됩니다. 이 위치들은 AWS 리전과 가용 영역으로 구성됩니다. 각 AWS 리전은 개별 지리 영역입니다. 각 AWS 리전은 가용 영역이라고 알려진 격리된 위치를 여러 개 가지고 있습니다.

Amazon은 최신 기술을 탑재한 고가용성 데이터 센터를 운영하고 있습니다. 드물기는 하지만 동일한 위치에 있는 인스턴스의 가용성에 영향을 미치는 장애가 발생할 수도 있습니다. 그러한 장애의 영향을 받는 단일한 위치에서 모든 인스턴스를 호스팅하는 경우에는 모든 인스턴스가 사용이 불가능해질 수 있습니다.

각 AWS 리전이 서로 완전히 독립적이라는 점에 유의하십시오. 사용자의 모든 Amazon RDS 활동(데이터베이스 인스턴스 또는 사용할 수 있는 데이터베이스 인스턴스 목록 생성 등)은 현재 기본 AWS 리전에서만 실행됩니다. 기본 AWS 리전은 EC2_REGION 환경 변수를 설정하여 콘솔에서 변경하거나 AWS Command Line Interface(AWS CLI)에서 --region 파라미터를 사용해 재정의할 수 있습니다.

Amazon RDS는 미국 정부 기관 및 고객이 더욱 민감한 워크로드를 클라우드로 이전할 수 있도록 설계된 AWS GovCloud (US-West)라는 특별한 AWS 리전을 지원합니다. AWS GovCloud (US-West)은 미국의 특정 규제 및 규정 준수 요건을 처리합니다.

특정 AWS 리전에서 Amazon RDS DB 인스턴스를 생성하거나 사용하려면 해당 리전 서비스 엔드포인트를 사용하십시오.
Aurora는 로컬 영역을 지원하지 않습니다.

 

3.1. AWS 리전

각 AWS 리전은 다른 AWS 리전에서 완전히 격리되도록 설계되었습니다. 이를 통해 가장 강력한 내결함성 및 안정성을 달성할 수 있습니다.

리소스를 볼 때 지정한 AWS 리전에 연결된 리소스만 표시됩니다. AWS 리전이 서로 격리되어 있고 여러 AWS 리전에 리소스가 자동으로 복제되지 않기 때문입니다.

 

3.2. 가용 영역

DB 인스턴스를 생성할 때 가용 영역을 선택하거나 AWS에서 자동으로 가용 영역을 선택하도록 설정할 수 있습니다. 가용 영역은 AWS 리전 코드와 식별 문자의 조합으로 표시됩니다(예: us-east-1a).

 

3.3. 리전 가용성

명령줄 인터페이스 또는 API 작업을 사용하여 Aurora DB 클러스터로 작업하는 경우 리전 엔드포인트를 지정해야 합니다.

다음 표에는 Aurora MySQL을 현재 이용할 수 있는 AWS 리전 및 각 리전의 엔드포인트가 나와 있습니다.

리전 이름리전EndpointProtocol

미국 동부(오하이오) us-east-2 rds.us-east-2.amazonaws.com HTTPS
미국 동부(버지니아 북부) us-east-1 rds.us-east-1.amazonaws.com HTTPS
미국 서부(캘리포니아 북부) us-west-1 rds.us-west-1.amazonaws.com HTTPS
미국 서부(오레곤) us-west-2 rds.us-west-2.amazonaws.com HTTPS
아프리카(케이프타운) af-south-1 rds.af-south-1.amazonaws.com HTTPS
아시아 태평양(홍콩) ap-east-1 rds.ap-east-1.amazonaws.com HTTPS
아시아 태평양(뭄바이) ap-south-1 rds.ap-south-1.amazonaws.com HTTPS
아시아 태평양(서울) ap-northeast-2 rds.ap-northeast-2.amazonaws.com HTTPS
아시아 태평양(싱가포르) ap-southeast-1 rds.ap-southeast-1.amazonaws.com HTTPS
아시아 태평양(시드니) ap-southeast-2 rds.ap-southeast-2.amazonaws.com HTTPS
아시아 태평양(도쿄) ap-northeast-1 rds.ap-northeast-1.amazonaws.com HTTPS
캐나다(중부) ca-central-1 rds.ca-central-1.amazonaws.com HTTPS
중국(베이징) cn-north-1 rds.cn-north-1.amazonaws.com.cn HTTPS
중국(닝샤) cn-northwest-1 rds.cn-northwest-1.amazonaws.com.cn HTTPS
유럽(프랑크푸르트) eu-central-1 rds.eu-central-1.amazonaws.com HTTPS
유럽(아일랜드) eu-west-1 rds.eu-west-1.amazonaws.com HTTPS
유럽(런던) eu-west-2 rds.eu-west-2.amazonaws.com HTTPS
유럽(밀라노) eu-south-1 rds.eu-south-1.amazonaws.com HTTPS
유럽(파리) eu-west-3 rds.eu-west-3.amazonaws.com HTTPS
유럽(스톡홀름) eu-north-1 rds.eu-north-1.amazonaws.com HTTPS
중동(바레인) me-south-1 rds.me-south-1.amazonaws.com HTTPS
남아메리카(상파울루) sa-east-1 rds.sa-east-1.amazonaws.com HTTPS
AWS GovCloud (미국 동부) us-gov-east-1 rds.us-gov-east-1.amazonaws.com HTTPS
AWS GovCloud (US) us-gov-west-1 rds.us-gov-west-1.amazonaws.com HTTPS

 

3.4. Amazon Aurora DB 클러스터의 현지 시간대

기본적으로 Amazon Aurora DB 클러스터의 시간대는 협정 세계시(UTC)입니다. 대신 DB 클러스터의 인스턴스 시간대를 애플리케이션의 현지 시간대로 설정할 수 있습니다.

DB 클러스터의 현지 시간대를 설정하려면 DB 클러스터의 클러스터 파라미터 그룹에서 time_zone 파라미터를 지원되는 값 중 하나로 설정합니다. DB 클러스터에 대한 time_zone 파라미터를 설정하면 DB 클러스터의 모든 인스턴스가 새로운 현지 시간대를 사용하도록 변경됩니다. 다른 DB 클러스터가 동일한 클러스터 파라미터 그룹을 사용하면 해당 DB 클러스터의 모든 인스턴스도 새로운 현지 시간대를 사용하도록 변경됩니다.

현지 시간대를 설정하면 데이터베이스에 대한 모든 새 연결에 변경 사항이 반영됩니다. 현지 시간대를 변경할 때 데이터베이스에 대해 열린 연결이 있는 경우 연결을 닫고 새 연결을 열어야 현지 시간대 업데이트가 표시됩니다.

AWS 리전 간 복제를 사용 중인 경우 복제 마스터 DB 클러스터와 복제본이 서로 다른 파라미터 그룹을 사용합니다. 파라미터 그룹은 AWS 리전에 고유합니다. 각 인스턴스에 대해 동일한 현지 시간대를 사용하려면 복제본 마스터와 복제본 모두의 파라미터 그룹에서 time_zone 파라미터를 설정해야 합니다.

DB 클러스터 스냅샷에서 DB 클러스터를 복원할 경우 현지 시간대가 UTC로 설정됩니다. 복원이 완료된 후 시간대를 현지 시간대로 업데이트할 수 있습니다. DB 클러스터를 특정 시점으로 복원할 경우 복원된 DB 클러스터의 현지 시간대는 복원된 DB 클러스터의 파라미터 그룹에서 설정한 시간대입니다.

 

'ETC DB' 카테고리의 다른 글

prometheus 개요  (0) 2021.07.21
Amazon Aurora DB와 mysql 차이점  (0) 2021.07.21
Amazon Aurora 특징  (0) 2021.07.21
Amazon Aurora 스토리지  (0) 2021.07.21
Amazon Aurora 정리 (요약)  (0) 2021.07.21