繁体   English   中英

为什么 AWS NAT 网关需要 ElasticIP?

[英]Why does a AWS NAT Gateway require an ElasticIP?

在创建 NAT 网关时,会在 AWS 中创建一个弹性 IP 地址。 AWS 文档 ( 1 ) 也提到了这一点。 为什么 NAT 网关需要弹性 IP 地址?

创建 NAT 网关

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

在 NAT 设备上使用动态地址是没有意义的——如果地址发生变化,那将保证会中断正在进行的任何会话……分配静态地址的唯一方法是分配弹性 IP地址(EIP)。

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

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

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

EIP 要求相当随意。 拥有静态 IP 可以更轻松地对 NAT 进行编码(它不必检查 WAN 接口以了解上游地址的变化),但支持动态上游地址的 NAT 非常常见 - 几乎每个主要 ISP 服务的家庭都有一个。 当然,外部地址可能会更改并中断当前连接,但 ISP 知道这一点并努力不更改地址。 通常,它仅在您重新启动路由器时才会更改,并且此时您的所有连接都会中断。

在 AWS 上有许多类似的场景,您不需要关心您的 NAT 网关外部地址是否更改,尤其是在您的 VPC 不包含任何公共服务器的情况下。 我有很多这样的,我正在尝试在免费帐户上运行它们——它们强迫我消耗我供不应求的静态 IP,这让我很恼火。

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

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

我认为这里缺少的答案是 NAT 网关 (NATG) 流量仍在通过 Internet 网关 (IGW) 路由,该网关执行静态(一个私有 IP 到一个公共 IP)NAT。 正如问题中的图片所示,弹性 IP (EIP) 是一个关联 将 NATG 的私有 IP 转换为其关联的公共 EIP 的是 IGW。

因此,从 AWS 实施的角度来看,此 EIP 要求对于通过 IGW 访问 Internet 的公共子网中的任何资源(例如 EC2 实例)是一致的。

自 2021 年 6 月起,AWS NAT 网关不再需要 ElasticIP(如果您选择“私有”模式):

私有 NAT 网关或连接类型设置为私有的 NAT 网关不需要 EIP,并且您不需要将 Internet 网关与您的 VPC 连接。

https://aws.amazon.com/about-aws/whats-new/2021/06/aws-removes-nat-gateways-dependence-on-internet-gateway-for-private-communications/

假设您有私有网络实例,它们将如何连接到互联网? 那是NAT进来的时候。NAT ip是公共的。 私有子网可以与 NAT 关联。 所以通过这种方式,私有子网中的实例可以使用 NAT 连接到互联网。 当您有服务器将您的 IP 列入白名单时,这非常有用。 只需给他们 NAT EIP 即可解决问题。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM