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

通过Internal Load Balancer连接前后端服务时遇ERR_NAME_NOT_RESOLVED问题

问题描述

前端与后端服务单独运行均正常,但相互通信时持续出现ERR_NAME_NOT_RESOLVED错误。已确认以下事项:

  • 服务发现全部连通
  • 所有安全组已开放对应端口
  • 健康检查状态均为healthy

仅将**内部负载均衡器(Internal Load Balancer)改为允许0.0.0.0/0互联网流量的公网负载均衡器(Public Load Balancer)**时,前后端才可正常通信。架构基于AWS ECS Fargate微服务集群,采用常见的ECS Fargate微服务部署架构。

排查与解决建议
  1. 验证内部DNS解析配置

    • 确认前端服务使用内部负载均衡器的私有DNS名称通信,而非公网域名或IP。公网LB的域名可被公网DNS解析,但内部LB的私有域名仅在VPC内部生效。
    • 登录前端Fargate容器,执行nslookup <内部LB私有域名>命令,检查能否解析出私有IP。若解析失败,需确认VPC的DNS服务器配置为AWS默认DNS(通常是VPC网段第二个IP,如10.0.0.2),而非自定义DNS。
  2. 检查VPC DNS相关配置

    • 确保内部LB所在VPC已开启DNS主机名和DNS解析功能(在VPC控制台属性页查看)。未开启的话,内部LB的私有域名无法被VPC内的容器解析。
    • 若用Route 53私有托管区映射内部LB的自定义域名,需确认私有托管区已与前端服务所在VPC正确关联。
  3. 核对服务发现与LB的关联

    • 检查ECS服务的服务发现配置,确认命名空间与内部LB的私有域名处于同一DNS域,或服务发现记录正确指向内部LB端点。
    • 优先使用内部LB私有域名作为通信地址,避免直接使用服务发现SRV记录时出现配置疏漏。
  4. 排查容器网络模式

    • 前端Fargate任务若用awsvpc网络模式(默认),需确认任务子网与内部LB子网属于同一VPC,且子网路由表允许访问VPC内部DNS服务器和LB IP段。
    • 检查容器定义中的dnsServers参数,确认未覆盖VPC默认DNS配置。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.31 23:55:23