文档首页/ NAT网关 NAT/ 最佳实践/ 基于私网NAT网关实现跨VPC访问ELB实例
更新时间:2025-06-30 GMT+08:00
分享

基于私网NAT网关实现跨VPC访问ELB实例

应用场景

应用服务A和应用服务B分别部署在两个不同的VPC中,如果应用服务A希望访问到部署在应用服务B内的ELB服务,但是由于两个VPC的网络不互通无法完成访问。您可以通过配置私网NAT网关的DNAT规则实现应用服务A跨VPC访问应用服务B,从而实现应用服务A访问到应用服务B中的ELB服务。

方案架构

本文着重介绍使用私网NAT网关实现跨VPC访问ELB的实践案例。

  1. 应用服务A与应用服务B分别部署在VPC-A和VPC-B中,应用服务之间互相隔离。
  2. 通过私网NAT网关创建DNAT规则,将VPC-A的中转IP映射到VPC-B中的ELB实例,实现VPC-A中的应用服务A跨VPC访问到VPC-B中的ELB实例。
  3. 本实践方案无需配置路由。
图1 应用服务A实现跨VPC访问ELB

方案优势

  1. 业务A和业务B分别部署在不同的VPC中,实现了网络相互隔离,保证了业务的安全性。
  2. 通过DNAT规则,实现了通过映射方式将您VPC-B内的实例对其他VPC A提供服务,VPC-B中的其他业务不会对VPC-A暴露,实现了精细化的网络管理。

约束与限制

针对同一个ELB实例,仅支持在一个VPC内创建一个DNAT规则进行访问,不支持在多个VPC内创建多个中转IP后使用DNA规则进行访问。

资源规划说明

本示例中需要创建虚拟私有云VPC、弹性云服务器ECS、私网NAT网关和弹性负载均衡ELB,资源规划总体说明请参见表1

表1 资源规划

资源

数量

说明

虚拟私有云和子网

2个虚拟私有云和其下子网

  • VPC-A,本示例网段为:192.168.0.0/16。
  • subnet-A01,本示例网段为:192.168.0.0/24。
  • VPC-B,本示例网段为:10.0.0.0/16。
  • subnet-B01,本示例网段为:10.0.0.0/24。

私网NAT网关

1个

本示例名称为private_nat_gateway,用于通过DNAT规则打通VPC-A和VPC-B网络。

弹性负载均衡

1个

被访问的ELB实例,部署在VPC-B内。

弹性云服务器

2台。

  • ECS-A,部署在VPC-A中。
  • ECS-B,部署在VPC-B中。

准备工作

  • 购买两台ECS并配置应用服务,一台ECS-A部署在VPC-A中,一台ECS-B部署在VPC-B中。购买ECS详情请参考快速购买和使用Linux ECS
  • 创建一个HTTP协议的的后端服务器组-B,暂不关联弹性负载均衡,所属虚拟私有云为VPC-B,并将ECS-B添加到该后端服务器组中。创建后端服务器组详情请参考创建后端服务器组

步骤一:创建负载均衡器

  1. 进入购买弹性负载均衡页面
  2. 根据界面提示选择负载均衡器的基础配置,关键配置参数如表2所示。
    表2 负载均衡器的基础配置

    参数

    示例

    说明

    实例类型

    独享型

    负载均衡的实例类型,选定后不支持修改。

    区域

    华北-北京四

    不同区域的资源之间内网不互通

    可用区

    • 可用区1
    • 可用区2

    在同一区域下,电力、网络隔离的物理区域,可用区之间内网互通,不同可用区之间物理隔离。

    名称

    ELB01

    待创建负载均衡器的名称。

  3. 选定独享型负载均衡实例的基础配置后,您需选择弹性负载均衡的实例规格,实例规格配置参数如表3所示。
    表3 负载均衡器的规格说明

    参数

    示例

    说明

    规格

    • 弹性规格
    • 应用型

    选择ELB的实例规格。

  4. 请根据界面提示选择负载均衡器的网络配置,配置参数如表4所示。
    表4 负载均衡器的网络配置

    参数

    示例

    说明

    网络类型

    IPv4私网

    选择ELB实例的网络类型。

    所属VPC

    VPC-B

    负载均衡器所属虚拟私有云,独享型ELB创建完成后不支持切换,请做好相关网络规划。

    前端子网

    subnet-B01

    前端子网为独享型负载均衡提供私网IP地址,用于与内网中的资源进行通信

    ELB实例创建完成后,如果需要更换前端子网,可以通过解绑并绑定新的IPv4和IPv6地址实现。解绑IP地址可能会影响业务的正常运行,请谨慎操作。

    IPv4地址

    自动分配IP地址

    如果网络类型选择了“IPv4私网”,则需要选择IPv4地址的分配方式。

    后端子网

    与前端子网保持一致

    后端子网为独享型负载均衡提供私网IP地址,用于与后端服务器进行通信和健康检查

  5. 其余参数保持默认,单击“立即购买”,完成ELB实例的创建。

