Come posso risolvere gli errori di connettività agli endpoint di AWS DMS?

9 minuti di lettura
0

Non riesco a connettermi ai miei endpoint di AWS Database Migration Service (AWS DMS) e la mia connessione di test ha esito negativo. Desidero risolvere i problemi di connettività.

Breve descrizione

Potresti ricevere due tipi di errori quando esegui il test della connessione dall'istanza di replica all'endpoint di origine o di destinazione: problemi di connettività e problemi del database nativo. Per completare correttamente il test, devi prima risolvere questi problemi.

Risoluzione

Problemi di connettività

Se l’errore si è verificato a causa di problemi di connettività tra l’istanza di replica e l’origine o la destinazione, riceverai errori simili ai seguenti:

  • "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."

Errore del database nativo

Se l'errore si è verificato a causa di un errore del database nativo, ad esempio un errore di autorizzazione o autenticazione del database, verranno visualizzati errori simili ai seguenti:

  • "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."

Nota: è consigliabile testare la connettività dall'istanza di replica di AWS DMS agli endpoint dopo aver creato gli endpoint di origine e di destinazione di AWS DMS. Completa il test prima di iniziare l'attività di migrazione di AWS DMS. In caso contrario, l'attività potrebbe avere esito negativo a causa di problemi di connettività con l'endpoint.

Risolvi i problemi di connettività per le risorse ospitate in AWS

Verifica di poter stabilire la connettività tra il database di origine o di destinazione e l'istanza di replica. A seconda del caso d'uso e dell'infrastruttura di rete, connetti il database di origine o di destinazione a un'istanza di replica in una sottorete pubblica o privata. Per ulteriori informazioni, consulta Setting up a network for a replication instance.

Nota: le versioni 3.4.7 e successive di AWS DMS richiedono la configurazione di AWS DMS per l'utilizzo di endpoint di cloud privato virtuale (VPC). In alternativa, devi utilizzare percorsi pubblici verso tutti gli endpoint di origine e destinazione che interagiscono con determinati servizi Amazon Web Services. Se i test degli endpoint AWS DMS hanno esito positivo nelle versioni precedenti ma negativo in quelle successive, consulta Configuring VPC endpoints as AWS DMS source and target endpoints.

Verifica la configurazione dell'istanza di replica

Nell'istanza di replica, conferma che la configurazione includa quanto segue:

  • Una regola in uscita per l'indirizzo IP con la porta del database di origine o di destinazione nel gruppo di sicurezza. Per impostazione predefinita, la regola in uscita di un gruppo di sicurezza consente tutto il traffico. I gruppi di sicurezza sono stateful, quindi non è necessario modificare la regola in entrata predefinita.
  • Una regola in uscita per l'indirizzo IP con la porta del database di origine o di destinazione nella lista di controllo degli accessi di rete. Per impostazione predefinita, la regola in uscita della lista di controllo degli accessi (ACL) di rete consente tutto il traffico.
  • Una regola in entrata per l'indirizzo IP con le porte temporanee del database di origine o destinazione nell'ACL di rete. Per impostazione predefinita, la regola in entrata di un'ACL di rete consente tutto il traffico.

Controlla la configurazione del database di origine o di destinazione
Nel database di origine o di destinazione, verifica che la configurazione includa quanto segue:

  • Una regola in entrata per l'indirizzo IP dell'istanza di replica o per il routing interdominio senza classi (CIDR) del gruppo di sottoreti dell'istanza di replica. La regola in entrata deve includere la porta del database di origine o di destinazione nel gruppo di sicurezza. I gruppi di sicurezza sono stateful, quindi non è necessario modificare la regola in uscita predefinita.
    Nota: per trovare gli indirizzi IP e i CIDR, consulta la sezione Determina gli indirizzi IP e il CIDR di un gruppo di sottoreti.
  • Una regola in entrata per l'indirizzo IP dell'istanza di replica o per il CIDR del gruppo di sottoreti dell'istanza di replica. La regola in entrata deve includere la porta del database di origine o di destinazione nell'ACL di rete. Verifica che non esista una regola di rifiuto esplicita per l'indirizzo IP e la porta consentiti.
  • Una Regola in uscita per l'indirizzo IP o il CIDR del gruppo di sottorete dell'istanza di replica con porte effimere nell'ACL di rete. Per impostazione predefinita, la regola in uscita di un'ACL di rete consente tutto il traffico.
  • È consigliabile configurare la rete in modo da consentire il CIDR del gruppo di sottoreti dell'istanza di replica. L'indirizzo IP dell'istanza di replica cambia durante un evento di failover o di sostituzione dell'host.

Determina gli indirizzi IP e il CIDR di un gruppo di sottoreti

Per impostare le regole in entrata e in uscita, determina gli indirizzi IP e il CIDR del gruppo di sottoreti. Puoi utilizzare la console AWS DMS o l'interfaccia della linea di comando AWS.

