如果 EC-2 机器位于与子网关联的 Nat 网关后面,为什么它无法连接到互联网?

如果 EC-2 机器位于与子网关联的 Nat 网关后面,为什么它无法连接到互联网?

我尝试在亚马逊AWS中实现这个网络:

网络

因此,我在 amazon VPC 中拥有以下子网:

子网

子网subnet-0ac620105fc198e33使用具有弹性 IP 的 NAT 网关,其路由表如下:

路由表

nat-0de30b43c561c4161是我的 nat 网关。

其余子网2使用默认路由表: 默认路由表

所有子网均具有以下 ACL

在此处输入图片描述

上面显示的相同规则适用于入站和出站流量。

我还有 2 个 EC-2 实例:

  1. 它位于使用 NAT 网关的子网中,用于 ssh 访问的公共子网中
  2. 一个位于使用 nat 网关的子网中

访问第二个 EC-2 实例后,我运行以下命令:

ping 8.8.8.8
curl http://google.com

但无法连接到谷歌。为什么我无法连接?

答案1

摘要:NAT 网关必须位于公共子网中,并且必须具有通向 Internet 网关的路由。AWS 文档涵盖了这一点这里这里

查看 nat 网关是否位于通过普通互联网网关访问的子网中,在您的情况下,Host1 和 Nat Gateway 都可以位于同一个子网中,也可以位于通过普通互联网网关转发流量的子网中。

在一个简单的图像中,您必须实现以下内容:

网络应该如何

因此,请将 Nat Gateway 视为将流量转发到具有 Internet 网关的子网的另一台主机。上图显示了每台机器应如何连接到 Internet。在您的案例中,通过 Nat Gateway 和子网 1 通过普通 Internet 网关Host 2访问Subnet 2Internet。

就您而言,子网subnet-0c8192051e2a46965subnet-065ae3de09e9f8355适合托管 Nat Gateway。但 Nat Gateway 不得位于子网中subnet-0ac620105fc198e33

为了更改 Nat 网关的子网,您必须创建一个新的 Nat 网关,然后更新路由表以利用 Nat 网关。如果您想保留弹性 IP,请等待旧的 Nat 网关被删除。之后,使用新的。

请记住,在此字段中创建新的 Nat 网关,如下所示:

在此处输入图片描述

选择子网subnet-0c8192051e2a46965subnet-065ae3de09e9f8355

相关内容