Como faço para solucionar falhas no teste de conexão de endpoint do Amazon S3 ao usar o AWS DMS?

4 minuto de leitura
0

Estou usando o Amazon Simple Storage Service (Amazon S3) como endpoint de origem ou destino para minha tarefa do AWS Database Migration Service (AWS DMS). Recebi uma mensagem de erro porque meu teste de conexão de endpoint falhou.

Breve descrição

Você deve ter as permissões corretas configuradas para a função AWS Identity and Access Management (IAM) que está usando o endpoint Amazon S3. Se você não tiver as permissões corretas, verá uma destas entradas:

Mensagem:

  • Test Endpoint failed: Application-Status: 1020912, Application-Message: Failed to connect to S3 endpoint. Access denied.
  • Test Endpoint failed: Application-Status: 1020912, Application-Message: Failed to list bucket wan-dms Failed to connect to database., Application-Detailed-Message: failed to list bucket wan-dms AWS failed to list bucket List bucket failed with exception 'AccessDenied', message 'Access Denied', error type '15' AWS failed to list bucket Not retriable error: Access Denied
  • Test Endpoint failed: Application-Status: 1020912, Application-Message: Failed to connect to database.
  • Error Details: [message=putDatabase call failed, errType=ERROR_RESPONSE, status=1020414, errMessage= Failed to connect to database., errDetails=]

Resolução

Observação: ao usar o Amazon S3 como fonte ou destino para o AWS DMS, certifique-se de primeiro ler os seguintes artigos:

Para resolver esses erros, conceda as permissões mínimas de IAM necessárias para acessar o endpoint do Amazon S3. Os endpoints de origem e destino do Amazon S3 têm permissões mínimas diferentes para o AWS DMS.

Veja este exemplo de uma política de IAM para um ](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Source.S3.html#CHAP_Source.S3.Prerequisites)endpoint de origem do Amazon S3[:

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Effect": "Allow",
      "Action": [
        "s3:GetObject",
        "s3:ListBucket"
      ],
      "Resource": [
        "arn:aws:s3:::awsexamplebucket",
        "arn:aws:s3:::awsexamplebucket/*"
      ]
    }
  ]
}

**Observação:**substitua awsexamplebucket pelo nome do seu próprio bucket.

Veja este exemplo de uma política de IAM para um Amazon S3 como endpoint de destino:

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Effect": "Allow",
      "Action": [
        "s3:PutObject",
        "s3:DeleteObject",
        "s3:PutObjectTagging"
      ],
      "Resource": [
        "arn:aws:s3:::awsexamplebucket/*"
      ]
    },
    {
      "Effect": "Allow",
      "Action": [
        "s3:ListBucket"
      ],
      "Resource": [
        "arn:aws:s3:::awsexamplebucket"
      ]
    }
  ]
}

**Observação:**substitua awsexamplebucket pelo nome do seu próprio bucket.

Solucionar erros de permissões

1.    Confirme se o perfil do IAM tem as permissões mínimas necessárias para acessar o endpoint do Amazon S3.

2.    Confirme se o nome do bucket especificado para o endpoint do Amazon S3 corresponde ao recurso permitido no perfil do IAM. Por exemplo, o perfil do IAM permite acesso a apenas um bucket, como awsexamplebucket no exemplo anterior de política. Contudo, se **awsexamplebucket2 ** for especificado no nome do bucket do endpoint do Amazon S3, a conexão de teste falhará.

3.    Confirme se dms.amazonaws.com é a entidade confiável associada ao perfil do IAM. Para mais informações, consulte Alterar a relação de confiança de uma função existente e este exemplo de política de confiança para o AWS DMS:

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Sid": "",
      "Effect": "Allow",
      "Principal": {
        "Service": "dms.amazonaws.com"
      },
      "Action": "sts:AssumeRole"
    }
  ]
}

4.    Se você usa o AWS Organizations, confirme se o perfil do IAM usado faz parte de uma organização que permite acesso ao Amazon S3. Se sua organização não permitir o acesso, o AWS DMS não poderá se conectar ao endpoint do Amazon S3 usando esse perfil do IAM. Isso acontecerá mesmo que a função tenha todas as permissões necessárias. Se sua organização não permitir o acesso, entre em contato com o administrador da conta para permitir o acesso do Amazon S3 à sua organização.

5.    Se a versão da sua instância de replicação for 3.4.7 ou superior, execute uma das seguintes ações:

        Torne suas sub-redes de instância de replicação roteáveis publicamente. Adicione uma rota do Internet Gateway (IGW) à VPC que é usada pela sua instância de replicação do AWS DMS.

        -ou-

        Crie endpoints VPC para que sua instância de replicação possa acessar todos os endpoints de origem e destino usados pelo AWS DMS. Para mais informações, consulte Preparar migração para as versões 3.4.7 e superiores do AWS DMS.


Informações relacionadas

Como faço para solucionar falhas de conectividade de endpoints do AWS DMS?

AWS OFICIAL
AWS OFICIALAtualizada há um ano