Amazon Aurora MySQL DB 인스턴스의 읽기 전용 복제본을 생성하려면 어떻게 해야 합니까?

5분 분량
0

Amazon Aurora MySQL 클러스터가 있습니다. 리전 내 또는 교차 리전 읽기 전용 복제본을 만들거나 Aurora DB 클러스터에 리전을 추가하고 싶습니다. 어떻게 해야 합니까?

간략한 설명

Aurora 복제본은 Aurora MySQL DB 클러스터의 컴퓨팅 파워를 늘립니다. 이들은 리전 내 읽기 워크로드(읽기 조정)를 분산하는 데 도움이 되며 장애 조치 대상 역할도 합니다. 즉, 기본 DB 인스턴스에 장애가 발생하면 Aurora 복제본이 기본 인스턴스로 승격됩니다.

교차 리전 읽기 전용 복제본은 MySQL 바이너리 로깅을 사용하여 데이터를 다른 리전의 클러스터로 복제합니다. 이를 통해 읽기 작업을 사용자와 더 가까운 보조 리전으로 확장할 수 있습니다. 이는 재해 복구 기능을 개선하는 데 도움이 됩니다. 또한 한 AWS 리전에서 다른 리전으로 쉽게 마이그레이션할 수 있습니다.

Amazon Aurora Global Databases는 여러 AWS 지역에 걸쳐 있을 수 있습니다. 지연 시간이 짧은 글로벌 읽기가 가능하며 전체 AWS 리전에 영향을 미칠 수 있는 드문 운영 중단으로부터 복구할 수 있습니다. Aurora는 자체 복제 프로토콜과 전용 인프라를 사용하여 보조 AWS 리전에 데이터를 복제하므로 지연 시간이 보통 1초 미만입니다.

다음 단계를 사용하여 리전 내 또는 교차 리전 읽기 전용 복제본을 만들거나 Aurora MySQL DB 클러스터에 새 리전을 추가할 수 있습니다.

Aurora에서 관리하는 바이너리 로깅 외에도 자체 바이너리 로깅 복제 환경을 설정하고 관리할 수 있습니다. 이 환경에서는 Aurora가 소스 또는 타겟이 될 수 있습니다.

참고: 이러한 단계는 Aurora Serverless 또는 Aurora 멀티 마스터 클러스터에는 적용되지 않습니다.

해결 방법

참고: AWS Command Line Interface(AWS CLI) 명령을 실행할 때 오류가 발생할 경우 최신 AWS CLI 버전을 사용하고 있는지 확인하세요.

Aurora MySQL 클러스터용 리전 내 읽기 전용 복제본 생성

Amazon RDS 콘솔 사용

1.    Amazon RDS 콘솔을 열고 탐색 창에서 [데이터베이스(Databases)]를 선택합니다.

2.    새 DB 인스턴스를 추가할 DB 클러스터를 선택합니다.

3.    [작업(Actions)] 섹션에서 [리더 추가(Add reader)]를 선택합니다.

4.    [리더 추가(Add reader)] 페이지에서 Aurora 복제본에 대한 옵션을 사용자 지정합니다.

5.    [리더 추가(Add reader)]를 선택하여 복제본을 생성합니다.

AWS CLI 사용

AWS CLI를 사용하여 DB 클러스터에 Aurora 복제본을 생성하려면 create-db-instance 명령을 실행합니다. —db-cluster-identifier 옵션을 사용하여 DB 클러스터의 이름을 포함합니다. 가용 영역 파라미터를 사용하여 Aurora 복제본에 대한 가용 영역 (AZ)을 지정할 수도 있습니다.

이 예제 명령은 Aurora MySQL용 읽기 전용 복제본을 생성합니다(동일한 리전 및 Aurora MySQL 5.7 및 Aurora MySQL 8.0 호환 가능).

Linux, macOS 또는 Unix:

aws rds create-db-instance --db-instance-identifier sample-instance-us-west-2a \
    --db-cluster-identifier sample-cluster --engine aurora-mysql --db-instance-class db.r6g.large \
    --availability-zone us-west-2a

Windows:

aws rds create-db-instance --db-instance-identifier sample-instance-us-west-2a ^
    --db-cluster-identifier sample-cluster --engine aurora-mysql --db-instance-class db.r6g.large ^
    --availability-zone us-west-2a

참고: Aurora MySQL 5.6 호환 클러스터에 대한 읽기 전용 복제본을 생성하려면 이 명령에서 —engine 파라미터—engine aurora로 수정하세요.

Aurora MySQL 클러스터용 교차 리전 읽기 전용 복제본 생성

교차 리전 읽기 전용 복제본을 생성하려면 먼저 소스 Aurora MySQL DB 클러스터에서 바이너리 로깅을 활성화해야 합니다. 교차 리전 복제는 MySQL 바이너리 복제를 사용하여 교차 리전 읽기 전용 복제본 클러스터에서 변경 사항을 재생합니다. 그런 다음 Amazon RDS 콘솔 또는 AWS CLI를 사용하여 교차 리전 클러스터를 생성합니다. 

