为什么通过Session Manager访问私有EC2实例需要NAT Gateway?

Why does accessing private EC2 instance via Session Manager need NAT Gateway?

我创建了两个 VPC,每个 VPC 一个私有子网,每个私有子网一个 EC2 实例(具有 IAM 策略“AmazonSSMManagedInstanceCore”的角色)。这两种环境的唯一区别是 with/without NAT 网关。

我尝试通过会话管理器连接这两个 EC2 实例。带NAT网关的VPC中的EC2实例可以访问,但是另一个EC2实例无法访问。

问题

  1. 我想会话管理器需要 NAT 网关。这是正确的吗?
  2. 如果 1 是正确的,为什么需要 NAT 网关?

SSM agent-enabled EC2 实例需要访问各种 AWS 服务端点,特别是 HTTPS 出站(端口 443)到:

  • ec2messages.region.amazonaws.com
  • ssm.region.amazonaws.com
  • ssmmessages.region.amazonaws.com

您可以通过 NAT 从私有子网中的 EC2 实例提供访问权限,或者您可以 configure a VPC Endpoint

此外,请注意 EC2 Instance Connect 功能,这是连接到 EC2 实例的另一种方式,尽管它要求 EC2 实例可以通过 public IP 或私有 IP(例如通过 VPN 连接)。