Ir para o conteúdo

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 em 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 o perfil do AWS Identity and Access Management (AWS IAM) que está usando o endpoint do 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 origem ou destino para o AWS DMS, certifique-se de primeiro ler os seguintes artigos:

Para resolver esses erros, conceda as permissões mínimas do 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 do IAM para um 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 bucket.

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

{
  "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 bucket.

Solucione 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 de política anterior. 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 obter mais informações, consulte Como editar a relação de confiança para um perfil do IAM 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 o perfil 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, realize uma das seguintes ações:

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

        -ou-

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


Informações relacionadas

Como soluciono falhas de conectividade de endpoints do AWS DMS?

AWS OFICIALAtualizada há 3 anos