学习
路无止境!

没有伞的孩子要学会努力奔跑!


  • 首页

  • 归档

  • 关于我

  • 公益404

  • 搜索

公有云NAT网关比较

概述

NAT 网关提供网络地址转换 (NAT) 服务。当公有云中的虚拟机实例或容器仅配置私有IP地址时,满足他们连接到 Internet 外部的需要,NAT负责将他们的私有IP地址转换为公有IP地址。 本文考察几个典型公有云的NAT服务架构。

AWS NAT Gateway

架构

Untitled

上图是官方给出的架构图,其位置处于某个子网内,通过Router将私有子网-10.0.1.0/24的Internet流量指向NAT GW,这个指向通过为该子网配置路由表实现:

目的地目标指向
10.0.0.0/16local
0.0.0.0/0nat-gw-id

解析

从本人的观点来看,此NAT GW网关其实是一个实例,不能将其看作是一个网路设备。 联想到早期AWS的NAT转换是使用虚假实例让用户配置的方式,这个实例大概率是一个预配置的虚拟NAT实例。这个也就解释了NAT网关的限制

  • 只能支持单作用私有子网
  • 对于每个唯一目的地,NAT 网关最多可以支持 55000 个并发连接的限制。
  • 在配置的时候,生成的NAT GW要放入某个公有子网内,作用是NAT转换和流量重定向(至Internet网关)
  • 不支持DNAT

Azure 虚拟网络 NAT网关

架构

https://img-blog.csdnimg.cn/b82119d91dae4448a778abf84324a476.png

NAT 网关资源是虚拟网络 NAT 的一部分,为虚拟网络的一个或多个子网提供出站 Internet 连接。 虚拟网络的子网指明要使用的 NAT 网关。 NAT 为子网提供源网络地址转换 (SNAT)。 NAT 网关资源指定虚拟机在创建出站流时要使用的静态 IP 地址。 静态 IP 地址来自公共 IP 地址资源 (PIP) 和/或公共 IP 前缀资源。 如果使用公共 IP 前缀资源,则由 NAT 网关资源使用整个公共 IP 前缀资源的所有 IP 地址。 NAT 网关资源最多可以使用公共 IP 地址资源或公共 IP 前缀资源中的 16 个(总计)静态 IP 地址。

解析

Azure 的NAT网关可以看作是路由设备。由于可以设置多个出站IP地址,其NAT的连接数大为增加。

  • 对于所分配的每个出站 IP 地址,每个 NAT 网关可支持 64,000 个分别用于 TCP 和 UDP 的流。
  • 和AWS的NAT网关一样,不支持DNAT,对于入站的服务流量需要使用拥有公共IP的VM或公共负载均衡器
  • 支持 IPv4 UDP 和 TCP 协议,不支持ICMP 协议。所以使用ping测试不会成功
  • 可为多个私有子网提供NAT服务,但不能跨虚拟网络

GCP Cloud NAT

架构

Untitled

官方文档Cloud NAT Cloud NAT 是一种软件定义的分布式代管式服务。它并非基于代理虚拟机或设备。从使用上看,和Cloud Router绑定(每个Cloud Router支持50个Nat网关)

Tips

  • 每个 NAT IP 地址都提供 64512 个 TCP 来源端口和 64512 个 UDP 来源端口
  • 最多每个网关支持50/300(手动/自动)个出站IP地址
  • 支持DNAT
  • 支持NAT规则,每网关50个
  • 支持按需预留
  • 出口吞吐量依赖于实例或容器,VM实例默认3Gbps最大7Gbps

按需预留

假设您要配置 Cloud NAT 网关,以便为子网的主要 IP 地址范围提供 NAT,而使用该子网的虚拟机没有该子网主要 IP 地址范围中的任何别名 IP 范围。将任意除法运算的结果向下舍入到最接近的整数。⌊⌋ 是 FLOOR(最大整数)函数,表示舍弃除法的任何小数结果。

如果使用手动分配方法为 Cloud NAT 网关配置单个 NAT IP 地址,并且将每个虚拟机实例的端口数下限设置为 64,则网关可为多达 1008 个虚拟机提供 NAT 服务:

⌊(1 个 NAT IP 地址)×(每个地址 64512 个端口)/(每个虚拟机 64 个端口)⌋ = 1008 个虚拟机

如果您需要支持超过 1008 个虚拟机,则可以为 Cloud NAT 网关分配第二个 NAT IP 地址。使用两个 NAT IP 地址,将每个虚拟机的端口数下限保持在 64,您可以支持 2016 个虚拟机:

⌊(2 个 NAT IP 地址)×(每个地址 64512 个端口)/(每个虚拟机 64 个端口)⌋ = 2016 个虚拟机

NAT规则

NAT 规则功能可让用户创建访问规则,用于定义 Cloud NAT 如何连接到互联网。NAT 规则支持基于目标地址的来源 NAT。

配置没有 NAT 规则的 NAT 网关时,使用 NAT 网关的虚拟机将使用同一组 NAT IP 地址访问所有互联网地址。 如以下示例

Untitled

  • 使用 NAT IP 地址 203.0.113.40 为 Subnet-1 创建一个名为 Cloud NAT Gateway 1 的网关,并添加以下规则: – Cloud NAT Gateway 1 中的 NAT 规则 1:当目的地为 198.51.100.20/30 时,使用来源 NAT 和 203.0.113.20。 – Cloud NAT Gateway 1 中的 NAT 规则 2:当目的地为 198.51.100.30 或 198.51.100.31 时,使用来源 NAT 与 203.0.113.30。
  • 为该区域的其他子网创建一个名为 Cloud NAT Gateway 2 的网关,并将 NAT IP 地址分配为 203.0.113.10。此步骤不需要 NAT 规则。

阿里云NAT网关

官方文档NAT网关

架构

Untitled

从架构图上看,可以把此gw当做网络边缘设备。

Tips

  • 分为普通型和增强型公网NAT网关,对比
  • 默认每网关支持20个出站IP地址,可申请调整配额
  • 支持DNAT(增强型)
  • VPC支持多网关,5个(增强型)
  • 单个出站IP的最大并发数为55000
  • SNAT条目的数量 40个,每个条目支持64个公网IP地址
  • DNAT条目的数量 100个,每个条目支持64个公网IP地址
  • 单网关最大带宽5Gbps

小结

  • 从功能上看,GCP和阿里云比较全面,阿里云处于更新迭代中;
  • 性能上看,GCP是最强的
  • Azure的NAT网关不支持ICMP,需要特别注意
  • AWS的NAT 网关是实例级别,需要放置在公网子网
  • 文章目录
  • 站点概览
Etaon

Etaon

Kepp Going!

80 日志
15 分类
43 标签
GitHub CSDN
友情链接
  • Kubernetes
  • Cisco
  • W3School
  • 廖雪峰
标签云
  • Mysql
  • Aws
  • Dql
  • Hadoop
  • Kubernetes
  • Nsx t
  • Redis
  • Azure
  • Cicd
  • Git
  • 概述
  • AWS NAT Gateway
    • 架构
    • 解析
  • Azure 虚拟网络 NAT网关
    • 架构
    • 解析
  • GCP Cloud NAT
  • 架构
    • Tips
    • 按需预留
    • NAT规则
  • 阿里云NAT网关
    • 架构
    • Tips
  • 小结
© 2010 - 2023 路无止境!
Powered by - Hugo v0.101.0 / Theme by - NexT
/
Storage by Azure static web apps /
0%