가변적인 애플리케이션 수요를 충족하도록 MySQL 데이터베이스 자동 규모 조정

Amazon Aurora

Amazon Aurora는 기존 엔터프라이즈 데이터베이스의 성능과 가용성에 오픈 소스 데이터베이스의 간편성과 비용 효율성을 결합한 MySQL 및 PostgreSQL 호환 관계형 데이터베이스입니다. 이 자습서에서는 Amazon Aurora 데이터베이스를 생성하고, 애플리케이션의 가변적인 수요를 충족하기 위해 읽기 전용 복제본을 추가하거나 제거하여 자동으로 규모를 조정하도록 구성하는 방법에 대해 알아봅니다.

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

자습서 소개
시간 10-20분                                           
요금 1 USD 미만
사용 사례 데이터베이스
제품 Amazon Aurora, Amazon RDS
대상 데이터베이스 관리자, 개발자
레벨 중급자용
최종 업데이트 날짜 2019년 7월 2일

1단계: Aurora DB 클러스터 생성

1.1 - 브라우저를 열고 Amazon RDS 콘솔로 이동합니다. 이미 AWS 계정이 있으면 콘솔에 로그인합니다. 그렇지 않으면 새 AWS 계정을 만든 후 시작합니다.

계정이 있습니까? 계정에 로그인

1.2 - 오른쪽 상단 모서리에서 Aurora DB 클러스터를 시작할 리전을 선택합니다.

1.3 - Amazon Aurora 창에서 [데이터베이스 생성]을 클릭합니다.

계속하기 전에, 새 데이터베이스 생성 흐름으로 전환:

엔진 옵션

1.4 - [데이터베이스 엔진]에서 [Amazon Aurora]를 선택합니다.

1.5 - [에디션]에서 [MySQL 호환성이 추가된 Amazon Aurora]를 선택합니다.

1.6 - [버전]에서 원하는 Aurora 버전을 선택합니다.

1.7 - [데이터베이스 위치]에서 [리전]을 선택합니다.

데이터베이스 기능

1.8 - [단일 작성자 및 다중 리더]를 선택합니다.

템플릿

1.9 - [프로덕션]을 선택합니다.

설정

1.10 - Aurora DB 클러스터에 대한 식별자(예: "database-1")를 선택합니다.

DB 인스턴스 크기

1.11 - DB 인스턴스 크기에 대하여, 라지 인스턴스(.large로 끝남)를 선택합니다.

가용성 및 지속성

1.12 - [Aurora 복제본/리더 생성]을 선택합니다.

연결

1.13 - 데이터베이스를 생성할 VPC를 선택합니다.

생성한 이후에는 다른 VPC로 마이그레이션할 수 없음에 유의하십시오.

1.14 - [추가 연결 구성]을 클릭합니다.

1.15 - 서브넷 그룹에 대한 기본값을 선택합니다.

1.16 - [공개적으로 액세스할 수 있음]에서 [아니요]를 선택합니다.

즉, 동일 VPC 내의 EC2 인스턴스에서 데이터베이스에 연결해야 합니다.

1.17 - VPC 보안 그룹에서 [새로 만들기]를 선택합니다. 3306 포트에서 수신 TCP 연결을 허용하는 보안 그룹이 있는 경우에는 이 그룹을 대신 사용해도 됩니다. 이 보안 그룹은 Aurora 클러스터에 대한 진입을 제어합니다.

1.18 - 새 VPC 보안 그룹 이름에 “aurora-tutorial”을 입력합니다.

1.19 — 데이터베이스 포트에서 기본값을 그대로 유지합니다.

추가 구성

“추가 구성”은 기본값을 그대로 유지합니다.

모범 사례는 삭제 보호를 활성화하는 것입니다. 자습서 종료 시에 데이터베이스를 삭제하려면 옵션을 선택하지 않은 상태로 두어야 합니다.

1.20 - [삭제 보호]에서 [삭제 보호 사용]의 선택을 해제합니다.

검토 및 생성

양식의 모든 필드를 빠르게 검토한 후 계속 진행합니다.

1.21 — [데이터베이스 생성]을 클릭합니다.

인스턴스가 생성되는 동안 자격 증명을 얻을 방법을 설명하는 배너가 표시됩니다. 이때만 이 암호를 볼 수 있기 때문에 자격 증명을 저장할 좋은 기회입니다.

1.22 — [자격 증명 세부 정보 보기]를 클릭합니다.

1.23 - 사용자 이름, 암호, 클러스터 엔드포인트를 저장합니다.

1.24 - 자격 증명 세부 정보 팝업을 닫은 후 생성한 데이터베이스 이름을 클릭합니다.

1.25 - 라이터 및 리더 엔드포인트를 복사합니다. 읽기/쓰기 트래픽을 라이터 엔드포인트로 돌릴 수 있지만 읽기 전용 트래픽을 리더 엔드포인트로 돌리는 것이 좋습니다.

2단계: 크기 조정 정책 추가

Aurora Auto Scaling은 개발자가 정의한 크기 조정 정책에 따라 복제본을 생성 및 제거할 수 있습니다. 워크로드 또는 데이터베이스에 대한 연결 수가 갑자기 증가할 경우 Aurora Auto Scaling이 Aurora 복제본을 추가할 수 있습니다. 워크로드 또는 연결 수가 감소하면 Aurora Auto Scaling이 추가적인 용량이 소모되지 않도록 남는 Aurora 복제본을 제거합니다.

