部署AWS ECS遇Dial TCP错误:无法解析ECR仓库主机
问题排查与解决方案
核心问题是ECS任务无法解析ECR仓库的域名,结合配置细节,逐一排查以下点:
ECR端点配置缺失关键关联
你添加的com.amazonaws.us-east-1.ecr.dkr端点是拉取镜像的核心,但需要确认:- 端点安全组是否允许任务所在安全组发起的TCP 443出站流量
- 端点是否关联了任务所在子网的路由表——如果路由表没关联该端点,任务无法通过内网访问ECR,会尝试走公网解析,一旦DNS异常就会出现域名找不到的错误
- 端点是否启用了私有DNS:启用后VPC内的实例可直接将ECR域名解析为内网IP,无需依赖公网DNS
VPC DNS解析配置异常
错误显示使用VPC默认DNS服务器(172.31.0.2)但无法解析域名,检查:- VPC的DNS设置是否为
AmazonProvidedDNS,若自定义了DNS服务器,需确保该服务器能正常解析ECR域名 - 子网关联的网络ACL是否阻止了DNS流量(UDP/TCP 53端口),需允许出站DNS请求和入站DNS响应
- VPC的DNS设置是否为
ecsTaskExecutionRole权限验证
虽然当前错误是域名解析问题,但仍需确认默认角色是否包含AmazonEC2ContainerRegistryReadOnly权限——权限缺失会导致拉取镜像失败,但这是解析成功后的后续问题镜像与仓库有效性检查
确认613431292675.dkr.ecr.us-east-1.amazonaws.com/model-service-repo:latest这个镜像标签真实存在,仓库未被删除或权限变更
内容的提问来源于stack exchange,提问作者cambrialas
相关产品推荐
相关产品推荐

