创建LaunchConfiguration并更新ASG后CloudFormation栈更新是否产生配置漂移?
CloudFormation 外部修改
LaunchConfiguration、ASG 相关问题解答 1. 下次CFN栈更新时会出现的问题
- 若你的CFN模板中仍保留原有
LaunchConfiguration(以下简称LC)的定义、且ASG关联的LC配置未做更新,任何栈更新操作(哪怕是修改和LC、ASG无关的其他资源)都会触发CFN的状态对齐逻辑,直接将ASG关联的LC强制回滚为模板中定义的旧版本,你手动做的LC替换操作会被覆盖。 - 你手动创建的新LC不属于CFN栈的管理范围,后续栈删除时这个LC不会被自动清理,需要手动删除,否则会残留冗余资源。
2. 是否会被判定为配置漂移
会。CFN配置漂移检测会识别到ASG的LaunchConfigurationName属性和模板中定义的取值不一致,明确标记为漂移状态。你手动新建的LC因为没有纳入栈资源定义,不会出现在漂移检测结果中,但ASG的属性漂移是必然会被检测到的。
3. 避免影响CFN正常运行的方案
如果你需要该改动长期生效,建议直接将新的AMI_ID同步更新到CFN模板的LC资源定义中,执行一次栈更新,由CFN原生流程完成LC替换和ASG实例刷新,这样就完全不会出现漂移、配置被覆盖的问题。
如果你只是临时测试该配置,后续会回退到原有LC,只需要在下次执行CFN栈更新前,先手动将ASG关联的LC改回模板定义的旧版本即可避免冲突。
内容的提问来源于stack exchange,提问作者Balasubramaniam Selva Perumal
相关产品推荐
相关产品推荐

