为什么AWS NAT网关需要ElasticIP?

Pra*_*ati 5 ip nat amazon-web-services

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

创建NAT网关

小智 12

EIP 的要求相当随意。拥有静态 IP 可以使 NAT 编码变得更容易(无需检查 WAN 接口上行地址的变化),但支持动态上行地址的 NAT 非常常见 - 几乎每个由主要 ISP 提供服务的家庭都有一个。当然,存在外部地址可能更改并中断当前连接的风险,但 ISP 知道这一点并尽力不更改地址。一般来说,只有当您重新启动路由器时它才会发生变化,并且此时您的所有连接都将断开。

在AWS上有很多类似的场景,您不关心您的NAT网关外部地址是否发生变化,特别是如果您的VPC不包含任何公共服务器。我有很多这些,并且我正尝试在免费帐户上运行它们 - 它们迫使我耗尽静态 IP 的短缺,这让我很恼火。

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


Mic*_*bot 5

简而言之,需要EIP,因为这是NAT网关功能的设计方式。

在NAT设备上拥有动态地址是没有意义的-如果地址发生更改,则可以保证中断进行中的任何会话...并且分配静态地址的唯一方法是分配弹性IP地址(EIP)。

通常,外部供应商会通过向其提供NAT网关的EIP为服务器添加白名单(以便访问其服务器),在这种情况下,来自公共池的动态地址是不可接受的。

可能还有一些内部的,专有的原因与EIP的运行方式有关,这使得此要求成为必需……但未记录在案,因此这样的主张仅是推测。这样的一个示例:公用池地址(例如那些从池中自动分配给配置有公用IP地址的EC2实例的地址,而不是EIP)可能被设计为特定的可用性区域,甚至单个可用性区域的子集(毕竟,当实例停止/启动时,它们确实会发生变化,这意味着它们可能专用于AZ中的特定服务器托架),而EIP可以从一个区域迁移到区域中的另一个区域。这强烈暗示了不同的内部拓扑。

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


use*_*032 5

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

  • 直到你向他们询问更多的 EIP 地址,这很容易做到。 (9认同)