DynamoDB で SSL/TLS 接続の確立に関する問題をトラブルシューティングする - Amazon DynamoDB

DynamoDB で SSL/TLS 接続の確立に関する問題をトラブルシューティングする

Amazon DynamoDB は、サードパーティの認証機関ではなく Amazon Trust Services (ATS) 認証機関によって署名された安全な証明書へのエンドポイントの移動を行っています。2017 年 12 月、Amazon Trust Services が発行する安全な証明書を使用して EU-WEST-3 (パリ) リージョンを立ち上げました。2017 年 12 月以降に提供が開始されたすべての新しいリージョンには、Amazon Trust Services 発行の証明書を持つエンドポイントがあります。このガイドでは、SSL/TLS 接続の問題を検証し、トラブルシューティングする方法を示します。

アプリケーションまたはサービスをテストする

ほとんどの AWS SDK とコマンドラインインターフェイス (CLI) は、Amazon Trust Services 証明書機関をサポートしています。2013 年 10 月 29 日以前にリリースされた AWS SDK for Python または CLI のバージョンを使用している場合は、アップグレードする必要があります。.NET、Java、PHP、Go、JavaScript、C ++、SDK、CLI には証明書がバンドルされていません。証明書は、基盤となるオペレーティングシステムから取得されます。2015 年 6 月 10 日以降、Ruby SDK には、少なくとも 1 つの必要な CA が含まれています。この日付以前の Ruby V2 SDK には証明書はバンドルされていませんでした。サポートされていない、カスタム、または変更バージョンの AWS SDK を使用している場合、またはカスタム信頼ストアを使用している場合は、Amazon Trust Services 証明書機関のサポートがない可能性があります。

DynamoDB エンドポイントへのアクセスを検証するには、EU-WEST-3 リージョンの DynamoDB API または DynamoDB Streams API するアクセスするテストを開発し、TLS ハンドシェイクが成功することを検証する必要があります。このテストでアクセスする必要がある特定のエンドポイントは次のとおりです。

アプリケーションが Amazon Trust Services 認証機関をサポートしていない場合は、次のいずれかのエラーが表示されます。

  • SSL/TLS ネゴシエーションエラー

  • ソフトウェアが SSL/TLS ネゴシエーションの障害を示すエラーを受信するまでに長い遅延が発生します。遅延時間は、クライアントの再試行戦略とタイムアウト設定に応じて異なります。

クライアントブラウザのテスト

ブラウザが Amazon DynamoDB に接続できることを確認するには、https://dynamodb.eu-west-3.amazonaws.com を開きます。テストが成功すると、次のようなメッセージが表示されます。

healthy: dynamodb.eu-west-3.amazonaws.com

テストが失敗した場合は、https://untrusted-root.badssl.com/ に見られるようなエラーが表示されます。

ソフトウェアアプリケーションクライアントの更新中

DynamoDB または DynamoDB Streams API エンドポイントに (ブラウザまたはプログラムで) アクセスするアプリケーションが以下のいずれかの CA をサポートしていない場合、クライアントマシン上の信頼できる CA リストを更新する必要があります。

  • Amazon Root CA 1

  • Starfield Services Root Certificate Authority - G2

  • Starfield Class 2 Certification Authority

クライアントが上記 3 つの CA のいずれかを既に信頼している場合、これらは DynamoDB で使用される証明書を信頼するため、アクションは必要ありません。ただし、クライアントが上記の CA を信頼していない場合、DynamoDB API または DynamoDB Streams API への HTTPS 接続が失敗します。詳細については、https://aws.amazon.com/blogs/security/how-to-prepare-for-aws-move-to-its-own-certificate-authority/ のブログ記事を参照してください。

クライアントブラウザを更新する

ブラウザの証明書バンドルは、ブラウザを更新するだけで更新できます。最も一般的なブラウザの手順は、それぞれのブラウザのウェブサイトに記載されています。

手動で証明書バンドルを更新する

DynamoDB API または DynamoDB Streams API にアクセスできない場合は、証明書バンドルを更新する必要があります。そのためには、必要な CA の少なくとも 1 つをインポートする必要があります。これらは、https://www.amazontrust.com/repository/ から入手できます。

以下のオペレーティングシステムとプログラミング言語は、Amazon Trust Services 証明書をサポートしています。

  • 2005 年 1 月以降の更新プログラムがインストールされている Microsoft Windows のバージョン、Windows Vista、Windows 7、Windows Server 2008、およびそれ以降のバージョン。

  • MacOS X 10.4 Release 5 用 の MacOS X 10.4 with Java、MacOS X 10.5 およびそれ以降のバージョン。

  • Red Hat Enterprise Linux 5 (2007 年 3 月)、Linux 6、Linux 7、CentOS 5、CentOS 6、CentOS 7

  • Ubuntu 8.10

  • Debian 5.0

  • Amazon Linux (すべてのバージョン)

  • Java 1.4.2_12、Java 5 update 2、およびそれ以降のバージョン (Java 6、Java 7、Java 8)

それでも接続できない場合は、該当するソフトウェアのドキュメントを参照するか、OS ベンダーまたは AWS サポート (https://aws.amazon.com/support) にお問い合わせください。