通过使用VPC对等连接可以实现在多个专有网络VPC(Virtual Private Cloud)共用一个公网NAT网关,从而达到多VPC访问公网的效果。
背景信息
对等连接可以在两个VPC之间建立网络连接,您可以通过VPC对等连接,实现两个VPC之间私网互通。多个VPC之间可以通过创建两两对等连接实现互通。例如有3个VPC,分别为VPC1、VPC2和VPC3。其中VPC1和VPC2建立对等连接,VPC2和VPC3建立对等连接,VPC1和VPC3建立对等连接,可以实现3个VPC间两两互通。本文以在两个VPC间创建对等连接实现共用一个公网NAT网关为例进行说明。
关于VPC对等连接的更多信息,请参见VPC对等连接。
场景示例
某公司在西南1(成都)地域创建了两个VPC,其名称分别为VPC-A和VPC-B。在VPC-A中,创建了vSwitch-A1和vSwitch-A2,并在vSwitch-A1中创建了公网NAT网关;在vSwitch-A2中创建ECS-A实例。在VPC-B中,创建了vSwitch-B1并创建了ECS-B实例。因公司业务需要,VPC-A与VPC-B都需要访问公网。
公司可以通过使用VPC对等连接并配置路由条目在VPC-A和VPC-B之间建立私网互通,然后在公网NAT网关配置SNAT条目,实现VPC-A和VPC-B通过公网NAT网关访问公网。
配置步骤
步骤一:创建公网NAT网关
- 登录NAT网关管理控制台。 
- 在公网NAT网关页面,单击创建公网NAT网关。 
- 在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网关实例。  
步骤二:创建VPC对等连接
- 登录专有网络管理控制台。
- 在左侧导航栏,单击VPC对等连接。
- 在顶部菜单栏,选择要创建VPC对等连接的地域。 - 本文选择西南1(成都)地域。 
- 在VPC对等连接页面,单击创建对等连接。 
- 在创建对等连接页面,配置以下参数信息,然后单击确定。 - 配置 - 说明 - 对等连接名称 - 输入VPC对等连接的名称。 - 资源组 - 选择所属的资源组。 - 发起端VPC实例 - 在下拉列表中选择发起端的VPC实例。 - 本文选择VPC-A。 - 接收端账号类型 - 选择接收端VPC实例所属的阿里云账号类型。 - 本文选择同账号。 - 接收端地域类型 - 选择接收端VPC实例所在地域类型。 - 本文选择同地域。 - 接收端VPC实例 - 选择接收端VPC实例。 - 本文选择VPC-B。 
- 在VPC对等连接页面,查看VPC对等连接的状态等信息。 - 激活成功的VPC对等连接状态为已激活,您可以正常使用。 
- 您可以查看发起端和接收端的实例ID、所在地域、CIDR网段以及所属阿里云账号。 
 
步骤三:配置路由
在VPC对等连接的两端添加路由条目以管理流量。
- 登录专有网络管理控制台。
- 在左侧导航栏,单击VPC对等连接。
- 在VPC对等连接页面,找到已创建的VPC对等连接,执行以下操作配置路由。 - 配置发起端(VPC-A)的路由 - 在发起端VPC实例列单击配置路由条目。 
- 在配置路由条目对话框,配置以下参数信息,然后单击确定。 - 添加VPC-B网段172.16.0.0/16的路由条目,并将其指向VPC对等连接,以确保转发至VPC-B的流量能够正确地通过VPC对等连接进行转发。 - 配置 - 说明 - 专有网络 - 系统自动显示当前发起端的VPC实例。 - 路由表 - 在下拉列表中选择该VPC实例所关联的路由表。 - 名称 - 输入路由条目的名称。 - 目标网段 - 输入路由条目的目标网段。 - 本文选择IPv4网段,然后输入VPC-B的网段,即172.16.0.0/16。 - 下一跳 - 系统自动显示下一跳对等连接实例。 
 
- 配置接收端(VPC-B)的路由 - 在接收端实例列单击配置路由条目。 
- 在配置路由条目对话框,配置以下参数信息,然后单击确定。 - 添加0.0.0.0/0路由条目,并将其指向VPC对等连接,以便将IPv4流量转发至VPC对等连接。 - 配置 - 说明 - 专有网络 - 系统自动显示当前发起端的VPC实例。 - 路由表 - 在下拉列表中选择该VPC实例所关联的路由表。 - 名称 - 输入路由条目的名称。 - 目标网段 - 输入路由条目的目标网段。 - 由于VPC-B需要通过公网NAT网关访问公网,因此本文选择IPv4网段,然后输入0.0.0.0/0。 - 下一跳 - 系统自动显示下一跳对等连接实例。 
 
 - 路由配置完成后,您可以在VPC对等连接页面,单击VPC对等连接实例的ID,然后在路由条目列表页签下,查看已配置的路由条目信息。 
步骤四:创建SNAT条目
- 在公网NAT网关页面,找到目标公网NAT网关实例,然后在操作列单击设置SNAT。 
- 在SNAT管理页签,单击创建SNAT条目。 
- 在创建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。 
配置验证
- 通过Workbench控制台依次登录ECS1、ECS2实例。 
- 执行 - ping 223.5.5.5命令。- 经验证,ECS1和ECS2实例均可成功访问公网。 