本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
更新您的Amazon DocumentDB n-n-n-n-n-n-ntwww-1
亚马逊 DocumentDB(兼容 MongoDB)集群的证书颁发机构 (CA) 证书将于 2022 年 6 月 1 日更新。如果您使用的是启用了传输层安全 (TLS)(默认设置)的 Amazon DocumentDB 集群,并且尚未轮换客户端应用程序和服务器证书,则需要执行以下步骤来缓解您的应用程序与 Amazon DocumentDB 集群之间的连接问题。
作为 Amazon DocumentDB 标准维护和安全最佳实践的一部分,CA 和服务器证书已更新。之前的 CA 证书将于 2022 年 6 月 1 日到期。客户端应用程序必须将新的 CA 证书添加到其信任存储区,并且必须在此到期日期之前更新现有 Amazon DocumentDB 实例以使用新的 CA 证书。
更新您的应用程序和亚马逊 DocumentDB 集群
按照此部分中的步骤更新应用程序的 CA 证书捆绑包(步骤 1),以及您集群的服务器证书(步骤 2)。在将变更应用于生产环境之前,我们强烈建议您在开发环境或登台环境中测试这些步骤。
注意
在每个 Amazon DocumentDB 集群Amazon Web Services 区域中,您都必须完成第 1 步和第 2 步。
步骤 1:下载新的 CA 证书并更新应用程序
下载新的 CA 证书并更新您的应用程序,以使用新的 CA 证书创建与 Amazon DocumentDB 的 TLS 连接。从 https://rds-truststore.s3.cn-north-1.amazonaws.com.cn/cn-northwest-1/cn-northwest-1-bundle.pemcn-northwest-1-
bundle.pem
的文件。
wget https://rds-truststore.s3.cn-north-1.amazonaws.com.cn/cn-northwest-1/cn-northwest-1-bundle.pem
接下来,更新应用程序以使用新的证书捆绑包。新的 CA 捆绑包中包含旧的 CA 证书 (rds-ca-2017-root
) 以及新的 CA 证书 (rds-ca-rsa2048-g1.pem
)。通过将两个 CA 证书都包含在新 CA 包中,您可以分两步更新应用程序和集群。
2021 年 12 月 21 日之后下载的 CA 证书包都应使用新的 CA 证书捆绑包。要验证您的应用程序使用的是否是最新的 CA 证书捆绑包,请参阅我如何确定我使用的是最新的 CA 捆绑包?。如果您已在应用程序中使用最新的 CA 证书捆绑包,则可跳至步骤 2。
有关将 CA 捆绑与您的应用程序结合使用的示例,请参阅 加密传输中的数据 和 启用了 TLS 的情况下的连接。
注意
目前,MongoDB Go Driver 1.2.1 仅接受一个 CA 服务器证书。sslcertificateauthorityfile
有关如何在启用 TLS 时使用 Go 连接到 Amazon DocumentDB,请参阅启用了 TLS 的情况下的连接。
步骤 2:更新服务器证书
更新应用程序以使用新的 CA 包后,下一步是通过修改 Amazon DocumentDB 集群中的每个实例来更新服务器证书。要修改实例以使用新的服务器证书,请参阅以下说明。
注意
更新您的实例需要重新启动,这可能会导致服务中断。在更新服务器证书之前,请确保您已完成步骤 1。
常见问题
以下是有关 TLS 证书的一些常见问题的答案。
如果我有疑问或问题,应该怎么办?
如果您有任何疑问或问题,请联系Amazon Web Services Support
我怎么知道我是否在使用 TLS 连接到我的 Amazon DocumentDB 集群?
您可以通过检查集群的集群参数组的tls
参数来确定您的集群是否在使用 TLS。如果tls
参数设置为enabled
,则您正在使用 TLS 证书连接到您的集群。有关更多信息,请参阅管理亚马逊 DocumentDB 集群参数组:
你为什么要更新 CA 和服务器证书?
作为 Amazon DocumentDB 标准维护和安全最佳实践的一部分,Amazon DocumentDB CA 和服务器证书已更新。当前的 CA 和服务器证书将于 2022 年 6 月 1 日到期。
如果我在到期日之前不采取任何行动会怎样?
如果您使用 TLS 连接到亚马逊 DocumentDB 集群,并且在 202 日之前未进行更改,则通过 TLS 连接的应用程序将无法再与 Amazon DocumentDB 集群通信。
Amazon DocumentDB 不会在到期前自动轮换您的数据库证书。在到期日期之前或之后,您必须更新应用程序和集群才能使用新的 CA 证书。
我怎么知道我的哪个 Amazon DocumentDB 实例正在使用旧的/新的服务器证书?
要识别仍在使用旧服务器证书的 Amazon DocumentDB 实例,您可以使用 Amazon DocumentDB Amazon Web Services Management Console 或。Amazon CLI
识别集群中使用旧证书的实例
登录并并通过以下Amazon Web Services Management Console网址打开 Amazon DocumentDB C 控制台,网址为为为 https://console.aws.amazon.com/docdb
。 -
在屏幕右上角的区域列表中,选择实例所在的Amazon Web Services 区域区域。
-
在控制台左侧的导航窗格中,选择 Instances (实例)。
-
证书颁发机构列(默认情况下处于隐藏状态)显示哪些实例仍在旧服务器证书(
rds-ca-2017
)和新服务器证书(rds-ca-rsa2048-g1)
)上。要显示 Certificate authority (证书颁发机构) 列,请执行以下操作:-
选择 Settings (设置) 选项卡。
-
在可见列列表下,选择证书颁发机构列。
-
选择 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。
登录并并通过以下Amazon Web Services Management Console网址打开 Amazon DocumentDB C 控制台,网址为为为 https://console.aws.amazon.com/docdb
。 -
在屏幕右上角的区域列表中,选择集群所在Amazon Web Services 区域的区域。
-
在控制台左侧的导航窗格中,选择 Instances (实例)。
-
Certificate authority (证书颁发机构) 列(默认情况下处于隐藏状态)会显示哪些实例仍在使用旧的服务器证书 (
rds-ca-2017
)。要显示 Certificate authority (证书颁发机构) 列,请执行以下操作:-
选择 Settings (设置) 选项卡。
-
在可见列列表下,选择证书颁发机构列。
-
选择 Confirm (确认) 以保存所做的更改。
-
-
选择要修改的实例。
-
选择 Actions(操作),然后选择 Modify(修改)。
-
在 “证书颁发机构” 下,选择此实例的新服务器证书 (
rds-ca-rsa2048-g1)
)。 -
在下一页上可以看到所做更改的摘要。请注意,还有一个额外的警报提醒您,在修改实例之前,请确保您的应用程序使用最新的证书 CA 包,以避免导致连接中断。
-
可以选择在下一个维护时段内应用修改,也可以立即应用。
-
选择修改实例以完成更新。
完成以下步骤,使用识别和轮换现有 Amazon DocumentDB 实例的Amazon CLI旧服务器证书。
-
要立即修改实例,请为集群中的每个实例执行以下命令。
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
如果我向现有集群中添加新的实例,会怎么样?
如果我的集群发生实例替换或故障转移,会怎么样?
如果您的集群中有实例替换,则创建的新实例将继续使用该实例先前使用的服务器证书。我们建议您同时更新所有实例的服务器证书。如果群集中发生故障转移,则使用新主服务器上的服务器证书。
如果我不使用 TLS 连接到我的集群,我还需要更新我的每个实例吗?
如果您没有使用 TLS 连接到您的 Amazon DocumentDB 集群,则无需执行任何操作。
如果我目前没有使用 TLS 连接到集群,但计划将来这样做,该怎么办?
如果您在 2022 年 4 月 4 日之前创建了集群,请按照上一节中的步骤 1 和步骤 2 进行操作,确保您的应用程序使用更新后的 CA 包,并且每个 Amazon DocumentDB 实例都使用最新的服务器证书。如果您在 2022 年 4 月 4 日之后创建集群,则您的集群将拥有最新的服务器证书。要验证您的应用程序使用的是否是最新的 CA 捆绑包,请参阅如果我不使用 TLS 连接到我的集群,我还需要更新我的每个实例吗?
截止日期可以延长到2022年6月1日之后吗?
如果您的应用程序通过 TLS 连接,则截止日期不能延长 2022 年 6 月 1 日之后。
我如何确定我使用的是最新的 CA 捆绑包?
出于兼容性原因,旧的和新的 CA 捆绑包文件的文件名都为 rds-combined-ca-bundle.pem
。你也可以使用openssl
或之类的工具keytool
来检查 CA 包。
为什么我在 CA 包的名称中看到 “RDS”?
对于某些管理功能,例如证书管理,Amazon DocumentDB atAmazon Relational Database Service e (Amazon RDS) 共享的操作技术。
新的服务器证书将于格林威治标准时间 8 月 22 日 20 点 24 分到期。
如果我应用了新的服务器证书,我可以恢复为使用旧的服务器证书吗?
如果您需要将实例恢复为使用旧的服务器证书,建议您对集群中的所有实例都执行此操作。您可以通过使用 Amazon Web Services Management Console 或 Amazon CLI 来还原集群中每个实例的服务器证书。
登录并并通过以下Amazon Web Services Management Console网址打开 Amazon DocumentDB C 控制台,网址为为为 https://console.aws.amazon.com/docdb
。 -
在屏幕右上角的区域列表中,选择集群所在Amazon Web Services 区域的区域。
-
在控制台左侧的导航窗格中,选择 Instances (实例)。
-
选择要修改的实例。选择 Actions (操作),然后选择 Modify (修改)。
-
选择 Continue (继续) 以查看修改摘要。
-
在显示的页面中,您可以选择安排在下一个维护时段中应用修改,或立即应用修改。做出选择,然后选择修改实例。
注意
如果您选择立即应用修改,则该操作也将同时应用等待修改队列中的所有更改。如果任何待处理修改需要停机,选择此选项可能会导致意外停机。
如果您选择--no-apply-immediately
,更改将在群集的下一个维护时段内应用。
如果我从快照还原或执行时间点还原,它会有新的服务器证书吗?
如果您在 2022 年 4 月 4 日之后point-in-time还原快照或执行还原,则创建的新集群将使用新的 CA 证书。
如果我在从任何 Mac 操作系统直接连接到我的 Amazon DocumentDB 集群时遇到问题怎么办?
Mac OS 更新了可信证书的要求。现在,可信证书的有效期必须不超过 397 天(参见https://support.apple.com/en-us/HT211025
注意
在较新版本的 Mac OS 中会出现此限制。
亚马逊 DocumentDB 实例证书的有效期超过四年,比 Mac OS 的最大有效期长。要从运行 Mac OS 的计算机直接连接到 Amazon DocumentDB 集群,在创建 TLS 连接时必须允许无效的证书。在这种情况下,无效的证书意味着有效期超过 397 天。在连接到 Amazon DocumentDB 集群时允许证书无效之前,您应该了解风险。
要使用从 Mac OS 连接到 Amazon DocumentDB 集群Amazon CLI,请使用tlsAllowInvalidCertificates
参数。
mongo --tls --host <hostname> --username <username> --password <password> --port 27017 --tlsAllowInvalidCertificates