고가용성 데이터베이스 클러스터 생성

Amazon Aurora 사용

이 자습서에서는 고가용성 데이터베이스를 생성하기 위한 Amazon Aurora 클러스터 구성 방법을 알아봅니다. 고가용성 데이터베이스는 향상된 읽기 확장성과 장애 조치 보호를 위해 여러 가용 영역에 복제된 컴퓨팅 노드로 구성됩니다. 

Amazon Aurora는 MySQL 및 Postgre 호환 버전을 사용하는 관계형 데이터베이스 서비스로, 엔터프라이즈 데이터베이스의 성능과 가용성을 저렴한 비용으로 제공합니다. 대부분의 프로덕션 워크로드를 위해 고가용성을 갖춘 데이터베이스를 설정할 수 있습니다.

기본적으로 Amazon Aurora 클러스터에는 읽기/쓰기 작업을 수행하는 기본 컴퓨팅 인스턴스가 하나만 있습니다. 하나 이상의 Aurora 복제본을 클러스터에 추가하면 데이터베이스 클러스터의 읽기 확장성과 가용성을 높일 수 있습니다. 클러스터의 기본 인스턴스가 실패하면 Aurora는 자동으로 기존 복제본을 새 기본 인스턴스로 승격시킵니다.

일반적으로는 기본 인스턴스가 아닌 다른 가용 영역(AZ)에 Aurora 복제본을 생성합니다. 이렇게 하면 기본 AZ에서 인프라 문제가 발생할 경우 데이터베이스가 다른 AZ의 복제본으로 신속하게 장애 조치될 수 있습니다.

스토리지 계층에서 Aurora는 항상 3개의 AZ에 6가지 방법으로 데이터를 복제하여 데이터를 보호합니다. 그러나 클러스터에 Aurora 복제본을 추가하지 않았다면 장애 감지 시 Aurora가 새로운 대체 기본 인스턴스를 생성할 때까지 기다려야 하므로 시간이 더 오래 걸릴 수 있습니다.

이 자습서에서는 MySQL 호환성이 제공되는 Amazon Aurora를 사용합니다. Amazon RDS 관리 콘솔을 통해 Aurora 클러스터를 생성하고, Aurora 복제본을 추가하고, 장애 조치 시나리오를 테스트한 다음, 자습서 환경을 종료합니다.

이 자습서는 프리 티어로 제공되지 않으며, 비용은 자습서의 단계를 따르고 자습서 종료 시 리소스를 종료하는 경우 1 USD 미만입니다.

자습서 소개
시간 10분                                           
비용 1 USD 미만
사용 사례 데이터베이스
제품 Amazon Aurora, Amazon RDS
고객 데이터베이스 관리자, 개발자
레벨 중급자용
최종 업데이트 날짜 2019년 4월 12일

1. AWS에 가입

이 자습서를 따르려면 AWS 계정이 필요합니다. [AWS에 가입]을 선택하여 계정에 가입하십시오. 

이미 계정이 있습니까? 계정에 로그인하십시오.

2단계 - Amazon RDS 콘솔 액세스

Amazon Aurora는 클라우드용으로 구축된 MySQL 및 PostgreSQL 호환 관계형 데이터베이스로, Amazon Relational Database Service(Amazon RDS)의 엔진 역할을 합니다. 이 단계에서는 Amazon RDS 콘솔에 액세스합니다.

AWS Management Console을 엽니다. 이 단계별 안내서는 계속 열어 놓을 수 있습니다. 이 화면이 로드되면 먼저 사용자 이름 및 암호를 입력하여 시작합니다. [서비스] > [RDS]를 선택하여 RDS 관리 콘솔에 액세스합니다.

3단계 - Amazon Aurora 클러스터 생성

이 단계에서는 Aurora 데이터베이스 인스턴스 하나로 구성된 Amazon Aurora 클러스터를 생성합니다.

a. Amazon RDS 콘솔의 오른쪽 상단에서 DB 인스턴스를 생성할 리전을 선택하고 [데이터베이스 생성]을 선택합니다.

