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

최종 업데이트 날짜: 2020년 12월 9일

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

간략한 설명

Amazon Aurora 복제본을 장애 조치 대상으로 사용할 수 있습니다. 즉, 기본 DB 인스턴스에 장애가 발생하면 Aurora 복제본이 기본 인스턴스로 승격됩니다. 교차 리전 읽기 전용 복제본을 생성하면 Amazon RDS 리전에 오류가 발생할 경우 가용성이 향상됩니다.

Aurora 복제본은 클러스터 볼륨에서의 읽기 작업 전용으로 사용되기 때문에 읽기 확장에도 효과적입니다. 기본 인스턴스는 쓰기 작업을 관리합니다. 클러스터의 모든 DB 인스턴스가 클러스터 볼륨을 공유하므로 각 Aurora 복제본에 대한 데이터를 복사하려면 최소한의 작업이 필요합니다.

참고: Aurora 복제본은 바이너리 로그 복제(RDS MySQL 읽기 전용 복제본에서 사용)를 사용하지 않습니다. 이 때문에 기본 인스턴스가 업데이트를 작성한 후 지연 시간은 일반적으로 100밀리초 미만입니다. 복제 지연은 MySQL 기반 복제에 비해 일반적으로 낮고 예측 가능하기 때문에 Amazon Aurora를 사용하면 이점이 있습니다. 리전에 걸쳐 다양한 읽기 트래픽이 있는 경우 교차 리전 복제 기능이 유용합니다.

이 문서의 단계에 따라 Aurora MySQL DB 클러스터용 리전 내 또는 교차 리전 읽기 전용 복제본을 생성할 수 있습니다.

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

해결 방법

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

Amazon RDS 콘솔을 사용하여 Aurora MySQL 클러스터용 리전 내 읽기 전용 복제본 생성

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

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

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

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

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

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

AWS CLI를 사용하여 Aurora MySQL 클러스터용 리전 내 읽기 전용 복제본 생성

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

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

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.r4.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.r4.large ^
    --availability-zone us-west-2a

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

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

소스 DB 클러스터와 다른 AWS 리전에서 읽기 전용 복제본을 생성하면 몇 가지 장점이 있습니다. 이렇게 하면 재해 복구 기능이 향상되고 읽기 작업을 사용자와 가까운 리전으로 확장할 수 있습니다. 또한 한 AWS 리전에서 다른 리전으로 쉽게 마이그레이션할 수 있습니다.

참고: 교차 리전 읽기 전용 복제본을 생성하려면 먼저 소스 Aurora MySQL DB 클러스터에서 바이너리 로깅을 활성화하세요. 교차 리전 복제는 MySQL 바이너리 복제를 사용하여 교차 리전 읽기 전용 복제본 클러스터에서 변경 사항을 재생합니다.

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

1.    DB 클러스터에서 바이너리 로깅을 활성화하려면

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

3.    DB 클러스터에서 기본 DB 클러스터 파라미터 그룹을 사용하는 경우 새 DB 클러스터 파라미터 그룹을 생성하여 binlog_format 설정을 수정합니다.

4.    binlog_formatMIXED로 설정하는 것이 가장 좋습니다. 특정 바이너리 로그 형식이 필요한 경우 ROW 또는 STATEMENTbinlog_format을 설정할 수도 있습니다.

5.    변경 사항을 적용하려면 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를 사용하여 교차 리전 클러스터를 생성하는 과정은 2단계 과정으로 이루어집니다. 먼저 Create-db-cluster 호출을 사용하여 대상 리전에 클러스터 자체를 생성합니다. 그런 다음 create-db-instance 호출을 사용하여 리더 인스턴스를 생성합니다.

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

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

aws rds create-db-cluster \
  --db-cluster-identifier sample-replica-cluster \
  --engine aurora \
  --replication-source-identifier arn:aws:rds:us-west-2:123456789012:cluster:sample-master-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.r3.large \
  --db-instance-identifier sample-replica-instance \
  --engine aurora

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


이 문서가 도움이 되었나요?


결제 또는 기술 지원이 필요합니까?