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

AWS ECS Fargate CloudFormation部署时ECS服务挂起求助

AWS ECS Fargate Service挂起&负载均衡健康检查失败排查方案

1. 先盯紧ALB健康检查配置

  • 核对健康检查路径:JBoss 7.4默认根路径可能无有效响应,换用/health(若应用配置了健康端点)或/index.html(若存在默认页面),路径错误会直接触发不健康判定。
  • 端口必须对齐:目标组的端口要和任务定义里的容器端口映射、Service的负载均衡端口完全匹配,别搞混8080/80这类常用端口。
  • 协议别搞反:容器用HTTP的话,ALB健康检查就别设为HTTPS,JBoss默认开启的是8080 HTTP端口,这点务必对应。

2. 安全组和网络ACL是重灾区

  • ALB安全组要允许出站访问Fargate任务安全组的容器端口;Fargate任务安全组要放通来自ALB安全组的入站流量(专门用于健康检查)。
  • 检查子网的网络ACL,别拦截ALB到Fargate的流量,尤其是健康检查端口的入站、响应端口的出站规则。

3. ECS任务和Service配置要对应

  • 任务定义中如果配置了容器级健康检查,逻辑要和ALB的一致,避免容器自身判定健康但ALB判定不健康,导致任务反复重启。
  • 调整Service部署参数:将minimumHealthyPercent设为100,maximumPercent设为200,保证实例替换过程中至少有一个正常运行,避免全量挂起。
  • 确认Service绑定的目标组和ALB的监听规则已关联,别出现绑定错误目标组的情况。

4. 手动测试连通性

  • 启动独立Fargate任务,获取其私网IP,在VPC内的EC2实例或通过SSM Session Manager执行curl http://[任务私网IP]:[端口]/[健康检查路径],确认是否返回200状态码。
  • 如果curl失败,先排查JBoss配置:确认绑定地址是0.0.0.0而非localhost(否则容器外无法访问),再检查应用是否正确部署到JBoss的deployments目录。

5. 查看ALB日志找线索

  • 开启ALB访问日志,查看健康检查请求的状态码:404表示路径错误,5xx表示应用内部问题,无日志则说明安全组/NACL拦截了流量。

6. 排查Fargate网络细节

  • 确认任务所在子网有足够的私网IP,避免因IP耗尽导致任务启动异常。
  • 检查子网路由表,确保和ALB所在子网的流量可互通,别在路由层面卡壳。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.04 05:33:36