

# Aurora 읽기 전용 복제본을 사용하여 RDS for PostgreSQL DB 인스턴스의 데이터를 Aurora PostgreSQL DB 클러스터로 마이그레이션
<a name="AuroraPostgreSQL.Migrating.RDSPostgreSQL.Replica"></a>

마이그레이션 프로세스용 Aurora 읽기 전용 복제본을 사용하여 새로운 Aurora PostgreSQL DB 클러스터의 기반으로 RDS for PostgreSQL DB 인스턴스를 사용할 수 있습니다. Aurora 읽기 전용 복제본 옵션은 동일한 AWS 리전 및 계정 내에서 마이그레이션하는 데 만 사용할 수 있으며, 리전에서 RDS for PostgreSQL DB 인스턴스에 대해 호환되는 버전의 Aurora PostgreSQL DB 인스턴스를 제공하는 경우에만 사용할 수 있습니다. 여기에서 *호환*은 Aurora PostgreSQL 버전이 RDS for PostgreSQL 버전과 동일하거나 동일한 메이저 버전 제품군에서 더 높은 마이너 버전임을 의미합니다.

예를 들어 이 기술을 사용하여 RDS for PostgreSQL 11.14 DB 인스턴스를 마이그레이션하려면 리전에서 PostgreSQL 버전 11 제품군의 Aurora PostgreSQL 버전 11.14 이상의 마이너 버전을 제공해야 합니다.

