文档首页/ NAT网关 NAT/ 最佳实践/ 基于公网NAT网关和VPC对等连接实现跨VPC访问公网和对公网提供服务
更新时间:2023-11-03 GMT+08:00
分享

基于公网NAT网关和VPC对等连接实现跨VPC访问公网和对公网提供服务

操作场景

在同一区域下有两个虚拟私有云分别为VPC A和VPC B,VPC A和VPC B对应的子网是subnet A和subnet B。在VPC A中为子网subnet A创建公网NAT网关,通过添加SNAT和DNAT规则可以实现访问公网和对公网提供服务;在VPC B中子网subnet B通过对等连接连通VPC A中的子网subnet A,使用subnet A的公网NAT网关访问公网和对公网提供服务,VPC B中的subnet B不用另配置公网NAT网关。详情见下方的组网图。

方案优势

两个VPC只需要配置一个公网NAT网关可以实现两个VPC下的云服务器都能访问公网和对公网提供服务,达到节省资源的目的。

典型拓扑

假设VPC A的网段为192.168.0.0/16,子网subnet A的网段为192.168.1.0/24;VPC B的网段为192.168.0.0/16,子网subnet B的网段为192.168.2.0/24。

实现方式如下:

  1. 配置NAT网关。在VPC A创建公网NAT网关,并添加SNAT和DNAT规则。
  2. 创建对等连接。通过对等连接将VPC A中的子网subnet A与VPC B中的子网subnet B连通,使subnet B使用公网NAT网关访问公网和对公网提供服务。
    图1 组网图

前提条件

  • 如果两个VPC的网段有重叠,建立对等连接时,只能针对子网建立对等关系。
  • 两个VPC中的全部子网网段不能重叠,否则无法通信。

配置公网NAT网关

  1. 购买公网NAT网关

    购买公网NAT网关,虚拟私有云选择VPC A。具体操作请参见购买公网NAT网关

  2. 添加SNAT规则

    1. 为subnet A添加SNAT规则,使用场景选择“虚拟私有云”,子网选择subnet A。具体操作请参见添加SNAT规则
      图2 添加SNAT规则
    2. 为subnet B添加SNAT规则,使用场景选择“云专线/云连接”,网段填写subnet B网段。
      图3 添加SNAT规则

  3. 添加DNAT规则

    1. 为subnet A添加DNAT规则,使用场景选择“虚拟私有云”,私网IP填写subnet A中的云服务器IP地址。具体操作请参见添加DNAT规则
      图4 添加DNAT规则
    2. 为subnet B添加DNAT规则,使用场景选择“云专线/云连接”,私网IP填写subnet B中的云服务器IP地址。
      图5 添加DNAT规则

创建对等连接

  1. 创建VPC A和VPC B及其对应的子网subnet A和subnet B

    具体操作请参见创建虚拟私有云和子网

  2. 创建对等连接

    在subnet A和subnet B间创建对等连接。具体操作请参见创建对等连接

    在本实践中,本端VPC是VPC A,对端VPC是VPC B。

    在原有添加本端和对端路由的基础上,还需在VPC B的路由表中添加0.0.0.0/0的对端路由(下一跳选择已创建的对等连接)。

测试对等连接的连通性

配置完成,测试连通性。

登录subnet B中的云服务器,ping公网地址。

登录任一不属于VPC A和VPC B且能访问公网的云服务器,curl子网subnet B对应DNAT规则绑定的弹性公网IP。

相关文档