ECS Fargate禁用自动分配公网IP后ALB目标组健康检查失败如何处理?
可能的配置错误原因
- 容器镜像拉取失败:切换到私有子网且关闭公网IP后,如果容器镜像托管在公网镜像仓库(如公网ECR、Docker Hub等),而私有子网未配置NAT网关/ NAT实例提供公网出站能力,Fargate任务会因为无法拉取镜像持续处于启动失败状态,无法响应ALB健康检查。公有子网模式下任务自带公网IP可直接访问公网拉取镜像,因此运行正常。
- 子网网络ACL拦截流量:你仅排查了有状态的安全组规则,未确认子网层级无状态的网络ACL配置。需同时满足:入站方向允许ALB所在网段访问容器的80、8080端口,出站方向允许容器向ALB网段的临时端口(1024-65535)返回响应流量,否则健康检查流量会被网络ACL拦截。
- 路由表配置异常:首先确认私有子网路由表存在VPC内网段指向
local的默认路由,保证VPC内部ALB到Fargate的内网流量可正常转发;如果容器启动过程需要访问其他AWS服务(如Secrets Manager拉取配置、S3拉取资源等),要么配置对应服务的VPC端点,要么保证私有子网有NAT网关提供公网出站,否则任务初始化失败也会导致健康检查失败。 - 目标组配置不匹配:确认目标组注册类型为IP模式(awsvpc网络模式下的Fargate必须使用IP注册,不可使用实例ID注册),且目标组绑定的VPC与ECS服务、ALB所在VPC完全一致。
内容的提问来源于stack exchange,提问作者Helder Sérvio
相关产品推荐
相关产品推荐

