You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

AWS Auto Scaling Group健康检查宽限期自动回退问题咨询

问题原因分析与解决方案

核心原因

你的Auto Scaling Group(ASG)健康检查宽限期被自动重置为600,和启动模板自动更新直接相关,主要有以下几种可能:

  • 启动模板参数覆盖ASG配置:如果你的ASG关联了启动模板,且启动模板中明确定义了HealthCheckGracePeriod为600,同时ASG配置了自动同步启动模板的参数(比如在ASG的启动模板设置中开启了对应参数的覆盖),那么每次启动模板更新新版本时,ASG会自动继承启动模板中的宽限期值,覆盖你手动修改的1200。

  • 基础设施即代码(IaC)的自动部署覆盖:如果你的ASG和启动模板是通过CloudFormation、CDK、Terraform等IaC工具管理的,而代码中定义的HealthCheckGracePeriod为600,那么当AMI更新触发自动部署流程时,IaC工具会强制执行代码中的配置,将ASG的宽限期改回600,无视手动修改。

  • AWS Config规则的自动修正:若你配置了AWS Config规则,强制要求ASG的健康检查宽限期为600,且开启了自动修正功能,那么当你手动修改为1200后,Config规则会检测到配置不符合预期,自动将其重置为600。启动模板更新引发的配置变更会触发Config规则的检测,加速这个重置过程。

  • 启动模板版本的参数继承:新生成的启动模板版本可能继承了旧版本的HealthCheckGracePeriod参数值(600),而ASG设置为使用最新启动模板版本,因此每次新版本发布,ASG都会应用这个默认的600值。


解决步骤

  1. 检查并修正启动模板参数

    • 进入AWS控制台的EC2启动模板页面,查看所有版本的HealthCheckGracePeriod配置,确认是否为600。
    • 创建新的启动模板版本,将HealthCheckGracePeriod设置为1200,并将该版本设为启动模板的默认版本;或者直接编辑现有默认版本的该参数。
  2. 调整ASG的启动模板同步策略

    • 进入ASG配置页面,找到「启动模板」设置项,查看「更新策略」中的「覆盖启动模板参数」选项。
    • 如果开启了健康检查宽限期的同步,要么保持同步但确保启动模板的参数为1200,要么关闭该参数的同步,让ASG保留手动设置的宽限期值。
  3. 修正IaC代码配置

    • 检查管理ASG和启动模板的CloudFormation/CDK/Terraform代码,找到HealthCheckGracePeriod的定义,将其修改为1200。
    • 重新部署代码,确保IaC工具的配置和你期望的一致,避免后续自动部署覆盖手动修改。
  4. 检查并调整AWS Config规则

    • 进入AWS Config控制台,查找针对ASG健康检查宽限期的规则,确认规则的期望值是否为600。
    • 如果规则是强制要求600,要么修改规则的期望值为1200,要么关闭规则的自动修正功能。
  5. 验证配置稳定性

    • 修改完成后,手动触发一次ASG的实例刷新,观察健康检查宽限期是否保持为1200。
    • 等待下一次启动模板自动更新后,再次检查ASG的宽限期配置,确认不会被重置。

内容的提问来源于stack exchange,提问作者Simon Twist

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.20 17:37:13