EC2 实例无法与 ECS 服务通信

问题描述 投票:0回答:1

我是 AWS 网络和 ECS 的新手。我正在尝试让 EC2 实例与 ECS 中 Fargate 上运行的容器进行通信。我无法从 EC2 实例 ping 任务的公共 IP 地址。我已经检查了以下内容:

  • 一切都在同一个VPC中
  • EC2 实例和容器的子网共享相同的路由表,允许相关子网的所有本地流量
  • 所有子网都具有相同的网络 ACL,允许所有端口上的所有入站和出站流量
  • ECS 服务的安全组在指定端口上有一条入站规则,其来源是 EC2 实例的安全组
  • EC2实例的安全组允许所有端口出站流量
amazon-ecs
1个回答
0
投票

我无法从 EC2 实例 ping 任务的公共 IP 地址。

您必须使用 ECS 任务的私有 IP 而不是公共 IP 才能正常工作。当您使用公有 IP 时,来自 EC2 实例的请求会退出 VPC,传出到 Internet,然后返回 VPC,此时该请求不再与 EC2 实例的安全组关联,因此入站规则ECS 任务无法识别该请求并阻止它。

当您使用私有 IP 时,所有流量都保留在 VPC 内,并且请求保留与其源安全组的关联。


另请注意,

ping
在这里不是一个好的调试工具,因为它使用ICMP协议,该协议在AWS安全组中默认被阻止。

© www.soinside.com 2019 - 2024. All rights reserved.