5

我在 AWS 中有一个公共子网,其中有 3 个实例......

  1. WebApp01(弹性 IP - 例如 54.23.61.239)
  2. WebApp02(私有 IP - 192.168.0.24)
  3. WebApp03(私有 IP - 192.168.0.25)

我的路由表设置为 192.168.0.0/16 -> local 0.0.0.0/0 -> Internet Gateway

我可以看到有公网IP的实例可以上网,但是没有公网IP的实例不能上网。

如何授予对公共子网内其他实例的 Internet 访问权限?

我是网络新手,任何帮助将不胜感激。

仅供参考:我知道创建一个 NAT,然后使用 0.0.0.0 -> NAT 创建一个单独的路由表,并将该路由与私有子网相关联,从而可以访问私有子网中的实例,但我不知道如何为公有子网中的非公有 IP 实例提供 Internet 访问权限。请帮忙 !

4

1 回答 1

7

您需要为没有公有 IP 地址的实例分配公有 IP 地址或添加 EIP 以使它们能够访问 Internet。

AWS Internet 网关是一种特殊类型的 NAT 网关(1 - 1 地址映射)。如果没有公共 IP 地址,互联网网关将无法映射到 EC2 实例 - 一个公共 IP 映射到互联网网关内的一个私有 IP。

尽管您使用 Internet 网关将 NAT 网关添加到公有子网,但 NAT 网关确实为公有子网中的实例提供地址转换 (NAT) - 仅对私有子网中的实例。每个私有子网中的默认路由指向 NAT 网关。

如果您希望这些实例仅通过私有 IP 地址得到保护,那么您需要将这些实例移动到私有子网(带有 NAT 网关的子网)。

没有公有 IP 地址的公有子网中的实例从 Internet 成为孤立的。该实例可以与 VPC(Intranet)中的其他实例通信,但不能与 Internet 通信。

关于什么是 AWS VPC 子网存在很多混淆。有三种类型。1) 公共子网(具有 IGW 的子网)。2) 私有子网(具有 NAT 网关或 NAT 实例,或两者都没有)。3) 混合(具有到数据中心或类似的 VGW 路由的一种)。

于 2018-07-21T02:51:47.807 回答