在部署或更新CloudFormation Stack
的过程中,发生失败是常见的情况,这时可以指定CloudFormation
的行为,分为两种情况:创建stack失败
和更新stack失败
。
默认:所有已经创建的资源被删除。如果设置为Preserve successfully provisioned resources
,则保留已经创建的资源。
应用场景:假设我们使用CloudFormation
创建EC2,而EC2的userdata里有错误,则默认整个CloudFormation创建出来的资源都会被删除,我们也没法登录到EC2上定位错误;如果配置了保留资源,则即使userdata执行失败,EC2也不会被删除
默认会自动回滚到之前版本的状态。如果设置为Preserve successfully provisioned resources
,已更新的资源不会发生回退,更新失败的资源会回退到上一个状态
在创建CloudFormation时,在第三步可以配置Stak failure options
,可以根据实际情况选择是否preserve
: