非公共 IP 实例的 AWS 公共子网 Internet 访问

Tar*_*bhi 3 subnet vpc amazon-web-services amazon-vpc aws-vpc

我在 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 的实例无法访问互联网。

如何为公共子网内的其他实例提供互联网访问权限?

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

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

Joh*_*ley 6

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

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

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

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

公有子网中没有公有 IP 地址的实例是从 Internet 孤立的。该实例可以与VPC(内网)中的其他实例进行通信,但无法与Internet 通信。

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