

# 여러 AWS 리전에 걸쳐 Amazon Aurora MySQL DB 클러스터 복제
<a name="AuroraMySQL.Replication.CrossRegion"></a>

 Amazon Aurora MySQL DB 클러스터를 소스 DB 클러스터와 다른 AWS 리전에 읽기 전용 복제본으로 만들 수 있습니다. 이 방식을 택하면 재해 복구 기능을 개선하고, 읽기 작업을 사용자와 더욱 가까운 AWS 리전으로 확장하고, 한 AWS 리전에서 다른 리전으로 손쉽게 마이그레이션할 수 있습니다.

 암호화된 DB 클러스터와 암호화되지 않은 DB 클러스터의 읽기 전용 복제본을 모두 만들 수 있습니다. 원본 DB 클러스터가 암호화되어 있으면 읽기 전용 복제본을 암호화해야 합니다.

 원본 DB 클러스터당 최대 5개의 리전 간 DB 클러스터(읽기 전용 복제본)를 만들 수 있습니다.

**참고**  
 교차 리전 읽기 전용 복제본의 대안으로, Aurora 전역 데이터베이스를 사용하여 최소한의 지연 시간으로 읽기 작업을 크기 조정할 수 있습니다. Aurora 글로벌 데이터베이스는 하나의 AWS 리전에 프라이머리 Aurora DB 클러스터를 그리고 서로 다른 리전에 최대 10개의 읽기 전용 보조 DB 클러스터를 보유합니다. 각 보조 DB 클러스터에는 최대 16개의 (15보다 나음) Aurora 복제본이 포함될 수 있습니다. 프라이머리 DB 클러스터에서 모든 보조 클러스터로의 복제는 데이터베이스 엔진이 아닌 Aurora 스토리지 계층에서 처리되므로 변경 사항 복제를 위한 지연 시간이 최소화됩니다(일반적으로 1초 미만). 데이터베이스 엔진을 복제 프로세스에서 제외하면 데이터베이스 엔진이 작업 로드 처리 전용으로 사용됩니다. 또한 Aurora MySQL의 binlog(바이너리 로깅) 복제를 구성하거나 관리할 필요가 없습니다. 자세한 내용은 [Amazon Aurora Global Database 사용](aurora-global-database.md)를 참조하세요.

 다른 AWS 리전에 Aurora MySQL DB 클러스터의 읽기 전용 복제본을 만들 때는 다음에 주의해야 합니다.
