我目前需要更新我的AWS RDS实例的CA证书,据我所知,有两种方法可以做到这一点:修改我的数据库实例或应用数据库实例维护(来源:https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/UsingWithRDS.SSL-certificate-rotation.html)。
我选择哪种方法很重要吗?在某些情况下,其中一种方法是否比另一种方法更好?
发布于 2020-03-01 13:29:12
在这两种方法中,都给出了RDS实例需要重新启动(读作宕机!)。
在我们的示例中,RDS客户端应用程序(基于java)在与重启的RDS实例重新建立JDBC/SSL连接时遇到了问题(在CA升级之后),因此我们必须手动触发RDS客户端应用程序的重新启动才能使情况恢复正常。因此,我们需要确切知道RDS CA升级是在什么时候完成的。
因此,工作流程将如下所示:
1/首先将CA (2019)添加到客户端应用程序的信任存储区!
2/在RDS端,在较低的环境中使用“立即应用”选项(在生产环境中,我们也使用“立即应用”,但在批准的维护窗口中执行它)。
3/等待几分钟,等待AWS应用CA并重启RDS实例。
4/ Go并执行后期操作,如重新启动客户端应用程序(如果需要)和回归测试。
通过这种方式,我们能够将停机时间限制在几分钟内。
提醒:如果我们选择了“在维护窗口期间应用”选项,我们将无法“控制”亚马逊网络服务将在什么时候升级RDS (CA),因为亚马逊网络服务可能会在指定的维护窗口期间选择任何时间点来执行升级,因此不能保证它处于维护窗口的开始。
希望这能有所帮助!
发布于 2020-03-01 09:55:53
我喜欢通过在测试环境中修改DB实例来手动测试更新。然后我确认所有依赖的软件,并确保一切正常。
然后在生产环境中,我让它在维护窗口更新期间进行修改。由于此更改需要重新启动,因此我让它在凌晨3点应用。周日维护窗口。
因此,根据您的需要,这两种方法都很方便。最终结果是相同的。
https://stackoverflow.com/questions/60471158
复制相似问题