为何Auto Scaling Group执行实例刷新后未启动新实例?
关于Auto Scaling Group实例刷新的认知误区
误区1:执行实例刷新就一定会重启/替换所有实例
实例刷新的核心是校验实例是否匹配ASG关联的启动模板/配置的最新版本。如果所有实例的配置(如AMI、用户数据、实例类型、安全组等)已经和最新模板完全一致,刷新操作会直接判定完成,不会对任何实例做改动。你遇到的两秒成功,就是这种无更新需求的场景。误区2:实例刷新的动作就是重启实例
实例刷新的具体行为由你设置的刷新策略决定:- 默认的滚动更新策略是创建新实例、终止旧实例,而非重启现有实例;
- 只有当你启用了
Apply updates without replacing instances选项(仅支持部分可在线更新的配置,比如实例标签、部分用户数据),才会尝试在现有实例上应用更新,这种情况下实例不会重启。很多人会混淆“刷新”和“重启”的概念,实际上大部分场景下刷新是替换而非重启。
误区3:刷新成功就代表完成了实例更新操作
实例刷新的“成功”状态仅表示整个刷新流程执行完毕,不代表有实例被更新或替换。如果没有检测到需要更新的实例,流程会直接结束,耗时自然极短。误区4:仅通过启动时间就能判断实例是否被刷新
要是用了in-place更新的刷新方式,实例不会重启,启动时间不会变化,但配置已经完成更新。不过这种场景比较有限,大部分刷新还是以实例替换为主,启动时间才会变化。
内容的提问来源于stack exchange,提问作者David
相关产品推荐
相关产品推荐