b. [엔진 선택] 페이지에서 [Amazon Aurora]를 선택합니다. 그런 다음 원하는 버전을 선택하고 [다음]을 클릭합니다.

c.  이제 DB를 구성합니다. [용량 유형] 및 [DB 엔진 버전]은 기본 설정으로 둡니다. [DB 인스턴스 클래스]에서는 DB 인스턴스의 컴퓨팅 및 메모리 용량을 선택합니다. Amazon Aurora는 인스턴스 유형별로 시간당 요금이 청구됩니다. 이 자습서에서는 비용을 줄이기 위해 db.t2.small(1vCPU, 2GiB RAM)을 선택합니다.

[다중 AZ 배포]에서 아니요를 선택합니다. Amazon Aurora는 다중 AZ 배포를 기본 옵션으로 제공하지만 이 자습서에서는 선택한 가용 영역에서 복제본을 생성하는 과정을 안내합니다. 

d.  DB 인스턴스 식별자의 이름, 마스터 사용자 이름 및 암호를 입력하고 [다음]을 선택합니다.

e.  Amazon RDS에는 여러 가지 고급 구성 옵션이 있습니다. 하지만 이 자습서에서는 기본 구성을 그대로 두고 [데이터베이스 생성]을 선택합니다.

DB 인스턴스 클래스에 따라 DB 인스턴스를 사용할 수 있을 때까지 몇 분 정도 걸릴 수 있습니다. [DB 인스턴스 세부 정보 보기]를 선택합니다. 

f. RDS 콘솔의 [데이터베이스] 목록에 새 Aurora DB 인스턴스가 나타납니다. DB 인스턴스를 사용할 준비가 되고 상태가 사용 가능으로 바뀌기 전까지 DB 인스턴스의 상태는 생성 중으로 표시됩니다. 몇 분 내에 상태가 바뀌지 않으면 페이지를 새로 고치십시오.

4단계 - 고가용성을 위한 Aurora 복제본 생성

모든 Amazon Aurora 인스턴스에는 기본적으로 강력한 데이터 보호 기능이 제공됩니다. AWS 리전 내의 다른 가용 영역(AZ)에 읽기 전용 복제본을 추가하면 컴퓨팅 가용성을 높일 수 있습니다. 리전 내에서 DB 클러스터가 있는 AZ에 최대 15개의 Aurora 복제본을 분산시킬 수 있습니다. 

a.  Amazon RDS 콘솔의 [데이터베이스]에는 Aurora 클러스터의 기본(라이터) 인스턴스가 나열됩니다. 인스턴스 이름을 선택하고 [네트워킹] 아래의 가용 영역을 적어 둡니다.

b. 클러스터의 라디오 버튼을 선택하고 [작업] > [리더 추가]를 선택하여 Aurora 복제본을 생성합니다.

c. 기본 또는 마스터 DB 인스턴스에서 다른 가용 영역을 선택합니다. [인스턴스 사양]에서는 기본 인스턴스와 유사한 인스턴스 클래스(이 예의 경우 db.t2.small)을 선택하므로 장애 조치 시 데이터베이스 성능에 변화가 없습니다. [설정]에는 Aurora 읽기 전용 복제본 DB 인스턴스의 고유 이름을 입력합니다.

[리더 추가]를 선택합니다.

d. 데이터베이스 목록에서 리더 역할로 새 복제본이 생성되고 있음을 알 수 있습니다. [다중 AZ] 속성이 표시될 때까지 오른쪽으로 스크롤하면 2개 영역이 표시되어 클러스터가 2개의 가용 영역(컴퓨팅 계층)에 분산되어 있음을 나타냅니다. 

컴퓨팅 계층에서 고가용성을 달성했습니다. 다음으로는 DB 장애 조치 프로세스를 테스트합니다.

5단계 - 장애 조치용 데이터베이스 클러스터 설정

