Comment puis-je résoudre l'erreur « Une erreur s'est produite lors de la communication avec Amazon Athena » lors de la connexion à Athena à l'aide d'un pilote JDBC ou ODBC ?

Lecture de 4 minute(s)
0

Je rencontre des problèmes de délai de connexion lorsque j'utilise Amazon Athena avec un pilote Java Database Connectivity (JDBC) ou Open Database Connectivity (ODBC). Ou bien, je ne peux pas voir les résultats de la requête Athena sur mon outil de business intelligence.

Résolution

La cause la plus courante de cette erreur est la connexion entre l'hôte sur lequel vous avez installé le pilote JDBC ou ODBC et les points de terminaison Athena ou AWS Glue.

Pour corriger cette erreur, vérifiez la connectivité entre le pilote qui se trouve sur l'hôte installé et Athena ou AWS Glue.

Remarque : dans les étapes suivantes, remplacez NAME dans vpce-NAME par le nom de votre point de terminaison d'un VPC.

Connectivité à Athena

Pour vous assurer que vous disposez d'une connexion correcte à Athena, gardez à l'esprit les points suivants :

  • Votre hôte peut se connecter à Athena à l'aide d'un point de terminaison de service public Athena ou d'un point de terminaison privé Athena. Pour plus d'informations sur la configuration du point de terminaison, reportez-vous à Options de ligne de commande et à la documentation Boto3.
  • Athena utilise le port 443 pour se connecter à l'hôte.
  • L'API de diffusion d'Athena utilise le port 444 pour diffuser les résultats de la requête. Lorsque vous utilisez un pilote JDBC ou ODBC, Athena utilise ce port pour transmettre les résultats de la requête au pilote qui se trouve sur l'hôte client. Vous devez donc débloquer ce port lorsque vous utilisez un pilote JDBC ou ODBC pour vous connecter à Athena. Si ce port est bloqué, il est possible que votre outil de business intelligence arrive à expiration ou qu'il n'affiche pas les résultats de la requête lorsque vous exécutez une requête.

Connectivité des points de terminaison Athena

Un point de terminaison Athena se présente ainsi : athena.us-east-1.amazonaws.com. Lorsque vous saisissez le point de terminaison dans une commande, veillez à mettre à jour la région AWS cible dans le point de terminaison.

Pour tester la connectivité d'un point de terminaison, exécutez les commandes suivantes en fonction de votre système d'exploitation (OS) :

Remarque : Vous pouvez également utiliser ces commandes pour tester la connectivité au port 444.

Windows

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

-ou-

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

Linux ou macOS

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

Si vous utilisez un point de terminaison du cloud privé virtuel (VPC) pour DNS privé, ajoutez vpce-NAME au début de votre point de terminaison dans ces commandes. Par exemple, au lieu de athena.us-east-1.vpce.amazonaws.com, saisissez vpce-NAME.athena.us-east-1.vpce.amazonaws.com pour DNS privé. Remplacez NAME par le nom de votre VPC. Pour plus d'informations sur le DNS privé, reportez-vous aux rubriques Se connecter à Amazon Athena à l'aide d'un point de terminaison VPC d'interface et Contrôler l'accès aux points de terminaison d'un VPC à l'aide de politiques de point de terminaison.

Assurez-vous également de suivre les meilleures pratiques pour les pilotes ODCB ou JDBC. Par exemple, les deux pilotes exigent que vous laissiez le port 444 ouvert.

Connectivité à AWS Glue

Assurez-vous de vérifier la connectivité entre l'hôte que vous avez installé sur le pilote JDBC ou ODBC et AWS Glue. Votre hôte peut se connecter à AWS Glue à l'aide d'un point de terminaison de service public AWS Glue ou d'un point de terminaison de service privé AWS Glue. Pour plus d'informations, consultez la rubrique Points de terminaison de service AWS Glue. Athena utilise le catalogue de données AWS Glue pour stocker et récupérer les métadonnées des tables relatives aux données Amazon S3 de votre compte. Par conséquent, votre pilote doit se connecter correctement au catalogue AWS Glue pour obtenir les informations de métadonnées de la table.

Si vous utilisez un point de terminaison de service public AWS Glue, testez la connectivité à l'aide d'une commande similaire à l'exemple suivant :

Remarque : vous devrez peut-être utiliser Test-NetConnection ou nc pour vérifier la connectivité des ports en fonction de votre système d'exploitation.

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

Si vous utilisez un point de terminaison d'interface AWS Glue VPC, testez la connectivité à l'aide d'une commande similaire à l'exemple suivant :

Remarque : utilisez la commande suivante si vous avez désactivé le DNS privé pour le point de terminaison.

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

Informations connexes

Connexion à Amazon Athena à l'aide de pilotes ODBC et JDBC

AWS OFFICIEL
AWS OFFICIELA mis à jour il y a un an