참고: 암호화되지 않은 Aurora DB 클러스터에는 암호화된 Aurora 복제본을 생성할 수 없습니다. 암호화된 Aurora DB 클러스터에 대해 암호화되지 않은 Aurora 복제본을 생성할 수 없습니다.

DB 클러스터의 바이너리 로깅 활성화

1.    소스 DB 클러스터의 binlog_format 파라미터를 업데이트합니다. 기본 클러스터 파라미터 그룹에 있는 클러스터 수준 파라미터입니다.

2.    DB 클러스터에서 기본 DB 클러스터 파라미터 그룹을 사용하는 경우 새 DB 클러스터 파라미터 그룹을 생성하여 binlog_format 설정을 수정합니다. binlog_formatMIXED로 설정하는 것이 가장 좋습니다. 특정 바이너리 로그 형식이 필요한 경우 ROW 또는 STATEMENTbinlog_format을 설정할 수도 있습니다.

3.    변경 사항을 적용하려면 Aurora DB 클러스터를 재부팅합니다.

Amazon RDS 콘솔을 사용하여 교차 리전 클러스터 생성

1.    Amazon RDS 콘솔을열고 소스 DB 클러스터를 호스팅하는 AWS 리전을 선택합니다.

2.    탐색 창에서 [인스턴스(Instances)]를 선택합니다.

3.    교차 리전 읽기 전용 복제본을 생성할 DB 인스턴스의 확인란을 선택합니다.

4.    [작업(Actions)]에서 [교차 리전 읽기 전용 복제본 생성(Create cross region read replica)]을 선택합니다.

5.    [교차 리전 읽기 전용 복제본 생성(Create cross region read replica)] 페이지에서 교차 리전 읽기 전용 복제본 DB 클러스터에 대한 옵션 설정을 선택합니다.

AWS CLI를 사용하여 교차 리전 클러스터 생성

AWS CLI를 사용하여 교차 리전 클러스터를 생성하려면 먼저 create-db-cluster 호출을 사용하여 대상 리전에 클러스터 자체를 생성합니다. 그런 다음 create-db-instance 호출을 사용하여 리더 인스턴스를 생성합니다.

이 예제는 Linux, macOS 또는 Unix를 사용하여 교차 리전 복제본을 생성하고 Aurora MySQL 5.7 및 Aurora MySQL 8.0과 호환됩니다.

1.    다음과 유사한 명령을 실행하여 클러스터를 삭제합니다.

aws rds create-db-cluster \
  --db-cluster-identifier sample-replica-cluster \
  --engine aurora-mysql \
  --replication-source-identifier arn:aws:rds:us-west-2:123456789012:cluster:sample-source-cluster

2.    클러스터를 사용할 수 있는지 확인합니다.

aws rds describe-db-clusters --db-cluster-identifier sample-replica-cluster

3.    클러스터에서 인스턴스를 생성하려면:

aws rds create-db-instance \
  --db-cluster-identifier sample-replica-cluster \
  --db-instance-class db.r6g.large \
  --db-instance-identifier sample-replica-instance \
  --engine aurora-mysql

Windows에서 CLI를 사용하여 동일하게 만들려면 동일한 단계를 사용하되 ^ 기호를 ** 대신 줄 구분 기호로 사용하세요.

Aurora 프로비저닝 클러스터에 AWS 리전을 추가하여 Aurora Global Database를 생성합니다.

Amazon RDS 콘솔 사용

  1. Amazon RDS 콘솔을 엽니다.

  2. 탐색 창에서 Databases를 선택합니다.

  3. 보조 Aurora DB 클러스터가 필요한 Aurora Global Database를 선택합니다. 기본 Aurora DB 클러스터의 상태가 사용 가능인지 확인합니다.

  4. 작업에서 **지역 추가(Add region)**를 선택합니다.

  5. 추가하려는 AWS 리전을 선택합니다. 

참고: 동일한 Aurora Global Database에 대한 보조 Aurora DB 클러스터가 이미 있는 AWS 리전은 선택할 수 없습니다. 또한 기본 Aurora DB 클러스터의 리전과 동일한 AWS 리전을 선택할 수 없습니다. 

  1. 새 AWS 리전의 보조 Aurora 클러스터에 대한 나머지 필드를 작성합니다. 그런 다음 **리전 추가(Add region)**를 선택합니다. 

AWS CLI 사용

AWS CLI에서 다음 스크립트를 실행합니다.

참고: Windows를 사용하는 경우 \ 줄 구분 기호를 ^ 기호로 바꾸세요.

aws rds --region us-east-2 \
  create-db-cluster \
    --db-cluster-identifier secondary_cluster_id \
    --global-cluster-identifier global_database_id \
    --engine aurora-mysql \
    --engine-version version

aws rds --region us-east-2 \
  create-db-instance \
    --db-instance-class db.r6g.large \
    --db-cluster-identifier secondary_cluster_id \
    --db-instance-identifier db_instance_id \
    --engine aurora-mysql

관련 정보

DB 클러스터에 Aurora 복제본 추가

AWS 리전에 걸쳐 Amazon Aurora MySQL DB 클러스터 복제

AWS 공식
AWS 공식업데이트됨 2년 전