亚马逊AWS官方博客

紧急 & 和重要说明– 轮换您的 Amazon RDS、Aurora 和 DocumentDB 证书

您可能已经收到电子邮件或看到控制台通知,但我不想让您感到惊讶!

立即轮换
如果您使用 Amazon AuroraAmazon Relational Database Service (RDS)Amazon DocumentDB,并且当您连接至数据库实例时将充分利用 SSL/TLS 证书验证的优势,则您需要下载和安装新的证书,轮换该实例的证书颁发机构,然后重启实例。

如果您未使用 SSL/TLS 连接或证书验证,则无需进行任何更新,但建议您执行此操作,以防您将来决定使用 SSL/TLS 连接。在此情况下,您可以使用新的 CLI 选项,轮换和暂存新的证书,但避免重新启动。

新证书 (CA-2019) 作为证书捆绑包的一部分提供,但也包括旧证书 (CA-2015),因此,您可以顺利过渡,而不会陷入先有鸡还是先有蛋的情形。

发生了什么?
RDS、Aurora 和 DocumentDB 的 SSL/TLS 证书已过期,并且作为我们标准维护和安全规程的一份,将会每五年替换一次。一些需要了解的重要日期如下:

2019 年 9 月 19 日 – CA-2019 证书推出。

2020 年 1 月 14 日 – 在此日期或之后创建的实例将拥有新的 (CA-2019) 证书。您可以在需要时临时恢复为旧的证书。

2020 年 2 月 5 日至 3 月 5 日 – RDS 将在现有实例上暂存(安装但不激活)新的证书。重新启动实例将激活该证书。

2020 年 3 月 5 日 – CA-2015 证书到期。使用证书验证但未更新的应用程序将断开连接。

如何轮换
本月初,我创建了一个 Amazon RDS for MySQL 数据库实例,并将它放在一边,准备用于此博文。从上面的屏幕截图可以看出,通过 RDS 控制台,我们可以知道需要执行证书更新

访问使用 SSL/TLS 加密至数据库实例的连接并下载新的证书。如果我的数据库客户端知道如何处理证书链,则我可以下载根证书并将其用于所有区域。如果不知道,则可以下载一个特定于我的数据库实例所在区域的证书。我决定下载一个包含新旧根证书的捆绑包:

接下来,我可以更新我的客户端应用程序,以使用新的证书。此流程因应用程序和数据库客户端库的不同而不同,因此,我在此不会分享任何详细信息。

客户端应用程序更新之后,我将证书颁发机构 (CA) 更改为 rds-ca-2019。我可以在控制台中修改该实例并选择新的 CA:

我还可以通过 CLI 进行此操作:

$ aws rds modify-db-instance --db-instance-identifier database-1 \
  --ca-certificate-identifier rds-ca-2019

更改将在下一个维护时段生效。我也可以立即应用它:

$ aws rds modify-db-instance --db-instance-identifier database-1 \
  --ca-certificate-identifier rds-ca-2019 --apply-immediately

重启我的实例(立即或在维护时段中)之后,我可以测试我的应用程序,以确保它继续正常工作。

如果我未使用 SSL 并且希望避免重新启动,则可以使用 --no-certificate-rotation-restart

$ aws rds modify-db-instance --db-instance-identifier database-1 \
  --ca-certificate-identifier rds-ca-2019 --no-certificate-rotation-restart

数据库引擎将在下一个计划或非计划重新启动过程中获取新的证书。

我还可以使用 RDS ModifyDBInstance API 函数或 CloudFormation 模板来更改证书颁发机构。

再次强调一下,所有这些均必须在 2020 年 3 月 5 日之前完成,否则,您的应用程序可能无法使用 SSL 或 TLS 连接至您的数据库实例。

注意事项
这里需要牢记以下几点:

Amazon Aurora ServerlessAWS Certificate Manager (ACM) 用于管理此数据库引擎的证书轮换,不必采取任何操作。

区域 – 需要对除亚太地区(香港)中东(巴林)中国(宁夏)以外的所有商业 AWS 区域中的数据库实例进行轮换。

集群扩展 – 如果您向现有集群添加更多节点,则当一个或多个现有节点已有 CA-2019 证书时,新的节点将会接收该证书。否则,将会使用 CA-2015 证书。

了解更多
以下是一些其他信息的链接:

Jeff