Come posso risolvere i problemi di connettività agli endpoint di AWS DMS?
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à.
Risoluzione
Quando verifichi la connessione dall'istanza di replica all'endpoint di origine o di destinazione, potresti riscontrare problemi di connettività o problemi nativi del database.
Se è presente un problema di connessione tra l'istanza di replica e l'origine o la destinazione, ricevi 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".
Se l'errore si verifica a causa di problemi nativi del database, ad esempio errori di autorizzazione o autenticazione del database, ricevi un errore simile al seguente:
"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 verificare la connessione dall'istanza di replica AWS DMS agli endpoint dopo aver creato gli endpoint di origine e di destinazione. Completa la verifica prima di iniziare l'attività di migrazione di AWS DMS.
Risolvi i problemi di connettività per le risorse ospitate su AWS
Verifica se è possibile stabilire una connessione tra il database di origine o di destinazione e l'istanza di replica. In base al caso d'uso e all'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 Configurazione di una rete per un'istanza di replica.
Nota: per AWS DMS versione 3.4.7 e successive, devi configurare AWS DMS in modo che utilizzi gli endpoint di Amazon Virtual Private Cloud (Amazon VPC). In alternativa, devi utilizzare route pubbiche verso tutti gli endpoint di origine e destinazione che interagiscono con determinati servizi AWS.
Verifica la configurazione dell'istanza di replica
Nell'istanza di replica, verifica 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 statici, per cui puoi mantenere 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 (ACL) di rete . Per impostazione predefinita, la regola in uscita di un'ACL di rete consente tutto il traffico.
- Una regola in entrata per l'indirizzo IP con le porte effimere 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.
Verifica 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 blocco 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 statici, per cui puoi mantenere la regola in uscita predefinita.
- Una regola in entrata per l'indirizzo IP dell'istanza di replica o per il blocco 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 diniego esplicita per l'indirizzo IP e la porta.
- Una regola in uscita per l'indirizzo IP o il blocco CIDR del gruppo di sottoreti 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 blocco 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 blocco CIDR di un gruppo di sottoreti
Per impostare le regole in entrata e in uscita, determina gli indirizzi IP e il blocco CIDR del gruppo di sottoreti. Puoi utilizzare la console AWS DMS o l'Interfaccia della linea di comando AWS (AWS CLI).
Nota: se ricevi errori quando esegui i comandi dell'Interfaccia della linea di comando AWS (AWS CLI), consulta Risoluzione degli errori relativi ad AWS CLI. Inoltre, assicurati di utilizzare la versione più recente di AWS CLI.
Console AWS DMS
Completa i passaggi seguenti:
- Apri la console AWS DMS.
- Nel pannello di navigazione, scegli Istanze di replica.
- Seleziona l'istanza di replica.
- In Dettagli copia l'Indirizzo IP pubblico, l'Indirizzo IP privato e il Gruppo di sottoreti di replica dell'istanza di replica.
- 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.
- Per verificare il blocco CIDR di ciascuna sottorete, apri la console Amazon VPC.
- Nella scheda Sottoreti, cerca le sottoreti. Per ogni sottorete, prendi nota del blocco CIDR.
AWS CLI
Per determinare il blocco CIDR per ogni sottorete, esegui il comando AWS CLI 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à per le risorse on-premises
Se ospiti il database di origine o di destinazione on-premises, verifica che il database consenta le connessioni in entrata dall'istanza di replica AWS DMS. Per eseguire la verifica, rivolgiti all'amministratore di rete. Inoltre, verifica che un firewall non blocchi la comunicazione con il database di origine o di destinazione.
Assicurati di aver impostato correttamente la configurazione DNS. Se hai bisogno della risoluzione DNS, utilizza il risolutore Amazon Route 53. Per informazioni sull'utilizzo di un server dei nomi on-premises per risolvere gli endpoint con il risolutore Amazon Route 53, consulta Utilizzo del server dei nomi on-premises. Crea una nuova istanza AWS DMS tramite AWS CLI per utilizzare un server dei nomi DNS del cliente (--dns-name-servers) per risolvere i problemi DNS. Per impostazione predefinita, le istanze AWS DMS utilizzano i nomi DNS forniti da Amazon per le risoluzioni. Per ulteriori informazioni, consulta create-replication-instance.
Nota: quando configuri l'origine o la destinazione per utilizzare un DNS personalizzato, gli endpoint di AWS DMS potrebbero dare esito negativo.
Verifica che l'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 questo comando 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 di 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 nativi del database
Per risolvere gli errori nativi del database, verifica che le seguenti configurazioni degli endpoint siano corrette:
- Username
- Password
- ServerName
Nota: devi impostare ServerName sull'indirizzo DNS o IP del database on-premises o dell'endpoint di Amazon Relational Database Service (Amazon RDS). - Port
- Database name
Nota: non specificare un nome di database per un'origine o una destinazione MySQL.
Se utilizzi AWS Secrets Manager per specificare uno dei campi precedenti, consulta Utilizzo dei segreti per accedere agli endpoint AWS Database Migration Service.
Nota: Secrets Manager non supporta i seguenti caratteri nelle password: punto e virgola (;), punti (.), due punti (:), segni più (+) e parentesi graffe ({}).
Per gli errori nativi del database di origine o di destinazione, consulta la risoluzione contenuta nella documentazione del database specifico. Utilizza il codice e il messaggio di errore che ricevi nella console AWS DMS.
Quando inserisci manualmente le credenziali per la configurazione degli endpoint, assicurati di non racchiudere la password tra parentesi graffe. Se includi parentesi graffe, ricevi messaggi di errore simili ai seguenti:
Esempio di errore quando Amazon Redshift è l'endpoint di destinazione
"[SERVER ]E: RetCode: SQL_ERROR SqlState: 28000 NativeError: 10 Message: [Amazon][Amazon Redshift] (10) Error occurred while trying to connect: [SQLState 28000] connection to server at Your workgroup endpoint (IP), port 5439 failed: FATAL: password authentication failed for user Your Username [1022502] (ar_odbc_conn.c:614)"
Esempio di errore quando MySQL è l'endpoint di destinazione
"00012920: 2025-05-08T20:27:50:341649 [SERVER ]D: RetCode: SQL_ERROR SqlState: HY000 NativeError: 1045 Message: [MySQL][ODBC 8.0(w) Driver]Access denied for user UserName@IP (using password: YES) [1022502] (ar_odbc_conn.c:614)"
Esempio di errore quando SQL Server è l'endpoint di destinazione
"00012920: 2025-05-08T21:15:20:185761 [SERVER ]E: RetCode: SQL_ERROR SqlState: 28000 NativeError: 18456 Message: [Microsoft][ODBC Driver 17 for SQL Server][SQL Server]Login failed for user UserName. [1022502] (ar_odbc_conn.c:614)"
Nota: se utilizzi PostgreSQL come endpoint di destinazione, puoi utilizzare le parentesi graffe.
Per ulteriori informazioni, controlla i log degli errori, delle tracce, degli avvisi 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 sulla crittografia delle connessioni per gli endpoint di origine e di destinazione con SSL, consulta Utilizzo di SSL con AWS Database Migration Service.
Informazioni correlate
Come posso risolvere gli errori nei test di connessione degli endpoint Amazon S3 quando uso AWS DMS?
How do I troubleshoot connectivity failures between AWS DMS and a MongoDB source endpoint?
- Argomenti
- Migration & Modernization
- Lingua
- Italiano
Video correlati

