AWS DMS 작업에서 높은 소스 지연 시간 문제를 해결하려면 어떻게 해야 합니까?

최종 업데이트 날짜: 2019년 10월 1일

AWS Database Migration Service(AWS DMS) 작업에서 높은 소스 지연 시간 문제를 해결하려면 어떻게 해야 합니까?

간략한 설명

Amazon CloudWatch 지표를 사용하여 AWS DMS 작업을 모니터링할 수 있습니다. 마이그레이션 중에 AWS DMS 작업의 지속적 복제 단계인 변경 데이터 캡처(CDC) 중에 소스 지연 시간이 발생할 수 있습니다. CDCLatencySourceCloudWatch 서비스 지표를 사용하여 AWS DMS 작업의 소스 지연 시간을 모니터링할 수 있습니다. AWS DMS 작업에 소스 지연 시간이 나타나는 경우, 다음 중 하나 이상이 원인일 수 있습니다.

  • 소스 데이터베이스에 제한된 리소스가 있습니다.
  • AWS DMS 복제 인스턴스에 제한된 리소스가 있습니다.
  • 소스 데이터베이스와 AWS DMS 복제 인스턴스 간의 네트워크 속도가 느립니다.
  • AWS DMS는 지속적 복제 중에 소스 데이터베이스의 트랜잭션 로그에서 새로운 변경 사항을 읽습니다.
  • AWS DMS 작업 설정이 적절하지 않거나 LOB(대용량 객체)가 마이그레이션 중입니다.
  • AWS DMS 작업에 사용되는 Oracle 소스 데이터베이스는 지속적 복제를 위해 LogMiner를 사용 중입니다.

해결 방법

소스 데이터베이스에 제한된 리소스가 있습니다. 소스 DB 엔진에 기본 모니터링을 사용하여 데이터베이스에 성능 병목 현상이 발생하지 않도록 하는 것이 좋습니다(예: CPU 또는 메모리 경합 또는 IO 포화).

AWS DMS 복제 인스턴스에 제한된 리소스가 있습니다. CPUUtilization, FreeStorageSpaceFreeableMemory와 같은 복제 인스턴스 지표를 모니터링합니다. 복제 인스턴스에 작업을 관리할 리소스가 충분한지 확인합니다.

소스 데이터베이스와 AWS DMS 복제 인스턴스 간의 네트워크 속도가 느립니다. 설계상 단일 AWS DMS 작업은 전체 네트워크 대역폭을 사용할 수 없습니다. 변경 비율이 높고 사용량이 많은 프로덕션 데이터베이스인 경우 네트워크 대역폭을 늘려야 할 수 있습니다. 예를 들어, AWS Direct Connect 연결을 사용합니다.

AWS DMS는 지속적 복제 중에 소스 데이터베이스의 트랜잭션 로그에서 새로운 변경 사항을 읽습니다. 소스 DB 엔진에 따라 원본 트랜잭션 로그에 커밋되지 않은 데이터가 있을 수도 있습니다. 지속적 복제 중에 AWS DMS는 트랜잭션 로그에서 수신되는 변경 사항을 읽지만, AWS DMS는 커밋된 변경 사항만 대상에 전달합니다. 결과적으로 소스 지연 시간이 발생할 수 있습니다.

하지만 소스 데이터베이스가 대용량 데이터 세트를 쓰고 커밋을 더 적게 실행하면 AWS DMS는 트랜잭션 로그의 읽기를 계속 수행합니다. 하지만 AWS DMS는 전체 트랜잭션이 커밋될 때까지 변경 사항을 대상에 적용하지 않습니다. 이로 인해 소스 지연 시간이 발생할 수도 있습니다. 소스 지연 시간이 증가하기 때문에 대상 지연 시간도 증가합니다.

AWS DMS 작업 설정이 적절하지 않거나 LOB(대용량 객체)가 마이그레이션 중입니다. AWS DMS는 지속적 복제를 위해 LOB 데이터를 두 단계로 마이그레이션합니다. 먼저, AWS DMS는 LOB가 있는 열을 제외한 모든 열을 포함하는 대상 테이블에 새로운 행을 생성합니다. 그런 다음 AWS DMS는 LOB가 있는 행을 업데이트합니다. LOB 열이 있는 테이블을 자주 업데이트하는 소스 데이터베이스가 있는 경우 소스 지연 시간이 발생할 수 있습니다. 자세한 내용은 대용량 이진 객체(LOB) 마이그레이션을 참조하십시오.

AWS DMS 작업에 사용되는 Oracle 소스 데이터베이스는 지속적 복제를 위해 LogMiner를 사용 중입니다. 많은 수의 다시 실행 로그를 생성하는 사용량이 많은 소스 데이터베이스가 있거나 소스 데이터베이스가 Oracle Automatic Storage Management(ASM)를 사용하는 경우 지속적 복제를 위해 이진 Reader 방법을 사용해야 할 수 있습니다. 자세한 내용은 변경 데이터 캡처(CDC)를 위해 Oracle LogMiner 또는 Oracle Binary Reader 사용을 참조하십시오.


이 문서가 도움이 되었습니까?

AWS에서 개선해야 할 부분이 있습니까?


도움이 필요하십니까?