为了便于讨论,我有一个非常简单的 cloudformation 设置,其中包含 1 个附加了卷的 EC2 实例。为了保留数据,卷不是堆栈的一部分,这样即使我销毁并重建完整的堆栈,数据也不会被破坏。
我的问题是,当我ami为我的 EC2 实例创建一个新的基础映像并升级我的堆栈以推出新映像时,我遇到了可以理解的冲突。
EC2 升级实例的方式是创建新实例,然后删除旧实例。但由于 cloudformation 脚本声明卷应附加到实例,因此由于卷不可用,升级过程在创建升级实例时失败。
在映像升级之间保留数据的最佳方法是什么?我几天来一直在寻找正确的解决方案,但没有运气。似乎有许多狡猾的解决方案,人们对部署/升级过程中的手动任务感到满意。我希望通过能够完全自动化基础设施来避免所有人为错误。