使用VPC对等连接实现多个VPC共用公网NAT网关

通过使用VPC对等连接可以实现在多个专有网络VPC(Virtual Private Cloud)共用一个公网NAT网关,从而达到多VPC访问公网的效果。

背景信息

对等连接可以在两个VPC之间建立网络连接,您可以通过VPC对等连接,实现两个VPC之间私网互通。多个VPC之间可以通过创建两两对等连接实现互通。例如有3VPC,分别为VPC1、VPC2VPC3。其中VPC1VPC2建立对等连接,VPC2VPC3建立对等连接,VPC1VPC3建立对等连接,可以实现3VPC间两两互通。本文以在两个VPC间创建对等连接实现共用一个公网NAT网关为例进行说明。

关于VPC对等连接的更多信息,请参见VPC对等连接

场景示例

某公司在西南1(成都)地域创建了两个VPC,其名称分别为VPC-AVPC-B。在VPC-A中,创建了vSwitch-A1vSwitch-A2,并在vSwitch-A1中创建了公网NAT网关;在vSwitch-A2中创建ECS-A实例。在VPC-B中,创建了vSwitch-B1并创建了ECS-B实例。因公司业务需要,VPC-AVPC-B都需要访问公网。

公司可以通过使用VPC对等连接并配置路由条目在VPC-AVPC-B之间建立私网互通,然后在公网NAT网关配置SNAT条目,实现VPC-AVPC-B通过公网NAT网关访问公网。

image

配置步骤

步骤一:创建公网NAT网关

  1. 登录NAT网关管理控制台

  2. 公网NAT网关页面,单击创建公网NAT网关

  3. NAT网关页面,配置以下购买信息,然后单击立即购买

    配置项

    说明

    地域

    选择需要创建公网NAT网关的地域。

    网络及可用区

    请选择NAT网关所属的VPC和交换机。创建成功后,无法进行修改或切换。

    网络类型

    本文选择公网NAT网关

    • 公网NAT网关:具备网络地址转换能力,可以绑定弹性公网IP,从而为ECS实例提供访问互联网的能力,实现私网和公网之间的通信。

    • VPC NAT网关:同样具备网络地址转换能力,但无法绑定弹性公网IP,只能为ECS实例提供私网内部的地址转换,适用于内网地址隐藏、地址冲突规避等场景。

    弹性公网IP

    本文选择新购弹性公网IP

    • 选择已有

      弹性公网IP实例:选择未绑定实例的弹性公网IP。

    • 新购弹性公网IP:默认创建BGP(多线)类型的按使用流量计费的弹性公网IP,可根据自身业务需要选择带宽峰值

      说明
      • 如需绑定其他线路类型计费类型的弹性公网IP,请先申请弹性公网IP,然后选择已有进行绑定。

      • 每绑定一个弹性公网IP,将占用NAT网关所在交换机的一个私网IP地址。请确保该交换机具有足够的可用私网IP地址,否则将无法成功绑定新的弹性公网IP。

    • 稍后配置:成功创建的NAT网关将不具备公网能力,用户需手动绑定弹性公网IP。

    创建成功后,您可以在公网NAT网关页面查看已创建的公网NAT网关实例。

    image

步骤二:创建VPC对等连接

  1. 登录专有网络管理控制台
  2. 在左侧导航栏,单击VPC对等连接
  3. 在顶部菜单栏,选择要创建VPC对等连接的地域。

    本文选择西南1(成都)地域。

  4. VPC对等连接页面,单击创建对等连接

  5. 创建对等连接页面,配置以下参数信息,然后单击确定

    配置

    说明

    对等连接名称

    输入VPC对等连接的名称。

    资源组

    选择所属的资源组。

    发起端VPC实例

    在下拉列表中选择发起端的VPC实例。

    本文选择VPC-A

    接收端账号类型

    选择接收端VPC实例所属的阿里云账号类型。

    本文选择同账号

    接收端地域类型

    选择接收端VPC实例所在地域类型。

    本文选择同地域

    接收端VPC实例

    选择接收端VPC实例。

    本文选择VPC-B

  6. VPC对等连接页面,查看VPC对等连接的状态等信息。

    • 激活成功的VPC对等连接状态为已激活,您可以正常使用。

    • 您可以查看发起端和接收端的实例ID、所在地域、CIDR网段以及所属阿里云账号。

