Updating Your Amazon DocumentDB TLS Certificates - Amazon DocumentDB

英語の翻訳が提供されている場合で、内容が矛盾する場合には、英語版がオリジナルとして取り扱われます。翻訳は機械翻訳により提供されています。

Updating Your Amazon DocumentDB TLS Certificates

の認証機関 (CA) 証明書 Amazon DocumentDB (MongoDB 互換) クラスタはに更新されました March 5, 2020。 をご使用の場合 Amazon DocumentDB TLS(Transport Layer Security)が有効になっているクラスタ(デフォルト設定)で、クライアントアプリケーションとサーバ証明書を循環させていない場合、アプリケーションと Amazon DocumentDB クラスター。

CA 証明書とサーバー証明書は、Amazon DocumentDB の標準的なメンテナンスおよびセキュリティのベストプラクティスの一環として更新されました。以前の CA 証明書は、2020 年 3 月 5 日に失効しました。クライアントアプリケーションは、新しい CA 証明書をトラストストアに追加する必要があり、この有効期限より前に新しい CA 証明書を使用するために既存の Amazon DocumentDB インスタンスを更新する必要があります。

Updating Your Application and Amazon DocumentDB Cluster

このセクションの手順に従って、アプリケーションの CA 証明書バンドル (ステップ 1) とクラスターのサーバー証明書 (ステップ 2) を更新します。本番環境に変更を適用する前に、開発環境またはステージング環境でこれらの手順をテストすることを強くお勧めします。

注記

Amazon DocumentDB クラスターがある各 AWS リージョンでステップ 1 と 2 を完了する必要があります。

Step 1: Download the New CA Certificate and Update Your Application

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

注記

古い CA 証明書 (rds-ca-2015-root.pem) と新しい CA 証明書 (rds-ca-2019-root.pem) の両方を含むキーストアにアクセスしている場合は、キーストアが CA-2019 を選択していることを確認します。

wget https://s3.amazonaws.com/rds-downloads/rds-combined-ca-bundle.pem

次に、新しい証明書バンドルを使用するようにアプリケーションを更新します。新しい CA バンドルには、古い CA 証明書 (rds-ca-2015-root.pem) と新しい CA 証明書 (rds-ca-2019-root.pem) の両方が含まれます。新しい CA バンドルに両方の CA 証明書を使用すると、2 つの手順でアプリケーションとクラスターを更新できます。

2019 年 9 月 1 日以降に CA 証明書バンドルをダウンロードする場合は、新しい CA 証明書バンドルを使用する必要があります。アプリケーションで最新の CA 証明書バンドルを使用していることを確認するには、「How can I be sure that I'm using the newest CA bundle?」を参照してください。アプリケーションで最新の CA 証明書バンドルをすでに使用している場合は、ステップ 2 に進むことができます。

アプリケーションで CA バンドルを使用する例については、「転送中のデータの暗号化」および「TLS が有効な場合の接続」を参照してください。

注記

現在、MongoDB Go Driver 1.2.1は、 sslcertificateauthorityfile。 以下を参照してください。 TLS が有効な場合の接続 TLS が有効な場合に Go を使用して Amazon DocumentDB に接続する場合。

Step 2: Update the Server Certificate

新しい CA バンドルを使用するようにアプリケーションを更新したら、次のステップとして Amazon DocumentDB クラスター内の各インスタンスを変更してサーバー証明書を更新します。新しいサーバー証明書を使用するようにインスタンスを変更するには、次の手順を参照してください。

注記

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

AWS マネジメントコンソール で次の手順を実行し、既存の Amazon DocumentDB インスタンスの古いサーバー証明書を特定して更新します。

  1. AWS マネジメントコンソールにサインインして、https://console.aws.amazon.com/docdb で Amazon DocumentDB コンソールを開きます。

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

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

  4. [証明機関] 列 (デフォルトでは非表示) に、古いサーバー証明書に残っているインスタンスが表示されます (rds-ca-2015)。[証明機関] 列を表示するには、次の手順を実行します。

    1. [Settings (設定)] アイコンを選択します。

    2. 表示されている列の一覧で、[証明機関] 列を選択します。

    3. [確定] を選択し、変更を保存します。

  5. 変更するインスタンスを選択します。

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

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

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

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

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

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

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

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

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

Troubleshooting

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

Frequently Asked Questions

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

What if I have questions or issues?

ご質問や問題がある場合は、AWS サポートにお問い合わせください。

How do I know whether I'm using TLS to connect to my Amazon DocumentDB cluster?

