

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

# 에 대한 복제 설정 AWS Database Migration Service
<a name="CHAP_GettingStarted.Replication"></a>

이 항목에서는 소스 데이터베이스와 대상 데이터베이스 간의 복제를 설정합니다.

## 1단계: AWS DMS 콘솔을 사용하여 복제 인스턴스 생성
<a name="CHAP_GettingStarted.Replication.ReplicationInstance"></a>

작업을 시작하려면 복제 인스턴스를 AWS DMS생성합니다.

*복제 인스턴스*는 소스 엔드포인트와 대상 엔드포인트 간에 실제 데이터 마이그레이션을 수행합니다. 소스 데이터베이스에서 대상 데이터베이스로 데이터를 마이그레이션하는 작업을 수행하려면 인스턴스에 충분한 스토리지 및 처리 능력이 필요합니다. 이 복제 인스턴스의 크기는 마이그레이션할 데이터의 양과 인스턴스가 수행해야 하는 태스크에 따라 달라집니다. 복제 인스턴스에 대한 자세한 내용은 [AWS DMS 복제 인스턴스 작업](CHAP_ReplicationInstance.md) 섹션을 참조하세요.

![\[복제 인스턴스 생성\]](http://docs.aws.amazon.com/ko_kr/dms/latest/userguide/images/datarep-create-replication-30a.png)


**콘솔을 사용하여 복제 인스턴스를 생성하려면**

1. 에 로그인 AWS Management Console 하고 [https://console.aws.amazon.com/dms/v2/](https://console.aws.amazon.com/dms/v2/) AWS DMS 콘솔을 엽니다.

1. 탐색 창에서 **복제 인스턴스**를 선택하고, **복제 인스턴스 생성**을 선택합니다.

1. **복제 인스턴스 생성** 페이지에서 복제 인스턴스 구성을 지정합니다.

   1. **이름**에 **DMS-instance**를 입력합니다.

   1. **설명**에 복제 인스턴스에 대한 간단한 설명을 입력합니다(선택 사항).

   1. **인스턴스 클래스**에서 **dms.t3.medium**을 선택한 상태로 둡니다.

      인스턴스에는 마이그레이션을 위한 충분한 스토리지, 네트워킹 및 처리 능력이 필요합니다. 인스턴스 클래스를 선택하는 방법에 대한 자세한 내용은 [마이그레이션에 적합한 AWS DMS 복제 인스턴스 선택](CHAP_ReplicationInstance.Types.md) 섹션을 참조하세요.

   1. **엔진 버전**에서 기본값을 그대로 사용합니다.

   1. **다중 AZ**에서 **개발 또는 테스트 워크로드(단일 AZ)**를 선택합니다.

   1. **할당된 스토리지(GiB)**에서 기본값인 50GiB를 그대로 사용합니다.

      에서 AWS DMS스토리지는 대부분 로그 파일과 캐시된 트랜잭션에 사용됩니다. 캐시 트랜잭션에서 스토리지는 캐시된 트랜잭션을 디스크에 기록해야 할 때에만 사용됩니다. 따라서 AWS DMS 는 상당한 양의 스토리지를 사용하지 않습니다.

   1. **네트워크 유형**에서 **IPv4**를 선택합니다.

   1. **VPC**에서 **DMSVPC**를 선택합니다.

   1. **복제 서브넷 그룹**에서 현재 선택한 복제 서브넷 그룹을 그대로 둡니다.

   1. **퍼블릭 액세스 가능** 확인란의 선택을 취소합니다.

1. 필요한 경우 **고급 보안 및 네트워크 구성** 탭을 선택하여 네트워크 및 암호화 설정에 대한 값을 설정합니다.

   1. **가용 영역**에서 **us-west-2a**를 선택합니다.

   1. **VPC 보안 그룹**에서 **기본** 보안 그룹을 선택합니다(이미 선택되지 않은 경우).

   1. **AWS KMS key**에서 **(기본값) aws/dms**를 선택한 상태로 둡니다.

1. **유지 관리** 탭의 설정을 그대로 둡니다. 기본값은 각 AWS 리전의 8시간 블록 시간 중에서 임의로 선택한 30분 기간으로, 요일에 무작위로 발생합니다.

1. **생성(Create)**을 선택합니다.

AWS DMS 는 마이그레이션을 수행할 복제 인스턴스를 생성합니다.

## 2단계: 소스 및 대상 엔드포인트 지정
<a name="CHAP_GettingStarted.Replication.Endpoints"></a>

복제 인스턴스가 생성되는 동안 앞서 생성한 Amazon RDS 데이터베이스를 위한 소스 및 대상 데이터 스토어를 지정할 수 있습니다. 각 엔드포인트를 개별적으로 생성합니다.

![\[엔드포인트 생성\]](http://docs.aws.amazon.com/ko_kr/dms/latest/userguide/images/datarep-create-endpoint-30a.png)


**AWS DMS 콘솔을 사용하여 소스 엔드포인트 및 데이터베이스 엔드포인트를 지정하려면**

1. 콘솔의 탐색 창에서 **엔드포인트**를 선택하고 **엔드포인트 생성**을 선택합니다.

1. **엔드포인트 생성** 페이지에서 **소스** 엔드포인트 유형을 선택합니다. **RDS DB 인스턴스 선택** 확인란을 선택하고 **dms-mariadb** 인스턴스를 선택합니다.

1. **엔드포인트 구성** 섹션에서 **엔드포인트 식별자**로 **dms-mysql-source**를 입력합니다.

1. **소스 엔진**에서 **MySQL**을 선택한 상태로 둡니다.

1. **엔드포인트 데이터베이스 액세스**에서 **수동으로 액세스 정보 제공**을 선택합니다. **포트**, **보안 소켓 계층(SSL) 모드**, **사용자 이름** 및 **암호**가 올바른지 확인합니다.

1. **엔드포인트 연결 테스트(선택 사항)** 탭을 선택합니다. **VPC**에서 **DMSVPC**를 선택합니다.

1. **복제 인스턴스**에서 dms-instance를 선택한 상태로 둡니다.

1. **테스트 실행**을 선택합니다.

   **테스트 실행**을 선택하면는 사용자가 제공한 세부 정보가 포함된 엔드포인트를 AWS DMS 생성하고 연결합니다. 연결이 실패할 경우 엔드포인트 정의를 편집하고 연결을 다시 테스트하세요. 엔드포인트를 수동으로 삭제할 수도 있습니다.

1. 테스트에 성공하면 **엔드포인트 생성**을 선택합니다.

1.  AWS DMS 콘솔을 사용하여 대상 데이터베이스 엔드포인트를 지정합니다. 이렇게 하려면 다음 설정을 사용하여 이전 단계를 반복합니다.
   + **엔드포인트 유형**: **대상 엔드포인트**
   + **RDS 인스턴스**: **dms-postgresql**
   + **엔드포인트 식별자**: **dms-postgresql-target**
   + **대상 엔진**: **PostgreSQL**을 선택한 상태로 둡니다.

엔드포인트에 대한 모든 정보 제공을 마치면는 데이터베이스 마이그레이션 중에 사용할 소스 및 대상 엔드포인트를 AWS DMS 생성합니다.

## 3단계: 태스크 생성 및 데이터 마이그레이션
<a name="CHAP_GettingStarted.Replication.Tasks"></a>

이 단계에서는 생성한 데이터베이스 간에 데이터를 마이그레이션하는 태스크를 생성합니다.

![\[마이그레이션 태스크 생성\]](http://docs.aws.amazon.com/ko_kr/dms/latest/userguide/images/datarep-create-task-20a.png)


**마이그레이션 태스크를 생성하고 데이터베이스 마이그레이션을 시작하려면**

1. 콘솔 탐색 창에서 **데이터베이스 마이그레이션 태스크**를 선택한 다음 **태스크 생성**을 선택합니다. **데이터베이스 마이그레이션 태스크 생성** 페이지가 열립니다.

1. **태스크 구성** 섹션에서 다음 태스크 옵션을 지정합니다.
   + **태스크 식별자**: **dms-task**를 입력합니다.
   + **복제 인스턴스**: 복제 인스턴스를 선택합니다(**dms-instance-vpc-*<vpc id>***).
   + **소스 데이터베이스 엔드포인트**: **dms-mysql-source**를 선택합니다.
   + **대상 데이터베이스 엔드포인트**: **dms-postgresql-target**을 선택합니다.
   + **마이그레이션 유형**: **기존 데이터 마이그레이션 및 진행 중 변경 사항 복제**를 선택합니다.

1. **태스크 설정** 탭을 선택합니다. 다음 설정을 지정합니다.
   + **대상 테이블 준비 모드**: **아무 작업 안 함**
   + **전체 로드 완료 후 태스크 중지**: **중지 안 함**

1. **테이블 매핑** 탭을 선택하고 **선택 규칙**을 확장합니다. **선택 규칙 추가**를 선택합니다. 다음 설정을 지정합니다.
   + **스키마**: **스키마 입력**
   + **스키마 이름**: **dms\$1sample**

1. **마이그레이션 작업 시작 구성** 탭을 선택합니다. 작업을 **시작하기 전에 평가를 실행하려면 마이그레이션 전 평가 시작(권장)**을 선택합니다. 또는 **생성 시 자동으로 시작**을 선택하여 마이그레이션을 즉시 시작하거나 **평가 실행만** 선택하여 작업을 시작하지 않고 평가할 수 있습니다.  
![\[마이그레이션 태스크 생성\]](http://docs.aws.amazon.com/ko_kr/dms/latest/userguide/images/datarep-create-task-21.png)

1. **작업 생성**을 선택합니다.

AWS DMS 그런 다음는 마이그레이션 작업을 생성하고 시작합니다. 초기 데이터베이스 복제는 약 10분이 걸립니다. AWS DMS 가 데이터 마이그레이션을 완료하기 전에 자습서의 다음 단계를 수행해야 합니다.

## 4단계: 복제 테스트
<a name="CHAP_GettingStarted.Replication.Monitoring"></a>

이 단원에서는 초기 복제 도중 및 이후에 소스 데이터베이스에 데이터를 삽입하고 대상 데이터베이스에서 삽입된 데이터를 쿼리합니다.

**복제를 테스트하려면**

1. 데이터베이스 마이그레이션 태스크의 상태가 **실행 중**으로 표시되지만 이전 단계에서 시작한 초기 데이터베이스 복제가 완료되지 않았는지 확인합니다.

1. Amazon EC2 클라이언트에 연결하고 다음 명령을 사용하여 MySQL 클라이언트를 시작합니다. MySQL 데이터베이스 엔드포인트를 제공합니다.

   ```
   mysql -h dms-mysql.abcdefg12345.us-west-2.rds.amazonaws.com -P 3306 -u admin -pchangeit dms_sample
   ```

1. 다음 명령을 실행하여 소스 데이터베이스에 레코드를 삽입합니다.

   ```
   MySQL [dms_sample]> insert person (full_name, last_name, first_name) VALUES ('Test User1', 'User1', 'Test');
   Query OK, 1 row affected (0.00 sec)
   ```

1. MySQL 클라이언트를 종료합니다.

   ```
   MySQL [dms_sample]> exit
   Bye
   ```

1. 복제가 완료되기 전에 대상 데이터베이스에서 새 레코드를 쿼리합니다.

   다음 명령으로 Amazon EC2 인스턴스에서 대상 데이터베이스 엔드포인트를 제공하여 대상 데이터베이스에 연결합니다.

   ```
   psql \
      --host=dms-postgresql.abcdefg12345.us-west-2.rds.amazonaws.com \
      --port=5432 \
      --username=postgres \
      --password \
      --dbname=dms_sample
   ```

   메시지가 표시되면 암호(**changeit**)를 제공합니다.

1. 복제가 완료되기 전에 대상 데이터베이스에서 새 레코드를 쿼리합니다.

   ```
   dms_sample=> select * from dms_sample.person where first_name = 'Test';
    id | full_name | last_name | first_name
   ----+-----------+-----------+------------
   (0 rows)
   ```

1. 마이그레이션 태스크가 실행되는 동안 데이터베이스 마이그레이션의 진행 상황을 모니터링할 수 있습니다.
   + DMS 콘솔 탐색 창에서 **데이터베이스 마이그레이션 태스크**를 선택합니다.
   + **dms-task**를 선택합니다.
   + **테이블 통계**를 선택합니다.

   모니터링에 대한 자세한 내용은 [AWS DMS 작업 모니터링](CHAP_Monitoring.md) 섹션을 참조하세요.

1. 복제가 완료되면 대상 데이터베이스에서 새 레코드를 다시 쿼리합니다. 초기 복제가 완료된 후 새 레코드를 AWS DMS 마이그레이션합니다.

   ```
   dms_sample=> select * from dms_sample.person where first_name = 'Test';
      id    | full_name  | last_name | first_name
   ---------+------------+-----------+------------
    7077784 | Test User1 | User1     | Test
   (1 row)
   ```

1. psql 클라이언트를 종료합니다.

   ```
   dms_sample=> quit
   ```

1. 1단계를 반복하여 소스 데이터베이스에 다시 연결합니다.

1. `person` 테이블에 다른 레코드를 삽입합니다.

   ```
   MySQL [dms_sample]> insert person (full_name, last_name, first_name) VALUES ('Test User2', 'User2', 'Test');
   Query OK, 1 row affected (0.00 sec)
   ```

1. 3단계 및 4단계를 반복하여 소스 데이터베이스의 연결을 끊고 대상 데이터베이스에 연결합니다.

1. 대상 데이터베이스에서 복제된 데이터를 다시 쿼리합니다.

   ```
   dms_sample=> select * from dms_sample.person where first_name = 'Test';
      id    | full_name  | last_name | first_name
   ---------+------------+-----------+------------
    7077784 | Test User1 | User1     | Test
    7077785 | Test User2 | User2     | Test
   (2 rows)
   ```

## 5단계: AWS DMS 리소스 정리
<a name="CHAP_GettingStarted.Replication.Deleting"></a>

시작하기 자습서를 완료하면 생성한 리소스를 삭제할 수 있습니다. AWS 콘솔을 사용하여 제거할 수 있습니다. 복제 인스턴스 및 엔드포인트를 삭제하기 전에 마이그레이션 태스크를 삭제해야 합니다.

**콘솔을 사용하여 마이그레이션 태스크를 삭제하려면**

1.  AWS DMS 콘솔 탐색 창에서 **데이터베이스 마이그레이션 작업을** 선택합니다.

1. **dms-task**를 선택합니다.

1. **작업**, **삭제**를 선택합니다.

**Console을 사용하여 복제 인스턴스를 삭제하려면**

1.  AWS DMS 콘솔 탐색 창에서 **복제 인스턴스**를 선택합니다.

1. **DMS-instance**를 선택합니다.

1. **작업**, **삭제**를 선택합니다.

AWS DMS 는 복제 인스턴스를 삭제하고 **복제 인스턴스** 페이지에서 제거합니다.

**콘솔을 사용하여 엔드포인트를 제거하려면**

1.  AWS DMS 콘솔 탐색 창에서 **엔드포인트를** 선택합니다.

1. **dms-mysql-source**를 선택합니다.

1. **작업**, **삭제**를 선택합니다.

 AWS DMS 리소스를 삭제한 후에는 다음 리소스도 삭제해야 합니다. 다른 서비스의 리소스를 삭제하는 데 도움이 필요하면 각 서비스의 설명서를 참조하세요.
+ RDS 데이터베이스.
+ RDS 데이터베이스 파라미터 그룹.
+ RDS 서브넷 그룹.
+ 데이터베이스 및 복제 인스턴스와 함께 생성된 모든 Amazon CloudWatch 로그
+ Amazon VPC 및 Amazon EC2 클라이언트용으로 생성된 보안 그룹. **launch-wizard-1** 보안 그룹에 대한 **기본값**에서 인바운드 규칙을 제거해야 합니다. 이는 보안 그룹을 삭제하는 데 필요합니다.
+ Amazon EC2 클라이언트.
+ Amazon VPC.
+ Amazon EC2 클라이언트용 Amazon EC2 키 페어