Perché la mia connessione di prova AWS Glue non va a buon fine?
Desidero risolvere un problema con una connessione di prova non riuscita in AWS Glue.
Risoluzione
Nota: se ricevi errori quando esegui i comandi dell'Interfaccia della linea di comando AWS (AWS CLI), consulta Risoluzione degli errori per AWS CLI. Inoltre, assicurati di utilizzare la versione più recente di AWS CLI.
Per risolvere i problemi relativi a una connessione di prova non riuscita in AWS Glue, controlla le connessioni di rete e di autenticazione.
Problemi di rete
Verifica la connettività ai datastore JDBC
AWS Glue crea interfacce di rete elastiche con indirizzi IP privati nella sottorete della connessione. I dati archiviati all'esterno di Amazon Virtual Private Cloud (Amazon VPC) richiedono che la tabella di routing della sottorete includa un gateway NAT in una sottorete pubblica. In caso contrario si verifica il timeout della connessione.
Nota: i dati archiviati all'esterno di Amazon VPC sono un datastore on-premises o una risorsa Amazon Relational Database Service (Amazon RDS) con un nome host pubblico.
Verifica che i gruppi di sicurezza della connessione e la lista di controllo degli accessi alla rete (ACL) consentano il traffico verso i dati nel VPC. Quindi utilizza il runbook AWSSupport-TroubleshootGlueConnection in AWS Systems Manager. Per ulteriori informazioni, consulta Come posso risolvere gli errori di una connessione AWS Glue con un'origine JDBC?
Se la connessione richiede un gateway NAT o l'accesso ad AWS Secrets Manager e al Servizio di token di sicurezza AWS (AWS STS), collega gli endpoint. Per ulteriori informazioni, consulta Connessione ai dati.
Controlla i gruppi di sicurezza della connessione
Uno dei gruppi di sicurezza associati alla connessione deve disporre di una regola in entrata autoreferenziata aperta a tutte le porte TCP. Uno dei gruppi di sicurezza deve essere aperto a tutto il traffico in uscita. Puoi utilizzare una regola autoreferenziata per limitare il traffico in uscita verso il VPC. Per ulteriori informazioni, consulta Configurazione di Amazon VPC per connessioni JDBC ai datastore Amazon RDS da AWS Glue.
Verifica il numero di indirizzi IP liberi
Il numero di indirizzi IP liberi nella sottorete deve essere maggiore del numero di worker specificato per il processo. Ciò consente ad AWS Glue di creare interfacce di rete nella sottorete specificata.
Verifica che la sottorete possa accedere ad Amazon S3
Fornisci un endpoint Amazon Simple Storage Service (Amazon S3) o un routing verso un gateway NAT nella tabella di routing della sottorete. Per ulteriori informazioni, consulta Error: Could not find S3 endpoint or NAT Gateway for subnetId in VPC.
Verifica se disponi di un endpoint VPC di AWS KMS
Per crittografare le connessioni per il Catalogo dati AWS Glue, assicurati di avere un routing verso il Servizio AWS di gestione delle chiavi (AWS KMS). Ad esempio, il routing può essere un endpoint dell'interfaccia VPC di AWS KMS. Per ulteriori informazioni, consulta Connessione ad AWS KMS tramite un endpoint VPC.
Verifica se la connessione AWS Glue e il database utilizzano VPC diversi
La connessione di prova non va a buon fine e restituisce un errore di timeout quando sono vere le seguenti condizioni:
- Il database non è accessibile pubblicamente.
- Hai collegato il processo AWS Glue a una connessione che utilizza un VPC diverso senza peering VPC.
Per risolvere un errore di connessione di prova, crea un VPC di AWS Glue dedicato e configura il peering VPC associato con gli altri VPC.
Verifica la connettività al datastore on-premises
Per verificare la connessione AWS Glue a un database on-premises che si connette a un'istanza Amazon Elastic Compute Cloud (Amazon EC2), esegui questi comandi:
$ telnet hostname port $ nc -zv hostname port $ dig hostname $ traceroute -AnT -p IP port
Controlla le configurazioni della VPN e del VPC, della sottorete, del gruppo di sicurezza e delle liste di controllo degli accessi alla rete (ACL). Assicurati che le configurazioni non blocchino la connettività dal VPC al database on-premises né creino problemi di firewall dal database on-premises. Per ulteriori informazioni, consulta la pagina How to access and analyze on-premises data stores using AWS Glue (Come accedere ai datastore on-premises e analizzarli utilizzando AWS Glue).
Problemi di autenticazione
Scegli il ruolo IAM corretto
Il ruolo AWS Identity and Access Management (AWS IAM) selezionato per la connessione di prova deve avere una relazione di attendibilità con AWS Glue. Scegli un ruolo collegato al servizio a cui è associata la policy AWSGlueServiceRole per creare la relazione di attendibilità.
Controlla il ruolo IAM della connessione
Se hai crittografato la password di connessione con AWS KMS, verifica che il ruolo IAM della connessione consenta l'azione kms:Decrypt per la chiave. Per ulteriori informazioni, consulta Configurazione della crittografia in AWS Glue.
Controlla i log delle connessioni
Controlla i messaggi di errore nei log. Puoi trovare i log delle connessioni di prova in Amazon CloudWatch Logs nella cartella /aws-glue/testconnection/output.
Controlla le impostazioni SSL
Se il datastore richiede la connettività SSL per l'utente specificato, seleziona Richiedi una connessione SSL quando crei la connessione sulla console. Seleziona questa opzione solo se il datastore supporta SSL.
Controlla il nome utente e la password JDBC
Gli utenti devono disporre di autorizzazioni sufficienti per accedere al datastore Java Database Connectivity (JDBC). Ad esempio, i crawler AWS Glue richiedono l'autorizzazione SELECT. Un processo che scrive in un datastore richiede le autorizzazioni INSERT, UPDATE e DELETE.
Controlla la sintassi dell'URL JDBC
I requisiti di sintassi variano in base al motore di database. Per ulteriori informazioni, consulta Proprietà di connessione JDBC di AWS Glue ed esamina gli esempi in URL JDBC.
Suggerimenti aggiuntivi
Verifica il tipo di connessione
Assicurati di scegliere il tipo di connessione corretto. Quando scegli Amazon RDS o Amazon Redshift per il Tipo di connessione, AWS Glue compila automaticamente il VPC, la sottorete e il gruppo di sicurezza.
La funzione di connessione di prova funziona solo per le versioni di MySQL 5.x. Il driver JDBC di AWS Glue integrato non supporta la versione 8 di MySQL. Se provi la connessione con una versione di MySQL successiva alla versione 5.x, potresti ricevere un errore di timeout della connessione. Utilizza la connessione AWS Glue per connetterti alla versione 8 di MySQL. Per utilizzare la connessione su un processo di estrazione, trasformazione e caricamento (ETL), inserisci il driver Java Archive (JAR) compatibile con MySQL versione 8 e successive. Quindi carica il file JAR nel processo. Per ulteriori informazioni, consulta Tipi e opzioni di connessione per ETL in AWS Glue per Spark.
Verifica che il DNS non sia la causa dei problemi
Per escludere problemi relativi al DNS, utilizza l'indirizzo IP pubblico o privato del datastore come URL JDBC per la connessione AWS Glue. Deseleziona il campo Richiedi una connessione SSL perché non viene più utilizzato un nome di dominio.
Verifica se il driver è incompatibile
Fornisci il driver corretto come file JAR aggiuntivo nelle proprietà del processo, insieme al nome della connessione non riuscita. Quando specifichi il nome della connessione come proprietà del processo, AWS Glue utilizza le impostazioni di rete della connessione, come il VPC e le sottoreti. Crea il DataFrame Spark con il file JAR nelle proprietà del processo per sovrascrivere i driver predefiniti del datastore AWS Glue.
Puoi anche convertire il DataFrame in un DynamicFrame AWS Glue. Per ulteriori informazioni, consulta fromDF.
Controlla se il datastore JDBC è accessibile pubblicamente
Utilizza MySQL Workbench e l'URL JDBC per connetterti al datastore. Oppure avvia un'istanza Amazon EC2 con accesso SSH alla stessa sottorete e agli stessi gruppi di sicurezza che utilizzi per la connessione. Quindi utilizza SSH per connetterti all'istanza ed esegui questo comando per testare la connettività:
dig hostname$ nc -zv hostname port
Informazioni correlate
Contenuto pertinente
- AWS UFFICIALEAggiornata 4 mesi fa
- AWS UFFICIALEAggiornata 2 anni fa
- AWS UFFICIALEAggiornata 3 anni fa
- AWS UFFICIALEAggiornata 2 anni fa