Stopped(중지) 또는 Failed(실패) 상태인 AWS DMS 태스크를 언제 다시 시작하고 재개해야 하나요?

4분 분량
0

Stopped(중지) 또는 Failed(실패) 상태인 AWS Database Migration Service(AWS DMS) 태스크가 있습니다. 복제를 계속하려면 언제 AWS DMS 태스크를 재개하거나 다시 시작해야 합니까?

간략한 설명

AWS DMS 태스크가 중지 또는 실패 상태인 경우 복제를 계속할 수 있는 두 가지 옵션이 있습니다.

  • 재개 - 태스크를 재개하면 AWS DMS는 태스크가 중지되거나 실패하기 전의 마지막 지점부터 복제를 계속합니다.
  • 재시작 - 태스크를 다시 시작하면 AWS DMS는 처음부터 복제를 시작하고 태스크를 생성할 때 선택한 테이블 준비 모드를 사용합니다. 예를 들어 테이블 준비 모드에는 대상의 테이블 삭제, 자르기 및 작업 안 함이 포함됩니다. 자세한 내용은 전체 로드 태스크 설정을 참조하세요.

재개 및 재시작 작업의 동작은 세 가지 AWS DMS 마이그레이션 방법 중 어느 방법을 사용하냐에 따라 다릅니다. 이러한 방법에는 전체 로드, 전체 로드 및 변경 데이터 캡처(CDC), CDC 전용 마이그레이션이 포함됩니다. 자세한 내용은 태스크 생성을 참조하세요.

해결 방법

기존 데이터 마이그레이션(전체 로드)

전체 로드 태스크의 경우 태스크 생성 중 수동으로 태스크를 시작하는 경우 AWS DMS 콘솔에서 재시작 작업을 사용하여 복제를 시작합니다. 이렇게 하면 마이그레이션의 모든 테이블이 다시 로드됩니다.

또한 테이블 데이터 다시 로드 옵션을 사용하여 마이그레이션 중에 실패한 특정 테이블을 다시 로드할 수 있습니다. 즉, 이미 로드된 테이블은 다시 로드할 필요가 없으며 로드가 완료되지 않은 테이블은 다시 로드됩니다.

여러 테이블을 마이그레이션하는 동안 재개 옵션을 사용하면 완전히 완료되지 않은 테이블이 다시 시작됩니다. 마이그레이션을 완료한 테이블에는 영향이 없습니다. 단일 테이블을 마이그레이션하는 경우 재개 옵션을 사용하는 것보다 태스크를 재시작하는 것이 좋습니다.

기존 데이터 및 복제 진행 중인 변경 사항 마이그레이션(전체 로드 및 CDC)

전체 로드 및 CDC 태스크를 사용하는 경우 AWS DMS는 테이블 데이터를 마이그레이션한 다음 소스에서 발생하는 데이터 변경 사항을 적용합니다. 태스크를 다시 시작하면 모든 테이블이 다시 로드되고 다시 시작할 때부터 소스 변경 내용을 캡처하기 시작합니다. 태스크가 작업 안 함 준비 모드로 구성된 경우 태스크를 다시 시작하기 전에 대상 테이블을 수동으로 비웁니다.

태스크를 재개하면 마지막 중지 지점 이후에 캡처된 변경 사항만 데이터베이스에 적용됩니다. 마이그레이션 태스크가 CDC 단계에서 중지되면 AWS DMS는 나중에 사용할 수 있도록 체크포인트 정보를 유지 관리합니다. AWS DMS 콘솔세부 정보 개요 탭에서 태스크 체크포인트를 볼 수 있습니다.

데이터 변경 사항만 복제(CDC 전용)

CDC 전용 태스크를 사용하는 경우 현재 시간 또는 CDC 시작 지점에서 소스 데이터 변경 사항 캡처를 시작할 수 있습니다. CDC 시작 지점이 정의되어 있을 때 태스크를 재시작하면 재로드 작업은 이 시점부터 모든 변경 사항을 로드합니다. CDC 시작 지점 없이 태스크를 재시작하면 태스크가 중지된 시점부터 재시작될 때까지의 CDC 변경 사항이 손실됩니다.

