NAT 网关基础知识
每个 NAT 网关都在特定可用区中创建,并在该可用区进行冗余实施。您可以在每个可用区中创建的 NAT 网关存在数量配额。有关更多信息,请参阅 Amazon VPC 配额。
如果您在多个可用区中拥有资源并且它们共享一个 NAT 网关,如果该 NAT 网关的可用区不可用,其他可用区中的资源将无法访问 Internet。为提高故障恢复能力,请在每个可用区中创建一个 NAT 网关,并配置路由以确保这些资源使用自身可用区中的 NAT 网关。
以下特征和规则适用于 NAT 网关:
-
NAT 网关支持以下协议:TCP、UDP 和 ICMP。
-
IPv4 或 IPv6 流量支持 NAT 网关。对于 IPv6 流量,NAT 网关将执行 NAT64。通过与 DNS64 结合使用(在 Route 53 Resolver 上可用),Amazon VPC 子网中的 IPv6 工作负载可以与 IPv4 资源进行通信。这些 IPv4 服务可能存在于同一 VPC(在单独子网中)或其他 VPC、本地环境或互联网上。
-
NAT 网关支持 5 Gbps 带宽并会自动扩展到 100 Gbps。如果您需要更大的带宽,您可以将资源拆分到多个子网中,并在每个子网中创建 NAT 网关。
-
一个 NAT 网关每秒能处理 1 百万个数据包,还能自动扩展到每秒 1 千万个数据包。超出此限制后,NAT 网关将丢弃数据包。为防止数据包丢失,请将资源拆分到多个子网中,并为每个子网中创建单独的 NAT 网关。
-
对于每个唯一目标,每个 IPv4 地址最多可以支持 55000 个并发连接。唯一目标由目标 IP 地址、目标端口和协议(TCP/UDP/ICMP)的唯一组合标识。您可以通过将最多 8 个 IPv4 地址(1 个主要 IPv4 地址和 7 个辅助 IPv4 地址)关联到 NAT 网关来提高此限制。默认情况下,公有 NAT 网关只能关联 2 个弹性 IP 地址。您可以通过请求调整限额来提高此限制。有关更多信息,请参阅 弹性 IP 地址。
-
您可以选择分配给 NAT 网关的私有 IPv4 地址,也可以从子网的 IPv4 地址范围中自动分配。在删除私有 NAT 网关之前,所分配的私有 IPv4 地址将一直存在。您无法分离私有 IPv4 地址,也无法附上其他私有 IPv4 地址。
-
不能为 NAT 网关关联安全组。您可以将安全组与实例相关联,以控制入站和出站流量。
-
您可以使用网络 ACL 控制进出 NAT 网关所在子网的流量。NAT 网关使用端口 1024–65535。有关更多信息,请参阅 使用网络访问控制列表控制子网流量。
-
NAT 网关会收到一个网络接口。您可以选择分配给接口的私有 IPv4 地址,也可以从子网的 IPv4 地址范围中自动分配。您可以在 Amazon EC2 控制台中查看 NAT 网关的网络接口。有关更多信息,请参阅查看有关网络接口的详细信息。此网络接口的属性不可修改。
-
无法通过 VPC 对等连接将流量路由到 NAT 网关。当流量通过混合连接(站点到站点 VPN 或 Direct Connect)经由虚拟专用网关到达时,您无法通过 NAT 网关路由流量。当流量通过混合连接(站点到站点 VPN 或 Direct Connect)经由中转网关到达时,您可以通过 NAT 网关路由流量。
-
NAT 网关支持最大传输单位(MTU)为 8500 的流量,但请务必注意以下几点:
为防止在使用公有 NAT 网关通过互联网与资源通信时可能发生的数据包丢失,EC2 实例的 MTU 设置不应超过 1500 字节。有关检查和设置实例 MTU 的更多信息,请参阅《Amazon EC2 用户指南》中的在您的 Linux 实例上检查并设置 MTU。
NAT 网关通过 FRAG_NEEDED ICMPv4 数据包和 Packet Too Big(PTB)ICMPv6 数据包支持路径 MTU 发现(PMTUD)。
NAT 网关会对所有数据包强制执行最大分段大小(MSS)固定。有关更多信息,请参阅 RFC879
。