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

Capacity Provider场景下ELB健康检查失败时的自动扩缩容行为咨询

ELB健康检查失败后的行为
  • ELB会立刻停止向健康检查失败的目标(ECS任务或承载任务的EC2实例)转发流量。
  • 由于你的ASG未关联目标组,ASG不会因ELB健康检查失败自动替换实例——ASG默认仅依据EC2系统状态检查判断实例健康,除非手动配置关联目标组,否则不会响应ELB的健康结果。
  • ECS服务侧的处理:
    • 若为ECS任务自身原因导致健康检查失败(比如进程崩溃),ECS服务调度器会按照服务配置的minimumHealthyPercent和maximumPercent参数,启动新任务替换不健康的任务,前提是集群有可用资源。
    • 若为承载任务的EC2实例本身异常导致健康检查失败,ECS会将该实例标记为DRAINING状态,不再在其上调度新任务;待实例恢复正常或被移除后,才会重新纳入调度池。
Capacity Provider对ELB健康检查的追踪逻辑
  • Capacity Provider的托管扩缩容默认不会直接追踪ELB健康检查结果,其扩缩容决策核心依据是你配置的目标追踪指标,比如ECS集群的CPUUtilization、MemoryUtilization这类实例利用率指标,或是自定义CloudWatch指标。
  • ELB健康检查失败会通过间接方式影响Capacity Provider的扩缩容行为:
    • 当ECS因健康检查失败启动新任务,而集群内健康实例的剩余容量不足以支撑新任务时,Capacity Provider会触发ASG扩容,补充新的EC2实例到集群。
    • 若不健康的EC2实例被标记为DRAINING但未被ASG替换(因未关联目标组),这些实例仍会占用集群的容量配额;当集群可用容量不足时,Capacity Provider仍会触发ASG扩容。
  • 若要让Capacity Provider的扩缩容直接关联ELB健康状态,需将ASG的健康检查类型配置为包含目标组健康检查——把目标组添加到ASG的健康检查设置中,这样ELB健康检查失败时ASG会自动替换实例,Capacity Provider则同步管理ASG容量以匹配集群资源需求。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.01 17:10:37