【问题标题】:Updating an Aurora serverless from MySQL 5.6 to 5.7 with CloudFormation without loss使用 CloudFormation 将 Aurora 无服务器从 MySQL 5.6 更新到 5.7 而不会丢失
【发布时间】:2020-08-04 22:38:34
【问题描述】:

上下文

我需要将生产 Aurora 无服务器数据库从 MySQL 5.6 升级到 5.7。 我的所有资源都使用 CloudFormation 部署为基础架构即代码。

问题

更新 CloudFormation 模板中的引擎版本会导致数据库替换,从而导致停机和数据丢失。 我也有很多依赖数据库 ARN 连接的依赖资源。 (ARN 当前导出为跨堆栈引用)。

问题

什么是实现这种维护的干净方式,从长远来看是可行的?

提前致谢!

【问题讨论】:

标签: amazon-web-services amazon-cloudformation amazon-rds aws-aurora-serverless


【解决方案1】:

如果您查看任何 CloudFormation 文档,每个参数都将标有 Update requires。这将确定您的资源是否有明确的替换或有条件的替换(或根本没有)。

对于 Aurora Serverless 集群,documentation 有许多参数会强制替换它。

您如何处理这取决于资源的重要性,请记住,即使从快照开始也会涉及潜在的停机时间,在此期间写入原始集群的任何数据也会丢失。

我个人建议考虑以下因素:

  • 您的系统可以在没有此数据库的情况下运行一段时间吗?如果不是,那么您应该同时运行两个数据库。然后使用DMS 之类的服务进行同步。满意后执行切换。
  • 您的应用程序可以在只读模式下运行吗?如果是这样,请停止对原始数据库的写入,然后拍摄快照。创建新数据库作为附加资源并从快照启动。

我建议尝试将其创建为附加资源,因为与大多数资源不同,如果数据库已被删除,丢失数据库可能不会那么容易回滚。一旦你有信心,然后删除以前的数据库。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2018-07-18
    • 2017-06-10
    • 2015-10-11
    • 2021-07-08
    • 2021-05-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多