步骤三:配置路由

VPC对等连接的两端添加路由条目以管理流量。

  1. 登录专有网络管理控制台
  2. 在左侧导航栏,单击VPC对等连接
  3. VPC对等连接页面,找到已创建的VPC对等连接,执行以下操作配置路由。

    • 配置发起端(VPC-A)的路由

      1. 发起端VPC实例列单击配置路由条目

      2. 配置路由条目对话框,配置以下参数信息,然后单击确定

        添加VPC-B网段172.16.0.0/16的路由条目,并将其指向VPC对等连接,以确保转发至VPC-B的流量能够正确地通过VPC对等连接进行转发。

        配置

        说明

        专有网络

        系统自动显示当前发起端的VPC实例。

        路由表

        在下拉列表中选择该VPC实例所关联的路由表。

        名称

        输入路由条目的名称。

        目标网段

        输入路由条目的目标网段。

        本文选择IPv4网段,然后输入VPC-B的网段,即172.16.0.0/16

        下一跳

        系统自动显示下一跳对等连接实例。

    • 配置接收端(VPC-B)的路由

      1. 接收端实例列单击配置路由条目

      2. 配置路由条目对话框,配置以下参数信息,然后单击确定

        添加0.0.0.0/0路由条目,并将其指向VPC对等连接,以便将IPv4流量转发至VPC对等连接。

        配置

        说明

        专有网络

        系统自动显示当前发起端的VPC实例。

        路由表

        在下拉列表中选择该VPC实例所关联的路由表。

        名称

        输入路由条目的名称。

        目标网段

        输入路由条目的目标网段。

        由于VPC-B需要通过公网NAT网关访问公网,因此本文选择IPv4网段,然后输入0.0.0.0/0

        下一跳

        系统自动显示下一跳对等连接实例。

    路由配置完成后,您可以在VPC对等连接页面,单击VPC对等连接实例的ID,然后在路由条目列表页签下,查看已配置的路由条目信息。

步骤四:创建SNAT条目

  1. 公网NAT网关页面,找到目标公网NAT网关实例,然后在操作列单击设置SNAT

  2. SNAT管理页签,单击创建SNAT条目

  3. 创建SNAT条目页面,配置以下参数,然后单击确定创建

    配置项

    说明

    SNAT条目粒度

    本文选择VPC粒度。您可以根据实际业务需求,选择适合自身业务的SNAT条目粒度。

    • VPC粒度:适用于需要让VPC内所有ECS实例,以及通过CEN或专线等产品实现内网互通并配置了0.0.0.0/0路由条目指向该VPC的其他VPC或数据IDC内的ECS实例,统一通过同一弹性公网IP访问公网的场景。

    • 交换机粒度:适用于对公网访问有精细控制需求,只允许指定的交换机具备公网访问能力的场景。

    • ECS/弹性网卡粒度:适用于对公网访问有精细控制需求,只允许指定的ECS实例或弹性网卡具备公网访问能力的场景。

    • 自定义网段粒度:适用于需要灵活指定任意IP网段,通过NAT网关统一配置公网访问能力的场景,可覆盖VPC内、跨VPC或跨本地IDC等各种网络环境,满足复杂或定制化网络结构的需求。

    说明

    当您选择多个交换机或ECS/弹性网卡时,将为您创建多条SNAT条目,这些条目将使用相同的公网IP地址。

    选择弹性公网IP地址

    选择用来提供公网访问的弹性公网IP。

配置验证

  1. 通过Workbench控制台依次登录ECS1、ECS2实例。

  2. 执行ping 223.5.5.5命令。

    经验证,ECS1ECS2实例均可成功访问公网。

    image