

# 예: Aurora PostgreSQL 및 AWS Database Migration Service를 사용하는 논리적 복제
<a name="AuroraPostgreSQL.Replication.Logical.DMS-Example"></a>

AWS Database Migration Service(AWS DMS)를 사용해 데이터베이스 또는 데이터베이스의 일부를 복제할 수 있습니다. AWS DMS를 사용해 데이터를 Aurora PostgreSQL 데이터베이스에서 다른 오픈 소스 또는 상용 데이터베이스로 마이그레이션합니다. AWS DMS에 대한 자세한 내용은 [AWS Database Migration Service 사용 설명서](https://docs.aws.amazon.com/dms/latest/userguide/)를 참조하십시오.

다음 예에서는 게시자인 Aurora PostgreSQL 데이터베이스에서 논리적 복제를 설정한 다음 마이그레이션을 위해 AWS DMS를 사용하는 방법을 보여줍니다. 이 예시에서는 [예: Aurora PostgreSQL DB 클러스터에서 논리적 복제 사용](AuroraPostgreSQL.Replication.Logical.PostgreSQL-Example.md)에서 생성된 동일한 게시자 및 구독자를 사용합니다.

AWS DMS를 이용해 논리적 복제를 설정하려면 Amazon RDS에서 게시자 및 구독자에 대한 세부 정보를 얻어야 합니다. 특히 게시자의 라이터 DB 인스턴스와 구독자의 DB 인스턴스에 대한 세부 정보가 필요합니다.

게시자의 라이터 DB 인스턴스에 대해 다음 정보를 얻으십시오.
+ Virtual Private Cloud(VPC) 식별자
+ 서브넷 그룹
+ 가용 영역(AZ)
+ VPC 보안 그룹
+ DB 인스턴스 ID

구독자의 DB 인스턴스에 대해 다음 정보를 얻으십시오.
+ DB 인스턴스 ID
+ 소스 엔진

**Aurora PostgreSQL에서 논리적 복제를 위해 AWS DMS를 사용하려면**

1. AWS DMS 작업을 할 게시자 데이터베이스를 준비합니다.

   이를 위해 PostgreSQL 10.x 이상 데이터베이스에서는 AWS DMS 래퍼 함수를 게시자 데이터베이스에 적용해야 합니다. 이와 관련된 사항과 후속 단계에 대한 자세한 내용은 *AWS Database Migration Service 사용 설명서*의 [PostgreSQL 버전 10.x 이상을 AWS DMS의 소스로 사용](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Source.PostgreSQL.html#CHAP_Source.PostgreSQL.v10)을 참조하세요.

1. AWS Management Console에 로그인한 다음 AWS DMS에서 [https://console.aws.amazon.com/dms/v2](https://console.aws.amazon.com/dms/v2) 콘솔을 엽니다. 게시자 및 구독자가 위치한 리전과 동일한 AWS 리전을 선택합니다.

1. AWS DMS 복제 인스턴스를 생성합니다.

   게시자의 라이터 DB 인스턴스에 대한 값과 동일한 값을 선택합니다. 여기에는 다음 설정이 포함합니다.
   + **VPC**에서 라이터 DB 인스턴스의 VPC와 동일한 VPC를 선택합니다.
   + **복제 서브넷 그룹**에서 라이터 DB 인스턴스의 서브넷 그룹과 동일한 서브넷 그룹을 선택합니다. 필요한 경우 새 것을 만듭니다.
   + **가용 영역**에서 라이터 DB 인스턴스의 영역과 동일한 영역을 선택합니다.
   + **VPC 보안 그룹**에서 라이터 DB 인스턴스의 그룹과 동일한 그룹을 선택합니다.

1. 원본에 대해 AWS DMS 엔드포인트를 생성합니다.

   다음 설정을 사용해 게시자를 원본 엔드포인트로 지정합니다.
   + **Endpoint type(엔드포인트 유형)**에서 **Source endpoint(원본 엔드포인트)**를 선택합니다.
   + **Select RDS DB Instance(RDS DB 인스턴스 선택)**을 선택합니다.
   + **RDS Instance(RDS 인스턴스)**에서 게시자의 라이터 DB 인스턴스의 DB 식별자를 선택합니다.
   + **소스 엔진**에서 **postgres**를 선택합니다.

1. 대상에 대해 AWS DMS 엔드포인트를 생성합니다.

   다음 설정을 사용해 구독자를 대상 엔드포인트로 지정합니다.
   + **Endpoint type(엔드포인트 유형)**에서 **Target endpoint(대상 엔드포인트)**를 선택합니다.
   + **Select RDS DB Instance(RDS DB 인스턴스 선택)**을 선택합니다.
   + **RDS Instance(RDS 인스턴스)**에서 구독자 DB 인스턴스의 DB 식별자를 선택합니다.
   + **소스 엔진**의 값을 선택합니다. 예를 들어 구독자가 RDS PostgreSQL 데이터베이스인 경우 **postgres**를 선택합니다. 구독자가 Aurora PostgreSQL 데이터베이스인 경우 **aurora-postgresql**을 선택합니다.

1. AWS DMS 데이터베이스 마이그레이션 작업을 생성합니다.

   데이터베이스 마이그레이션 작업을 사용하여 마이그레이션할 데이터베이스 테이블을 지정하고, 대상 스키마를 사용해 데이터를 매핑하고, 대상 데이터베이스에 새 테이블을 생성합니다. 최소한 **Task configuration(작업 구성)**에 대해 다음 설정을 사용하십시오.
   + **Replication instance(복제 인스턴스)**에서 이전 단계에서 생성한 복제 인스턴스를 선택합니다.
   + **Source database endpoint(원본 데이터베이스 엔드포인트)**에서 이전 단계에서 생성한 게시자 원본을 선택합니다.
   + **Target database endpoint(대상 데이터베이스 엔드포인트)**에서 이전 단계에서 생성한 구독자 대상을 선택합니다.

   작업에 관한 나머지 세부 정보는 마이그레이션 프로젝트에 따라 다릅니다. DMS 태스크의 모든 세부 정보 지정에 대한 자세한 내용은 *AWS Database Migration Service 사용 설명서*에서 [AWS DMS 태스크 사용](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Tasks.html)을 참조하세요.

작업이 생성되고 나면 AWS DMS에서 게시자에서 구독자로 데이터가 마이그레이션되기 시작합니다.