Internet网关有两个用途:在VPC路由表中为可路由Internet的流量提供目标,并为已分配公用IPv4地址的实例执行网络地址转换(NAT)。
来源:https://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/VPC_Internet_Gateway.html
如果上述实例具有公共IPv4地址,为什么Internet网关需要执行网络地址转换?如果有一个网络流程的示例,那将是很好的,该网络流程将被
的场景破坏答案 0 :(得分:3)
尽管EC2(或具体来说:与该EC2相关联的ENI)实例已与公共IP地址相关联。它不知道它!
这是来自原始链接中共享的相同网址。 “您的实例只知道VPC和子网中定义的私有(内部)IP地址空间”
这意味着所有进出ENI的网络流量都是通过私有IP地址进行的。
如果查看同一页面上的图表,您将看到一个路由器。 这个路由器
EC2 / ENI将与此路由器进行交互。
路由器将流量定向到Internet网关(IGW)后: IGW在该VPC内映射了EC2实例的(公共IP - 私有ip)。
EC2向互联网发送流量的步骤
我本来想描述你的场景,但我不明白为什么IGW不会执行NAT。
答案 1 :(得分:3)
ENI的实例端只有一个私有地址。公共地址通过关联弹性IP或分配公共地址来完成。这些公共地址的映射来自Internet网关的NAT功能。
您的实例仅知道VPC和子网中定义的专用(内部)IP地址空间。 Internet网关在逻辑上代表您的实例提供一对一NAT,以便当流量离开您的VPC子网并进入Internet时,应答地址字段将设置为您的实例的公共IPv4地址或弹性IP地址,而不是其私有IP地址。相反,在将流量传送到VPC之前,发往您的实例的公共IPv4地址或弹性IP地址的流量将其目标地址转换为实例的私有IPv4地址。
引用问题中链接的相同documentation。
入站流量的流量为Public Address
- > Internet Gateway
- > Private Address
。
如果主机所在的子网中没有通过IGW定义的默认路由的路由表,则该实例将无法返回流量。