+  원본 DB 클러스터와 리전 간 읽기 전용 복제본 DB 클러스터 모두 DB 클러스터의 기본 인스턴스 외에 최대 15개의 Aurora 복제본을 가질 수 있습니다. 이 기능을 통해, 소스 AWS 리전과 복제 대상 AWS 리전에 대해 읽기 작업을 확장할 수 있습니다.
+  교차 리전 시나리오에서는 AWS 리전 간 네트워크 채널이 더 길어지기 때문에 소스 DB 클러스터와 읽기 전용 복제본 간의 지연 시간이 증가합니다.
+  리전 간 복제를 위해 데이터를 전송할 때는 Amazon RDS 데이터 전송 요금이 발생합니다. 다음과 같은 교차 리전 복제 작업에서 요금이 발생하는 이유는 소스 AWS 리전을 벗어나 데이터를 전송하기 때문입니다.
  +  읽기 전용 복제본을 생성할 때는 Amazon RDS가 소스 클러스터의 스냅샷을 캡처하여 해당 스냅샷을 읽기 전용 복제본이 있는 AWS 리전으로 전송합니다.
  +  소스 데이터베이스에서 데이터를 변경할 때마다 Amazon RDS가 소스 리전에서 읽기 전용 복제본이 있는 AWS 리전으로 데이터를 전송합니다.

   Amazon RDS 데이터 전송 요금에 대한 자세한 정보는 [Amazon Aurora 요금](https://aws.amazon.com/rds/aurora/pricing/)을 참조하십시오.
+  동일한 원본 DB 클러스터를 참조하는 읽기 전용 복제본에 대해 동시 생성 또는 삭제 작업을 여러 개 실행할 수 있습니다. 하지만 각 원본 DB 클러스터에 대한 읽기 전용 복제본 개수를 5개 이하로 유지해야 합니다.
+  효과적인 복제를 위해서는 읽기 전용 복제본도 각각 원본 DB 클러스터와 동일한 양의 컴퓨팅 및 스토리지 리소스를 가져야 합니다. 원본 DB 클러스터를 확장하면 읽기 전용 복제본도 확장해야 합니다.

**Topics**
+ [시작하기 전 준비 사항](#AuroraMySQL.Replication.CrossRegion.Prerequisites)
+ [Aurora MySQL의 교차 리전 읽기 전용 복제본 DB 클러스터 생성](AuroraMySQL.Replication.CrossRegion.Creating.md)
+ [Aurora MySQL의 읽기 전용 복제본을 DB 클러스터로 승격](AuroraMySQL.Replication.CrossRegion.Promote.md)
+ [Amazon Aurora MySQL의 교차 리전 복제본 문제 해결](AuroraMySQL.Replication.CrossRegion.Troubleshooting.md)

## 시작하기 전 준비 사항
<a name="AuroraMySQL.Replication.CrossRegion.Prerequisites"></a>

 리전 간 읽기 전용 복제본인 Aurora MySQL DB 클러스터를 만들기 전에 먼저 원본 Aurora MySQL DB 클러스터에 대한 이진 로깅을 설정해야 합니다. Aurora MySQL의 리전 간 복제는 리전 간 읽기 전용 복제본 DB 클러스터에서 MySQL 이진 복제를 사용하여 변경 사항을 반복합니다.

 Aurora MySQL DB 클러스터에 대한 이진 로깅을 설정하려면 원본 DB 클러스터의 `binlog_format` 파라미터를 업데이트해야 합니다. `binlog_format` 파라미터는 기본 클러스터 파라미터 그룹에 속하는 클러스터 수준 파라미터입니다. DB 클러스터에서 기본 DB 클러스터 파라미터 그룹을 사용하는 경우, `binlog_format` 설정을 수정하려면 새로운 DB 클러스터 파라미터 그룹을 만들어야 합니다. `binlog_format`을 `MIXED`로 설정하는 것이 좋습니다. 그러나 특정한 binlog 형식이 필요하다면 `binlog_format`을 `ROW` 또는 `STATEMENT`로 설정할 수도 있습니다. Aurora DB 클러스터를 재부팅하여 변경 사항을 적용하십시오.

 Aurora MySQL을 통한 이진 로깅 사용에 대한 자세한 내용은 [Aurora과 MySQL 간의 복제 또는 Aurora와 다른 Aurora DB 클러스터(이진 로그 복제본) 간의 복제](AuroraMySQL.Replication.MySQL.md)을(를) 참조하세요. Aurora MySQL 구성 파라미터 수정에 대한 자세한 내용은 [Amazon Aurora DB 클러스터와 DB 인스턴스 파라미터](USER_WorkingWithDBClusterParamGroups.md#Aurora.Managing.ParameterGroups) 및 [Amazon Aurora의 파라미터 그룹](USER_WorkingWithParamGroups.md)을(를) 참조하세요.

# Aurora MySQL의 교차 리전 읽기 전용 복제본 DB 클러스터 생성
<a name="AuroraMySQL.Replication.CrossRegion.Creating"></a>

 AWS Management Console, AWS Command Line Interface(AWS CLI) 또는 Amazon RDS API를 사용하여 교차 리전 읽기 전용 복제본인 Aurora DB 클러스터를 만들 수 있습니다. 암호화된 및 암호화되지 않은 DB 클러스터에서 모두 리전 간 읽기 전용 복제본을 만들 수 있습니다.

 AWS Management Console을 사용하여 Aurora MySQL에 대한 교차 리전 읽기 전용 복제본을 만드는 경우, Amazon RDS는 대상 AWS 리전에 DB 클러스터를 만든 다음 해당 DB 클러스터의 기본 인스턴스인 DB 인스턴스를 자동으로 만듭니다.

 AWS CLI 또는 RDS API를 사용하여 리전 간 읽기 전용 복제본을 만드는 경우, 먼저 대상 AWS 리전에 DB 클러스터를 만들고 활성화될 때까지 기다립니다. 활성화되면 해당 DB 클러스터의 기본 인스턴스인 DB 인스턴스를 만듭니다.

 읽기 전용 복제본 DB 클러스터의 기본 인스턴스를 사용할 수 있게 되면 복제가 시작됩니다.

 다음 절차를 사용하여 Aurora MySQL DB 클러스터에서 리전 간 읽기 전용 복제본을 만듭니다. 이러한 절차는 암호화되었거나 암호화되지 않은 DB 클러스터에서 읽기 전용 복제본을 만드는 데 사용됩니다.

## 콘솔
<a name="AuroraMySQL.Replication.CrossRegion.Creating.Console"></a>

**AWS Management Console을 사용하여 교차 리전 읽기 전용 복제본인 Aurora MySQL DB 클러스터를 만들려면**

1. [https://console.aws.amazon.com/rds/](https://console.aws.amazon.com/rds/)에서 AWS Management Console에 로그인한 후 Amazon RDS 콘솔을 엽니다.

1.  AWS Management Console의 오른쪽 상단 모서리에서 소스 DB 클러스터를 호스팅하는 AWS 리전을 선택합니다.

1.  탐색 창에서 **Databases**(데이터베이스)를 선택합니다.

1.  리전 간 읽기 전용 복제본을 만들 DB 클러스터를 선택합니다.

1. **작업(Actions)**에서 **리전 간 읽기 전용 복제본 만들기(Create cross-Region read replica)**를 선택합니다.

1.  다음 표에 설명되어 있는 대로 **리전 간 읽기 전용 복제본 만들기** 페이지에서 리전 간 읽기 전용 복제본 DB 클러스터의 옵션 설정을 선택합니다.    
<a name="cross-region-read-replica-settings"></a>[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ko_kr/AmazonRDS/latest/AuroraUserGuide/AuroraMySQL.Replication.CrossRegion.Creating.html)

1.  Aurora의 리전 간 읽기 전용 복제본을 만들려면 **생성**을 선택합니다.

## AWS CLI
<a name="AuroraMySQL.Replication.CrossRegion.Creating.CLI"></a>

**CLI를 사용하여 리전 간 읽기 전용 복제본인 Aurora MySQL DB 클러스터를 만들려면**

1.  읽기 전용 복제본 DB 클러스터를 만들려는 AWS 리전에서 AWS CLI [create-db-cluster](https://docs.aws.amazon.com/cli/latest/reference/rds/create-db-cluster.html) 명령을 호출합니다. `--replication-source-identifier` 옵션을 포함시키고, 읽기 전용 복제본을 만들 원본 DB 클러스터의 Amazon 리소스 이름(ARN)을 지정합니다.

    `--replication-source-identifier`로 식별되는 DB 클러스터가 암호화되는 교차 리전 복제의 경우 `--kms-key-id` 옵션 및 `--storage-encrypted` 옵션을 지정합니다.
**참고**  
 `--storage-encrypted`를 지정하고 `--kms-key-id`의 값을 제공하여 암호화되지 않은 DB 클러스터에서 암호화된 읽기 전용 복제본으로 리전 간 복제를 설정할 수 있습니다.

    `--master-username` 및 `--master-user-password` 파라미터는 지정할 수 없습니다. 이러한 값은 원본 DB 클러스터에서 가져옵니다.

    다음 코드 예에서는 us-west-2 리전의 암호화되지 않은 DB 클러스터 스냅샷에서 us-east-1 리전에 읽기 전용 복제본을 만듭니다. 이 명령은 us-east-1 리전에서 호출됩니다. 이 예제에서는 마스터 사용자 암호를 생성하고 이를 Secrets Manager에서 관리하는 `--manage-master-user-password` 옵션을 지정합니다. 자세한 내용은 [Amazon Aurora 및 AWS Secrets Manager를 통한 암호 관리](rds-secrets-manager.md) 단원을 참조하십시오. 또는 `--master-password` 옵션을 사용하여 암호를 직접 지정하고 관리할 수 있습니다.

   대상 LinuxmacOS, 또는Unix:

   ```
   aws rds create-db-cluster \
     --db-cluster-identifier sample-replica-cluster \
     --engine aurora-mysql \
     --engine-version 8.0.mysql_aurora.3.08.0 \
     --replication-source-identifier arn:aws:rds:us-west-2:123456789012:cluster:sample-master-cluster
   ```

   Windows의 경우:

   ```
   aws rds create-db-cluster ^
     --db-cluster-identifier sample-replica-cluster ^
     --engine aurora-mysql ^
     --engine-version 8.0.mysql_aurora.3.08.0 ^
     --replication-source-identifier arn:aws:rds:us-west-2:123456789012:cluster:sample-master-cluster
   ```

    다음 코드 예에서는 us-west-2 리전의 암호화된 DB 클러스터 스냅샷에서 us-east-1 리전에 읽기 전용 복제본을 만듭니다. 이 명령은 us-east-1 리전에서 호출됩니다.

   대상 LinuxmacOS, 또는Unix:

   ```
   aws rds create-db-cluster \
     --db-cluster-identifier sample-replica-cluster \
     --engine aurora-mysql \
     --engine-version 8.0.mysql_aurora.3.08.0 \
     --replication-source-identifier arn:aws:rds:us-west-2:123456789012:cluster:sample-master-cluster \
     --kms-key-id my-us-east-1-key \
     --storage-encrypted
   ```

   Windows의 경우:

   ```
   aws rds create-db-cluster ^
     --db-cluster-identifier sample-replica-cluster ^
     --engine aurora-mysql ^
     --engine-version 8.0.mysql_aurora.3.08.0 ^
     --replication-source-identifier arn:aws:rds:us-west-2:123456789012:cluster:sample-master-cluster ^
     --kms-key-id my-us-east-1-key ^
     --storage-encrypted
   ```

   이 `--source-region` 옵션은 `--replication-source-identifier`에서 식별된 DB 클러스터가 암호화되는 AWS GovCloud(미국 동부)와 AWS GovCloud(미국 서부) 리전 간의 교차 리전 복제에 필요합니다. `--source-region`의 경우 소스 DB 클러스터의 AWS 리전을 지정합니다.

   `--source-region`이 지정되지 않은 경우에는 `--pre-signed-url` 값을 지정합니다. *미리 서명된 URL*은 소스 AWS 리전에서 호출되는 `create-db-cluster` 명령에 대한 서명 버전 4의 서명된 요청이 포함된 URL입니다. `pre-signed-url` 옵션에 대한 자세한 정보는 *AWS CLI 명령 참조*에서 [create-db-cluster](https://docs.aws.amazon.com/cli/latest/reference/rds/create-db-cluster.html)를 참조하세요.

1.  다음 예제와 같이 AWS CLI [describe-db-clusters](https://docs.aws.amazon.com/cli/latest/reference/rds/describe-db-clusters.html) 명령을 사용하여 DB 클러스터를 사용할 수 있는지 확인합니다.

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

    **`describe-db-clusters`** 결과에 상태가 `available`로 표시되면 DB 클러스터의 기본 인스턴스를 만들어 복제를 시작합니다. 이렇게 하려면 다음 예제에서와 같이 AWS CLI [create-db-instance](https://docs.aws.amazon.com/cli/latest/reference/rds/create-db-instance.html) 명령을 사용하면 됩니다.

   대상 LinuxmacOS, 또는Unix:

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

   Windows의 경우:

   ```
   aws rds create-db-instance ^
     --db-cluster-identifier sample-replica-cluster ^
     --db-instance-class db.r5.large ^
     --db-instance-identifier sample-replica-instance ^
     --engine aurora-mysql
   ```

    DB 인스턴스가 생성되어 사용할 수 있게 되면 복제가 시작됩니다. AWS CLI [create-db-instance](https://docs.aws.amazon.com/cli/latest/reference/rds/describe-db-instances.html) 명령을 호출하여 DB 인스턴스를 사용할 수 있는지를 파악할 수 있습니다.

## RDS API
<a name="AuroraMySQL.Replication.CrossRegion.Creating.API"></a>

**API를 사용하여 리전 간 읽기 전용 복제본인 Aurora MySQL DB 클러스터를 만들려면**

1.  읽기 전용 복제본 DB 클러스터를 만들려는 AWS 리전에서 RDS API [CreateDBCluster](https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_CreateDBCluster.html) 작업을 호출합니다. `ReplicationSourceIdentifier` 파라미터를 포함시키고, 읽기 전용 복제본을 만들 원본 DB 클러스터의 Amazon 리소스 이름(ARN)을 지정합니다.

    `ReplicationSourceIdentifier`로 식별되는 DB 클러스터가 암호화되는 교차 리전 복제의 경우 `KmsKeyId` 파라미터를 지정하고 `StorageEncrypted` 파라미터를 `true`로 설정합니다.
**참고**  
 `StorageEncrypted`를 **true**로 지정하고 `KmsKeyId`의 값을 제공하여 암호화되지 않은 DB 클러스터에서 암호화된 읽기 전용 복제본으로 리전 간 복제를 설정할 수 있습니다. 이 경우 `PreSignedUrl`을 지정하지 않아도 됩니다.

    `MasterUsername` 및 `MasterUserPassword` 파라미터 값은 원본 DB 클러스터에서 가져오므로 포함시키지 않아도 됩니다.

    다음 코드 예에서는 us-west-2 리전의 암호화되지 않은 DB 클러스터 스냅샷에서 us-east-1 리전에 읽기 전용 복제본을 만듭니다. 이 작업은 us-east-1 리전에서 호출됩니다.

   ```
   https://rds.us-east-1.amazonaws.com/
     ?Action=CreateDBCluster
     &ReplicationSourceIdentifier=arn:aws:rds:us-west-2:123456789012:cluster:sample-master-cluster
     &DBClusterIdentifier=sample-replica-cluster
     &Engine=aurora-mysql
     &SignatureMethod=HmacSHA256
     &SignatureVersion=4
     &Version=2014-10-31
     &X-Amz-Algorithm=AWS4-HMAC-SHA256
     &X-Amz-Credential=AKIADQKE4SARGYLE/20161117/us-east-1/rds/aws4_request
     &X-Amz-Date=20160201T001547Z
     &X-Amz-SignedHeaders=content-type;host;user-agent;x-amz-content-sha256;x-amz-date
     &X-Amz-Signature=a04c831a0b54b5e4cd236a90dcb9f5fab7185eb3b72b5ebe9a70a4e95790c8b7
   ```

    다음 코드 예에서는 us-west-2 리전의 암호화된 DB 클러스터 스냅샷에서 us-east-1 리전에 읽기 전용 복제본을 만듭니다. 이 작업은 us-east-1 리전에서 호출됩니다.

   ```
   https://rds.us-east-1.amazonaws.com/
     ?Action=CreateDBCluster
     &KmsKeyId=my-us-east-1-key
     &StorageEncrypted=true
     &PreSignedUrl=https%253A%252F%252Frds.us-west-2.amazonaws.com%252F
            %253FAction%253DCreateDBCluster
            %2526DestinationRegion%253Dus-east-1
            %2526KmsKeyId%253Dmy-us-east-1-key
            %2526ReplicationSourceIdentifier%253Darn%25253Aaws%25253Ards%25253Aus-west-2%25253A123456789012%25253Acluster%25253Asample-master-cluster
            %2526SignatureMethod%253DHmacSHA256
            %2526SignatureVersion%253D4
            %2526Version%253D2014-10-31
            %2526X-Amz-Algorithm%253DAWS4-HMAC-SHA256
            %2526X-Amz-Credential%253DAKIADQKE4SARGYLE%252F20161117%252Fus-west-2%252Frds%252Faws4_request
            %2526X-Amz-Date%253D20161117T215409Z
            %2526X-Amz-Expires%253D3600
            %2526X-Amz-SignedHeaders%253Dcontent-type%253Bhost%253Buser-agent%253Bx-amz-content-sha256%253Bx-amz-date
            %2526X-Amz-Signature%253D255a0f17b4e717d3b67fad163c3ec26573b882c03a65523522cf890a67fca613
     &ReplicationSourceIdentifier=arn:aws:rds:us-west-2:123456789012:cluster:sample-master-cluster
     &DBClusterIdentifier=sample-replica-cluster
     &Engine=aurora-mysql
     &SignatureMethod=HmacSHA256
     &SignatureVersion=4
     &Version=2014-10-31
     &X-Amz-Algorithm=AWS4-HMAC-SHA256
     &X-Amz-Credential=AKIADQKE4SARGYLE/20161117/us-east-1/rds/aws4_request
     &X-Amz-Date=20160201T001547Z
     &X-Amz-SignedHeaders=content-type;host;user-agent;x-amz-content-sha256;x-amz-date
     &X-Amz-Signature=a04c831a0b54b5e4cd236a90dcb9f5fab7185eb3b72b5ebe9a70a4e95790c8b7
   ```

   `ReplicationSourceIdentifier`로 식별되는 DB 클러스터가 암호화되는 AWS GovCloud(미국 동부)와 AWS GovCloud(미국 서부) 리전 간의 교차 리전 복제의 경우에도 `PreSignedUrl` 파라미터를 지정합니다. 미리 서명된 URL은 복제할 암호화된 DB 클러스터가 포함된 소스 AWS 리전에서 수행할 수 있는 `CreateDBCluster` API 작업에 대한 유효한 요청이어야 합니다. KMS 키 식별자는 읽기 전용 복제본을 암호화하는 데 사용되며, 대상 AWS 리전에 대해 유효한 KMS 키여야 합니다. 미리 서명된 URL을 수동이 아닌 자동으로 생성하려면 `--source-region` 옵션 대신 AWS CLI [create-db-cluster](https://docs.aws.amazon.com/cli/latest/reference/rds/create-db-cluster.html) 명령을 사용합니다.

1.  다음 예제와 같이 RDS API [DescribeDBClusters](https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_DescribeDBClusters.html) 작업을 사용하여 DB 클러스터를 사용할 수 있는지 확인합니다.

   ```
   https://rds.us-east-1.amazonaws.com/
     ?Action=DescribeDBClusters
     &DBClusterIdentifier=sample-replica-cluster
     &SignatureMethod=HmacSHA256
     &SignatureVersion=4
     &Version=2014-10-31
     &X-Amz-Algorithm=AWS4-HMAC-SHA256
     &X-Amz-Credential=AKIADQKE4SARGYLE/20161117/us-east-1/rds/aws4_request
     &X-Amz-Date=20160201T002223Z
     &X-Amz-SignedHeaders=content-type;host;user-agent;x-amz-content-sha256;x-amz-date
     &X-Amz-Signature=84c2e4f8fba7c577ac5d820711e34c6e45ffcd35be8a6b7c50f329a74f35f426
   ```

    `DescribeDBClusters` 결과에 상태가 `available`로 표시되면 DB 클러스터의 프라이머리 인스턴스를 만들어 복제를 시작합니다. 그러려면 다음 예제와 같이 RDS API [CreateDBInstance](https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_CreateDBInstance.html) 작업을 사용하세요.

   ```
   https://rds.us-east-1.amazonaws.com/
     ?Action=CreateDBInstance
     &DBClusterIdentifier=sample-replica-cluster
     &DBInstanceClass=db.r5.large
     &DBInstanceIdentifier=sample-replica-instance
     &Engine=aurora-mysql
     &SignatureMethod=HmacSHA256
     &SignatureVersion=4
     &Version=2014-10-31
     &X-Amz-Algorithm=AWS4-HMAC-SHA256
     &X-Amz-Credential=AKIADQKE4SARGYLE/20161117/us-east-1/rds/aws4_request
     &X-Amz-Date=20160201T003808Z
     &X-Amz-SignedHeaders=content-type;host;user-agent;x-amz-content-sha256;x-amz-date
     &X-Amz-Signature=125fe575959f5bbcebd53f2365f907179757a08b5d7a16a378dfa59387f58cdb
   ```

    DB 인스턴스가 생성되어 사용할 수 있게 되면 복제가 시작됩니다. AWS CLI [DescribeDBInstances](https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_DescribeDBInstances.html) 명령을 호출하여 DB 인스턴스를 사용할 수 있는지를 파악할 수 있습니다.

## Amazon Aurora MySQL 리전 간 복제본 보기
<a name="AuroraMySQL.Replication.CrossRegion.Viewing"></a>

 [describe-db-clusters](https://docs.aws.amazon.com/cli/latest/reference/rds/describe-db-clusters.html) AWS CLI 명령 또는 [DescribeDBClusters](https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_DescribeDBClusters.html) RDS API 작업을 호출하여 Amazon Aurora MySQL DB 클러스터에 대한 교차 리전 복제 관계를 확인할 수 있습니다. 응답에서 교차 리전 읽기 복제본 DB 클러스터의 DB 클러스터 식별자는 `ReadReplicaIdentifiers` 필드에서 확인하세요. 복제 소스인 소스 DB 클러스터의 ARN은 `ReplicationSourceIdentifier` 요소를 참조하세요.

# Aurora MySQL의 읽기 전용 복제본을 DB 클러스터로 승격
<a name="AuroraMySQL.Replication.CrossRegion.Promote"></a>

 Aurora MySQL 읽기 전용 복제본을 독립형 DB 클러스터로 승격할 수 있습니다. Aurora MySQL 읽기 전용 복제본을 승격하면 DB 인스턴스가 재부팅된 후에 사용 가능하게 됩니다.

 일반적으로 소스 DB 클러스터가 실패할 경우 데이터 복구 체계로서 Aurora MySQL 읽기 전용 복제본을 독립형 DB 클러스터로 승격합니다.

 이렇게 하려면 먼저 읽기 전용 복제본을 생성한 다음 원본 DB 클러스터에 장애가 있는지 모니터링합니다. 그 결과 장애가 발견된 경우에는 다음과 같이 실행합니다.

1.  읽기 전용 복제본을 승격합니다.

1.  데이터베이스 트래픽을 승격된 DB 클러스터로 유도합니다.

1.  승격된 DB 클러스터를 원본으로 하는 교체용 읽기 전용 복제본을 생성합니다.

 읽기 전용 복제본을 승격하면 읽기 전용 복제본은 독립형 Aurora DB 클러스터가 됩니다. 승격 프로세스는 읽기 전용 복제본의 크기에 따라 완료하는 데 몇 분 또는 더 오래도 걸릴 수 있습니다. 읽기 전용 복제본이 새 DB 클러스터로 승격된 후에는 다른 DB 인스턴스와 똑같습니다. 예를 들어, 해당 클러스터에서 읽기 전용 복제본을 생성하고 특정 시점으로 복구 작업을 수행할 수 있습니다. 또한 DB 클러스터의 Aurora 복제본을 생성할 수 있습니다.

 승격된 DB 클러스터는 더 이상 읽기 전용 복제본이 아니기 때문에 복제 대상으로 사용할 수 없습니다.

 다음 단계에서는 읽기 전용 복제본을 DB 클러스터로 승격하기 위한 일반적인 프로세스를 보여줍니다.

1.  트랜잭션이 읽기 전용 복제본 소스 DB 클러스터에 더 이상 기록되지 않도록 한 다음, 읽기 전용 복제본의 업데이트가 모두 끝날 때까지 기다립니다. 읽기 전용 복제본의 데이터베이스 업데이트는 원본 DB 클러스터의 업데이트 후에 수행되며, 이러한 복제 지연은 경우에 따라 크게 다를 수 있습니다. `ReplicaLag` 지표를 사용하여 읽기 전용 복제본의 업데이트가 모두 완료되는 시간을 측정합니다. `ReplicaLag` 지표는 소스 DB 인스턴스를 기준으로 읽기 전용 복제본 DB 인스턴스의 지연 시간을 기록합니다. `ReplicaLag` 지표가 `0`에 도달하면 읽기 전용 복제본이 원본 DB 인스턴스를 따라잡은 것입니다.

1.  Amazon RDS 콘솔에서 **승격(Promote)** 옵션을 사용하거나, AWS CLI 명령 [promote-read-replica-db-cluster](https://docs.aws.amazon.com/cli/latest/reference/rds/promote-read-replica-db-cluster.html)를 사용하거나, [PromoteReadReplicaDBCluster](https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_PromoteReadReplicaDBCluster.html) Amazon RDS API 작업을 사용하여 읽기 전용 복제본을 승격합니다.

    읽기 전용 복제본을 승격할 Aurora MySQL DB 인스턴스를 선택합니다. 읽기 전용 복제본이 승격된 후 Aurora MySQL DB 클러스터가 독립형 DB 클러스터로 승격됩니다. 장애 조치 우선 순위가 가장 높은 DB 인스턴스가 DB 클러스터의 기본 DB 인스턴스로 승격됩니다. 다른 DB 인스턴스는 Aurora 복제본이 됩니다.
**참고**  
 승격 프로세스는 완료할 때까지 몇 분 걸립니다. 읽기 전용 복제본을 승격하면 복제가 중지되고 DB 인스턴스가 재부팅됩니다. 재부팅이 완료되면 읽기 전용 복제본을 새 DB 클러스터로 사용할 수 있습니다.

## 콘솔
<a name="AuroraMySQL.Replication.CrossRegion.Promote.Console"></a>

**Aurora MySQL 읽기 전용 복제본을 DB 클러스터로 승격하려면**

1. AWS Management Console에 로그인한 후 [https://console.aws.amazon.com/rds/](https://console.aws.amazon.com/rds/)에서 Amazon RDS 콘솔을 엽니다.

1.  콘솔에서 **인스턴스**를 선택합니다.

    **인스턴스** 창이 표시됩니다.

1.  **인스턴스** 창에서 승격하려는 읽기 전용 복제본을 선택합니다.

    읽기 전용 복제본이 Aurora MySQL DB 인스턴스로 나타납니다.

1.  **작업**에서 **읽기 전용 복제본 승격**을 선택합니다.

1.  승인 페이지에서 **Promote Read Replica**를 선택합니다.

## AWS CLI
<a name="AuroraMySQL.Replication.CrossRegion.Promote.CLI"></a>

 읽기 전용 복제본을 DB 클러스터로 승격하려면 AWS CLI [promote-read-replica-db-cluster](https://docs.aws.amazon.com/cli/latest/reference/rds/promote-read-replica-db-cluster.html) 명령을 사용합니다.

**Example**  
대상 LinuxmacOS, 또는Unix:  

```
aws rds promote-read-replica-db-cluster \
    --db-cluster-identifier mydbcluster
```
Windows의 경우:  

```
aws rds promote-read-replica-db-cluster ^
    --db-cluster-identifier mydbcluster
```

## RDS API
<a name="AuroraMySQL.Replication.CrossRegion.Promote.API"></a>

 읽기 전용 복제본을 DB 클러스터로 승격하려면 [PromoteReadReplicaDBCluster](https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_PromoteReadReplicaDBCluster.html)를 호출합니다.

# Amazon Aurora MySQL의 교차 리전 복제본 문제 해결
<a name="AuroraMySQL.Replication.CrossRegion.Troubleshooting"></a>

 Amazon Aurora 리전 간 읽기 전용 복제본을 만들 때 발생할 수 있는 일반적인 오류 메시지와 지정된 오류의 해결 방법이 아래에 목록으로 정리되어 있습니다.

## 원본 클러스터 [DB 클러스터 ARN]의 binlog가 활성화되어 있지 않음
<a name="AuroraMySQL.Replication.CrossRegion.Troubleshooting.1"></a>

 이 문제를 해결하려면 원본 DB 클러스터에 대한 이진 로깅을 설정합니다. 자세한 내용은 [시작하기 전 준비 사항](AuroraMySQL.Replication.CrossRegion.md#AuroraMySQL.Replication.CrossRegion.Prerequisites) 단원을 참조하십시오.

## 원본 클러스터 [DB 클러스터 ARN]에 라이터에서 동기화된 클러스터 파라미터 그룹이 없음
<a name="AuroraMySQL.Replication.CrossRegion.Troubleshooting.2"></a>

 `binlog_format` DB 클러스터 파라미터를 업데이트했지만 DB 클러스터의 기본 인스턴스를 재부팅하지 않은 경우 이 오류가 발생합니다. DB 클러스터의 기본 인스턴스(라이터)를 재부팅하고 다시 시도하십시오.

## 원본 클러스터 [DB 클러스터 ARN]의 읽기 전용 복제본이 이미 이 리전에 있음
<a name="AuroraMySQL.Replication.CrossRegion.Troubleshooting.3"></a>

 모든 AWS 리전에서 소스 DB 클러스터당 최대 5개의 교차 리전 DB 클러스터(읽기 전용 복제본)를 만들 수 있습니다. 특정 AWS 리전에 DB 클러스터에 대한 읽기 전용 복제본의 최대 개수가 이미 있는 경우, 해당 리전에서 교차 리전 DB 클러스터를 새로 생성하기 전에 기존 읽기 전용 복제본을 삭제해야 합니다.

## DB 클러스터 [DB 클러스터 ARN]에서 리전 간 복제를 지원하려면 데이터베이스 엔진 업그레이드 필요
<a name="AuroraMySQL.Replication.CrossRegion.Troubleshooting.4"></a>

 이 문제를 해결하려면 원본 DB 클러스터의 모든 인스턴스에 대해 데이터베이스 엔진 버전을 최신 데이터베이스 엔진 버전으로 업그레이드한 다음, 리전 간 읽기 전용 복제본 DB를 다시 만들어 보십시오.