Amazon Redshift를 대상 엔드포인트로 사용하는 AWS DMS 작업의 연결 실패 및 오류를 해결하려면 어떻게 해야 하나요?

3분 분량
0

Amazon Redshift를 대상 엔드포인트로 사용하는 AWS Database Migration Service(AWS DMS) 작업의 연결 실패 및 오류를 해결하려면 어떻게 해야 하나요?

간략한 설명

Amazon Redshift 엔드포인트와의 연결을 테스트할 때 AWS Database Migration Service에서 Amazon Redshift 데이터베이스를 대상으로 사용하기 위한 사전 조건을 충족하지 않은 경우 테스트에 실패할 수 있습니다. 필요한 AWS Identity and Access Management(IAM) 역할을 생성 및 구성하지 않았거나, 엔드포인트 ARN에 대한 Amazon Simple Storage Service(Amazon S3) 버킷 이름이 사용 중인 경우에 발생할 수 있습니다. 필요한 IAM 역할은 AWS DMS 콘솔을 사용할 때 자동으로 생성되지만, AWS DMS API 또는 AWS 명령줄 인터페이스(AWS CLI)를 사용한 경우에는 생성되지 않습니다.

AWS DMS 작업의 네트워크 구성에 문제가 있는 경우에도 연결 테스트가 실패할 수 있습니다. 엔드포인트 연결 오류를 해결하려면 AWS DMS 엔드포인트 연결 오류를 해결하려면 어떻게 해야 하나요?를 참조하세요.

필요한 IAM 역할이 올바르게 생성 및 구성되지 않은 경우 다음과 비슷한 오류가 표시될 수 있습니다.

Role 'dms-access-for-endpoint' is not configured properly

해결 방법

참고: AWS CLI 명령을 실행할 때 오류가 발생하는 경우, 최신 버전의 AWS CLI를 사용하고 있는지 확인합니다.

'dms-access-for-endpoint' 역할이 제대로 구성되지 않는 오류 해결

이 오류를 해결하려면 dms-access-for-endpoint IAM 역할이 올바르게 생성 및 구성되어 있는지 확인하세요. 이 역할 구성에 대한 자세한 내용은 AWS CLI 및 AWS DMS API와 함께 사용할 IAM 역할 생성을 참조하세요.

Amazon 관리형 정책이 올바르게 구성되지 않은 경우 다음과 비슷한 오류가 표시될 수 있습니다.

Unable to create S3 bucket for Redshift. Bucket Name for endpoint ARN is in use.

이 오류는 다음과 같은 경우에 발생합니다.

  1. Amazon 관리형 정책(AmazonDMSRedshiftS3Role 또는 이와 유사한 사용자 지정 정책)이 dms-access-for-endpoint IAM 역할에 연결되어 있지 않습니다.
  2. dms-access-for-endpoint IAM 역할 정책에 Amazon S3에 대한 명시적 거부가 있습니다.
  3. AWS DMS에서 자동으로 생성되어 Amazon Redshift 엔드포인트와 연결된 사전 구성된 Amazon S3 버킷 정책이 명시적 제한으로 수정되었습니다.

이 오류를 해결하려면 기본 관리형 정책(AmazonDMSRedshiftS3Role) 또는 이와 유사한 사용자 지정 정책을 dms-access-for-endpoint IAM 역할에 연결합니다. 그런 다음 AWS DMS에 연결된 기본 Amazon S3 버킷 정책이 수정되지 않았는지 확인합니다. 자세한 내용은 Amazon S3 버킷 설정을 참조하세요.

Amazon Redshift 엔드포인트로 데이터 마이그레이션

Amazon Redshift 대상 엔드포인트로 데이터를 마이그레이션할 때 DMS는 기본 Amazon S3 버킷을 중간 작업 스토리지로 사용합니다. 그런 다음 마이그레이션된 데이터를 Amazon Redshift에 복사합니다. 대상 Amazon Redshift 엔드포인트에 대한 테스트 연결을 실행하면 다음과 같은 명명 규칙을 사용하여 S3 버킷이 자동으로 생성됩니다.

dms-'Redshift endpoint ARN'

이 중간 스토리지에 대한 사용자 지정 S3 버킷을 선택할 수 있습니다. 자세한 내용은 Amazon Redshift 데이터베이스를 AWS Database Migration Service의 대상으로 사용을 참조하세요.

Amazon S3; 상태 코드: 400; 오류 코드: TooManyBuckets 오류 해결

계정이 Amazon S3 한도에 도달한 경우 엔드포인트를 테스트할 때 다음과 유사한 오류가 발생할 수 있습니다.

  • 서비스: 아마존 S3; 상태 코드: 400; 오류 코드: TooManyBuckets; 요청 ID: xxxxxxxxxxxxx; S3 확장 요청 ID: xxxxxxxxxxxxxxxx; 프록시: null

이 오류를 해결하려면 계정에서 사용하지 않는 버킷을 삭제하고 엔드포인트를 다시 테스트하세요.

<NoSuchBucket> 지정된 버킷이 존재하지 않는 오류 해결

작업 마이그레이션 중에 AWS DMS에서 생성한 Amazon S3 버킷을 삭제하면 작업 로그에 다음과 유사한 오류가 표시될 수 있습니다.

  • <NoSuchBucket> 지정된 버킷이 존재하지 않습니다.

이 문제를 해결하려면 Amazon Redshift 엔드포인트에 대한 연결을 테스트한 다음 작업을 다시 시작하거나 재개하세요. 사용자 지정 버킷으로 사용하도록 DMS 엔드포인트를 구성한 경우 작업을 다시 시작하기 전에 Amazon S3에서 사용할 수 있는지 확인합니다.


관련 정보

AWS Database Migration Service의 대상으로 Amazon Redshift 데이터베이스 사용

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