クラスターが TLS を使用しているかどうかを判断するには、クラスターのクラスターパラメータグループの tls パラメータを調べます。tls パラメータが enabled に設定されている場合は、TLS 証明書を使用してクラスターに接続しています。詳細については、「Managing Amazon DocumentDB Cluster Parameter Groups」を参照してください。

Why are you updating the CA and server certificates?

Amazon DocumentDB の CA 証明書とサーバー証明書は、Amazon DocumentDB の標準的なメンテナンスおよびセキュリティのベストプラクティスの一環として更新されています。現在の CA 証明書とサーバー証明書は 2020 年 3 月 5 日 (木) に失効しています。

What happens if I don't take any action by March 5, 2020?

TLS を使用して Amazon DocumentDB クラスターに接続していて、2020 年 3 月 5 日までに変更を行わない場合、TLS 経由で接続するアプリケーションは Amazon DocumentDB クラスターと通信できなくなります。

Amazon DocumentDB は、2020 年 3 月 5 日まではデータベース証明書を自動的に更新しません。2020 年 3 月 5 日より前または後に新しい CA 証明書を使用するには、アプリケーションとクラスターを更新する必要があります。

How do I know which of my Amazon DocumentDB instances are using the old/new server certificate?

まだ古いサーバー証明書を使用している Amazon DocumentDB インスタンスを特定するには、Amazon DocumentDB AWS マネジメントコンソール または AWS CLI を使用できます。

古い証明書を使用しているクラスター内のインスタンスを特定するには

  1. AWS マネジメントコンソールにサインインして、https://console.aws.amazon.com/docdb で Amazon DocumentDB コンソールを開きます。

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

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

  4. [証明機関] 列 (デフォルトでは非表示) には、古いサーバー証明書(rds-ca-2015)および新しいサーバー証明書(rds-ca-2019)に残っているインスタンスが表示されます。[証明機関] 列を表示するには、次の手順を実行します。

    1. [Settings (設定)] アイコンを選択します。

    2. 表示されている列の一覧で、[証明機関] 列を選択します。

    3. [確定] を選択し、変更を保存します。

古いサーバー証明書を使用しているクラスター内のインスタンスを特定するには、以下を指定して describe-db-clusters コマンドを使用します。

aws docdb describe-db-instances \ --filters Name=engine,Values=docdb \ --query 'DBInstances[*].{CertificateVersion:CACertificateIdentifier,InstanceID:DBInstanceIdentifier}'

How do I modify individual instances in my Amazon DocumentDB cluster to update the server certificate?

特定のクラスター内のすべてのインスタンスのサーバー証明書を同時に更新することをお勧めします。クラスター内のインスタンスを変更するには、コンソールまたは AWS CLI を使用できます。

注記

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

  1. AWS マネジメントコンソールにサインインして、https://console.aws.amazon.com/docdb で Amazon DocumentDB コンソールを開きます。

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

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

  4. [証明機関] 列 (デフォルトでは非表示) に、古いサーバー証明書に残っているインスタンスが表示されます (rds-ca-2015)。[証明機関] 列を表示するには、次の手順を実行します。

    1. [Settings (設定)] アイコンを選択します。

    2. 表示されている列の一覧で、[証明機関] 列を選択します。

    3. [確定] を選択し、変更を保存します。

  5. 変更するインスタンスを選択します。

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

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

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

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

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

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

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

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

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

What happens if I add a new instance to an existing cluster?

作成される新しいインスタンスはすべて古いサーバー証明書を使用し、古い CA 証明書を使用する TLS 接続が必要です。2020 年 1 月 14 日以降に作成された新しい Amazon DocumentDB インスタンスでは、デフォルトで新しい証明書が使用されます。

What happens if there is an instance replacement or failover on my cluster?

クラスターにインスタンスの置き換えがある場合、作成される新しいインスタンスは、そのインスタンスが以前使用していたものと同じサーバー証明書を引き続き使用します。すべてのインスタンスのサーバー証明書を同時に更新することをお勧めします。クラスターでフェイルオーバーが発生した場合、新しいプライマリのサーバー証明書が使用されます。

If I'm not using TLS to connect to my cluster, do I still need to update each of my instances?

Amazon DocumentDB クラスターへの接続に TLS を使用していない場合、操作は必要ありません。

If I'm not using TLS to connect to my cluster but I plan to in the future, what should I do?

2019 年 11 月 1 日より前にクラスターを作成した場合は、前のセクションのステップ 1ステップ 2 に従って、アプリケーションで更新済みの CA バンドルを使用していること、および各 Amazon DocumentDB インスタンスで最新のサーバー証明書を使用していることを確認します。2020 年 1 月 14 日以降にクラスターを作成した場合、クラスターにはすでに最新のサーバー証明書があります。アプリケーションで最新の CA バンドルを使用していることを確認するには、「If I'm not using TLS to connect to my cluster, do I still need to update each of my instances?」を参照してください。