2.1 - Aurora DB 클러스터를 선택합니다.

2.2 - [작업]을 클릭하고 [복제본 Auto Scaling 추가]를 선택합니다.

정책 세부 정보

2.3 - 정책 이름을 선택합니다(예: “policy-1”).

2.4 - Auto Scaling에 사용할 지표를 선택합니다.

사용할 수 있는 대상 지표는 두 가지가 있습니다. [Aurora 복제본의 평균 CPU 사용률]과 [Aurora 복제본의 평균 연결]입니다. Aurora Auto Scaling은 규모 조정 정책을 트리거하는 CloudWatch 알람을 생성 및 관리하고, 지표와 대상 값에 기반하여 규모 조정을 계산합니다. 규모 조정 정책은 필요에 따라 Aurora 복제본을 추가하거나 제거하여 특정 대상 값에 가까운 지표를 유지합니다.

어떤 지표를 사용할지는 애플리케이션의 아키텍처와 워크로드에 따라 달라집니다. CPU 집약적 데이터베이스 쿼리를 실행해야 할 경우, CPU 사용률을 측정하는 것이 좋을 수 있습니다. 쿼리가 간단하지만 읽기와 쓰기를 확장해야 할 경우, 연결 수를 측정하는 것이 방법일 수 있습니다.

규모 조정 정책은 1개의 지표만 기반으로 삼을 수 있지만, 규모 조정 정책을 2개 이상 생성할 수 있습니다. 이 자습서에서는 [Aurora 복제본의 평균 연결]을 선택할 수 있습니다.

2.5 - [대상 값]에 20을 입력합니다.

즉, Aurora Auto Scaling은 연결 수가 대상 값인 20에 도달하면 Aurora 복제본을 추가하고 대상 값보다 내려가면 남는 복제본을 제거합니다. 어떤 경우에도 Aurora Auto Scaling은 생성된 Aurora 복제본만 제거할 뿐, 직접 생성한 Aurora 복제본을 제거하지 않습니다.

클러스터 용량 세부 정보

2.6 - 최소 용량은 1을 입력합니다.

2.7 - 최대 용량에 2를 입력합니다.

최소 및 최대 용량은 나중에 수정할 수 있습니다. 프로덕션 환경에서 어떤 값을 사용할지는 워크로드, 연결 수, 예산에 대한 추정값에 따라 달라집니다. Aurora Auto Scaling에서 생성한 Aurora 복제본은 기본 인스턴스에 사용한 것과 동일한 DB 인스턴스입니다.

검토 및 계속

2.8 - 필드를 검토하고 [정책 추가]를 클릭합니다.

3단계: 규모 조정 정책 수정

3.1 - Aurora DB 클러스터를 클릭합니다.

3.2 - [로그 및 이벤트]를 클릭합니다.

3.3 - Auto Scaling 정책을 선택합니다.

3.4 - [편집]을 클릭합니다.

클러스터 용량 세부 정보

3.5 - 최대 용량을 4로 변경합니다.

3.6 - [저장]을 클릭합니다.

4단계: 규모 조정 정책 삭제

4.1 - Aurora DB 클러스터를 클릭합니다.

4.2 - [로그 및 이벤트]를 클릭합니다. 

4.3 - Auto Scaling 정책을 선택합니다.

4.4 - [삭제]를 클릭합니다.

5단계: 클러스터 삭제

이 자습서의 마지막 단계로 더 이상 필요하지 않은 Aurora DB 클러스터를 삭제하는 방법에 대해 알아보겠습니다. Aurora DB 클러스터를 삭제하려면 RDS 대시보드로 이동한 후 다음 지침을 따릅니다. 

5.1 - 왼쪽 창에서 [데이터베이스]를 선택합니다.

그러면 Aurora DB 클러스터의 전체 목록이 표시됩니다.

5.2 - 이 자습서에서 생성한 Aurora DB 클러스터의 리더 인스턴스를 선택합니다.

5.3 - [작업]을 클릭하고 [삭제]를 선택합니다.

5.4 - 작업을 확인하라는 메시지가 표시됩니다. “delete me”를 입력하고 [삭제]를 클릭합니다.

5.5 - 이 자습서에서 생성한 Aurora DB 클러스터의 쓰기 인스턴스를 선택합니다.

5.6 - [작업]을 클릭하고 [삭제]를 선택합니다.

최종 백업 생성 여부를 묻는 메시지가 표시됩니다. 최종 스냅샷을 생성하는 것은 권장되지만, 이 자습서에서는 필요하지 않습니다.

5.7 - [최종 스냅샷 생성] 상자의 선택을 해제하고 [확인] 상자를 선택합니다.

5.8 - “delete me”를 입력하고 [삭제]를 클릭합니다.

클러스터 상태가 [삭제 중]으로 변경됩니다. 이 시점에서 생성한 보안 그룹이 더 이상 필요 없다고 생각할 경우 삭제할 수도 있습니다.

축하합니다!

Auto Scaling 기능이 활성화된 Aurora DB 클러스터를 생성하셨습니다. 애플리케이션의 요구 사항에 따라 읽기 복제본을 추가하거나 제거하면서 Aurora DB 클러스터의 용량을 자동으로 조정하는 방법을 배워보았습니다.

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

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