AWS Database Migration Service(AWS DMS)를 사용하여 소스 엔진에서 대상 엔진으로 데이터를 마이그레이션하려고 합니다. 그러나 작업이 오류 메시지 없이 실패합니다.
간략한 설명
AWS DMS 작업이 실패하면 작업 로그에 항목이 작성됩니다. 작업 로그는 오류 메시지(]E:) 또는 경고 메시지(]W:)와 함께 실패 원인에 대한 정보를 제공합니다. 경우에 따라 오류나 경고 없이 AWS DMS 작업이 실패할 수 있어 문제 해결이 어렵습니다.
AWS DMS 작업은 대부분 다음 이유 중 하나로 인해 실패합니다.
복제 인스턴스에서의 리소스 경합
CPU와 메모리는 마이그레이션 작업에 필요한 가장 중요한 두 가지 리소스입니다.
- CPU는 먼저 소스 데이터 유형을 AWS DMS 유형 데이터 유형으로 변환한 다음 대상 데이터 유형으로 변환해야 합니다.
- AWS DMS는 소스 및 대상에 스트림을 생성하므로 메모리가 필요합니다. AWS DMS는 복제 인스턴스의 메모리에 있는 스트림 버퍼에 정보를 저장합니다.
또한 내부 모니터링 시스템은 CPU와 메모리를 사용하여 복제 인스턴스를 모니터링합니다. CPU 또는 메모리에서 경합이 발생하면 마이그레이션 작업이 자동으로 실패할 수 있습니다.
복제 인스턴스의 스토리지 부족 상태
복제 인스턴스 스토리지가 가득 차면 마이그레이션 작업이 오류 없이 자동으로 실패할 수 있습니다.
내부 오류 발생
내부 오류가 있는 경우 AWS DMS 작업도 자동으로 실패할 수 있습니다. 내부 오류는 기본적으로 기록되는 작업 로그에 표시되지 않습니다.
해결 방법
참고: 작업이 비관계형 데이터베이스 관리 시스템을 사용하는 경우 병렬 설정 없이 작업을 실행하는 것이 좋습니다. 자세한 내용을 보려면 대상 메타데이터 작업 설정을 참조하세요.
자세한 내용을 보려면 DMS, 소스 및 대상 로그를 검토하세요. 작업이 자동으로 실패한 후 작업 로그에 마지막으로 입력한 시간을 확인합니다. 그런 다음 장애가 기록된 시간과 동일한 시간 동안 복제 인스턴스의 CPU, 메모리 및 디스크 사용률을 검토합니다.
FreeableMemory가 낮고 SwapUsage이 많을 경우 복제 인스턴스에서 메모리 경합이 발생할 수 있습니다. 자세한 내용을 보려면 AWS Data Migration Service 지표를 참조하세요.
CloudWatch 지표를 보려면 다음 단계를 완료하세요.
- AWS DMS 콘솔을 엽니다.
- 탐색 창에서 데이터베이스 마이그레이션 작업을 선택합니다.
- 실패한 작업의 이름을 선택합니다.
- 개요 세부 정보 섹션에서 복제 인스턴스의 이름을 기록해 둡니다.
- 탐색 창에서 복제 인스턴스를 선택합니다.
- 기록해 둔 복제 인스턴스의 이름을 선택합니다.
- 마이그레이션 작업 지표 섹션에서 CPUUtilization, SwapUsage, FreeableMemory 및 FreeStorageSpace 지표를 검토합니다.
- 세부 정보를 보려면 지표 위에 마우스를 놓고 추가 옵션 아이콘을 선택합니다.
- 지표에서 보기를 선택합니다. 그러면 CloudWatch 콘솔이 열립니다.
CloudWatch 콘솔에서 작업 실패 시점의 지표 사용률을 확인합니다.
CPU 또는 메모리 경합이 계속되는 경우 복제 인스턴스에서 실행 중인 작업의 수를 줄이세요. 작업 수를 줄이려면 새 복제 인스턴스를 시작하고 여러 복제 인스턴스에 작업을 분산합니다. 또는 복제 인스턴스를 더 큰 인스턴스 유형으로 확장하세요.
참고: T2 인스턴스는 CPU 크레딧이 소진된 후 기본 성능을 제공합니다. 예를 들어 T2.micro 인스턴스는 10% 의 기준 성능을 제공합니다. CPU 사용률을 확인할 때 인스턴스 유형을 고려하세요. 자세한 내용을 보려면 성능 버스트 기능 인스턴스의 주요 개념 및 정의를 참조하세요.
자동 실패의 원인을 파악한 후 작업을 다시 시작합니다. CPU, 메모리 또는 디스크 공간에 대한 경합이 없다면 내부 오류로 인해 작업이 실패했을 수 있습니다. 내부 오류를 해결하려면 상세 디버깅을 켜세요. 오류가 발생하기 전에 발생한 로그를 검토한 다음 관련 로그에 대한 세부 디버깅을 설정합니다. 예를 들어, 마지막 로그가 TARGET_APPLY에서 발생한 로그인 경우 SORTER, TARGET_APPLY에 대한 상세 디버깅을 켭니다. 세부 디버깅을 설정한 후 작업을 다시 시작하고 작업 로그를 검토하여 작업이 실패한 이유를 확인합니다.
참고: 이 문제는 데이터 문제가 아니라 유효성 검사 관련 문제 때문일 수 있습니다. 검증 구성 요소가 문제의 원인인지 테스트하려면 검증 전용 작업을 실행하여 문제가 발생하는지 확인하세요.
관련 정보
AWS Database Migration Service에서 마이그레이션 작업 문제 해결
AWS로부터 기술 지원을 받으려면 어떻게 해야 하나요?
내 AWS DMS 복제 DB 인스턴스가 storage-full 상태인 이유는 무엇인가요?