- Amazon DocumentDB
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

注意

此信息仅适用于 GovCloud (美国西部)地区的用户。

更新您的应用程序和 Amazon DocumentDB 集群

按照此部分中的步骤更新应用程序的 CA 证书捆绑包(步骤 1),以及您集群的服务器证书(步骤 2)。在将变更应用于生产环境之前,我们强烈建议您在开发环境或登台环境中测试这些步骤。

注意

您必须完成每个 Amazon Web Services 区域 拥有亚马逊 DocumentDB 集群的步骤 1 和步骤 2。

步骤 1:下载新的 CA 证书并更新您的应用程序

有关将 CA 捆绑与您的应用程序结合使用的示例,请参阅 加密传输中的数据启用了 TLS 的情况下的连接

注意

目前,MongoDB Go Driver 1.2.1 只接受 sslcertificateauthorityfile 中的一个 CA 服务器证书。有关如何在启用 TLS 时使用 Go 连接到 Amazon DocumentDB,请参阅启用了 TLS 的情况下的连接

步骤 2:更新服务器证书

在更新应用程序以使用新的 CA 捆绑包后,下一步是通过修改 Amazon DocumentDB 集群中每个实例来更新服务器证书。要修改实例以使用新的服务器证书,请参阅以下说明。

注意

更新您的实例需要重新启动,这可能会导致服务中断。在更新服务器证书之前,请确保您已完成步骤 1

Using the Amazon Web Services Management Console

完成以下步骤,以使用 Amazon Web Services Management Console为现有 Amazon DocumentDB 实例标识和轮换旧服务器证书。

  1. 登录并打开亚马逊 DocumentDB 控制台,网址为 https://console.aws.amazon.com/docdb。 Amazon Web Services Management Console

  2. 在屏幕右上角的区域列表中,选择您的集群 Amazon Web Services 区域 所在的。

  3. wh

    在控制台左侧的导航窗格中,选择集群

  4. 您可能需要确定哪些实例仍在旧服务器证书上 (rds-ca-2017)。您可以在 证书颁发机构列中执行此操作,该列默认处于隐藏状态。要显示 Certificate authority (证书颁发机构) 列,请执行以下操作:

    1. 选择 Settings (设置) 选项卡。

      集群导航框的图像,其中突出显示了设置图标。
    2. 在可见列列表下,选择 证书颁发机构列。

    3. 选择 Confirm (确认) 以保存所做的更改。

  5. 现在回到集群导航框中,您将看到 Cluster Identifier(集群标识符)列。您的实例列于集群下,类似于以下屏幕截图。

    集群导航框的图像显示了现有集群链接及其对应的实例链接的列表。
  6. 选中您感兴趣的实例左侧的框。

  7. 选择 Actions(操作),然后选择 Modify(修改)。

  8. 在下一页上可以看到所做更改的摘要。请注意,在修改实例之前,会有一个额外的警报提醒您确保应用程序使用的是最新的证书 CA 捆绑包,以免造成连接中断。

  9. 可以选择在下一个维护时段内应用修改,也可以立即应用。如果您打算立即修改服务器证书,请使用 Apply Immediately (立即应用) 选项。

  10. 选择修改实例以完成更新。

Using the Amazon CLI

完成以下步骤,以使用 Amazon CLI为现有 Amazon DocumentDB 实例标识和轮换旧服务器证书。

  1. 要立即修改实例,请对集群中的每个实例执行下面的命令。

  2. 要修改集群中的实例,以便在集群的下一个维护时段中使用新的 CA 证书,请对集群中的每个实例执行以下命令。

常见问题

以下是有关 TLS 证书的一些常见问题的答案。

如果我有疑问或问题,应该怎么办?

如果您有任何疑问或问题,请联系 Amazon Web Services Support

如何知道我是否在使用 TLS 连接我的 Amazon DocumentDB 集群?

您可以通过检查集群的集群参数组的 tls 参数来确定您的集群是否使用 TLS。如果将 tls 参数设置为 enabled,则表示您正在使用 TLS 证书连接到您的集群。有关更多信息,请参阅 管理 Amazon DocumentDB 集群参数组

为什么要更新 CA 和服务器证书?

如果我在到期日之前没有采取任何行动会怎样?

如果您使用 TLS 连接到您的 Amazon DocumentDB 集群,并且在 2022 年 5 月 18 日之前没有进行更改,那么通过 TLS 连接的应用程序将无法再与 Amazon DocumentDB 集群通信。

Amazon DocumentDB 将不会在过期之前自动轮换您的数据库证书。您必须在到期日之前或之后更新应用程序和集群以使用新的 CA 证书。

如何知道我的哪些 Amazon DocumentDB 实例在使用旧/新的服务器证书?

要识别仍在使用旧服务器证书的 Amazon DocumentDB 实例,您可以使用亚马逊 D Amazon Web Services Management Console ocumentDB 或。 Amazon CLI

要识别集群中正在使用旧证书的实例
  1. 登录并打开亚马逊 DocumentDB 控制台,网址为 https://console.aws.amazon.com/docdb。 Amazon Web Services Management Console

  2. 在屏幕右上角的区域列表中,选择您的实例 Amazon Web Services 区域 所在的。

  3. 在控制台左侧的导航窗格中,选择 Instances (实例)

    1. 选择 Settings (设置) 选项卡。

    2. 在可见列列表下,选择 证书颁发机构列。

    3. 选择 Confirm (确认) 以保存所做的更改。

