为什么AWS NAT网关需要弹性IP?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了为什么AWS NAT网关需要弹性IP?相关的知识,希望对你有一定的参考价值。
在创建NAT网关时,会在AWS中创建弹性IP地址。 AWS文档(1)也提到了相同的内容。为什么NAT网关需要弹性IP地址?
简单地说,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 相关联
如何通过 Cloudformation 将弹性 IP 附加到 Nat 网关