基于私网NAT网关实现跨VPC访问ELB实例
应用场景
应用服务A和应用服务B分别部署在两个不同的VPC中,如果应用服务A希望访问到部署在应用服务B内的ELB服务,但是由于两个VPC的网络不互通无法完成访问。您可以通过配置私网NAT网关的DNAT规则实现应用服务A跨VPC访问应用服务B,从而实现应用服务A访问到应用服务B中的ELB服务。
方案架构
本文着重介绍使用私网NAT网关实现跨VPC访问ELB的实践案例。
- 应用服务A与应用服务B分别部署在VPC-A和VPC-B中,应用服务之间互相隔离。
- 通过私网NAT网关创建DNAT规则,将VPC-A的中转IP映射到VPC-B中的ELB实例,实现VPC-A中的应用服务A跨VPC访问到VPC-B中的ELB实例。
- 本实践方案无需配置路由。

方案优势
- 业务A和业务B分别部署在不同的VPC中,实现了网络相互隔离,保证了业务的安全性。
- 通过DNAT规则,实现了通过映射方式将您VPC-B内的实例对其他VPC A提供服务,VPC-B中的其他业务不会对VPC-A暴露,实现了精细化的网络管理。
约束与限制
针对同一个ELB实例,仅支持在一个VPC内创建一个DNAT规则进行访问,不支持在多个VPC内创建多个中转IP后使用DNA规则进行访问。
资源规划说明
本示例中需要创建虚拟私有云VPC、弹性云服务器ECS、私网NAT网关和弹性负载均衡ELB,资源规划总体说明请参见表1。
准备工作
- 购买两台ECS并配置应用服务,一台ECS-A部署在VPC-A中,一台ECS-B部署在VPC-B中。购买ECS详情请参考快速购买和使用Linux ECS。
- 创建一个HTTP协议的的后端服务器组-B,暂不关联弹性负载均衡,所属虚拟私有云为VPC-B,并将ECS-B添加到该后端服务器组中。创建后端服务器组详情请参考创建后端服务器组。
步骤一:创建负载均衡器
- 进入购买弹性负载均衡页面。
- 根据界面提示选择负载均衡器的基础配置,关键配置参数如表2所示。
- 选定独享型负载均衡实例的基础配置后,您需选择弹性负载均衡的实例规格,实例规格配置参数如表3所示。
- 请根据界面提示选择负载均衡器的网络配置,配置参数如表4所示。
表4 负载均衡器的网络配置 参数
示例
说明
网络类型
IPv4私网
选择ELB实例的网络类型。
所属VPC
VPC-B
负载均衡器所属虚拟私有云,独享型ELB创建完成后不支持切换,请做好相关网络规划。
前端子网
subnet-B01
前端子网为独享型负载均衡提供私网IP地址,用于与内网中的资源进行通信。
ELB实例创建完成后,如果需要更换前端子网,可以通过解绑并绑定新的IPv4和IPv6地址实现。解绑IP地址可能会影响业务的正常运行,请谨慎操作。
IPv4地址
自动分配IP地址
如果网络类型选择了“IPv4私网”,则需要选择IPv4地址的分配方式。
后端子网
与前端子网保持一致
后端子网为独享型负载均衡提供私网IP地址,用于与后端服务器进行通信和健康检查。
- 其余参数保持默认,单击“立即购买”,完成ELB实例的创建。
步骤二:添加HTTP监听器并配置后端服务器组
为ELB01添加HTTP监听器,并将准备工作中创建的后端服务器组-B添加到该监听器下,监听器的“访问控制”设置为“允许所有IP访问”,详情请参考添加HTTP监听器。
步骤三:创建中转IP
- 进入私网NAT网关列表页。
- 在私网NAT网关页面,单击“中转IP > 创建中转IP”,进入创建中转IP页面。
图2 创建中转IP
- 根据界面提示,配置中转IP,配置参数请参见表5。
图3 创建中转IP
- 完成中转IP的创建。
步骤四:创建私网NAT网关
- 进入购买私网NAT网关页面。
- 根据界面提示,配置私网NAT网关的基本信息,关键配置参数请参见表6,其余配置保持默认。
- 单击“立即购买”,完成私网NAT网关的创建。
步骤五:创建DNAT规则
- 进入私网NAT网关列表页。
- 在私网NAT网关页面,单击需要添加DNAT规则的私网NAT网关名称。
- 在私网NAT网关详情页面中,单击“DNAT规则”页签。
- 在DNAT规则页签中,单击“添加DNAT规则”。
- 根据界面提示,配置添加DNAT规则参数,详情请参见表7。
- 配置完成后,单击“确定”,可在DNAT规则列表中查看详情,若“状态”为“运行中”,表示创建成功。
步骤六:验证网络连通性
- 远程登录ECS-B,启动ELB部署的后端服务。
弹性云服务器有多种登录方法,具体请参见登录弹性云服务器。
执行命令参考:python3 -m http.server 80
图4 启动ELB部署的后端服务 - 远程登录ECS-A。
- 执行以下命令确认网络连通性:
curl http://${中转IP地址}
收到类似如下信息,表示ECS-A可以访问到跨VPC的ELB01。
图5 验证跨VPC访问到ELB实例