要识别集群中正在使用旧服务器证书的实例,请使用带以下的 describe-db-clusters 命令。

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

如何修改 Amazon DocumentDB 集群中的单个实例以更新服务器证书?

我们建议您在给定集群中同时更新所有实例的服务器证书。要修改您的集群中的实例,可以使用控制台或 Amazon CLI。

注意

更新您的实例需要重新启动,这可能会导致服务中断。在更新服务器证书之前,请确保您已完成步骤 1

  1. 登录并打开亚马逊 DocumentDB 控制台,网址为 https://console.aws.amazon.com/docdb。 Amazon Web Services Management Console

  2. 在屏幕右上角的区域列表中,选择您的集群 Amazon Web Services 区域 所在的。

  3. 在控制台左侧的导航窗格中,选择 Instances (实例)

  4. Certificate authority (证书颁发机构) 列(默认情况下处于隐藏状态)会显示哪些实例仍在使用旧的服务器证书 (rds-ca-2017)。要显示 Certificate authority (证书颁发机构) 列,请执行以下操作:

    1. 选择 Settings (设置) 选项卡。

    2. 在可见列列表下,选择 证书颁发机构列。

    3. 选择 Confirm (确认) 以保存所做的更改。

  5. 选择要修改的实例。

  6. 选择 Actions(操作),然后选择 Modify(修改)。

  7. 在下一页上可以看到所做更改的摘要。请注意,在修改实例之前,会有一个额外的警报提醒您确保应用程序使用的是最新的证书 CA 捆绑包,以免造成连接中断。

  8. 可以选择在下一个维护时段内应用修改,也可以立即应用。

  9. 选择修改实例以完成更新。

完成以下步骤,以使用 Amazon CLI为现有 Amazon DocumentDB 实例标识和轮换旧服务器证书。

  1. 要立即修改实例,请对集群中的每个实例执行下面的命令。

  2. 要修改集群中的实例,以便在集群的下一个维护时段中使用新的 CA 证书,请对集群中的每个实例执行以下命令。

如果我向现有集群中添加新的实例,会怎么样?

如果我的集群发生实例替换或故障转移,会怎么样?

如果集群中有实例替换,则创建的新实例将继续使用该实例以前使用的服务器证书。我们建议您同时更新所有实例的服务器证书。如果集群中发生失效转移,则使用新主实例上的服务器证书。

如果我没有使用 TLS 连接到我的集群,我还需要更新每个实例吗?

如果您未使用 TLS 连接到 Amazon DocumentDB 集群,则不需要执行操作。

如果我目前没有使用 TLS 连接到集群,但计划将来这样做,该怎么办?

我如何确定我使用的是最新的 CA 捆绑包?

出于兼容性原因,旧的和新的 CA 捆绑包文件的文件名都为 us-gov-west-1-bundle.pem。此外,您还可以使用 opensslkeytool 等工具来检查 CA 捆绑包。

为什么我在 CA 捆绑包的名称中看到 “RDS”?

对于证书管理等某些管理功能,Amazon DocumentDB 使用与 Amazon Relational Database Service (Amazon RDS) 共享的操作技术。

如果我应用了新的服务器证书,我可以恢复为使用旧的服务器证书吗?

如果您需要将实例恢复为使用旧的服务器证书,建议您对集群中的所有实例都执行此操作。您可以使用 Amazon Web Services Management Console 或恢复集群中每个实例的服务器证书 Amazon CLI。

  1. 登录并打开亚马逊 DocumentDB 控制台,网址为 https://console.aws.amazon.com/docdb。 Amazon Web Services Management Console

  2. 在屏幕右上角的区域列表中,选择您的集群 Amazon Web Services 区域 所在的。

  3. 在控制台左侧的导航窗格中,选择 Instances (实例)

  4. 选择要修改的实例。选择 Actions (操作),然后选择 Modify (修改)

  5. 选择 Continue (继续) 以查看修改摘要。

  6. 在显示的页面中,您可以选择安排在下一个维护时段中应用修改,或立即应用修改。进行选择,然后选择 Modify instance (修改实例)

    注意

    如果您选择立即应用修改,则该操作也将同时应用等待修改队列中的所有更改。如果任何待处理修改需要停机,选择此选项可导致意外停机。

如果您选择 --no-apply-immediately,则将在集群的下一个维护时段内应用所做的更改。

如果我从快照还原或执行时间点还原,它会有新的服务器证书吗?

如果我在从 Mac OS X Catalina 直接连接到我的 Amazon DocumentDB 集群时遇到问题,该怎么办?

Mac OS X Catalina 已更新对可信证书的要求。现在,可信证书的有效期必须不超过 825 天(请参阅 https://support.apple.com/en-us/HT210176)。Amazon DocumentDB 实例证书的有效期超过四年,比 Mac OS X 的最大有效期更长。要从运行 Mac OS X Catalina 的计算机直接连接到 Amazon DocumentDB 集群,您必须在创建 TLS 连接时允许使用无效证书。在这种情况下,无效证书是指其有效期超过 825 天。在连接到 Amazon DocumentDB 集群时,您应在允许使用无效证书之前了解风险。

要使用从 OS X Catalina 连接到 Amazon DocumentDB 集群 Amazon CLI,请使用参数。tlsAllowInvalidCertificates

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