Como soluciono falhas de conectividade de endpoints do AWS DMS?

9 minuto de leitura
0

Não consigo me conectar aos meus endpoints do AWS Database Migration Service (AWS DMS) e minha conexão de teste falha. Quero solucionar os problemas de conectividade.

Breve descrição

Você pode receber dois tipos de erros ao testar a conexão da instância de replicação com o endpoint de origem ou de destino: problemas de conectividade e problemas de banco de dados nativo. Você deve resolver esses problemas antes que seu teste seja concluído com êxito.

Resolução

Problemas de conectividade

Se o erro ocorreu devido a um problema de conectividade entre a instância de replicação e a origem ou o destino, você receberá erros semelhantes aos seguintes:

  • “Application-Status: 1020912, Application-Message: Failed to connect Network error has occurred, Application-Detailed-Message: RetCode: SQL_ERROR SqlState: HYT00 NativeError: 0 Message: [unixODBC][Microsoft][ODBC Driver 13 for SQL Server]Login timeout expired ODBC general error."
  • "Application-Status: 1020912, Application-Message: Cannot connect to ODBC provider Network error has occurred, Application-Detailed-Message: RetCode: SQL_ERROR SqlState: 08001 NativeError: 101 Message: [unixODBC]timeout expired ODBC general error."
  • "Application-Status: 1020912, Application-Message: Cannot connect to ODBC provider ODBC general error., Application-Detailed-Message: RetCode: SQL_ERROR SqlState: HY000 NativeError: 2005 Message: [unixODBC][MySQL][ODBC 5.3(w) Driver]Unknown MySQL server host 'mysql1.xxxxx.us-east-1.rds.amazonaws.com' (22) ODBC general error.”

Erro no banco de dados nativo

Se o erro ocorreu devido a um erro de banco de dados nativo, como erros de permissão ou autenticação do banco de dados, você receberá erros semelhantes ao seguinte:

  • “Application-Status: 1020912, Application-Message: Cannot connect to ODBC provider Network error has occurred, Application-Detailed-Message: RetCode: SQL_ERROR SqlState: 08001 NativeError: 101 Message: [unixODBC]FATAL: password authentication failed for user "dmsuser" ODBC general error.”

Observação: é uma prática recomendada testar a conectividade da instância de replicação do AWS DMS com os endpoints depois que você criar os endpoints de origem e destino do AWS DMS. Realize o teste antes de iniciar a tarefa de migração do AWS DMS. Caso contrário, a tarefa poderá falhar devido a problemas de conectividade com o endpoint.

Resolver problemas de conectividade de recursos hospedados na AWS

Verifique se você consegue estabelecer conectividade entre o banco de dados de origem ou destino e a instância de replicação. Dependendo do seu caso de uso e da infraestrutura de rede, conecte seu banco de dados de origem ou destino a uma instância de replicação em uma sub-rede pública ou sub-rede privada. Para obter mais informações, consulte Configurar uma rede para uma instância de replicação.

Observação: as versões 3.4.7 e posteriores do AWS DMS exigem que você configure o AWS DMS para usar endpoints de nuvem privada virtual (VPC). Outra alternativa é você usar rotas públicas para todos os seus endpoints de origem e destino que interagem com determinados Amazon Web Services. Se seus testes de endpoints do AWS DMS obtiverem êxito em versões anteriores, mas falharem em versões posteriores, consulte Configuração de endpoints da VPC como endpoints de origem e de destino do AWS DMS.

Verificar a configuração da sua instância de replicação

Em sua instância de replicação, confirme se sua configuração inclui o seguinte:

  • Uma Regra de saída para o endereço IP com a porta do banco de dados de origem ou destino no grupo de segurança. Por padrão, a Regra de saída de um grupo de segurança permite todo o tráfego. Os grupos de segurança stateful; portanto, você não precisa modificar a Regra de entrada padrão.
  • Uma Regra de saída para o endereço IP com a porta do banco de dados de origem ou destino na ACL de rede. Por padrão, a Regra de saída de uma lista de controle de acesso (ACL) à rede permite todo o tráfego.
  • Uma Regra de entrada para o endereço IP com as portas efêmeras do banco de dados de origem ou destino na ACL de rede. Por padrão, a Regra de entrada de uma ACL de rede permite todo o tráfego.

Verificar a configuração do banco de dados de origem ou destino
No banco de dados de origem ou destino, confirme se a configuração inclui o seguinte:

  • Uma Regra de entrada para o endereço IP da instância de replicação ou o Roteamento Entre Domínios Sem Classificação (CIDR) do grupo de sub-redes da instância de replicação. A Regra de entrada deve incluir a porta do banco de dados de origem ou de destino no grupo de segurança. Os grupos de segurança são stateful; portanto, você não precisa modificar a Regra de saída padrão.
    Observação: para encontrar os endereços IP e os CIDRs, consulte a seção Determine os endereços IP e o CIDR de um grupo de sub-redes.
  • Uma Regra de entrada para o endereço IP da instância de replicação ou o CIDR do grupo de sub-redes da instância de replicação. A Regra de entrada deve incluir a porta do banco de dados de origem ou de destino na ACL de rede. Confirme se não há uma regra de negação explícita para o endereço IP e porta autorizados.
  • Uma regra de saída para o endereço IP ou o CIDR do grupo de sub-redes da instância de replicação com portas efêmeras na ACL de rede. Por padrão, a Regra de saída de uma ACL de rede permite todo o tráfego.
  • Como prática recomendada, configure sua rede para permitir o CIDR do grupo de sub-redes da instância de replicação. O endereço IP da instância de replicação muda durante um evento de failover ou substituição do host.

Determinar os endereços IP e o CIDR de um grupo de sub-redes

