Quero solucionar falhas e erros de conectividade de uma tarefa do AWS Database Migration Service (AWS DMS) que usa o Amazon Redshift como o endpoint de destino.
Breve descrição
Certifique-se de atender aos pré-requisitos para usar um banco de dados do Amazon Redshift como destino para o AWS DMS. Se você não atender aos pré-requisitos, a conectividade com um endpoint do Amazon Redshift poderá falhar.
Além disso, se você não definir corretamente a configuração de rede da sua tarefa do AWS DMS, um teste de conectividade poderá falhar. Para solucionar erros de conectividade de endpoint, consulte Como soluciono falhas de conectividade de endpoints do AWS DMS?
Resolução
Solucione o erro “Role 'dms-access-for-endpoint' is not configured properly”
Se você não criar e configurar o perfil necessário do AWS Identity and Access Management (AWS IAM) para o nome do recurso da Amazon (ARN) do endpoint em uso, receberá esse erro.
Observação: se você usa o console do AWS DMS, o AWS DMS cria automaticamente o perfil do IAM necessário. Se você usa a API do AWS DMS ou a AWS Command Line Interface (AWS CLI), o AWS DMS não cria o perfil automaticamente.
Para resolver esse erro, confirme se você criou e configurou corretamente o perfil do IAM dms-access-for-endpoint necessário.
Solucione o erro "Unable to create S3 bucket for Redshift. Bucket Name for endpoint ARN is in use"
Se você não anexar corretamente uma política gerenciada pela Amazon ao perfil do IAM dms-access-for-endpoint, poderá receber a seguinte mensagem de erro:
"Unable to create S3 bucket for Redshift. Bucket Name for endpoint ARN is in use."
Também é possível receber a mensagem de erro anterior pelos seguintes motivos:
- A política dms-access-for-endpoint do perfil do IAM tem uma negação explícita para o Amazon Simple Storage Service (Amazon S3).
- Você modificou a política de bucket do Amazon S3 que o AWS DMS criou e associou automaticamente ao endpoint do Amazon Redshift com restrições explícitas.
Para solucionar esse erro, anexe a política gerenciada padrão (AmazonDMSRedshiftS3Role) ou uma política personalizada semelhante ao perfil do IAM dms-access-for-endpoint. Em seguida, confirme se a política de bucket padrão do S3 que o AWS DMS associou ao endpoint não possui restrições explícitas. Para mais informações, consulte Configurações do bucket do Amazon S3.
Migre dados para um endpoint do Amazon Redshift
Quando você migra dados para um endpoint de destino do Amazon Redshift, o AWS DMS usa um bucket padrão do S3 como armazenamento intermediário de tarefa. Em seguida, ele copia os dados migrados para o Amazon Redshift. Quando você executa a conexão de teste no endpoint de destino do Amazon Redshift, isso cria automaticamente um bucket do S3 com o nome dms-'Redshift endpoint ARN'.
É possível escolher um bucket do S3 personalizado para esse armazenamento intermediário. Para obter mais informações, consulte Utilizar um banco de dados Amazon Redshift como destino do AWS Database Migration Service.
Solucione o erro "Amazon S3; Status Code: 400; Error Code: TooManyBuckets"
Se sua conta da AWS atingir a cota do Amazon S3, você receberá um erro semelhante ao seguinte ao testar seu endpoint:
"Service: Amazon S3; Status Code: 400; Error Code: TooManyBuckets; Request ID: #######; S3 Extended Request ID: xxxxxxxxxxxxxx; Proxy: null"
Para solucionar esse erro, exclua os buckets não utilizados da sua conta e teste o endpoint novamente.
Solucione o erro "<NoSuchBucket> The specified bucket does not exist"
Se você excluir um bucket do S3 criado pelo AWS DMS durante a migração da tarefa, receberá o seguinte erro nos logs de tarefas:
"<NoSuchBucket> The specified bucket does not exist."
Para solucionar esse erro, teste a conexão do seu endpoint do Amazon Redshift e, em seguida, reinicie ou retome a tarefa. Se você configurou seu endpoint para uso como um bucket personalizado, certifique-se de que ele esteja disponível no Amazon S3 antes de reiniciar a tarefa.