我想知道AWS Internet网关的公共IP。我的客户需要它来做IP白名单。 我怎么才能得到它?我的实例直接面对互联网,并且没有通过任何NAT网关进行路由。 据我了解,公共IP应该是EC2实例的弹性IP,该EC2实例连接到我的客户端。有人可以确保我的理解吗?
谢谢
答案 0 :(得分:9)
你是对的。
Internet网关是VPC与Internet之间的逻辑连接。如果没有Internet网关,则VPC和Internet之间没有连接。
VPC中的每个Amazon EC2实例都有一个私有IP地址。他们可以可选还具有公共IP地址。可以是启动实例时分配的随机值,也可以是为该实例分配静态的弹性IP地址。
实际上,这些公共IP地址已分配给弹性网络接口(ENI)。一个实例可以有多个ENI。
实例本身实际上并不“知道”它具有公用IP地址/弹性IP地址。相反,当流量来自Internet并发往公共IP地址时,Internet网关会执行反向NAT ,然后将流量发送到实例的专用IP地址。同样,从实例到Internet网关的任何流量都来自实例的私有IP地址,然后Internet网关将其转发为来自实例的公共IP地址。
因此,Internet网关“拥有”公共IP地址,但将其转发给实例。这一切都非常神奇,因此有时更容易将其想象为具有公共IP地址的实例。
此方法的一个优点是弹性IP地址可以重新分配给另一个实例,流量将立即流到新实例,而无需在“旧”或“新”实例上进行任何配置更改。他们只是通过专用IP地址获得流量,而不知道涉及公共IP地址。