步骤二:添加HTTP监听器并配置后端服务器组

ELB01添加HTTP监听器,并将准备工作中创建的后端服务器组-B添加到该监听器下,监听器的“访问控制”设置为“允许所有IP访问”,详情请参考添加HTTP监听器

步骤三:创建中转IP

  1. 进入私网NAT网关列表页
  2. 在私网NAT网关页面,单击“中转IP > 创建中转IP”,进入创建中转IP页面。
    图2 创建中转IP
  3. 根据界面提示,配置中转IP,配置参数请参见表5
    图3 创建中转IP
    表5 中转IP参数说明

    参数

    示例

    参数说明

    中转VPC

    VPC-A

    中转IP所在的VPC。

    中转子网

    subnet-A01

    中转子网相当于一个中转网络,是中转IP所属的子网。

    中转IP

    自动分配

    选择中转IP的分配方式

  4. 完成中转IP的创建。

步骤四:创建私网NAT网关

  1. 进入购买私网NAT网关页面
  2. 根据界面提示,配置私网NAT网关的基本信息,关键配置参数请参见表6,其余配置保持默认。
    表6 参数说明

    参数

    示例

    参数说明

    名称

    private_nat_gateway

    私网NAT网关名称。

    虚拟私有云

    VPC-B

    私网NAT网关所属的VPC。

    子网

    subnet-B01

    私网NAT网关所属VPC中的子网。

    规格

    小型

    私网NAT网关的规格。

  3. 单击“立即购买”,完成私网NAT网关的创建。

步骤五:创建DNAT规则

  1. 进入私网NAT网关列表页
  1. 在私网NAT网关页面,单击需要添加DNAT规则的私网NAT网关名称。
  2. 在私网NAT网关详情页面中,单击“DNAT规则”页签。
  3. 在DNAT规则页签中,单击“添加DNAT规则”。
  4. 根据界面提示,配置添加DNAT规则参数,详情请参见表7
    表7 DNAT规则参数说明

    参数

    示例

    说明

    本端网络

    端口类型

    具体端口

    具体端口:属于端口映射方式。私网NAT网关会将以指定协议和端口访问该中转IP的请求转发到目标云主机实例的指定端口上。

    支持协议

    TCP

    协议类型分为TCP和UDP两种类型。

    实例类型

    负载均衡器

    选择对外部私网提供服务的实例类型,本示例选择步骤一中创建完成的负载均衡器ELB01。

    业务端口

    80

    实例对外提供服务的协议端口号。

    中转网络

    中转IP

    192.168.0.144

    通过该中转IP访问用户IDC或其他VPC,本示例选择步骤三中创建的中转IP。

    中转IP端口

    80

    中转IP对外提供服务的端口号。

  5. 配置完成后,单击“确定”,可在DNAT规则列表中查看详情,若“状态”为“运行中”,表示创建成功。

步骤六:验证网络连通性

  1. 远程登录ECS-B,启动ELB部署的后端服务。

    弹性云服务器有多种登录方法,具体请参见登录弹性云服务器

    执行命令参考:
    python3 -m http.server 80
    图4 启动ELB部署的后端服务
  2. 远程登录ECS-A。
  3. 执行以下命令确认网络连通性:
    curl http://${中转IP地址}

    收到类似如下信息,表示ECS-A可以访问到跨VPC的ELB01。

    图5 验证跨VPC访问到ELB实例

相关文档