翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
Amazon DocumentDB TLS 証明書の更新
Amazon DocumentDB クラスターの証明機関 (CA) 証明書は、2024 年 8 月に更新される予定です。TLS (Transport Layer Security) が有効 (デフォルト設定) になっている クラスターを使用しており、クライアントアプリケーション証明書とサーバー証明書を更新していない場合は、アプリケーションと Amazon DocumentDB クラスターとの接続問題を軽減するために次の手順を実行する必要があります。
CA とサーバーの証明書は、Amazon DocumentDB のための標準的なメンテナンスおよびセキュリティのベストプラクティスの一環として更新されています。クライアントアプリケーションは、新しい CA 証明書をトラストストアに追加する必要があり、この有効期限より前に新しい CA 証明書を使用するために既存の Amazon DocumentDB インスタンスを更新する必要があります。
アプリケーションと Amazon DocumentDB クラスターの更新
このセクションの手順に従って、アプリケーションの CA 証明書バンドル (ステップ 1) とクラスターのサーバー証明書 (ステップ 2) を更新します。本番環境に変更を適用する前に、開発環境またはステージング環境でこれらの手順をテストすることを強くお勧めします。
注記
Amazon DocumentDB クラスターがある各 AWS リージョン で、ステップ 1 と 2 を完了する必要があります。
ステップ 1: 新しい CA 証明書をダウンロードしてアプリケーションを更新する
新しい CA 証明書をダウンロードし、新しい CA 証明書を使用して Amazon DocumentDB への TLS 接続を作成するようにアプリケーションを更新します。https://truststore.pki.rds.amazonaws.com/global/global-bundle.pemglobal-bundle.pem
という名前のファイルがダウンロードされます。
注記
古い CA 証明書 (rds-ca-2019-root.pem
) と新しい CA 証明書 (rds-ca-rsa2048-g1
、rds-ca-rsa4096-g1
、rds-ca-ecc384-g1
) の両方を含むキーストアにアクセスしている場合は、キーストアで global-bundle
が選択されるか確認してください。
wget https://truststore.pki.rds.amazonaws.com/global/global-bundle.pem
次に、新しい証明書バンドルを使用するようにアプリケーションを更新します。新しい CA バンドルには、古い CA 証明書 (rds-ca-2019) と新しい CA 証明書 (rds-ca-rsa2048-g1, rds-ca-rsa4096-g1, rds-ca-ecc384-g1) の両方が含まれています。新しい CA バンドルに両方の CA 証明書を使用すると、2 つの手順でアプリケーションとクラスターを更新できます。
Java アプリケーションの場合、新しい CA 証明書を使用して新しい信頼ストアを作成する必要があります。手順については、TLS が有効な場合の接続 トピックの Java タブを参照してください。
アプリケーションで最新の CA 証明書バンドルを使用していることを確認するには、「最新の CA バンドルを使用していることを確認するにはどうすればよいですか?」を参照してください。アプリケーションで最新の CA 証明書バンドルをすでに使用している場合は、ステップ 2 に進むことができます。
アプリケーションで CA バンドルを使用する例については、「Encrypting data in transit」および「TLS が有効な場合の接続」を参照してください。
注記
現在、MongoDB Go ドライバー 1.2.1 は、sslcertificateauthorityfile
で 1 つの CA サーバー証明書しか受け入れません。TLS が有効な場合は、Go を使用して Amazon DocumentDB に接続する方法について「TLS が有効な場合の接続」を参照してください。
ステップ 2: サーバー証明書を更新する
新しい CA バンドルを使用するようにアプリケーションを更新したら、次のステップとして Amazon DocumentDB クラスター内の各インスタンスを変更してサーバー証明書を更新します。新しいサーバー証明書を使用するようにインスタンスを変更するには、次の手順を参照してください。
Amazon DocumentDB には DB インスタンスの DB サーバー証明書に署名するために以下の CA が用意されています。
-
rds-ca-ecc384-g1 — ECC 384 プライベートキーアルゴリズムと SHA384 署名アルゴリズムを備えた認証局を使用します。この CA はサーバー証明書の自動ローテーションをサポートします。これは現在、Amazon DocumentDB 4.0 および 5.0 でのみサポートされています。
-
rds-ca-rsa2048-g1 — 大半の AWS リージョンでは、RSA 2048 プライベートキーアルゴリズムと SHA256 署名アルゴリズムを備えた認証局を使用します。この CA はサーバー証明書の自動ローテーションをサポートします。
-
rds-ca-rsa2048-g1 — RSA 4096 プライベートキーアルゴリズムと SHA256 署名アルゴリズムを備えた認証局を使用します。この CA はサーバー証明書の自動ローテーションをサポートします。
注記
AWS CLI を使用している場合は、describe-certificates を使用して、上記の認証局の有効性を確認できます。
これらの CA 証明書は、地域およびグローバル証明書バンドルに含まれています。rds-ca-rsa2048-g1, rds-ca-rsa4096-g1, or rds-ca-ecc384-g1 のいずれかの CA をデータベースに使用すると、Amazon DocumentDB はそのデータベース上で DB サーバー証明書を管理します。Amazon DocumentDB は、DB サーバー証明書の有効期限が切れる前に証明書のローテーションを行います。
注記
お使いのクラスターが次のエンジンパッチバージョンで実行されている場合、Amazon DocumentDB は証明書ローテーションのために再起動を必要としません。
Amazon DocumentDB 3.6: 1.0.208662 以降
Amazon DocumentDB 4.0: 2.0.10179 以降
Amazon DocumentDB 5.0: 3.0.4780 以降
Amazon DocumentDB エンジンパッチの最新バージョンは、次のコマンドを実行して確認できます: db.runCommand({getEngineVersion: 1})
。
サーバー証明書を更新する前に、ステップ 1 を完了しておく必要があります。
トラブルシューティング
証明書の更新の一環としてクラスターへの接続に問題がある場合は、次の操作をお勧めします。
-
クライアントが最新の証明書バンドルを使用していることを確認します。「最新の CA バンドルを使用していることを確認するにはどうすればよいですか?」を参照してください。
-
インスタンスが最新の証明書を使用していることを確認します。「古い/新しいサーバー証明書を使用している Amazon DocumentDB インスタンスを確認するにはどうすればいいですか。」を参照してください。
-
最新の証明書 CA がアプリケーションで使用されていることを確認します。Java や Go などの一部のドライバーは、複数の証明書を証明書バンドルから信頼ストアにインポートするために、追加のコードを必要とします。TLS を使用した Amazon DocumentDB への接続のさらなる詳細については、プログラムによる Amazon DocumentDB への接続 を参照してください。
-
サポートへのお問い合わせ。ご質問や問題がある場合は、Support
にお問い合わせください。
よくある質問
次に、TLS 証明書に関していくつかのよくある質問に対する回答を示します。
質問や問題がある場合はどうしたらいいですか?
ご質問や問題がある場合は、Support
TLS を使用して Amazon DocumentDB クラスターに接続しているかどうかを知るにはどうすればよいですか。
クラスターが TLS を使用しているかどうかを判断するには、クラスターのクラスターパラメータグループの tls
パラメータを調べます。tls
パラメータが enabled
に設定されている場合は、TLS 証明書を使用してクラスターに接続しています。詳細については、「Amazon DocumentDB クラスターパラメータグループの管理」を参照してください。
CA 証明書とサーバー証明書を更新する理由
Amazon DocumentDB の CA 証明書とサーバー証明書は、Amazon DocumentDB の標準的なメンテナンスおよびセキュリティのベストプラクティスの一環として更新されてきました。現在の CA 証明書とサーバー証明書は 2024 年 8 月に期限切れになります。
有効期限までにアクションしないと、どうなりますか?
Amazon DocumentDB クラスターへの接続に TLS を使用しており、2024 年 8 月までに変更を行わなかった場合、TLS 経由で接続するアプリケーションは Amazon DocumentDB クラスターと通信できなくなります。
Amazon DocumentDB は、有効期限が切れる前にデータベース証明書を自動的にローテーションしません。有効期限の前後を問わず、新しい CA 証明書を使用するようにアプリケーションとクラスターを更新する必要がある。
古い/新しいサーバー証明書を使用している Amazon DocumentDB インスタンスを確認するにはどうすればいいですか。
まだ古いサーバー証明書を使用している Amazon DocumentDB インスタンスを特定するには、Amazon DocumentDB AWS Management Console または AWS CLI を使用できます。
古い証明書を使用しているクラスター内のインスタンスを特定するには
AWS Management Console にサインインし、https://console.aws.amazon.com/docdb
にある Amazon DocumentDB コンソールを開きます。 -
画面の右上にあるリージョンのリストで、インスタンスが存在する AWS リージョン を選択します。
-
コンソールの左側のナビゲーションペインで、Clusters を選択します。
-
[証明機関] 列 (表の右端近く) には、古いサーバー証明書 (
rds-ca-2019
) および新しいサーバー証明書 (rds-ca-rsa2048-g1
) に残っているインスタンスが表示されます。
古いサーバー証明書を使用しているクラスター内のインスタンスを特定するには、以下を指定して describe-db-clusters
コマンドを使用します。
aws docdb describe-db-instances \ --filters Name=engine,Values=docdb \ --query 'DBInstances[*].{CertificateVersion:CACertificateIdentifier,InstanceID:DBInstanceIdentifier}'
Amazon DocumentDB クラスター内の個々のインスタンスを変更してサーバー証明書を更新するにはどうすればよいですか。
特定のクラスター内のすべてのインスタンスのサーバー証明書を同時に更新することをお勧めします。クラスター内のインスタンスを変更するには、コンソールまたは AWS CLI を使用できます。
注記
サーバー証明書を更新する前に、ステップ 1 を完了しておく必要があります。
AWS Management Console にサインインし、https://console.aws.amazon.com/docdb
にある Amazon DocumentDB コンソールを開きます。 -
画面の右上にあるリージョンのリストで、クラスターが存在する AWS リージョン を選択します。
-
コンソールの左側のナビゲーションペインで、Clusters を選択します。
-
[証明機関] 列 (表の右端近く) には、古いサーバー証明書 (
rds-ca-2019
) に残っているインスタンスが表示されます。 -
[クラスター] 表の [クラスター識別子] で、変更するインスタンスを選択します。
-
アクション を選択してから、変更 を選択します。
-
[証明機関] で、このインスタンスの新しいサーバー証明書 (
rds-ca-rsa2048-g1
) を選択します。 -
次のページで変更の概要を確認できます。接続の中断を避けるためにインスタンスを変更する前に、アプリケーションが最新の証明書 CA バンドルを使用していることを確認するよう通知する、追加のアラートがあることに注意してください。
-
次のメンテナンス期間中に変更を適用するか、すぐに適用するかを選択できます。
-
[インスタンスの変更] を選択して、更新を完了します。
次の手順を実行し、AWS CLI を使って既存の Amazon DocumentDB インスタンスのための古いサーバー証明書を特定して更新します。
-
インスタンスをすぐに変更するには、クラスターの各インスタンスに対して次のコマンドを実行します。
aws docdb modify-db-instance --db-instance-identifier
<yourInstanceIdentifier>
--ca-certificate-identifier rds-ca-rsa2048-g1 --apply-immediately -
クラスターの次回のメンテナンスウィンドウで新しい CA 証明書を使用するようにクラスター内のインスタンスを変更するには、クラスター内のインスタンスごとに次のコマンドを実行します。
aws docdb modify-db-instance --db-instance-identifier
<yourInstanceIdentifier>
--ca-certificate-identifier rds-ca-rsa2048-g1 --no-apply-immediately
既存のクラスターに新しいインスタンスを追加するとどうなりますか?
作成される新しいインスタンスはすべて古いサーバー証明書を使用し、古い CA 証明書を使用する TLS 接続が必要です。2024 年 1 月 25 日以降に作成された新しい Amazon DocumentDB インスタンスでは、デフォルトで新しい証明書 rds-ca-rsa2048-g1 が使用されます。
クラスターにインスタンスの置き換えまたはフェイルオーバーがある場合はどうなりますか?
クラスターにインスタンスの置き換えがある場合、作成される新しいインスタンスは、そのインスタンスが以前使用していたものと同じサーバー証明書を引き続き使用します。すべてのインスタンスのサーバー証明書を同時に更新することをお勧めします。クラスターでフェイルオーバーが発生した場合、新しいプライマリのサーバー証明書が使用されます。
クラスターへの接続に TLS を使用していない場合でも、各インスタンスを更新する必要がありますか?
TLS を有効にすることを強くお勧めします。なお、TLS を有効にしない場合でも、今後 TLS を使用してクラスターに接続する予定がある場合は、Amazon DocumentDB インスタンス上で証明書をローテーションすることをお勧めします。Amazon DocumentDB クラスターへの接続に TLS を使用する予定がない場合、対応は必要ありません。
現在、クラスターへの接続に TLS を使用していませんが、将来的に計画している場合、どうすればよいですか。
2024 年 1 月より前にクラスターを作成した場合は、前のセクションの ステップ 1 と ステップ 2 に従って、アプリケーションで更新済みの CA バンドルを使用していること、および各 Amazon DocumentDB インスタンスで最新のサーバー証明書を使用していることを確認してください。2024 年 1 月 25 日以降にクラスターを作成した場合、クラスターにはすでに最新のサーバー証明書 (rds-ca-rsa2048-g1) があります。アプリケーションで最新の CA バンドルを使用していることを確認するには、「クラスターへの接続に TLS を使用していない場合でも、各インスタンスを更新する必要がありますか?」を参照してください。
2024 年 8 月以降に締め切りを延長することはできますか?
アプリケーションが TLS 経由で接続している場合、締め切りを延長することはできません。
最新の CA バンドルを使用していることを確認するにはどうすればよいですか?
最新のバンドルがあることを確認するには、次のコマンドを使用します。このコマンドを実行するには、Java がインストールされていて、Java ツールがシェルの PATH 変数に含まれている必要があります。詳細については、「 Java の使用
keytool -printcert -v -file global-bundle.pem
keytool -printcert -v -file global-bundle.p7b
CA バンドルの名前に「RDS」が表示されるのはなぜですか?
証明書マネージメントのような特定の管理機能では、Amazon DocumentDB は Amazon RDS (Amazon Relational Database Service) と共有の運用テクノロジーを使用します。
新しい証明書の有効期限はいつですか?
新しいサーバー証明書は (一般的に) 以下のように期限切れになります。
-
rds-ca-rsa2048-g1: 2061 年
-
rds-ca-rsa4096-g1: 2121 年
-
rds-ca-ecc384-g1: 2121 年 に有効期限 となります
証明書の有効期限が切れる前にアクションを実行しないと、どのようなエラーが表示されますか?
エラーメッセージはお使いのドライバーによって異なります。一般に、「証明書の有効期限切れです」の文字列を含む証明書検証エラーが表示されます。
新しいサーバー証明書を適用した場合、古いサーバー証明書に戻すことはできますか。
インスタンスを古いサーバー証明書に戻す必要がある場合は、クラスターのすべてのインスタンスに対してこの操作を実行することをお勧めします。AWS Management Console または AWS CLI を使用して、クラスターの各インスタンスのサーバー証明書を元に戻すことができます。
AWS Management Console にサインインし、https://console.aws.amazon.com/docdb
にある Amazon DocumentDB コンソールを開きます。 -
画面の右上にあるリージョンのリストで、クラスターが存在する AWS リージョン を選択します。
-
コンソールの左側のナビゲーションペインで、Clusters を選択します。
-
[クラスター] 表の [クラスター識別子] で、変更するインスタンスを選択します。[アクション] を選択してから、[変更] を選択します。
-
[証明機関] で、古いサーバー証明書を選択します (
rds-ca-2019
)。 -
[続行] を選択して、変更の概要を表示します。
-
この結果ページでは、変更を次のメンテナンスウィンドウで適用するようにスケジュールするか、変更をすぐに適用するかを選択できます。選択を行い、[Modify instance (インスタンスの変更)] を選択します。
注記
変更の即時適用を選択した場合、保留中の変更キューにあるすべての変更も同様に適用されます。ダウンタイムを必要とする保留中の変更がある場合、このオプションを選択すると予想外のダウンタイムが発生することがあります。
aws docdb modify-db-instance --db-instance-identifier
<db_instance_name>
ca-certificate-identifier rds-ca-2019<--apply-immediately | --no-apply-immediately>
--no-apply-immediately
を選択した場合、変更はクラスターの次のメンテナンス期間中に適用されます。
スナップショットまたはポイントインタイム復元から復元した場合、新しいサーバー証明書が含まれていますか?
2024 年 8 月以降にスナップショットを復元するか、ポイントインタイム復元を実行すると、作成される新しいクラスターでは新しい CA 証明書が使用されます。
どれかの Mac OS から Amazon DocumentDB クラスターに直接接続する際に問題が発生した場合はどうすればいいですか。
Mac OS は、信頼できる証明書の要件を更新しています。信頼された証明書の有効期間は 397 日以下である必要があります (https://support.apple.com/en-us/HT211025
注記
この制限は Mac OS の新しいバージョンでも見られます。
Amazon DocumentDB インスタンス証明書の有効期間は 4 年以上であり、Mac OS の上限を超えています。Mac OS を実行しているコンピュータから Amazon DocumentDB クラスターに直接接続するには、TLS 接続の作成時に無効な証明書を許可する必要があります。この場合、無効な証明書とは、有効期間が 397 日より長いものを意味します。Amazon DocumentDB クラスターに接続する場合、無効な証明書を許可する前に、そのリスクを理解する必要があります。
AWS CLI を使用して 、Mac OS から Amazon DocumentDB クラスターに接続するには、tlsAllowInvalidCertificates
のパラメータを使用します。
mongo --tls --host <hostname> --username <username> --password <password> --port 27017 --tlsAllowInvalidCertificates