我如何在不同的 AWS ECS 集群上启用两个任务 运行 之间的通信

How can i enable communication between two tasks running on different AWS ECS Clusters

我在两个不同的集群中有两个 fargate 任务 运行,第一个是 运行 在端口 3000 上并且可以接收来自任何人的请求,第二个是 运行 在端口上8080,只能被第一个访问。两者都在同一个安全组和 VPC 中。

我创建了一个入站规则以允许第一个 public 访问,然后我尝试创建其他入站规则以允许第二个通过安全组入口进行访问。但是当第一个服务尝试访问第二个时,我收到超时错误。

当我允许 public 访问第二个服务时,通信正常,但我不能永远允许它。

每个服务都配置了一个负载均衡器,但我已经尝试通过他的任务public ip 访问该服务,但没有成功。

有人知道我做错了什么吗?? The inbound rules for the security group can be checked in this image

如果第一个服务尝试通过第二个服务的 public IP 访问第二个服务,则流量将传出到 Internet 并返回,这将破坏与网络流量的关联来源安全组。

为了将流量保持在 VPC 内,并确保安全组规则按预期应用,第一个服务需要通过第二个服务的私有 IP 连接到第二个服务。

如果您为第二个服务使用负载均衡器,则它需要是内部负载均衡器,而不是外部负载均衡器。