데이터베이스를 Amazon Relational Database Service(Amazon RDS) 또는 Amazon Aurora로 마이그레이션하고 싶습니다. 어떻게 하면 가동 중지 시간을 최소화하면서 이 작업을 수행할 수 있습니까?
간략한 설명
참고: 동종 마이그레이션을 수행하는 경우 가능하면 엔진의 기본 도구(예: MySQL 덤프 또는 MySQL 복제)를 사용하십시오.
AWS DMS를 사용하여 Amazon RDS DB 인스턴스로 마이그레이션하려면 다음을 수행합니다.
- 복제 인스턴스 만들기
- 대상 및 소스 엔드포인트 생성
- 소스 엔드포인트 스키마 새로 고침
- 마이그레이션 작업 생성
- 마이그레이션 작업 모니터링
이러한 단계는 Amazon RDS for Oracle 및 Amazon Aurora for MySQL DB 인스턴스를 비롯한 모든 Amazon RDS 및 Amazon Aurora 엔진 유형에 사용할 수 있습니다.
해결 방법
참고: AWS DMS는 테이블 데이터를 마이그레이션하기 전에 필요한 경우에만 대상에 프라이머리 키가 있는 테이블을 생성합니다. 전체 대상 스키마를 생성하려면 AWS Schema Conversion Tool(AWS SCT)을 사용하십시오. 자세한 내용은 스키마 변환을 참조하십시오.
(선택 사항) Amazon CloudWatch로 로깅 켜기
Amazon CloudWatch 로그는 마이그레이션 시 잠재적인 문제에 대해 알림을 보낼 수 있습니다. 자세한 내용은 Amazon CloudWatch를 사용한 복제 작업 모니터링을 참조하십시오.
복제 인스턴스 만들기
- AWS DMS 콘솔을 열고 탐색 창에서 복제 인스턴스를 선택합니다.
- 복제 인스턴스 만들기를 선택합니다.
- 복제 인스턴스 이름, 설명, 인스턴스 클래스, Amazon Virtual Private Cloud(Amazon VPC) 및 다중 AZ 기본 설정을 입력합니다.
참고: - 마이그레이션 워크로드에 충분한 인스턴스 클래스를 선택하십시오. 인스턴스가 워크로드에 충분하지 않은 경우 나중에 복제 인스턴스를 수정할 수 있습니다.
- 고급 섹션에서 VPC 보안 그룹을 선택하거나 기본 옵션을 선택합니다.
- 복제 인스턴스 만들기를 선택합니다.
대상 및 소스 엔드포인트 생성
- AWS DMS 콘솔을 열고 탐색 창에서 엔드포인트를 선택합니다.
- Create endpoint(엔드포인트 생성)를 선택하여 소스 및 대상 데이터베이스를 생성합니다.
- 엔드포인트 유형에서는 소스를 선택합니다.
- 엔드포인트의 엔진별 정보를 입력합니다.
- Run Test(테스트 실행)를 선택합니다.
- 테스트가 완료되면 Save(저장)를 선택합니다.
- 3~6단계를 반복하되, 엔드포인트 유형에서 대상을 선택합니다.
참고: 대상과 소스에 대해 모두 이 단계를 완료합니다.
소스 엔드포인트 스키마 새로 고침<b></b>
- AWS DMS 콘솔을 열고 탐색 창에서 엔드포인트를 선택합니다.
- 소스 엔드포인트를 선택하고 스키마 새로 고침을 선택합니다.
- 스키마 새로 고침을 선택합니다.
참고: AWS DMS 작업을 생성할 때 소스 스키마가 테이블 매핑에 나타나도록 소스를 새로 고쳐야 합니다.
마이그레이션 작업 생성
- AWS DMS 콘솔을 열고 탐색 창에서 데이터베이스 마이그레이션 작업을 선택합니다.
- 작업 생성을 선택합니다.
- 작업 식별자, 복제 인스턴스, 소스 데이터베이스 엔드포인트, 대상 데이터베이스 엔드포인트 및 마이그레이션 유형을 지정합니다. 다음 마이그레이션 유형 중 하나를 선택합니다.
기존 데이터만 마이그레이션 - 일회성 마이그레이션에는 이 마이그레이션 유형을 사용합니다.
기존 데이터 마이그레이션 및 진행 중인 변경 사항 복제 - 이 마이그레이션 유형을 사용하여 가동 중지 시간을 최소화하면서 대규모 데이터베이스를 AWS 클라우드로 마이그레이션할 수 있습니다.
진행 중인 복제 변경 사항 마이그레이션 - 기존 데이터를 이미 마이그레이션했고 소스 데이터베이스를 AWS 클라우드에 호스팅된 대상 MySQL 데이터베이스와 동기화하려는 경우, 이 마이그레이션 유형을 사용하십시오.
- 작업 설정 섹션에서 필요에 따라 작업을 수정합니다.
- 테이블 매핑 섹션에서 안내 UI를 선택합니다.
- 새 선택 규칙 추가를 선택하고 스키마와 테이블 이름을 지정합니다.
참고: 선택한 객체 일부 또는 전체의 소스 스키마, 테이블 또는 열 이름을 변경하거나 변환할 수 있습니다. 이렇게 하려면 변환 규칙 섹션을 확장합니다. 새 변환 규칙 추가를 선택합니다. 그런 다음, 대상과 스키마 이름, 작업을 선택합니다.
- 작업 생성을 선택합니다.
참고: 대규모 객체(LOB) 열이 있는 경우 제한된 LOB 모드를 사용하십시오. 자세한 내용은 AWS DMS 작업의 소스 데이터베이스에 대한 LOB 지원 설정을 참조하십시오.
마이그레이션 작업 모니터링
- 작업 모니터링 보기를 사용하여 마이그레이션 작업을 모니터링합니다. 성공적으로 마이그레이션된 테이블과 마이그레이션 진행 중인 테이블을 확인할 수 있습니다. 다음 메시지 유형에 주의하십시오.
I - 정보 메시지를 나타냅니다.
W - 경고를 나타냅니다.
E - 데이터베이스를 마이그레이션할 때 발생한 오류를 나타냅니다.
- 터미널을 통해 소스 및 대상 인스턴스에 연결하여 데이터베이스가 성공적으로 마이그레이션되었는지 확인합니다.
Oracle 마이그레이션
Oracle을 소스 데이터베이스로 사용하는 경우 AWS DMS는 테이블을 지정된 대상 엔드포인트 사용자에게 마이그레이션합니다. 변환 규칙을 사용하여 Oracle 대상의 스키마를 변경할 수 있습니다. 자세한 내용은 Oracle 대상의 사용자 및 스키마 변경을 참조하십시오.
MySQL/PostgreSQL/SQL 서버로 마이그레이션
마이그레이션하는 동안 스키마와 테이블은 대상에서 동일한 이름으로 마이그레이션됩니다. 테이블을 대상의 다른 스키마/테이블로 마이그레이션하려면 매핑 규칙을 생성하여 대상 데이터베이스에 새 스키마/테이블을 지정합니다.
{
"rules": [{
"rule-type": "selection",
"rule-id": "1",
"rule-name": "1",
"object-locator": {
"schema-name": "test",
"table-name": "%"
},
"rule-action": "include"
}, {
"rule-type": "transformation",
"rule-id": "2",
"rule-name": "2",
"rule-action": "rename",
"rule-target": "schema",
"object-locator": {
"schema-name": "test"
},
"value": "newtest"
}
]
}
로그를 확인하여 오류가 없는지 확인합니다.
새 대상 데이터베이스로 전환하기 전에 소스 데이터베이스와 대상 데이터베이스의 지연 시간을 모니터링하고 데이터 수를 비교합니다. 자세한 내용은 AWS Database Migration Service의 마이그레이션 작업 문제 해결을 참조하십시오.
관련 정보
AWS Database Migration Service 작동 방식
데이터베이스 마이그레이션 단계별 연습
데이터 마이그레이션 소스
데이터 마이그레이션 대상