AWS Internet 网关的公共 IP

WIC*_*IAN 8 cloud networking amazon-web-services amazon-vpc

我想知道 AWS 互联网网关的公共 IP。我的客户需要它来做 IP 白名单。我怎么才能得到它?我的实例直接面向 Internet,没有通过任何 NAT 网关路由。根据我的理解,公共IP应该是连接到我的客户端的EC2实例的弹性IP。任何人都可以确定我的理解吗?

谢谢

Joh*_*ein 17

你是对的。

一个互联网网关是一个VPC和Internet之间的逻辑连接。如果没有 Internet 网关,则 VPC 和 Internet 之间没有连接。

VPC 中的每个 Amazon EC2 实例都有一个私有 IP 地址。他们还可以选择拥有公共 IP 地址。这可以是在实例启动时随机分配的地址,也可以为实例分配静态弹性 IP 地址

实际上,这些公共 IP 地址被分配给弹性网络接口 (ENI)。一个实例可以有多个 ENI。

实例本身实际上并不“知道”它具有公共 IP 地址/弹性 IP 地址。相反,当流量来自互联网发往公网IP地址,Internet网关进行反向NAT发送流量到该实例的私有IP地址。同样,从实例到 Internet 网关的任何流量都来自实例的私有 IP 地址,然后 Internet 网关将其转发为来自实例的公共 IP 地址。

因此,互联网网关“拥有”公共 IP 地址,但将其转发给实例。这一切都非常神奇,所以有时更容易想象为具有公共 IP 地址的实例。

这种方法的一个好处是可以将弹性 IP 地址重新分配给另一个实例,并且流量将立即流向新实例,而无需对“旧”或“新”实例进行任何配置更改。他们只是通过他们的私有 IP 地址获取流量,而不知道涉及公共 IP 地址。

  • 具有公共 IP 地址的私有子网中的 EC2 实例与上述完全相同 - Internet 网关仍会将公共 IP 地址与私有 IP 地址相关联。但是,私有子网和 Internet 之间不会有任何连接,因此通信将会失败。 (2认同)
  • Internet 网关将继续将公共 IP 地址转换为私有 IP 地址,但无法将流量发送到私有子网。因此,交通就会消失在“黑洞”中。 (2认同)