뛰어난 고가용성을 위해 Aurora 복제본을 장애 조치 대상으로 사용할 수 있습니다. 기본 인스턴스에서 장애가 발생하면 Aurora 복제본이 기본 인스턴스로 승격됩니다. 복제본은 읽기 확장성과 가용성 모두를 위해 사용됩니다. 이 단계에서는 장애 조치용으로 사용할 Aurora 복제본의 우선 순위를 설정합니다.

 

a.  리더 DB 인스턴스 옆의 라디오 버튼을 선택하고 [수정]을 선택합니다.

b.  장애 조치 시 Amazon RDS는 우선 순위가 가장 높은 복제본(티어 0으로 시작)을 새로운 기본 인스턴스로 승격시킵니다. 이 예에서는 기존 복제본이 없으므로 현재 복제본을 가장 높은 우선 순위로 설정합니다. [장애 조치]에서 [Tier-0]을 선택합니다.

동일 우선 순위 티어에 있는 2개 이상의 복제본 간에 경합이 발생할 경우 Amazon RDS는 기본 인스턴스와 같은 크기의 복제본을 승격시킵니다.

[계속]을 선택하고 [DB 인스턴스 수정]을 선택합니다.

6단계 - 데이터베이스 장애 조치 테스트

a.  대상 인스턴스의 라디오 버튼을 선택합니다. 그런 다음 [작업] > [장애 조치]를 선택합니다. 그러면 복제본이 새로운 기본(라이터) 인스턴스로 승격되고 이전의 기본(라이터) 인스턴스는 새로운 읽기 전용 복제본이 됩니다.

 

b. [장애 조치]를 선택합니다.

c. 장애 조치가 완료되는 데 걸리는 시간은 장애 조치 시 데이터베이스의 활동량에 따라 다르지만 일반적으로 60초 미만입니다. [로그 및 이벤트] > [최근 이벤트]에서 장애 조치 프로세스를 모니터링할 수 있습니다.

장애 조치는 엔드포인트를 사용하여 애플리케이션에 투명하게 진행됩니다. 클러스터와 리더 엔드포인트가 데이터베이스의 DNS로 사용되지만 인스턴스 연결은 동일하게 유지되며 새 DB 인스턴스가 자동으로 사용됩니다. 

7. 리소스 종료

이 단계에서는 Aurora DB 클러스터 환경을 종료합니다.

중요: 현재 사용되지 않는 리소스를 종료하면 비용이 절감되므로 권장됩니다. 리소스를 종료하지 않으면 요금이 부과됩니다.

a. 종료할 Amazon Aurora 클러스터 이름을 선택하고 클러스터 이름을 클릭하여 모든 클러스터 인스턴스의 목록을 표시합니다. 리더 역할 DB 인스턴스의 라디오 버튼을 선택하고 [작업] > [삭제]를 선택합니다.

 

b. delete me 문구를 입력하고 [Delete]를 선택하여 삭제를 확인합니다. 상태가 삭제 중으로 바뀝니다.


c. 라이터 DB 인스턴스에 대해 6a~b단계를 반복합니다. 삭제 전에 최종 스냅샷을 생성할 것을 권장하는 메시지가 표시됩니다. 이 클러스터는 테스트용 DB 클러스터이므로 [최종 스냅샷 생성] 옵션을 선택 취소하고 승인 옵션을 선택합니다. delete me를 입력하고 [삭제]를 선택합니다. 이 단계에서는 스토리지와 모든 자동 DB 백업을 포함하여 Aurora 클러스터를 삭제합니다.

축하합니다!

AWS Management Console을 사용하여 고가용성을 갖춘 Amazon Aurora 데이터베이스 클러스터를 설정하는 방법을 알아보았습니다. 이제 중요한 애플리케이션에 Amazon Aurora의 고가용성, 성능 및 내구성을 활용할 수 있습니다.

이 자습서가 유용했습니까?

감사합니다.
좋아하는 사항을 알려주십시오.
실망을 드려 죄송합니다.
오래되었거나 혼란스럽거나 부정확한 사항이 있습니까? 피드백을 제공하여 이 자습서를 개선할 수 있도록 도와주십시오.