0

我目前需要更新我的 AWS RDS 实例的 CA 证书,据我所知,有两种方法可以做到这一点:修改我的数据库实例或应用数据库实例维护(来源:https ://docs.aws .amazon.com/AmazonRDS/latest/UserGuide/UsingWithRDS.SSL-certificate-rotation.html)。

我选择哪种方法重要吗?在某些情况下,一种方法是否比另一种/更好?

4

2 回答 2

1

在这两种方法中,都假定 RDS 实例需要重新启动(读作中断!)。

在我们的案例中,RDS 客户端应用程序(基于 java)在重新建立与重启的 RDS 实例的 JDBC/SSL 连接时遇到了麻烦(CA 升级后),因此我们不得不手动触发 RDS 客户端应用程序的重启以将情况带到常态。因此,我们需要准确了解 RDS CA 升级完成的时间点。

因此,工作流程将是这样的:

1/ 首先将 CA (2019) 添加到您的客户端应用程序的信任库中!
2/ 在 RDS 端,在较低环境中使用“立即应用”选项(在生产中,我们也使用“立即应用”,但在批准的维护窗口期间执行)。
3/ 等待几分钟,让 AWS 应用 CA 并重启 RDS 实例。
4/ 执行后期操作,例如重新启动客户端应用程序(如果需要)和回归测试。

通过这种方式,我们能够将中断时间限制在几分钟内。

警告:如果我们选择“在维护窗口期间应用”选项,我们将无法“控制”AWS 在什么时候升级 RDS (CA),因为 AWS 可能会在指定的维护窗口期间选择任何时间点来执行升级,不保证在维护窗口的开始。

希望这可以帮助!

于 2020-03-01T05:29:11.527 回答
0

我喜欢通过在测试环境中修改数据库实例来手动测试更新。然后我确认任何依赖软件,并确保一切正常。

然后在生产中,我让它在维护窗口更新期间进行修改。由于此更改需要重新启动,因此我让它在周日凌晨 3 点的维护时段内应用。

因此,这两种方法都很方便,具体取决于您的需要。最终结果是相同的。

于 2020-03-01T01:55:52.690 回答