ECS Fargate容器无法解析Route 53绑定ALB域名连接超时排查
故障排查清单
你当前用EC2私有DNS可正常连接,说明VPC底层网络、EC2实例上的APP-1服务运行无异常,问题集中在域名解析、公网访问链路、ALB访问控制三个环节,按以下顺序逐一检查:
1. 域名解析有效性检查
- 进入Fargate运行的APP-2容器内部,执行
nslookup my-app.com或dig my-app.com命令,确认解析结果:- 如果无解析结果返回:首先检查Fargate任务安全组是否放通UDP 53端口的出站流量到VPC DNS服务器(VPC网段基址+2,例如10.0.0.0/16网段对应
10.0.0.2);其次检查容器内部/etc/resolv.conf配置,确认没有在镜像构建阶段手动覆盖默认nameserver配置,导致DNS请求没有发到VPC默认DNS服务器。 - 如果解析返回公网IP:说明解析链路正常,问题出在公网访问链路环节,继续往下排查。
- 如果无解析结果返回:首先检查Fargate任务安全组是否放通UDP 53端口的出站流量到VPC DNS服务器(VPC网段基址+2,例如10.0.0.0/16网段对应
- 确认Route53的A记录配置正确:如果是公网ALB的别名记录,确认别名指向的ALB资源ID正确,没有错指到其他已删除/不可用的负载均衡资源。
2. 公网访问链路检查
- 确认Fargate任务的部署子网与出口配置:
- 如果Fargate部署在公网子网:检查任务是否开启了自动分配公网IP选项,公网子网的Fargate任务不分配公网IP的话,即使子网路由表关联了互联网网关,也无法主动发起公网连接。
- 如果Fargate部署在私网子网:检查子网关联的路由表是否配置了指向NAT网关的默认路由(0.0.0.0/0),没有NAT网关的话私网子网资源无法直接访问公网IP,必然出现连接超时。
- 检查路由表关联范围:确认Fargate任务所在子网关联的路由表,和你之前配置互联网网关的路由表是同一个,不要出现EC2所在公网子网配了IGW路由、Fargate所在子网没配对应路由的情况。
3. ALB与后端访问控制检查
- 检查ALB关联的安全组规则:确认入站规则放通了Fargate任务的出口IP段访问443端口,如果安全组入站仅放通特定公网网段,Fargate出口IP不在允许范围内的话会直接被拦截。
- 检查ALB监听器与目标组配置:确认443监听器的转发规则正确指向挂载EC2实例的目标组,目标组内EC2实例健康检查状态为
healthy,目标组配置的服务端口和EC2上APP-1实际监听端口一致。 - 检查EC2实例层面的访问控制:确认EC2关联的安全组、实例内部操作系统防火墙(firewalld/iptables等)放通了来自ALB安全组的入站流量,对应APP-1的服务端口,避免ALB转发的请求被EC2侧拦截。
同VPC访问优化方案(推荐)
如果不需要走公网链路访问APP-1,建议做以下配置,从根源避免公网链路带来的超时、带宽成本问题:
- 给现有ALB附加内网监听器,或单独创建内网ALB挂载同一组EC2实例
- 在Route53创建关联当前VPC的私有托管区,添加
my-app.com的A记录别名指向内网ALB - 配置完成后Fargate容器解析域名会直接返回ALB内网IP,全程走VPC内部网络通信,不需要公网出口配置,稳定性更高
内容的提问来源于stack exchange,提问作者Xanagandr
相关产品推荐
相关产品推荐

