我需要获取 ECS 服务 URL 才能向其端点请求信息。
我目前正在使用 AWS Lambda 与该服务交互。虽然我尝试过使用服务的私有IP(服务和Lambda都在同一个VPC中)发出请求,但这种方法并没有成功。因此,我相信使用服务 URL 来处理这些请求会更有效。
不存在 ECS“服务 URL”这样的东西。您必须在 ECS 服务前面添加负载均衡器,然后使用负载均衡器的 URL。对于您正在做的事情(内部 VPC 流量),它需要是一个没有公共 IP 地址的内部负载均衡器。
但是,您尝试从 VPC 中的 Lambda 函数使用 ECS 任务的私有 IP 绝对应该可行。如果它不起作用,那么您应该提供有关您的配置的更多信息,以便我们可以帮助您,例如 ECS 任务的网络模式设置以及分配给 ECS 服务的安全组的详细信息。
一般来说,要使其正常工作,您需要为 Lambda 函数分配一个安全组。该安全组需要有允许出站流量的默认规则,并且不需要任何入站规则。然后,对于您的 ECS 服务,您需要为其分配一个安全组,该安全组允许入站流量(在您的 ECS 任务侦听的任何端口上),源是您的 Lambda 函数的安全组 ID。