Para configurar regras de entrada e saída, determine os endereços IP e o CIDR do grupo de sub-redes. Você pode usar o console do AWS DMS ou a AWS CLI.

Observação: Se você receber erros ao executar comandos da AWS Command Line Interface (AWS CLI), consulte Solução de erros da AWS CLI. Além disso, verifique se você está usando a versão mais recente da AWS CLI.

Console do AWS DMS

Conclua as etapas a seguir:

  1. Abra o console do AWS DMS.
  2. No painel de navegação, selecione Instâncias de replicação.
  3. Escolha o nome da sua instância de replicação.
  4. Em Detalhes, copie o endereço IP público, o endereço IP privado e o grupo de sub-redes de replicação da sua instância de replicação.
  5. Em Grupo de sub-redes de replicação, selecione o link para acessar a página do grupo de sub-redes. Copie o nome de cada sub-rede do grupo de sub-redes.
  6. Para verificar o CIDR de cada sub-rede, acesse o console da Amazon Virtual Private Cloud (Amazon VPC).
  7. Na guia Sub-redes, pesquise as sub-redes anotadas na etapa 5. Para cada sub-rede, anote o CIDR.

AWS CLI

Para determinar o CIDR de cada sub-rede, execute o comando describe-subnets.

aws ec2 describe-subnets --filters Name=subnet-id,Values="$(aws dms describe-replication-instances --filters "Name=replication-instance-id,Values=replication-instance-name" --query "ReplicationInstances[*].ReplicationSubnetGroup.Subnets[*].SubnetIdentifier" --output text | sed -e 's/\t/,/g')" --query "Subnets[*].{SubnetId:SubnetId,CidrBlock:CidrBlock}" --output table

Observação: substitua replication-instance-name pelo nome da sua instância de replicação.

Para determinar os endereços IP da instância de replicação, execute o comando describe-replication-instances.

aws dms describe-replication-instances --filters "Name=replication-instance-id,Values=replication-instance-name" --query "ReplicationInstances[*].{ReplicationInstancePublicIpAddresses:ReplicationInstancePublicIpAddresses,ReplicationInstancePrivateIpAddresses:ReplicationInstancePrivateIpAddresses}" --output table

Observação: substitua replication-instance-name pelo nome da sua instância de replicação.

Resolva problemas de conectividade (recursos on-premises)

Se o banco de dados de origem ou destino estiver hospedado on-premises, confirme o seguinte:

  • O banco de dados permite conexões de entrada da instância de replicação do AWS DMS. Para confirmar, consulte o administrador da rede.
  • Um firewall não bloqueia a comunicação com o banco de dados de origem ou de destino.
  • A configuração do DNS está definida corretamente. Caso precise de resolução de DNS, use o Amazon Route 53 Resolver. Para obter informações sobre como usar um servidor de nomes on-premises para resolver endpoints com o Amazon Route 53 Resolver, consulte Usar seu próprio servidor de nomes on-premises.
    -or-
    Crie uma nova instância do AWS DMS por meio da AWS CLI para usar um servidor de nomes de DNS do cliente (--dns-name-servers) para resolver problemas de DNS. Por padrão, as instâncias do AWS DMS usam o DNS fornecido pela Amazon para resoluções. Os endpoints do AWS DMS podem falhar quando a origem ou o destino são configurados para usar DNS personalizado. Para obter mais informações, consulte create-replication-instance.

Certifique-se de que sua instância do Amazon Elastic Compute Cloud (Amazon EC2) tenha as mesmas configurações de rede da instância de replicação do AWS DMS com problemas de conectividade. Para solucionar problemas de conectividade de rede, execute primeiro os comandos a seguir na nova instância do Amazon EC2:

telnet database_IP_address_or_DNS port_number

Observação: substitua database_IP_address_or_DNS pelo endereço IP ou nome de domínio do banco de dados especificado para o endpoint de origem ou destino do AWS DMS. Substitua port_number pelo número da porta do banco de dados especificado para o endpoint de origem ou destino do AWS DMS.

Em seguida, execute o seguinte comando:

nslookup domain_name

Observação: substitua domain_name pelo nome de domínio do banco de dados especificado para o endpoint de origem ou destino do AWS DMS.

Resolver erros de banco de dados nativo

Para resolver erros de banco de dados nativo, confirme se as seguintes configurações de endpoint estão definidas corretamente:

  • Nome de usuário
  • Senha
  • O ServerName é definido para o DNS ou IP do banco de dados on-premises ou do endpoint do Amazon Relational Database Service (Amazon RDS)
  • Porta
  • Nome do banco de dados
    Observação: não especifique um nome do banco de dados para origem ou destino do MySQL.

Se algum desses campos for especificado com o AWS Secrets Manager, consulte Using secrets to access AWS Database Migration Service endpoints.

Para erros de banco de dados nativo relacionados ao banco de dados de origem ou destino, consulte a resolução da documentação específica do banco de dados. Use o código de erro e a mensagem de erro que você recebe no console do AWS DMS.

Para obter mais informações, verifique erros, rastreamento, alertas ou outros logs do banco de dados de origem ou destino.

Para erros de acesso ao banco de dados, confirme as permissões necessárias para o AWS DMS para a origem ou destino específicos.

Para obter mais informações sobre como criptografar conexões para endpoints de origem e destino com SSL, consulte Usar o SSL com o AWS Database Migration Service.

Informações relacionadas

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

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

Como posso solucionar falhas de conectividade entre o AWS DMS e um endpoint de origem do MongoDB?

Migrar bancos de dados do Microsoft SQL Server para a Nuvem AWS

AWS OFICIAL
AWS OFICIALAtualizada há 2 meses