JDBC ドライバーまたは ODBC ドライバーを使用して Athena に接続する場合の「Amazon Athena との通信中にエラーが発生しました」というエラーをトラブルシューティングする方法を教えてください。

所要時間2分
0

Amazon Athena を Java Database Connectivity (JDBC) ドライバーまたは Open Database Connectivity (ODBC) ドライバーとともに使用すると、接続タイムアウトの問題が発生します。または、ビジネスインテリジェンスツールに Athena クエリの結果が表示されません。

解決策

このエラーの最も一般的な原因は、JDBC ドライバーまたは ODBC ドライバーをインストールしたホストと Athena または AWS Glue エンドポイントの間の接続です。

このエラーをトラブルシューティングするには、インストールされているホスト上のドライバーと Athena または AWS Glue との接続を確認します。

**注:**次の手順では、 vpce-NAMENAME を VPC エンドポイント名に置き換えます。

Athena への接続

Athena に正しく接続されていることを確認するには、次の点に注意してください。

  • ホストは Athena パブリックサービスエンドポイントまたは Athena プライベートエンドポイントのいずれかを使用して Athena に接続できます。エンドポイントの設定の詳細については、「コマンドラインオプション」と「Boto3 ドキュメント」を参照してください。
  • Athena はポート 443 を使用してホストに接続します。
  • Athena のストリーミング API は、ポート 444 を使用してクエリ結果をストリーミングします。JDBC ドライバーまたは ODBC ドライバーを使用する場合、Athena はこのポートを使用してクエリ結果をクライアントホスト上のドライバーにストリーミングします。そのため、JDBC ドライバーまたは ODBC ドライバーを使用して Athena に接続する場合は、このポートのブロックを解除してください。このポートがブロックされている場合、クエリを実行すると、ビジネスインテリジェンスツールがタイムアウトになるか、クエリ結果が表示されなくなる可能性があります。

Athena エンドポイント接続

Athena エンドポイントは athena.us-east-1.amazonaws.com のようになります。コマンドにエンドポイントを入力するときは、エンドポイントのターゲット AWS リージョンを必ず更新してください。

エンドポイントの接続をテストするには、お使いのオペレーションシステム (OS) に応じて以下のコマンドを実行します。

**注:**これらのコマンドを使用して、ポート 444 への接続をテストすることもできます。

Windows

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

または

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

Linux または macOS

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

プライベート DNS に仮想プライベートクラウド (VPC) エンドポイントを使用する場合は、これらのコマンドでエンドポイントの先頭に vpce-NAME を追加します。たとえば、プライベート DNS には athena.us-east-1.vpce.amazonaws.com の代わりに vpce-name.athena.us-east-1.vpce.amazonaws.com と入力します。NAME は VPC の名前に置き換えてください。プライベート DNS の詳細については、「インターフェイス VPC エンドポイントを使用して Amazon Athena に接続する」と「エンドポイントポリシーを使用して VPC エンドポイントへのアクセスを制御する」を参照してください。

また、ODCB のベストプラクティスまたは JDBC ドライバーに従ってください。たとえば、どちらのドライバーの場合でも、ポート 444 を開いたままにしておく必要があります。

AWS Glue への接続

JDBC ドライバーまたは ODBC ドライバーにインストールしたホストと AWS Glue との接続を必ず確認してください。ホストは AWS Glue パブリックサービスエンドポイントまたは AWS Glue プライベートサービスエンドポイントのいずれかを使用して AWS Glue に接続できます。詳細については、「AWS Glue サービスエンドポイント」を参照してください。Athena は AWS Glue データカタログを使用して、アカウントの Amazon S3 データのテーブルメタデータを保存および取得します。したがって、テーブルのメタデータ情報を取得するには、ドライバーが AWS Glue カタログに正常に接続する必要があります。

AWS Glue パブリックサービスエンドポイントを使用する場合は、次の例のようなコマンドを使用して接続をテストします。

**注:**使用しているオペレーティングシステムによっては、Test-NetConnection または nc を使用してポート接続を確認する必要がある場合があります。

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

AWS Glue VPC インターフェイスエンドポイントを使用する場合は、次の例のようなコマンドを使用して接続をテストします。

**注:**エンドポイントのプライベート DNS をオフにしている場合は、次のコマンドを使用します。

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

関連情報

ODBC ドライバーと JDBC ドライバーによる Amazon Athena への接続

AWS公式
AWS公式更新しました 10ヶ月前
コメントはありません