Nota: se si verificano errori durante l'esecuzione dei comandi dell'interfaccia della linea di comando AWS (AWS CLI), consulta Troubleshooting errors for the AWS CLI. Inoltre, assicurati di utilizzare la versione più recente di AWS CLI.

Console AWS DMS

Completa i passaggi seguenti:

  1. Apri la console AWS DMS.
  2. Nel pannello di navigazione scegli Istanze di replica.
  3. Seleziona il nome della tua istanza di replica.
  4. In Dettagli copia l'Indirizzo IP pubblico, l'Indirizzo IP privato e il Gruppo di sottoreti di replica dell'istanza di replica.
  5. In Gruppo di sottoreti di replica scegli il link per accedere alla pagina del gruppo di sottoreti. Copia il nome di ogni sottorete nel gruppo di sottoreti.
  6. Per verificare il CIDR di ogni sottorete, apri la console Amazon Virtual Private Cloud (Amazon VPC).
  7. Nella scheda Sottoreti cerca le sottoreti copiate nel passaggio 5. Per ogni sottorete, prendi nota del CIDR.

Interfaccia della linea di comando AWS

Per determinare il CIDR di ciascuna sottorete, esegui il 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

Nota: sostituisci replication-instance-name con il nome della tua istanza di replica.

Per determinare gli indirizzi IP dell'istanza di replica, esegui il 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

Nota: sostituisci replication-instance-name con il nome della tua istanza di replica.

Risolvi i problemi di connettività (risorse on-premises)

Se il database di origine o di destinazione è ospitato on-premises, verifica quanto segue:

  • Il database consente connessioni in entrata dall'istanza di replica AWS DMS. Per verificare, rivolgiti al tuo amministratore di rete.
  • Un firewall non blocca la comunicazione con il database di origine o di destinazione.
  • La configurazione DNS è impostata correttamente. Se necessiti di risoluzione DNS, utilizza il risolutore Amazon Route 53. Per informazioni su come utilizzare un server di nomi on-premises per risolvere gli endpoint con il risolutore Amazon Route 53, consulta Using your own on-premise name server.
    -oppure-
    Crea una nuova istanza AWS DMS tramite l'interfaccia della linea di comando AWS per utilizzare un server di nomi DNS del cliente (--dns-name-servers) per i risolvere i problemi DNS. Per impostazione predefinita, le istanze WAS DMS utilizzano il DNS fornito da Amazon per le risoluzioni. Gli endpoint AWS DMS potrebbero non funzionare quando l'origine o la destinazione è configurata per l'utilizzo di un DNS personalizzato. Per ulteriori informazioni, consulta create-replication-instance.

Assicurati che la tua istanza Amazon Elastic Compute Cloud (Amazon EC2) abbia le stesse configurazioni di rete dell'istanza di replica AWS DMS con i problemi di connettività. Per risolvere i problemi di connettività di rete, esegui questi comandi sulla nuova istanza Amazon EC2:

telnet database_IP_address_or_DNS port_number

Nota: sostituisci database_IP_address_or_DNS con l'indirizzo IP o il nome di dominio del database specificato per l'endpoint di origine o destinazione di AWS DMS. Sostituisci port_number con il numero di porta del database specificato per l'endpoint di origine o di destinazione di AWS DMS.

Quindi esegui questo comando:

nslookup domain_name

Nota: sostituisci domain_name con il nome di dominio del database specificato per l'endpoint di origine o di destinazione di AWS DMS.

Risolvi gli errori del database nativo

Per risolvere gli errori nativi del database, conferma che le seguenti configurazioni degli endpoint siano impostate correttamente:

  • Nome utente
  • Password
  • ServerName è impostato sul DNS o sull'IP del database on-premises o sull'endpoint di Amazon Relational Database Service (Amazon RDS)
  • Porta
  • Nome del database
    Nota: non specificare un nome di database per l'origine o la destinazione MySQL.

Se uno di questi campi è specificato con AWS Secrets Manager, consulta Using secrets to access AWS Database Migration Service endpoints.

Per gli errori del database nativo relativi al database di origine o di destinazione, fai riferimento alla risoluzione contenuta nella documentazione del database specifico. Utilizza il codice e il messaggio di errore che ricevi nella console AWS DMS.

Per ulteriori informazioni, controlla i log di errore, traccia, avviso o altri log del database di origine o di destinazione.

Per gli errori di accesso al database, verifica le autorizzazioni richieste da AWS DMS per l'origine o la destinazione specifica.

Per ulteriori informazioni su come crittografare le connessioni per gli endpoint di origine e di destinazione con SSL, consulta Using SSL with AWS Database Migration Service.

Informazioni correlate

Come posso risolvere gli errori nei test di connessione degli endpoint Amazon S3 quando uso AWS DMS?

Come posso risolvere i guasti e gli errori di connettività per un'attività AWS DMS che utilizza Amazon Redshift come endpoint di destinazione?

How do I troubleshoot connectivity failures between AWS DMS and a MongoDB source endpoint?

Migrating Microsoft SQL Server databases to the AWS Cloud

AWS UFFICIALE
AWS UFFICIALEAggiornata 21 giorni fa