

# AWS Database Migration Service를 사용하여 데이터베이스를 Amazon Aurora 로 자동 마이그레이션
<a name="USER_DMS_migration"></a>

Aurora 콘솔을 사용하여 EC2, 온프레미스 또는 기타 클라우드 공급자 인스턴스에서 Aurora로 데이터베이스를 마이그레이션할 수 있습니다. 이 경우 AWS Database Migration Service(AWS DMS)가 사용됩니다. 이에 대한 자세한 내용은 *AWS Database Migration Service 사용 설명서*에서 [AWS Database Migration Service이란 무엇인가요?](https://docs.aws.amazon.com/dms/latest/userguide/Welcome.html)를 참조하세요.

마이그레이션을 시작하려면 먼저 동일한 Aurora DB 클러스터를 생성해야 합니다. 대상 데이터베이스를 생성한 후에는 소스 데이터를 해당 데이터베이스로 가져올 수 있습니다. 1TiB보다 작은 소스 데이터베이스의 경우 이 마이그레이션 작업은 데이터를 Aurora로 마이그레이션하는 데 필요한 시간과 리소스를 줄입니다.

## 개요
<a name="USER_DMS_migration-overview"></a>

Aurora 콘솔을 사용하면 EC2, 온프레미스 또는 기타 클라우드 공급자 데이터베이스를 동등한 Aurora 데이터베이스로 마이그레이션할 수 있습니다. 콘솔에서 마이그레이션을 활성화하려면 Aurora 데이터베이스를 만들어야 합니다.

**참고**  
데이터베이스가 상응하려면 데이터베이스 엔진과 호환되는 엔진 버전이 동일해야 합니다.

이 접근 방식은 다음 데이터베이스 엔진에 사용할 수 있습니다.
+ MySQL
+ PostgreSQL

마이그레이션 프로세스는 다음과 같은 단계로 구성됩니다.
+ Aurora에서 상응하는 데이터베이스를 만듭니다. 그런 다음 소스와 대상 간에 적절한 네트워크를 설정합니다. 동일한 리전, 계정 및 VPC에 있는 EC2 인스턴스의 경우 네트워크 설정을 건너뛸 수 있습니다. 자세한 내용은 *AWS Database Migration Service 사용 설명서*에서 [네트워크 설정](https://docs.aws.amazon.com/dms/latest/userguide/dm-network.html)을 참조하세요. 데이터베이스 만들기에 대한 지침은 [Amazon Aurora DB 클러스터 생성](Aurora.CreateInstance.md) 섹션을 참조하세요.
+ 데이터베이스의 복제 유형을 선택합니다.
  + **전체 로드 마이그레이션** - Aurora가 전체 소스 데이터베이스를 대상 데이터베이스에 복사하며 필요한 경우 대상에 새 테이블을 만듭니다.
**참고**  
이 옵션을 사용하려면 가동 중지 시간이 필요합니다. 마이그레이션 프로세스 중에는 대상 Aurora 데이터베이스를 애플리케이션에서 사용할 수 없습니다.
  + **전체 로드 및 변경 데이터 캡처(CDC) 마이그레이션** - 전체 로드 마이그레이션과 마찬가지로 이 옵션을 사용하면 Aurora가 전체 소스 데이터베이스를 대상으로 복사합니다. 그러나 전체 로드 마이그레이션 후 Aurora는 소스에서 캡처된 변경 사항을 대상 데이터베이스에 적용합니다. 변경 데이터 캡처는 데이터베이스 엔진의 기본 API를 사용하여 데이터베이스 로그에 대한 변경 사항을 수집합니다.
**참고**  
이 옵션을 사용하려면 가동 중지 시간이 필요합니다. 마이그레이션 프로세스 중에는 대상 Aurora 데이터베이스를 애플리케이션에서 사용할 수 없습니다.
  + **변경 데이터 캡처(CDC)** - 마이그레이션 과정 내내 대상 데이터베이스를 계속 사용할 수 있도록 하려면 이 옵션을 사용합니다. Aurora는 소스 데이터베이스의 진행 중인 변경 사항을 대상 데이터베이스로 마이그레이션합니다.
+ Aurora는 마이그레이션을 용이하게 하는 데 필요한 리소스를 만듭니다. Aurora가 필요한 리소스를 만들면 만들어진 리소스에 대해 사용자에게 알리고, 사용자는 데이터 전송을 시작할 수 있습니다.

  마이그레이션을 완료하는 데 필요한 시간은 복제 유형과 소스 데이터베이스 크기에 따라 다릅니다.

## 사전 조건
<a name="USER_DMS_migration-Prerequisites"></a>
+ [네트워크 설정](https://docs.aws.amazon.com/dms/latest/userguide/dm-network.html)(동일한 리전, 계정 및 VPC에 있는 EC2의 경우 건너뛸 수 있음)
+ 소스 및 대상 데이터베이스 설정
  + **MySQL**

    소스 데이터베이스에 대한 다음 기본 사전 조건을 따르세요.
    + [소스로 MySQL 사용](https://docs.aws.amazon.com/dms/latest/userguide/dm-data-providers-source-mysql.html)

    대상 데이터베이스에 대한 다음 기본 사전 조건을 따르세요.
    + [대상으로 MySQL 사용](https://docs.aws.amazon.com/dms/latest/userguide/dm-data-providers-target-mysql.html)

    또한 MySQL 소스 데이터베이스에서 마이그레이션할 경우 Aurora 계정에 복제 관리자 역할이 있어야 합니다. 또한 해당 역할에 적절한 권한이 적용되어 있어야 합니다.
  + **PostgreSQL**

    소스 데이터베이스에 대한 다음 사전 조건을 따르세요.
    + [PostgreSQL을 소스로 사용](https://docs.aws.amazon.com/dms/latest/userguide/dm-data-providers-source-postgresql.html)

    대상 데이터베이스에 대한 다음 사전 조건을 따르세요.
    + [PostgreSQL을 대상으로 사용](https://docs.aws.amazon.com/dms/latest/userguide/dm-data-providers-target-postgresql.html)
**참고**  
일부 AWS DMS 트랜잭션은 DMS 엔진에서 다시 사용하기 전까지 얼마 동안 유휴 상태입니다. PostgreSQL 버전 9.6 이상에서 `idle_in_transaction_session_timeout` 파라미터를 사용하면 유휴 트랜잭션이 시간 초과되어 실패하도록 할 수 있습니다.

## 제한 사항
<a name="USER_DMS_migration-Limitations"></a>

자동 마이그레이션 프로세스에는 다음 제한 사항이 적용됩니다.
+ 소스 데이터베이스 마이그레이션을 시작하려면 대상 데이터베이스 상태가 **사용 가능**이어야 합니다.
+ 소스 데이터베이스는 데이터베이스로만 마이그레이션할 수 있습니다.
  + 다음 중 하나가 아님:
    + Aurora global database
    + Aurora Limitless database
    + Aurora Serverless v1
  + [여기](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Introduction.Sources.html#CHAP_Introduction.Sources.HomogeneousDataMigrations)에 나열된 MySQL 또는 PostgreSQL의 지원되는 버전 사용
+ [DMS의 제한 사항](https://docs.aws.amazon.com/dms/latest/userguide/data-migrations.html#data-migrations-limitations)

**참고**  
기본 AWS DMS 도구는 특정 마이그레이션 시나리오에 대한 선택 규칙을 지원하지만 데이터베이스를 Aurora로 자동 마이그레이션 기능은 지원하지 않습니다.