Can the deadline be extended beyond March 5, 2020?

アプリケーションが TLS 経由で接続している場合、2020 年 3 月 5 日以降に締め切りを延長することはできません。

How can I be sure that I'm using the newest CA bundle?

互換性の理由から、古いCAバンドル ファイルと新しいCAバンドル ファイルの両方に名前が付けられます。 rds-combined-ca-bundle.pem。 CA バンドルのサイズとハッシュの両方を使用して、CA バンドルが最新のものかどうかを確認できます。また、opensslkeytool などのツールを使用して CA バンドルを検査することもできます。古い CA バンドルファイルのサイズは 26016 バイトで、SHA1 ハッシュは 4cd5ba9e145006b17c400d5c778e1965b50172aa です。

最新のバンドルがあることを確認するには、次のコマンドを使用します。

コマンド:

ls -l rds-combined-ca-bundle.pem

Output

-rw-r--r-- 1 user users 65484 Sep 25 14:49 rds-combined-ca-bundle.pem

コマンド:

shasum rds-combined-ca-bundle.pem

Output

e12be0c71b499540ac6fe0c36a5050231616c9c4 rds-combined-ca-bundle.pem

コマンド:

ls -l rds-combined-ca-bundle.pem

Output

-rw-rw-r-- 1 ec2-user ec2-user 65484 Sep 25 20:52 rds-combined-ca-bundle.pem

コマンド:

sha1sum rds-combined-ca-bundle.pem

Output

e12be0c71b499540ac6fe0c36a5050231616c9c4 rds-combined-ca-bundle.pem

コマンド:

dir rds-combined-ca-bundle.pem

Output

09/25/2019 02:53 PM 65,484 rds-combined-ca-bundle.pem

コマンド:

certutil -hashfile rds-combined-ca-bundle.pem

Output

SHA1 hash of rds-combined-ca-bundle.pem: e12be0c71b499540ac6fe0c36a5050231616c9c4

Why do I see "RDS" in the name of the CA bundle?

特定の管理機能のために (証明書の管理など)、Amazon DocumentDB は Amazon Relational Database Service (Amazon RDS) と共有の運用テクノロジーを使用します。

When will the new certificate expire?

新しいサーバー証明書の有効期限は、2024 年 8 月 22 日 (GMT) に切れます。

If I applied the new server certificate, can I revert it back to the old server certificate?

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

  1. AWS マネジメントコンソールにサインインして、https://console.aws.amazon.com/docdb で Amazon DocumentDB コンソールを開きます。

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

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

  4. 変更するインスタンスを選択します。[アクション] を選択してから、[変更] を選択します。

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

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

  7. この結果ページでは、変更を次のメンテナンスウィンドウで適用するようにスケジュールするか、変更をすぐに適用するかを選択できます。選択を行い、[Modify instance (インスタンスの変更)] を選択します。

    注記

    変更の即時適用を選択した場合、保留中の変更キューにあるすべての変更も同様に適用されます。ダウンタイムを必要とする保留中の変更がある場合、このオプションを選択すると予想外のダウンタイムが発生することがあります。

aws docdb modify-db-instance --db-instance-identifier <db_instance_name> ca-certificate-identifier rds-ca-2015 <--apply-immediately | --no-apply-immediately>

--no-apply-immediately を選択した場合、変更はクラスターの次のメンテナンス期間中に適用されます。

If I restore from a snapshot or a point in time restore, will it have the new server certificate ?

2020 年 1 月 14 日以降にスナップショットを復元するか、ポイントインタイム復元を実行すると、作成される新しいクラスターでは新しい CA 証明書が使用されます。

What if I’m having issues connecting directly to my Amazon DocumentDB cluster from Mac OS X Catalina?

Mac OS X Catalina は、信頼できる証明書の要件を更新しています。現在、信頼できる証明書の有効期間は 825 日以内である必要があります (https://support.apple.com/en-us/HT210176 を参照してください)。Amazon DocumentDB インスタンス証明書の有効期間は 4 年以上であり、Mac OS X の上限を超えています。Mac OS X Catalina を実行しているコンピュータから Amazon DocumentDB クラスターに直接接続するには、TLS 接続の作成時に無効な証明書を許可する必要があります。この場合、無効な証明書とは、有効期間が 825 日より長いものを意味します。Amazon DocumentDB クラスターに接続する場合、無効な証明書を許可する前に、そのリスクを理解する必要があります。

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

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