재개 작업은 CDC 시작 지점 구성에 관계없이 마지막 중지 지점의 변경 사항을 계속 복제합니다. 대상 테이블 자르기 준비 모드로 태스크를 다시 시작하면 AWS DMS는 기존 대상 테이블과 해당 메타데이터를 그대로 둡니다. 그러나 마이그레이션을 다시 시작하기 전에 이러한 테이블에서 기존 데이터를 모두 삭제합니다.

AWS DMS 태스크를 재개하거나 재시작하는 경우의 일반적인 시나리오

다음은 AWS DMS 태스크에서 재개 또는 재시작 작업을 사용할 수 있는 경우에 대한 몇 가지 일반적인 예입니다.

AWS DMS 태스크 재시작:

  • 소스 데이터베이스 관리 시스템(DBMS)에 CDC 프로세스를 재개하기 위한 복구 로그 파일이나 트랜잭션 로그 파일이 없는 경우 태스크를 재시작합니다. 태스크를 재시작하면 모든 테이블 데이터가 로드되고 변경 사항이 계속 캡처됩니다.
  • AWS DMS 태스크가 Error(오류) 상태인 경우 이는 태스크에 있는 하나 이상의 테이블을 마이그레이션할 수 없음을 의미합니다. Error(오류) 상태의 태스크는 선택 규칙에서 다른 테이블을 계속 로드하지만, 실패한 상태의 태스크는 심각한 오류로 인해 중지됩니다. 오류를 해결한 후 테이블을 다시 로드하거나 태스크를 재시작하여 오류 상태를 해결합니다. 자세한 내용은 왜 AWS DMS 태스크가 오류 상태인가요?를 참조하세요.
  • 전체 로드 및 CDC 또는 CDC 전용 태스크가 중지되면 데이터 변경 사항이 메모리에서 디스크로 넘어갈 수 있습니다. 디스크로 스왑된 변경 데이터의 볼륨에 따라 태스크 재개가 복제를 계속하는 데 시간이 오래 걸릴 수 있습니다. 이는 AWS DMS 태스크가 디스크에서 이러한 변경 사항을 읽는 데 시간이 더 오래 걸리기 때문입니다. 따라서 가능한 경우 이 대기 시간을 피하려면 작업을 다시 시작합니다.
  • Oracle LogMiner 사용과 AWS DMS Binary Reader 사용 간에 변경하는 경우 CDC 태스크를 재시작해야 합니다.
    참고: CDC 방식을 수정한 후 CDC 복구 체크포인트로 구성된 CDC 전용 태스크를 재시작하면 다음과 유사한 오류가 발생할 수 있습니다.
    '[SOURCE_CAPTURE ]D: Invalid context provided for the Binary Reader based CDC.([SOURCE_CAPTURE ]D: Binary Reader 기반 CDC에 잘못된 컨텍스트가 제공되었습니다.) 재시작 태스크가 필요합니다."
    이 오류를 해결하려면 CDC 시작 지점의 타임스탬프를 기준으로 태스크를 시작합니다.

AWS DMS 태스크 재개:

  • 새 복제 인스턴스로 태스크를 이동하는 경우 태스크를 재개하여 마지막으로 중지된 시점부터 변경 내용을 계속 복제합니다.
  • 소스 또는 대상 데이터베이스를 업그레이드하려면 이러한 데이터베이스에서 실행 중인 모든 AWS DMS 태스크를 중지합니다. 업그레이드가 완료된 후 태스크를 재개합니다.
  • 소스 또는 대상 데이터베이스를 업그레이드하려는 경우 이러한 데이터베이스에서 실행 중인 모든 AWS DMS 태스크를 중지합니다. 업그레이드가 완료된 후 태스크를 재개합니다. 그러나 PostgreSQL 엔진 버전 업그레이드를 수행하려면 인스턴스에 복제 슬롯이 없어야 합니다. 따라서 엔진을 업그레이드하기 전에 복제 슬롯을 삭제한 다음 태스크를 다시 시작하여 복제 슬롯을 다시 생성합니다.

관련 정보

데이터 마이그레이션용 소스

AWS DMS 복제 인스턴스 사용

복제 인스턴스 재부팅

AWS 공식
AWS 공식업데이트됨 일 년 전