【发布时间】:2021-03-17 17:25:14
【问题描述】:
我正在尝试解决此处描述的问题: https://github.com/golang/go/issues/39568 和这里: https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/UsingWithRDS.SSL-certificate-rotation.html,AWS 要求客户重新轮换 RDS 证书 (rds-ca-2019) 以使其与 golang 1.15 兼容
如果您将 Go 版本 1.15 应用程序与在 2020 年 7 月 28 日之前创建或更新到 rds-ca-2019 证书的数据库实例一起使用,则必须再次更新证书。使用 rds-ca-2019 作为 CA 证书标识符运行 AWS CLI 部分中显示的 modify-db-instance 命令。在这种情况下,无法使用 AWS 管理控制台更新证书。如果您在 2020 年 7 月 28 日之后创建了数据库实例或更新了其证书,则无需执行任何操作。有关详细信息,请参阅 Go GitHub 问题 #39568。
需要明确的是,我的 RDS 服务器已经在使用 rds-ca-2019,但我在 2020 年 7 月 28 日之前轮换了它们。当我使用 openssl s_client -starttls mysql [hostname] 检查证书时,我看到一个没有 SAN 的证书。
我在 cli 中发出此命令,但没有任何反应,没有创建挂起的维护,服务器没有重新启动,证书仍然是没有 SAN 的旧证书。
aws rds modify-db-instance --db-instance-identifier [db-ident] --ca-certificate-identifier rds-ca-2019 --apply-immediately --certificate-rotation-restart
我已经尝试了带有和不带有 --apply-immediately 和 --certificate-rotation-restart 标志的所有排列。
我在这里做错了什么?
【问题讨论】:
-
我的 AWS cli 版本是:
aws-cli/2.1.30 Python/3.9.2 Darwin/20.3.0 source/x86_64 prompt/off -
您是否已联系 AWS 支持?他们通常很擅长解决这类问题。
-
docs 明确指出 --apply-immediately 将重新启动实例,而 --ca-certificate-identifier 需要中断,有趣的是没有发生。当您通过 CLI 描述实例时,它是否告诉您它正在使用正确的证书?我知道 openssl 说它关闭了,但我想知道 AWS 所说的与盒子上实际运行的内容之间是否存在不匹配,以及重新启动是否会修复它。
标签: amazon-web-services go ssl amazon-rds