语境
我需要将生产 Aurora 无服务器数据库从 MySQL 5.6 升级到 5.7。我的所有资源都使用 CloudFormation 部署为基础架构即代码。
问题
在 CloudFormation 模板中更新引擎版本会导致数据库替换,从而导致停机和数据丢失。我也有很多依赖数据库 ARN 连接的依赖资源。(ARN 当前导出为跨堆栈引用)。
问题
从长远来看,实现这种维护的干净方法是什么?
提前致谢 !
语境
我需要将生产 Aurora 无服务器数据库从 MySQL 5.6 升级到 5.7。我的所有资源都使用 CloudFormation 部署为基础架构即代码。
问题
在 CloudFormation 模板中更新引擎版本会导致数据库替换,从而导致停机和数据丢失。我也有很多依赖数据库 ARN 连接的依赖资源。(ARN 当前导出为跨堆栈引用)。
问题
从长远来看,实现这种维护的干净方法是什么?
提前致谢 !
如果您查看任何 CloudFormation 文档,每个参数都将标有Update requires
. 这将确定您的资源是否有明确的替换或有条件的替换(或根本没有)。
对于 Aurora Serverless 集群,文档中有许多参数会强制替换它。
您如何处理这取决于资源的重要性,请记住,即使从快照开始也会涉及潜在的停机时间,在此期间写入原始集群的任何数据也会丢失。
我个人建议考虑以下因素:
我建议尝试将其创建为附加资源,因为与大多数丢失数据库的资源不同,如果它已被删除,则回滚可能不会那么简单。一旦你有信心,然后删除以前的数据库。