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

9 minuti di lettura
0

Non riesco a connettermi ai miei endpoint di AWS Database Migration Service (AWS DMS). Perché il test della connessione non riesce e come posso risolvere questi problemi di connettività?

Breve descrizione

Esistono due tipi di errori che si verificano in genere durante il test della connessione dall'istanza di replica all'endpoint di origine o di destinazione:

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

2.    Se l'errore si è verificato a causa di un errore nativo del database, ad esempio un errore di autorizzazione o autenticazione del database, vengono 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."

In base al tipo di errore ricevuto e alla configurazione di rete, consulta la sezione sulla risoluzione appropriata.

Nota: è consigliabile testare la connettività dall'istanza di replica AWS DMS agli endpoint dopo aver creato gli endpoint di origine e di destinazione di AWS DMS. Esegui questa operazione prima di iniziare l'attività di migrazione di AWS DMS. In caso contrario, l'attività può fallire a causa di problemi di connettività con l'endpoint.

Risoluzione

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

Verifica che sia possibile 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 sottoreti pubbliche o private. 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 utilizzare endpoint VPC o per utilizzare percorsi pubblici verso tutti gli endpoint di origine e destinazione che interagiscono con determinati Amazon Web Services. Se i test degli endpoint DMS hanno esito positivo nelle versioni precedenti ma falliscono in quelle successive, consulta Configuring VPC endpoints as AWS DMS source and target endpoints.

Verificare 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 rispetto a quella predefinita.
  • Una Regola in uscita per l'indirizzo IP con la porta del database di origine o di destinazione nell'ACL di rete. Per impostazione predefinita, la Regola in uscita della lista di controllo degli accessi (ACL) della 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.

Controllare 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 il CIDR del gruppo di sottorete dell'istanza di replica con 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 rispetto a quella predefinita.
    Nota: per trovare gli indirizzi IP e i CIDR, consulta la sezione Determinare gli indirizzi IP e il CIDR di un gruppo di sottorete.
  • Una Regola in entrata per l'indirizzo IP dell'istanza di replica o il CIDR del gruppo di sottorete dell'istanza di replica con la porta del database di origine o di destinazione nell'ACL di rete. Conferma che non esiste 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.
  • Come best practice, configura la tua rete per consentire il CIDR del gruppo di sottorete dell'istanza di replica. L'indirizzo IP dell'istanza di replica cambia durante un evento di failover o di sostituzione dell'host.

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

Per determinare gli indirizzi IP e il CIDR del gruppo di sottorete per impostare le regole in entrata e in uscita, utilizza la console AWS DMS o l'interfaccia della linea di comando.

Utilizzo della consolle AWS:

  1. Accedi alla console di AWS DMS.
  2. Nel riquadro di navigazione, scegli Istanze di replica.
  3. Scegli il nome della tua istanza di replica.
  4. In Dettagli, annota l'indirizzo IP pubblico, l'indirizzo IP privato e il gruppo di sottorete di replica dell'istanza di replica.
  5. In Gruppo di sottoreti di replica, scegli il link per accedere alla pagina del gruppo di sottorete. Annota il nome di ogni sottorete nel gruppo di sottoreti.
  6. Per verificare il CIDR di ciascuna sottorete accedi alla console Amazon Virtual Private Cloud (Amazon VPC).
  7. Nella scheda Sottoreti, cerca le sottoreti indicate nel passaggio 5. Per ogni sottorete, annota il CIDR.

Uso dell’interfaccia AWS CLI:

Esegui il comando describe-subnets per determinare il CIDR di ciascuna sottorete. Per replication-instance-name, inserisci il nome della tua istanza di replica.

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

Esegui il comando describe-replication-instances per determinare gli indirizzi IP dell'istanza di replica. Per replication-instance-name, inserisci il nome della tua istanza di replica.

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

Risolvere i problemi di connettività (risorse locali)

Se il database di origine o di destinazione è ospitato in locale, conferma quanto segue:

  • Rivolgiti al tuo amministratore di rete per confermare che il database consenta le connessioni in entrata dall'istanza di replica AWS DMS.
  • Verifica che un firewall non stia bloccando la comunicazione con il database di origine o di destinazione.
  • Verifica che la configurazione DNS sia impostata correttamente. Se hai bisogno di una risoluzione DNS, utilizza risolutore Amazon Route 53. Per informazioni sull'utilizzo di un server di nomi on-premises per risolvere gli endpoint utilizzando il risolutore Amazon Route 53, consulta Using your own on-premise name server.
    -or-
    Crea una nuova istanza DMS tramite l'interfaccia della linea di comando di AWS per utilizzare un server di nomi DNS del cliente (--dns-name-servers) per i risolvere i problemi di DNS. Per impostazione predefinita, le istanze DMS utilizzano il DNS fornito da Amazon per le risoluzioni. Gli endpoint DMS possono fallire se l'origine o la destinazione sono configurati per utilizzare un DNS personalizzato. Per ulteriori informazioni, consulta create-replication-instance.

Assicurati che la tua istanza Amazon EC2 abbia le stesse configurazioni di rete dell'istanza di replica AWS DMS con i problemi di connettività. Esegui i seguenti comandi sulla nuova istanza EC2 per risolvere i problemi di connettività di rete:

telnet <database_IP_address_or_DNS> <port_number>
nslookup <domain_name>

Per database_IP_address_or_DNS, utilizza l'indirizzo IP o il nome di dominio del database specificato per l'endpoint di origine o destinazione DMS. Per port_number, utilizza il numero di porta del database specificato per l'endpoint di origine o di destinazione DMS. Per domain_name, usa il nome di dominio del database specificato per l'endpoint di origine o di destinazione DMS.

Risolvere gli errori nativi del database

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

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

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

Per gli errori nativi del database relativi al database di origine o di destinazione, fare riferimento alla risoluzione contenuta nella documentazione specifica del database. Utilizza il codice di errore e il messaggio di errore sulla console DMS.

Per ulteriori informazioni, controlla gli errori, le tracce, gli avvisi o altri registri dal database di origine o di destinazione.

Per errori di accesso al database, conferma le autorizzazioni richieste dal DMS per l'origine o la destinazione specifica.

Per ulteriori informazioni sulla crittografia delle connessioni per gli endpoint di origine e destinazione utilizzando Secure Sockets Layer (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 can I troubleshoot connectivity failures between AWS DMS and a MongoDB source endpoint?

Migrate an on-premises Oracle database to Amazon RDS for PostgreSQL using an Oracle bystander and AWS DMS

Migrating Microsoft SQL Server databases to the AWS Cloud

AWS UFFICIALE
AWS UFFICIALEAggiornata 2 anni fa