为什么AWS NAT网关需要弹性IP?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了为什么AWS NAT网关需要弹性IP?相关的知识,希望对你有一定的参考价值。

在创建NAT网关时,会在AWS中创建弹性IP地址。 AWS文档(1)也提到了相同的内容。为什么NA​​T网关需要弹性IP地址?

Creating NAT Gateway

答案

简单地说,EIP是必需的,因为这是NAT网关功能的设计方式。

在NAT设备上拥有动态地址是没有意义的 - 如果地址发生了变化,那将保证打破正在进行的任何会话......并且分配静态地址的唯一方法是分配弹性IP地址(EIP)。

通过向外部供应商提供NAT网关的EIP,将外部供应商列入白名单(用于访问其服务器)也很常见,在这种情况下,来自公共池的动态地址将是不可接受的。

可能还存在与EIPs运行方式相关的内部专有理由,这使得这一要求成为必需......但这没有记录,所以这样的断言仅仅是推测。例如:公共池地址(如自动分配给使用池中的公共IP地址配置的EC2实例,而不是EIP)可能被设计到特定可用区域,甚至是单个可用区域的子集(毕竟,当实例停止/启动时,它们会更改,这意味着它们可能专用于AZ中的特定服务器托架),而EIP可以在区域内从一个区域迁移到另一个区域。这强烈暗示了不同的内部拓扑。

对我来说,这个要求(约束?)似乎微不足道:你不应该为这个EIP付费,如果你需要增加一个地区允许的最大EIP数量,你可以免费提交支持请求,描述您的用例,请求限制增加。

另一答案

没有任何意义,您只能拥有5个EIP,因此在两个可用区域中拥有2个或3个应用程序将达到该阈值。

另一答案

EIP要求相当随意。拥有静态IP使NAT的编码更容易(它不必检查WAN接口是否有上游地址更改),但支持动态上游地址的NAT非常常见 - 几乎每个主要ISP服务的家庭都有一个。当然,外部地址可能会改变并破坏当前连接的风险,但ISP知道这一点,并努力不改变地址。通常它只在您重新启动路由器时才会更改,此时所有连接都会被破坏。

在AWS上有许多类似的场景,您不关心NAT网关外部地址是否发生变化,特别是如果您的VPC不包含任何公共服务器。我有很多这些,我试图在免费帐户上运行它们 - 它让我感到恼火,因为它们迫使我通过短暂的静态IP进行刻录。

正如其他人观察到的那样,这是一笔很小的费用,而AWS仍然比我知道的任何其他方式更便宜,以获得这种云计算能力;但是EIP并不是严格要求的。

以上是关于为什么AWS NAT网关需要弹性IP?的主要内容,如果未能解决你的问题,请参考以下文章

将自定义弹性 IP 与 NAT 网关与 AWS CDK 相关联

传出流量 AWS 的公共 IP 地址

具有固定 IP 的 AWS 客户端 ***

如何通过 Cloudformation 将弹性 IP 附加到 Nat 网关

腾讯云发布三大独家功能:弹性网卡广播&组播专线NAT网关(内附媒体专访)

AWS 弹性 IP 而不是公共 IP?