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

基于AWS ECS EC2桥接网络的服务发现配置求助

ECS + Cloud Map 服务发现访问失败问题解决

1. 先修正curl命令的格式错误

你执行的curl http://./path存在明显格式问题,./是无效的主机名,这直接触发了Could not resolve host错误。必须使用Cloud Map分配的私有DNS名称来访问目标服务。

2. 获取正确的服务DNS标识

  • 控制台查询:进入AWS Cloud Map控制台,找到你的目标命名空间,查看服务abc(对应xyz服务的服务发现名称)的DNS记录:
    • SRV记录格式:_master-3030-tcp._tcp.abc.[你的命名空间域名]
    • A记录格式(若启用):abc.[你的命名空间域名]
  • CLI查询:用AWS命令行工具快速获取实例信息:
    aws servicediscovery discover-instances --namespace-name [你的命名空间名称] --service-name abc
    
    该命令会返回服务实例的私有IP、动态分配的端口等核心信息。

3. 正确的服务访问方式

由于你的任务采用bridge网络+动态主机端口,Cloud Map的SRV记录会自动关联动态端口,推荐两种访问方式:

方式一:使用A记录直接访问(需开启A记录生成)

如果Cloud Map服务配置了生成A记录,可直接用域名访问:

curl http://abc.[你的命名空间域名]/path

方式二:解析SRV记录后访问

先解析SRV记录获取动态端口:

dig +short SRV _master-3030-tcp._tcp.abc.[你的命名空间域名]

返回结果类似0 1 12345 abc.[你的命名空间域名],其中12345是动态分配的主机端口,接着用该端口访问:

curl http://abc.[你的命名空间域名]:12345/path

4. 额外排查要点

  • VPC DNS配置:确保EC2实例所在VPC的DNS服务器设置为VPC默认DNS(即VPC网段的第二个IP,比如VPC CIDR为10.0.0.0/16时,DNS为10.0.0.2),否则无法解析Cloud Map私有域名。
  • 安全组规则:确认123服务所在EC2实例的安全组,允许访问xyz服务实例安全组的TCP端口(包含动态端口范围,或直接放行3030容器端口对应的安全组规则)。
  • 服务注册状态:在ECS控制台检查xyz服务的服务发现状态是否为正常,确保任务实例已成功注册到Cloud Map。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.05 09:33:12