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

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

操作场景

在同一区域下有两个虚拟私有云VPC A和VPC B以及对应的子网subnet A和subnet B,VPC A中subnet A配置公网NAT网关,通过添加SNAT和DNAT规则可以实现访问公网和对公网提供服务;VPC B中的subnet B不再另配置公网NAT网关,通过对等连接连通subnet A,使用subnet A的公网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. 通过对等连接将VPC A中的subnet A与VPC B中的subnet B连通。
  2. 在VPC A搭建公网NAT网关,通过对等连接使subnet B使用公网NAT网关访问公网和对公网提供服务。
    图1 组网图

前提条件

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

配置步骤

  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的对端路由(下一跳选择已创建的对等连接)。

  3. 购买公网NAT网关

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

  4. 添加SNAT规则

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

  5. 添加DNAT规则

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

配置验证

配置完成,测试连通性。

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

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