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

AWS Fargate中SpringBoot容器ALB目标组健康检查失败求助

问题:AWS ECS Fargate任务ALB目标组健康检查失败(SpringBoot API)

场景与已排查操作

  • 本地构建Docker镜像,测试GET localhost:9099/hello返回200 OK后推送到AWS ECR
  • 创建ECS任务定义:4 vCPU、10GB内存,Linux/x86/64系统,awsvpc网络模式,容器端口映射9099
  • 基于任务定义创建ECS服务,配置全新ALB(监听80端口),目标组关联ECS任务的9099端口;健康检查宽限期60秒,尝试过Fargate 1.3.0、1.4.0及最新版本;ECS任务安全组允许ALB安全组的所有TCP流量,同时开放9099端口允许公网访问
  • 任务启动后,可通过公网/私有IP直接访问API,但ALB目标组健康检查显示请求超时,状态为不健康
  • 调整健康检查配置:HTTP协议、路径/hello、使用流量端口9099、健康阈值2、不健康阈值3、超时120秒、间隔150秒、成功码200-499;重启任务后健康检查仍失败,且容器日志无/hello请求记录
  • 访问ALB公网DNS的9099/hello返回504错误,目标组监控显示请求到达但因目标不健康未转发
  • CloudWatch日志显示SpringBoot API运行正常,开启ALB访问日志后未捕获到健康检查相关请求
  • ALB与ECS任务均部署在us-east-1区域,已配置该区域全部6个可用区的子网
  • 查阅相关文档及社区内容未找到有效解决办法,现有配置逻辑上应满足健康检查要求

排查方向

1. 验证ALB到Fargate任务的网络连通性

  • 在ALB所在子网部署临时EC2实例(或通过AWS Systems Manager Session Manager在私有子网启动测试实例),执行telnet <Fargate私有IP> 9099或curl http://<Fargate私有IP>:9099/hello,确认网络是否可达
  • 检查VPC路由表:确保ALB所在子网的路由表可访问Fargate任务所在子网,无错误路由(比如误将流量指向NAT网关而非直接路由)
  • 检查网络ACL:确认ALB和Fargate任务所在子网的网络ACL,双向放行TCP 9099端口流量(入方向、出方向均需配置)

2. 确认SpringBoot服务的监听地址

  • 检查SpringBoot配置文件(如application.properties/application.yml),确保服务监听地址为0.0.0.0,而非localhost或127.0.0.1。若仅监听本地回环地址,任务内部可访问,但外部(包括ALB)无法通过私有IP访问
  • 查看容器启动日志,确认SpringBoot启动时的监听记录,比如是否存在Tomcat started on port(s): 9099 (http) with context path ''且绑定地址为0.0.0.0的日志

3. 检查ALB与目标组的端口配置匹配性

  • 确认ALB监听规则:若ALB监听80端口,需确保规则将流量转发到关联9099端口的目标组;同时验证目标组的目标端口是否设置为9099,而非错误匹配其他端口
  • 确认目标组健康检查协议:若SpringBoot使用HTTP服务,目标组健康检查协议需设为HTTP,而非HTTPS

4. 排查健康检查的请求路径与头部

  • 尝试更换健康检查路径:比如改为/或/actuator/health(若已开启SpringBoot Actuator),排除/hello路径的特殊配置问题
  • 检查是否需要自定义请求头:部分SpringBoot应用可能要求特定Host头或其他参数,可在目标组健康检查配置中添加对应头部

5. 验证Fargate任务的ENI配置

  • 查看Fargate任务的弹性网络接口(ENI)状态,确认ENI已成功分配私有IP,且关联的安全组正确
  • 查看ENI的流量统计,确认是否有来自ALB的流量到达ENI但未被容器接收

6. 检查VPC DNS与端点配置

  • 确认VPC已启用DNS解析,Fargate任务的私有IP可正常解析,ALB能通过私有IP访问任务
  • 若配置了VPC端点,确认其不会拦截ALB到Fargate任务的流量

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.05 03:35:25