**Topics**
+ [Aurora 읽기 전용 복제본을 사용한 데이터 마이그레이션 개요](#AuroraPostgreSQL.Migrating.RDSPostgreSQL.Replica.Intro)
+ [Aurora 읽기 전용 복제본을 사용한 데이터 마이그레이션 준비](#AuroraPostgreSQL.Migrating.RDSPostgreSQL.Replica.Prepare)
+ [Aurora 읽기 전용 복제본 생성](#AuroraPostgreSQL.Migrating.RDSPostgreSQL.Replica.Create)
+ [Aurora 읽기 전용 복제본 승격](#AuroraPostgreSQL.Migrating.RDSPostgreSQL.Replica.Promote)

## Aurora 읽기 전용 복제본을 사용한 데이터 마이그레이션 개요
<a name="AuroraPostgreSQL.Migrating.RDSPostgreSQL.Replica.Intro"></a>

RDS for PostgreSQL DB 인스턴스에서 Aurora PostgreSQL DB 클러스터로의 마이그레이션은 절차가 여러 단계 있습니다. 먼저 소스 RDS for PostgreSQL DB 인스턴스의 Aurora 읽기 전용 복제본을 생성합니다. 그러면 RDS for PostgreSQL DB 인스턴스에서 **복제본* 클러스터*로 알려진 특수 용도 DB 클러스터로 복제 프로세스를 시작합니다. 복제본 클러스터는 Aurora 읽기 전용 복제본(리더 인스턴스)로만 구성됩니다.

**참고**  
마이그레이션이 완료되려면 데이터의 테라바이트당 몇 시간이 걸릴 수 있습니다.

**Aurora PostgreSQL 복제본 승격**

Aurora PostgreSQL DB 클러스터를 만든 후 다음 단계에 따라 Aurora 복제본을 승격합니다.

1. 소스 RDS for PostgreSQL DB 인스턴스에서 모든 데이터베이스 쓰기 워크로드를 중지합니다.

1. 소스 RDS for PostgreSQL DB 인스턴스에서 현재 `WAL LSN`을 가져옵니다.

   ```
   SELECT pg_current_wal_lsn();
   pg_current_wal_lsn
   --------------------
   0/F0000318
   (1 row)
   ```

1. Aurora PostgreSQL 복제본 클러스터에서 재생된 LSN이 2단계의 LSN보다 큰지 확인합니다.

   ```
   SELECT pg_last_wal_replay_lsn();
   pg_last_wal_replay_lsn
   ------------------------
   0/F0000400
   (1 row)
   ```

   또는 소스 RDS for PostgreSQL DB 인스턴스에서 다음 쿼리를 사용할 수 있습니다.

   ```
   SELECT restart_lsn FROM pg_replication_slots;
   ```

1. Aurora PostgreSQL 복제본 클러스터를 승격합니다.

   복제가 중지되면 복제본 클러스터가 독립 실행형 Aurora PostgreSQL DB 클러스터로 승격되고, 리더가 클러스터의 라이터 인스턴스로 승격됩니다. 이때 Aurora PostgreSQL DB 클러스터에 인스턴스를 추가하여 사용 사례에 따라 크기를 조정할 수 있습니다. 원래 RDS for PostgreSQL DB 인스턴스가 더 이상 필요하지 않은 경우 삭제할 수 있습니다.

RDS for PostgreSQL DB 인스턴스에 Aurora 읽기 전용 복제본이 이미 있거나 교차 리전 읽기 전용 복제본이 있는 경우 Aurora 읽기 전용 복제본을 생성할 수 없습니다.

## Aurora 읽기 전용 복제본을 사용한 데이터 마이그레이션 준비
<a name="AuroraPostgreSQL.Migrating.RDSPostgreSQL.Replica.Prepare"></a>

**참고**  
Aurora PostgreSQL로 데이터를 마이그레이션할 준비를 할 때는 로깅되지 않은 테이블을 적절하게 식별하고 처리하는 것이 중요합니다. 자세한 내용은 [마이그레이션 중 로깅되지 않은 테이블 처리](aurora-postgresql-unlogged-tables.md#aurora-postgresql-unlogged-tables-migration) 섹션을 참조하세요.

Aurora 읽기 전용 복제본을 사용하는 마이그레이션 프로세스 중에 소스 RDS for PostgreSQL DB 인스턴스에 적용된 업데이트는 복제본 클러스터의 Aurora 읽기 전용 복제본에 비동기식으로 복제됩니다. 이 프로세스는 소스 인스턴스에 미리 쓰기 로그(WAL) 세그먼트를 저장하는 PostgreSQL의 기본 스트리밍 복제 기능을 사용합니다. 이 마이그레이션 프로세스를 시작하기 전에 테이블에 나열된 지표 값을 확인하여 인스턴스의 스토리지 용량이 충분한지 확인해야 합니다.


| 지표 | 설명 | 
| --- | --- | 
| `FreeStorageSpace` | 사용 가능한 스토리지 공간.<br />단위: 바이트 | 
| `OldestReplicationSlotLag` | 가장 지연된 복제본에 있는 WAL 데이터의 지연 크기.<br />단위: 메가바이트 | 
| `RDSToAuroraPostgreSQLReplicaLag` | Aurora PostgreSQL DB 클러스터가 원본 RDS DB 인스턴스보다 늦어지는 시간(초). | 
| `TransactionLogsDiskUsage` | 트랜잭션 로그에 사용된 디스크 공간.<br />단위: 메가바이트 | 

RDS 인스턴스 모니터링에 대한 자세한 내용은 *Amazon RDS 사용 설명서*에서 [모니터링](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/CHAP_Monitoring.html) 섹션을 참조하십시오.

## Aurora 읽기 전용 복제본 생성
<a name="AuroraPostgreSQL.Migrating.RDSPostgreSQL.Replica.Create"></a>

RDS for PostgreSQL DB 인스턴스의 Aurora 읽기 전용 복제본은 AWS Management Console 또는 AWS CLI를 사용해 생성할 수 있습니다. AWS Management Console을 사용하여 Aurora 읽기 전용 복제본을 생성하는 옵션은 AWS 리전에서 호환되는 Aurora PostgreSQL 버전을 제공하는 경우에만 이용 가능합니다. 이 경우, Aurora PostgreSQL 버전이 RDS for PostgreSQL 버전과 동일하거나 동일한 주 버전 제품군에서 더 높은 마이너 버전일 경우에만 가능합니다.

### 콘솔
<a name="AuroraPostgreSQL.Migrating.RDSPostgreSQL.Replica.Create.Console"></a>

**원본 PostgreSQL DB 인스턴스에서 Aurora 읽기 전용 복제본을 생성하는 방법은 다음과 같습니다.**

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

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

1. Aurora 읽기 전용 복제본의 소스로 사용할 RDS for PostgreSQL DB 인스턴스를 선택합니다. **작업**에서 **Aurora 읽기 전용 복제본 생성**을 선택합니다. 이 선택 항목이 표시되지 않으면 호환되는 Aurora PostgreSQL 버전이 리전에서 사용할 수 없음을 의미합니다.  
![Aurora 읽기 전용 복제본 생성](http://docs.aws.amazon.com/ko_kr/AmazonRDS/latest/AuroraUserGuide/images/Aurorapgres-migrate.png)

1. Aurora 읽기 전용 복제본 설정 생성 페이지에서 다음 표와 같이 Aurora PostgreSQL DB 클러스터의 속성을 구성합니다. 복제본 DB 클러스터는 소스 DB 인스턴스의 스냅샷으로 소스와 동일한 '마스터' 사용자 이름과 암호를 사용하여 만드는 것이기 때문에 현재는 변경할 수 없습니다.    
[See the AWS documentation website for more details](http://docs.aws.amazon.com/ko_kr/AmazonRDS/latest/AuroraUserGuide/AuroraPostgreSQL.Migrating.RDSPostgreSQL.Replica.html)

1. **Create read replica**(읽기 전용 복제본 생성)를 선택합니다.

### AWS CLI
<a name="AuroraPostgreSQL.Migrating.RDSPostgreSQL.Replica.Create.CLI"></a>

AWS CLI를 사용하여 소스 RDS for PostgreSQL 인스턴스에서 Aurora 읽기 전용 복제본을 생성하려면 먼저 [https://docs.aws.amazon.com/cli/latest/reference/rds/create-db-cluster.html](https://docs.aws.amazon.com/cli/latest/reference/rds/create-db-cluster.html) CLI 명령을 사용하여 빈 Aurora DB 클러스터를 생성합니다. DB 클러스터가 존재하면 [https://docs.aws.amazon.com/cli/latest/reference/rds/create-db-instance.html](https://docs.aws.amazon.com/cli/latest/reference/rds/create-db-instance.html) 명령을 사용하여 DB 클러스터의 기본 인스턴스를 생성합니다. 기본 인스턴스는 클러스터에 생성된 최초의 Aurora DB 인스턴스입니다. 이 경우 처음에는 RDS for PostgreSQL DB 인스턴스의 Aurora 읽기 전용 복제본으로 생성됩니다. 프로세스가 끝나면 RDS for PostgreSQL DB 인스턴스는 Aurora PostgreSQL DB 클러스터로 효과적으로 마이그레이션된 상태입니다.

기본 사용자 계정(일반적으로 `postgres`), 암호 또는 데이터베이스 이름을 지정할 필요가 없습니다. Aurora 읽기 전용 복제본이 사용자가 AWS CLI 명령을 호출할 때 식별되는 소스 RDS for PostgreSQL DB 인스턴스에서 자동으로 해당 정보를 가져옵니다.

Aurora PostgreSQL DB 클러스터와 DB 인스턴스에 사용할 엔진 버전은 사용자가 지정해야 합니다. 지정한 버전은 소스 RDS for PostgreSQL DB 인스턴스와 일치해야 합니다. 소스 RDS for PostgreSQL DB 인스턴스가 암호화되면 Aurora PostgreSQL DB 클러스터 기본 인스턴스에 대한 암호화도 지정해야 합니다. 암호화된 인스턴스를 암호화되지 않은 Aurora DB 클러스터로 마이그레이션하는 것은 지원되지 않습니다.

다음 예제는 암호화되지 않은 RDS DB 원본 인스턴스를 사용하는 `my-new-aurora-cluster`라는 Aurora PostgreSQL DB 클러스터를 생성합니다. 먼저 [https://docs.aws.amazon.com/cli/latest/reference/rds/create-db-cluster.html](https://docs.aws.amazon.com/cli/latest/reference/rds/create-db-cluster.html) CLI 명령을 호출하여 Aurora PostgreSQL DB 클러스터를 생성합니다. 이 예에서는 선택적으로 `--storage-encrypted ` 파라미터를 사용하여 DB 클러스터를 암호화해야 한다는 것을 지정하는 방법을 보여줍니다. 소스 DB가 암호화되지 않았기 때문에 사용할 키를 지정하는 데 `--kms-key-id`가 사용됩니다. 필수 및 선택적 파라미터에 대한 자세한 내용은 예시 아래의 목록을 참조하세요.

대상 LinuxmacOS, 또는Unix:

```
aws rds create-db-cluster  \
    --db-cluster-identifier {{my-new-aurora-cluster}} \
    --db-subnet-group-name {{my-db-subnet}}
    --vpc-security-group-ids {{sg-11111111}} 
    --engine aurora-postgresql \
    --engine-version {{same-as-your-rds-instance-version}} \
    --replication-source-identifier arn:aws:rds:{{aws-region}}:{{111122223333}}:db/{{rpg-source-db}} \
    --storage-encrypted \
    --kms-key-id arn:aws:kms:{{aws-region}}:{{111122223333}}:key/{{11111111-2222-3333-444444444444}}
```

Windows의 경우:

```
aws rds create-db-cluster  ^
    --db-cluster-identifier {{my-new-aurora-cluster}} ^
    --db-subnet-group-name {{my-db-subnet}} ^
    --vpc-security-group-ids {{sg-11111111}} ^
    --engine aurora-postgresql ^
    --engine-version {{same-as-your-rds-instance-version}} ^
    --replication-source-identifier arn:aws:rds:{{aws-region}}:{{111122223333}}:db/{{rpg-source-db}} ^
    --storage-encrypted ^
    --kms-key-id arn:aws:kms:{{aws-region}}:{{111122223333}}:key/{{11111111-2222-3333-444444444444}}
```

다음 목록에서 예시에 표시된 일부 옵션에 대한 자세한 정보를 찾을 수 있습니다. 별도로 지정하지 않는 한 이러한 파라미터가 필요합니다.
+ `--db-cluster-identifier` - 새 Aurora PostgreSQL DB 클러스터에 이름을 지정해야 합니다.
+ `--db-subnet-group-name` - 소스 DB 인스턴스와 동일한 DB 서브넷에 Aurora PostgreSQL DB 클러스터를 생성합니다.
+ `--vpc-security-group-ids` - Aurora PostgreSQL DB 클러스터의 보안 그룹을 지정합니다.
+ `--engine-version` - Aurora PostgreSQL DB 클러스터에 사용할 버전을 지정합니다. 소스 RDS for PostgreSQL DB 인스턴스에서 사용하는 버전과 같거나 그보다 더 높은 마이너 버전이어야 합니다.
+ `--replication-source-identifier` - Amazon 리소스 이름(ARN)을 사용하여 RDS for PostgreSQL DB 인스턴스를 식별합니다. Amazon RDS ARN에 대한 자세한 내용은 DB 클러스터의 *AWS 일반 참조*에서 [Amazon Relational Database Service(RDS)](https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html#arn-syntax-rds) 섹션을 참조하세요.
+ `--storage-encrypted` – 선택 사항입니다. 암호화를 지정하는 데 필요한 경우에만 다음과 같이 사용합니다.
  + 소스 DB 인스턴스에 암호화된 스토리지가 있는 경우 이 파라미터를 사용합니다. 암호화된 스토리지가 있는 소스 DB 인스턴스에서 이 파라미터를 사용하지 않으면 [https://docs.aws.amazon.com/cli/latest/reference/rds/create-db-cluster.html](https://docs.aws.amazon.com/cli/latest/reference/rds/create-db-cluster.html)에 대한 호출이 실패합니다. Aurora PostgreSQL DB 클러스터에 소스 DB 인스턴스에서 사용하는 키와 다른 키를 사용하려면 `--kms-key-id`도 지정해야 합니다.
  + 소스 DB 인스턴스의 스토리지가 암호화되지 않았지만 Aurora PostgreSQL DB 클러스터에서 암호화를 사용하도록 하려는 경우에 사용합니다. 그렇다면 `--kms-key-id` 파라미터와 함께 사용할 암호화 키도 식별해야 합니다.
+ `--kms-key-id` – 선택 사항입니다. 사용할 경우 ARN, ID, 별칭 ARN 또는 해당 별칭 이름을 사용하여 스토리지 암호화(`--storage-encrypted`)에 사용할 키를 지정할 수 있습니다. 이 파라미터는 다음 상황에서만 필요합니다.
  + Aurora PostgreSQL DB 클러스터에 대해 소스 DB 인스턴스에서 사용하는 키와 다른 키를 선택합니다.
  + 암호화되지 않은 소스에서 암호화된 클러스터를 만드는 방법 이 경우 Aurora PostgreSQL이 암호화에 사용해야 하는 키를 지정해야 합니다.

Aurora PostgreSQL DB 클러스터를 생성한 후 다음과 같이 [https://docs.aws.amazon.com/cli/latest/reference/rds/create-db-instance.html](https://docs.aws.amazon.com/cli/latest/reference/rds/create-db-instance.html) CLI 명령을 사용하여 기본 인스턴스를 생성합니다.

대상 LinuxmacOS, 또는Unix:

```
aws rds create-db-instance \
    --db-cluster-identifier {{my-new-aurora-cluster}} \
    --db-instance-class {{db.x2g.16xlarge}} \
    --db-instance-identifier {{rpg-for-migration}} \
    --engine aurora-postgresql
```

Windows의 경우:

```
aws rds create-db-instance ^
    --db-cluster-identifier {{my-new-aurora-cluster}} ^
    --db-instance-class {{db.x2g.16xlarge}} ^
    --db-instance-identifier {{rpg-for-migration}} ^
    --engine aurora-postgresql
```

다음 목록에서 예시에 표시된 일부 옵션에 대한 자세한 정보를 찾을 수 있습니다.
+ `--db-cluster-identifier` - 이전 단계에서 [https://docs.aws.amazon.com/cli/latest/reference/rds/create-db-instance.html](https://docs.aws.amazon.com/cli/latest/reference/rds/create-db-instance.html) 명령으로 생성한 Aurora PostgreSQL DB 클러스터의 이름을 지정합니다.
+ `--db-instance-class` - 기본 인스턴스에 사용할 DB 인스턴스 클래스의 이름입니다(예: `db.r4.xlarge`, `db.t4g.medium`, `db.x2g.16xlarge` 등). 사용 가능한 인스턴스 클래스 목록은 [DB 인스턴스 클래스 유형](Concepts.DBInstanceClass.Types.md) 섹션을 참조하세요.
+ `--db-instance-identifier` - 기본 인스턴스의 이름을 지정합니다.
+ `--engine aurora-postgresql` - 엔진에 대한 `aurora-postgresql`을 지정합니다.

### RDS API
<a name="Aurora.Migration.RDSPostgreSQL.Create.API"></a>

소스 RDS for PostgreSQL DB 인스턴스에서 Aurora 읽기 전용 복제본을 생성하려면 먼저 [https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_CreateDBCluster.html](https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_CreateDBCluster.html) RDS API 작업을 사용하여 소스 RDS for PostgreSQL DB 인스턴스에서 생성되는 Aurora 읽기 전용 복제본의 새 Aurora DB 클러스터를 생성합니다. Aurora PostgreSQL DB 클러스터를 사용할 수 있게 되면 [https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_CreateDBInstance.html](https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_CreateDBInstance.html)를 사용하여 Aurora DB 클러스터의 기본 인스턴스를 생성합니다.

기본 사용자 계정(일반적으로 `postgres`), 암호 또는 데이터베이스 이름을 지정할 필요가 없습니다. Aurora 읽기 전용 복제본이 사용자가 `ReplicationSourceIdentifier`로 지정된 소스 RDS for PostgreSQL DB 인스턴스에서 자동으로 해당 정보를 가져옵니다.

Aurora PostgreSQL DB 클러스터와 DB 인스턴스에 사용할 엔진 버전은 사용자가 지정해야 합니다. 지정한 버전은 소스 RDS for PostgreSQL DB 인스턴스와 일치해야 합니다. 소스 RDS for PostgreSQL DB 인스턴스가 암호화되면 Aurora PostgreSQL DB 클러스터 기본 인스턴스에 대한 암호화도 지정해야 합니다. 암호화된 인스턴스를 암호화되지 않은 Aurora DB 클러스터로 마이그레이션하는 것은 지원되지 않습니다.

Aurora 읽기 전용 복제본의 Aurora DB 클러스터를 생성하려면 다음 파라미터와 함께 [https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_CreateDBCluster.html](https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_CreateDBCluster.html) RDS API 작업을 사용합니다.
+ `DBClusterIdentifier` - 생성할 DB 클러스터의 이름입니다.
+ `DBSubnetGroupName` - 이 DB 클러스터와 연결할 DB 서브넷 그룹의 이름입니다.
+ `Engine=aurora-postgresql` - 사용할 엔진 이름입니다.
+ `ReplicationSourceIdentifier` - 원본 PostgreSQL DB 인스턴스의 Amazon 리소스 이름(ARN)입니다. Amazon RDS ARN에 대한 자세한 내용은 *Amazon Web Services 일반 참조*에서 [Amazon Relational Database Service(RDS)](https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html#arn-syntax-rds) 섹션을 참조하세요. `ReplicationSourceIdentifier`가 암호화된 소스를 식별하는 경우, 사용자가 `KmsKeyId` 옵션을 사용하여 다른 키를 지정하지 않는 한 Amazon RDS가 기본 KMS 키를 사용합니다.
+ `VpcSecurityGroupIds` - DB 클러스터와 연결할 Amazon EC2 VPC 보안 그룹 목록입니다.
+ `StorageEncrypted` - DB 클러스터의 암호화 여부를 나타냅니다. `ReplicationSourceIdentifier`를 지정하지 않고 이 파라미터를 사용할 경우, Amazon RDS는 기본 KMS 키를 사용합니다.
+ `KmsKeyId` - 암호화된 클러스터의 키입니다. 사용할 경우 ARN, ID, 별칭 ARN 또는 해당 별칭 이름을 사용하여 스토리지 암호화에 사용할 키를 지정할 수 있습니다.

자세한 내용은 *Amazon RDS API 참조*에서 [https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_CreateDBCluster.html](https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_CreateDBCluster.html) 섹션을 참조하세요.

Aurora DB 클러스터를 사용할 수 있게 되면 [https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_CreateDBInstance.html](https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_CreateDBInstance.html) RDS API 작업을 다음 파라미터와 함께 사용하여 기본 인스턴스를 생성할 수 있습니다.
+ `DBClusterIdentifier` - DB 클러스터의 이름입니다.
+ `DBInstanceClass` - 기본 인스턴스에 사용할 DB 인스턴스 클래스의 이름입니다.
+ `DBInstanceIdentifier` - 기본 인스턴스의 이름입니다.
+ `Engine=aurora-postgresql` - 사용할 엔진 이름입니다.

자세한 내용은 *Amazon RDS API 참조*에서 [https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_CreateDBInstance.html](https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_CreateDBInstance.html) 섹션을 참조하세요.

## Aurora 읽기 전용 복제본 승격
<a name="AuroraPostgreSQL.Migrating.RDSPostgreSQL.Replica.Promote"></a>

Aurora PostgreSQL로의 마이그레이션은 복제본 클러스터를 승격하기 전까지는 완료되지 않으므로 RDS for PostgreSQL 소스 DB 인스턴스를 아직 삭제하지 마세요.

복제본 클러스터를 승격하기 전에 RDS for PostgreSQL DB 인스턴스에 진행 중인 트랜잭션이나 데이터베이스 쓰기 작업이 없는지 확인하세요. Aurora 읽기 전용 복제본의 복제본 지연이 0일 때 복제본 클러스터를 승격할 수 있습니다. 복제본 지연 모니터링에 대한 자세한 내용은 [Aurora PostgreSQL 복제 모니터링](AuroraPostgreSQL.Replication.md#AuroraPostgreSQL.Replication.Monitoring) 및 [Amazon Aurora에 대한 인스턴스 수준 지표](Aurora.AuroraMonitoring.Metrics.md#Aurora.AuroraMySQL.Monitoring.Metrics.instances) 섹션을 참조하세요.

### 콘솔
<a name="AuroraPostgreSQL.Migrating.RDSPostgreSQL.Replica.Promote.Console"></a>

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

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

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

1. 복제본 클러스터를 선택합니다.  
![복제본 클러스터를 전체 Aurora PostgreSQL DB 클러스터 상태로 승격](http://docs.aws.amazon.com/ko_kr/AmazonRDS/latest/AuroraUserGuide/images/Aurorapgres-migrate-2.png)

1. **Actions**(작업)에서 **Promote**(승격)를 선택합니다. 몇 분 정도 소요될 수 있으며 가동 중지가 발생할 수 있습니다.

프로세스가 완료되면 Aurora 복제본 클러스터는 Regional Aurora PostgreSQL DB 클러스터이며, 라이터 인스턴스에는 RDS for PostgreSQL DB 인스턴스의 데이터가 들어 있습니다.

### AWS CLI
<a name="AuroraPostgreSQL.Migrating.RDSPostgreSQL.Replica.Promote.CLI"></a>

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

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

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

```
aws rds promote-read-replica-db-cluster ^
    --db-cluster-identifier {{myreadreplicacluster}}
```

### RDS API
<a name="AuroraPostgreSQL.Migrating.RDSPostgreSQL.Replica.Promote.API"></a>

Aurora 읽기 복제본을 독립형 DB 클러스터로 승격하려면 RDS API 작업 [PromoteReadReplicaDBCluster](https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_PromoteReadReplicaDBCluster.html)를 사용합니다.

복제본 클러스터를 승격한 후 다음과 같이 이벤트 로그를 확인하여 승격이 완료되었는지 확인할 수 있습니다.

**Aurora 복제본이 승격되었는지 확인하는 방법**

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

1. 탐색 창에서 **Events**(이벤트) 를 선택합니다.

1. **이벤트** 페이지에서 **소스(Source)** 목록의 해당 클러스터 이름을 찾습니다. 각 이벤트에는 소스, 유형, 시간 및 메시지가 있습니다. 계정의 AWS 리전에서 발생한 모든 이벤트를 볼 수 있습니다. 승격에 성공하면 다음 메시지가 생성됩니다.

   ```
   Promoted Read Replica cluster to a stand-alone database cluster.
   ```

승격이 완료된 후에는 소스 RDS for PostgreSQL DB 인스턴스와 Aurora PostgreSQL DB 클러스터 링크가 해제됩니다. 클라이언트 애플리케이션을 Aurora 읽기 전용 복제본의 엔드포인트로 보낼 수 있습니다. Aurora 엔드포인트에 대한 자세한 내용은 [Amazon Aurora 엔드포인트 연결](Aurora.Overview.Endpoints.md) 섹션을 참조하세요. 이때 DB 인스턴스를 안전하게 삭제할 수 있습니다.