Amazon DocumentDB TLS 証明書の更新 - Amazon DocumentDB

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

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 を完了する必要があります。 Amazon DocumentDB

ステップ 1: 新しい CA 証明書をダウンロードしてアプリケーションを更新する

新しい CA 証明書をダウンロードし、新しい CA 証明書を使用して Amazon DocumentDB への TLS 接続を作成するようにアプリケーションを更新します。https://truststore.pki.rds.amazonaws.com/global/global-bundle.pem から新しい CA 証明書バンドルをダウンロードします。このオペレーションにより、global-bundle.pem という名前のファイルがダウンロードされます。

注記

古い CA 証明書 (rds-ca-2019-root.pem) と新しい CA 証明書 (rds-ca-rsa2048-g1, rds-ca-rsa4096-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) の両方が含まれています。新しい CA バンドルに両方の CA 証明書を使用すると、2 つの手順でアプリケーションとクラスターを更新できます。

アプリケーションで最新の CA 証明書バンドルを使用していることを確認するには、「最新の CA バンドルを使用していることを確認するにはどうすればよいですか?」を参照してください。アプリケーションで最新の CA 証明書バンドルをすでに使用している場合は、ステップ 2 に進むことができます。

アプリケーションで CA バンドルを使用する例については、「転送中のデータの暗号化」および「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-rsa2048-g1 — ほとんどの AWS リージョンで RSA 2048 プライベートキーアルゴリズムと SHA256 署名アルゴリズムを備えた認証局を使用します。この CA はサーバー証明書の自動ローテーションをサポートします。

  • rds-ca-rsa4096-g1 — RSA 4096 プライベートキーアルゴリズムと SHA384 署名アルゴリズムで認証局を使用します。この CA はサーバー証明書の自動ローテーションをサポートします。

注記

を使用している場合は AWS CLI、describe-certificates を使用して、上記の認証機関の有効性を確認できます。

これらの CA 証明書は、地域およびグローバル証明書バンドルに含まれています。データベースで rds-ca-rsa2048-g1 または rds-ca-rsa4096-g1 CA を使用すると、Amazon DocumentDB はデータベース上の DB サーバー証明書を管理します。Amazon DocumentDB は、DB サーバーの証明書の有効期限が切れる前に証明書のローテーションを行います(再起動が必要な場合があります)。

注記

インスタンスを更新するには再起動が必要であり、そのためにサービスが中断される場合があります。サーバー証明書を更新する前に、ステップ 1 を完了しておく必要があります。

Using the AWS Management Console

次の手順を実行し、 AWS Management Consoleを使って既存の Amazon DocumentDB インスタンスのための古いサーバー証明書を特定するために、次のステップを完了します。

  1. にサインインし AWS Management Console、https://console.aws.amazon.com/docdb で Amazon DocumentDB コンソールを開きます。

  2. 画面の右上隅にあるリージョンのリスト AWS リージョン で、クラスターが存在する を選択します。

  3. コンソールの左側のナビゲーションペインで、Clusters を選択します。

  4. 古いサーバー証明書 (rds-ca-2019) に残っているインスタンスを特定する必要がある場合があります。これは [クラスター] 表の右端にある [証明機関] 列で行うことができます。

  5. [クラスター] 表の左端に [クラスター識別子] の列があります。インスタンスは、以下のスクリーンショットのように、クラスターの下に表示されます。

    既存のクラスターリンクとそれに対応するインスタンスリンクのリストを示すクラスターナビゲーションボックスの画像。
  6. 興味がある対象のインスタンスの左側にあるチェックボックスをチェックします。

  7. アクション を選択してから、変更 を選択します。

  8. [証明機関] で、このインスタンスの新しいサーバー証明書 (rds-ca-rsa2048-g1) を選択します。

  9. 次のページで変更の概要を確認できます。接続の中断を避けるためにインスタンスを変更する前に、アプリケーションが最新の証明書 CA バンドルを使用していることを確認するよう通知する、追加のアラートがあることに注意してください。

  10. 次のメンテナンス期間中に変更を適用するか、すぐに適用するかを選択できます。サーバー証明書をすぐに変更する場合は、[すぐに適用] オプションを使用します。

  11. [インスタンスの変更] を選択して、更新を完了します。

Using the AWS CLI

