Como posso solucionar falhas e erros de conectividade de uma tarefa do AWS DMS que usa o Amazon Redshift como endpoint de destino?

4 minuto de leitura
0

Como posso solucionar falhas e erros de conectividade de uma tarefa do AWS Database Migration Service (AWS DMS) que usa o Amazon Redshift como endpoint de destino?

Breve descrição

Ao testar a conectividade com um endpoint do Amazon Redshift, o teste poderá falhar se você não tiver cumprido os pré-requisitos para usar um banco de dados do Amazon Redshift como destino para o AWS Database Migration Service. Isso poderá acontecer se você não tiver criado e configurado o perfil do AWS Identity and Access Management (IAM) necessário ou se o nome do bucket do Amazon Simple Storage Service (Amazon S3) para o ARN de um endpoint estiver em uso. O perfil do IAM necessário é criado automaticamente quando você usa o console do AWS DMS, mas não é criado se você usa a API do AWS DMS ou a AWS Command Line Interface (AWS CLI).

O teste de conectividade também poderá falhar se houver problemas com a configuração de rede da tarefa do AWS DMS. Para solucionar erros de conectividade de endpoints, consulte Como faço para solucionar falhas de conectividade de endpoints do AWS DMS?

Se o perfil do IAM necessário não for criado e configurado corretamente, você poderá receber um erro semelhante ao seguinte:

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

Resolução

Observação: se você receber erros ao executar comandos da AWS CLI, verifique se está utilizando sua versão mais recente.

Resolva erros de Role 'dms-access-for-endpoint' is not configured properly

Para resolver esse erro, confirme se o perfil do IAM dms-access-for-endpoint foi criado e configurado corretamente. Para informações sobre a configuração desse perfil, consulte Como criar perfis do IAM para usar com a AWS CLI e a API do AWS DMS.

Se a política gerenciada pela Amazon não estiver configurada corretamente, você poderá receber um erro semelhante ao seguinte:

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

Esse erro ocorre quando:

  1. A política gerenciada pela Amazon (AmazonDMSRedshiftS3Role ou uma política personalizada semelhante) não estiver anexada ao perfil do IAM dms-access-for-endpoint.
  2. A política do perfil do IAM dms-access-for-endpoint tiver uma negação explícita para o Amazon S3.
  3. A política pré-configurada do bucket do Amazon S3 que o AWS DMS criou automaticamente e associada ao endpoint do Amazon Redshift foi modificada com uma restrição explícita.

Para resolver 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 do bucket do Amazon S3 padrão associada pelo AWS DMS não foi modificada. 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 DMS usa um bucket do Amazon S3 padrão como armazenamento intermediário de tarefas. Em seguida, ele copia os dados migrados para o Amazon Redshift. Quando você executa a conexão de teste para o endpoint Amazon Redshift de destino, isso cria um bucket do S3 automaticamente com a seguinte convenção de nomenclatura:

dms-'Redshift endpoint ARN'

Você pode escolher um bucket do S3 personalizado para esse armazenamento intermediário. Para obter mais informações, consulte Como usar um banco de dados do Amazon Redshift como destino para o AWS Database Migration Service.

Resolve erros de Amazon S3; Status Code: 400; Error Code: TooManyBuckets

Se a sua conta atingiu o limite do Amazon S3, talvez você receba um erro semelhante ao seguinte ao testar seu endpoint:

  • Service: Amazon S3; Status Code: 400; Error Code: TooManyBuckets; Request ID: xxxxxxxxxxx; S3 Extended Request ID: xxxxxxxxxxxxxx; Proxy: null

Para resolver esse erro, exclua os buckets não utilizados da sua conta e teste o endpoint novamente.

Resolva erros de <NoSuchBucket> The specified bucket does not exist

Se você excluir um bucket do Amazon S3 criado pelo AWS DMS durante a migração de tarefas, poderá receber um erro semelhante ao seguinte nos logs de tarefas:

  • <NoSuchBucket> The specified bucket does not exist.

Para resolver esse problema, teste a conexão do seu endpoint do Amazon Redshift e, em seguida, reinicie ou retome a tarefa. Se você configurou seu endpoint do DMS para ser usado como um bucket personalizado, certifique-se de que ele esteja disponível no Amazon S3 antes de iniciar a tarefa novamente.


Informações relacionadas

Como usar um banco de dados do Amazon Redshift como destino para o AWS Database Migration Service

AWS OFICIAL
AWS OFICIALAtualizada há 2 anos