我的CloudFormation堆栈似乎爆炸了。我尝试快速更改以调整EC2实例的大小,更新失败并显示错误:
Invalid value 'm4.large' for instanceType. LaunchPlan instance type does not match attribute value m4.xlarge
回滚也因错误而失败:
The following resource(s) failed to update: [TC2, TC1, TC3].
右键单击堆栈时我唯一的选择是删除,并尝试通过操作菜单强制继续更新产生:
This instance 'i-e5e8b063' is not in a state from which it can be stopped.
查看EC2实例控制台,我可以看到此消息至少为真:所有实例都列为已终止。
此处有关如何处理失败更新的所有建议似乎都基于我实际上能够修改堆栈以首先修复错误,我无法做到:http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/troubleshooting.html#troubleshooting-errors-update-rollback-failed
除了从我的备份中清除堆栈并设计新堆栈之外,我还有任何办法吗?我完全失去了。
答案 0 :(得分:3)
CloudFormation尝试声明并尝试从您开始的任何地方移动到模板中的状态。有时,它会进入不一致状态(当给出错误的模板或在CloudFormation之外进行手动更改时)。当我遇到这种情况时,CloudFormation通常会正常回滚,但是当它没有成功时,我只是成功地删除了堆栈并从头开始。
因此,CloudFormation中有两件事很重要:
https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/best-practices.html
详细介绍了这些最佳做法以及其他做法