次の手順を実行し、 AWS CLIを使って既存の Amazon DocumentDB インスタンスのための古いサーバー証明書を特定して更新します。

  1. インスタンスをすぐに変更するには、クラスターの各インスタンスに対して次のコマンドを実行します。

    aws docdb modify-db-instance --db-instance-identifier <yourInstanceIdentifier> --ca-certificate-identifier rds-ca-rsa2048-g1 --apply-immediately
  2. クラスターの次回のメンテナンスウィンドウで新しい CA 証明書を使用するようにクラスター内のインスタンスを変更するには、クラスター内のインスタンスごとに次のコマンドを実行します。

    aws docdb modify-db-instance --db-instance-identifier <yourInstanceIdentifier> --ca-certificate-identifier rds-ca-rsa2048-g1 --no-apply-immediately

トラブルシューティング

証明書の更新の一環としてクラスターへの接続に問題がある場合は、次の操作をお勧めします。

よくある質問

次に、TLS 証明書に関していくつかのよくある質問に対する回答を示します。

質問や問題がある場合はどうしたらいいですか?

ご質問や問題がある場合は、AWS 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。

古い証明書を使用しているクラスター内のインスタンスを特定するには
  1. にサインインし AWS Management Console、https://console.aws.amazon.com/docdb で Amazon DocumentDB コンソールを開きます。

  2. 画面の右上隅にあるリージョンのリスト AWS リージョン で、インスタンスが存在する を選択します。

  3. コンソールの左側のナビゲーションペインで、Clusters を選択します。

  4. [証明機関] 列 (表の右端近く) には、古いサーバー証明書(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 を完了しておく必要があります。

  1. にサインインし AWS Management Console、https://console.aws.amazon.com/docdb で Amazon DocumentDB コンソールを開きます。

  2. 画面の右上隅にあるリージョンのリスト AWS リージョン で、クラスターが存在する を選択します。

  3. コンソールの左側のナビゲーションペインで、Clusters を選択します。

  4. [証明機関] 列 (表の右端近く) には、古いサーバー証明書(rds-ca-2019)に残っているインスタンスが表示されます。

  5. [クラスター] 表の [クラスター識別子] で、変更するインスタンスを選択します。

  6. アクション を選択してから、変更 を選択します。

  7. [証明機関] で、このインスタンスの新しいサーバー証明書 (rds-ca-rsa2048-g1) を選択します。

  8. 次のページで変更の概要を確認できます。接続の中断を避けるためにインスタンスを変更する前に、アプリケーションが最新の証明書 CA バンドルを使用していることを確認するよう通知する、追加のアラートがあることに注意してください。

  9. 次のメンテナンス期間中に変更を適用するか、すぐに適用するかを選択できます。

  10. [インスタンスの変更] を選択して、更新を完了します。

次の手順を実行し、 AWS CLIを使って既存の Amazon DocumentDB インスタンスのための古いサーバー証明書を特定して更新します。

  1. インスタンスをすぐに変更するには、クラスターの各インスタンスに対して次のコマンドを実行します。

    aws docdb modify-db-instance --db-instance-identifier <yourInstanceIdentifier> --ca-certificate-identifier rds-ca-rsa2048-g1 --apply-immediately
  2. クラスターの次回のメンテナンスウィンドウで新しい 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 を使用していない場合でも、各インスタンスを更新する必要がありますか?

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

新しいサーバー証明書を適用した場合、古いサーバー証明書に戻すことはできますか。

インスタンスを古いサーバー証明書に戻す必要がある場合は、クラスターのすべてのインスタンスに対してこの操作を実行することをお勧めします。 AWS Management Console または を使用して、クラスター内の各インスタンスのサーバー証明書を元に戻すことができます AWS CLI。

  1. にサインインし AWS Management Console、https://console.aws.amazon.com/docdb で Amazon DocumentDB コンソールを開きます。

  2. 画面の右上隅にあるリージョンのリスト AWS リージョン で、クラスターが存在する を選択します。

  3. コンソールの左側のナビゲーションペインで、Clusters を選択します。

  4. [クラスター] 表の [クラスター識別子] で、変更するインスタンスを選択します。[アクション] を選択してから、[変更] を選択します。

  5. [証明機関] で、古いサーバー証明書を選択します (rds-ca-2019)。

  6. [続行] を選択して、変更の概要を表示します。

  7. この結果ページでは、変更を次のメンテナンスウィンドウで適用するようにスケジュールするか、変更をすぐに適用するかを選択できます。選択を行い、[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 月以降にスナップショットを復元するか、 point-in-time 復元を実行すると、作成される新しいクラスターは新しい 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 クラスターに接続する場合、無効な証明書を許可する前に、そのリスクを理解する必要があります。

を使用して Mac OS から Amazon DocumentDB クラスターに接続するには AWS CLI、 tlsAllowInvalidCertificatesパラメータを使用します。

mongo --tls --host <hostname> --username <username> --password <password> --port 27017 --tlsAllowInvalidCertificates