Come posso risolvere l'errore “Si è verificato un errore durante la comunicazione con Amazon Athena” quando mi connetto ad Athena con un driver JDBC o ODBC?

4 minuti di lettura
0

Ho problemi di timeout di connessione quando utilizzo Amazon Athena con un driver Java Database Connectivity (JDBC) o Open Database Connectivity (ODBC). Oppure, non riesco a visualizzare i risultati delle query di Athena sul mio strumento di business intelligence.

Risoluzione

La causa più comune di questo errore è la connessione tra l'host in cui è installato il driver JDBC o ODBC e gli endpoint Athena o AWS Glue.

Per risolvere questo errore, controlla la connettività tra il driver che si trova sull'host installato e Athena o AWS Glue.

Nota: Nei passaggi seguenti, sostituisci il NOME in vpce-NAME con il nome del tuo endpoint VPC.

Connettività con Athena

Per assicurarti di disporre di una connettività adeguata con Athena, tieni presente i seguenti punti:

  • L'host può connettersi ad Athena con un endpoint del servizio pubblico Athena o un endpoint privato Athena. Per ulteriori informazioni sull'impostazione dell'endpoint, vedere Opzioni della riga di comando e documentazione di Boto3.
  • Athena utilizza la porta 443 per connettersi all'host.
  • L'API di streaming di Athena utilizza la porta 444 per trasmettere i risultati delle query. Quando si utilizza un driver JDBC o ODBC, Athena utilizza questa porta per trasmettere i risultati della query al driver che si trova sull'host client. Pertanto, quando utilizzi un driver JDBC o ODBC per connetterti ad Athena, sblocca questa porta. Se questa porta è bloccata, il tuo strumento di business intelligence potrebbe scadere o non mostrare i risultati della query quando esegui una query.

Connettività degli endpoint Athena

Un endpoint Athena è simile a athena.us-east-1.amazonaws.com. Quando inserisci l'endpoint in un comando, assicurati di aggiornare la regione AWS di destinazione nell'endpoint.

Per testare la connettività di un endpoint, esegui i seguenti comandi a seconda del sistema operativo (OS):

Nota: Puoi anche usare questi comandi per testare la connettività alla porta 444.

Windows

telnet athena.us-east-1.amazonaws.com 443

-oppure-

Test-NetConnection -Computer_Name athena.us-east-1.amazonaws.com -Port 443

Linux o macOS

nc -v athena.us-east-1.amazonaws.com 443

Se utilizzi un endpoint cloud privato virtuale (VPC) per il DNS privato, aggiungi il vpce-NAME all'inizio dell'endpoint con questi comandi. Ad esempio, invece di athena.us-east-1.vpce.amazonaws.com, inserisci vpce-NAME.athena.us-east-1.vpce.amazonaws.com per il DNS privato. Sostituisci NOME con il nome del tuo VPC. Per ulteriori informazioni sul DNS privato, consulta Connettersi ad Amazon Athena utilizzando un endpoint VPC di interfaccia e Controllare l'accesso agli endpoint VPC utilizzando le policy degli endpoint.

Inoltre, assicurati di seguire le procedure consigliate per i driver ODCB o JDBC. Ad esempio, entrambi i driver richiedono di tenere aperta la porta 444.

Connettività ad AWS Glue

Assicurati di controllare la connettività tra l'host installato sul driver JDBC o ODBC e AWS Glue. Il tuo host può connettersi ad AWS Glue con un endpoint del servizio pubblico AWS Glue o un endpoint di servizio privato AWS Glue. Per ulteriori informazioni, consulta AWS service endpoints. Athena utilizza AWS Glue Data Catalog per archiviare e recuperare i metadati delle tabelle per i dati di Amazon S3 nel tuo account. Pertanto, il driver deve connettersi correttamente al catalogo AWS Glue per ottenere le informazioni sui metadati della tabella.

Se utilizzi un endpoint del servizio pubblico AWS Glue, verifica la connettività con un comando simile all'esempio seguente:

Nota: Potrebbe essere necessario utilizzare Test-NetConnection o nc per verificare la connettività delle porte in base al sistema operativo.

telnet glue.us-east-1.amazonaws.com 443

Se utilizzi un endpoint di interfaccia VPC di AWS Glue, verifica la connettività con un comando simile all'esempio seguente:

Nota: Usa il seguente comando se hai disattivato il DNS privato per l'endpoint.

telnet vpce-NAME.glue.us-east-1.vpce.amazonaws.com 443

Informazioni correlate

Connessione ad Amazon Athena con driver ODBC e JDBC

AWS UFFICIALE
AWS UFFICIALEAggiornata 10 mesi fa