为什么AWS NAT网关需要ElasticIP?

时间:2017-03-29 13:22:06

标签: amazon-web-services ip nat

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

Creating NAT Gateway

3 个答案:

答案 0 :(得分:3)

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

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

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

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

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

答案 1 :(得分:0)

一点都不重要,您只能拥有5个EIP,因此在两个可用区中拥有2或3个应用程序将达到该阈值。

答案 2 :(得分:0)

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

在AWS上,有许多类似的场景,您无需担心NAT网关的外部地址是否发生更改,尤其是在您的VPC不包含任何公共服务器的情况下。我有很多这样的东西,我试图用免费帐户运行它们-令我感到烦恼的是,它们迫使我烧毁了我短缺的静态IP。

正如其他人观察到的那样,这是一笔不小的支出,而且AWS仍然比我知道的获得这种云功能的任何其他方式便宜;但是EIP并非严格要求。