华为云 VPC 对等连接与路由策略实战:构建多账号企业级网络互联架构
一、为什么多账号网络互联是企业刚需
随着企业上云规模的扩大,单一账号、单一 VPC 的扁平网络架构很快会遇到瓶颈:
- 安全边界模糊:生产、测试、管理环境混跑,权限难以收敛
- 资源爆炸:一个 VPC 内子网数量、路由条目数有上限,大规模部署触顶
- 计费颗粒度差:多业务线费用混在同一个账号下,成本分摊困难
- 合规审计难:不同安全等级的网络流量缺乏物理隔离
华为云 VPC 对等连接(Peering Connection)提供了跨 VPC、跨账号、跨区域(需开启跨区域对等)的网络直连能力,配合自定义路由表,可以灵活构建星型、环型、树型等拓扑结构。
二、场景概览:三账号企业网络架构
本文以一个典型的中大型企业场景为例:
| 账号 | 用途 | VPC 网段 |
|---|---|---|
| 账号 A(生产账号) | 核心业务系统 | 10.1.0.0/16 |
| 账号 B(测试账号) | 开发测试环境 | 10.2.0.0/16 |
| 账号 C(管理账号) | 运维监控、日志审计 | 10.3.0.0/16 |
设计目标:
- 生产账号与测试账号网络隔离,但允许受控的数据库同步流量
- 管理账号可访问所有 VPC 的运维端口(SSH、RDP、Agent 通信)
- 生产账号内网服务(如内部 API)可被管理账号调用,但不可被测试账号直接访问
- 所有跨 VPC 流量通过内网对等连接完成,不经过公网
三、核心概念速览
3.1 VPC 对等连接
VPC 对等连接是两个 VPC 之间的网络通道,建立后双方即可通过内网 IP 直接通信,流量不经过公网网关,延迟低、带宽高、无额外出网费用(同区域对等)。
关键特性:
- 不支持传递性:A 与 B 对等、B 与 C 对等,不代表 A 能直接访问 C
- 双方需各自接受对等连接请求
- 路由表必须显式添加指向对等连接的路由条目
3.2 自定义路由表
每个子网关联一个路由表。默认路由表自动管理本 VPC 内流量,自定义路由表可实现:
- 子网级流量分流(如将测试子网流量导向 NAT 网关,生产子网直连)
- 跨 VPC 路由(下一跳指向对等连接)
- 边界路由(下一跳指向 VPN 网关或云专线)
3.3 安全组与网络 ACL
路由打通后,安全组(实例级防火墙)和网络 ACL(子网级无状态防火墙)是最后一道防线。两者配合使用,可实现"路由可达但访问受限"的精细化控制。
四、实战步骤
步骤一:规划 IP 地址段
三个账号的 VPC 网段必须不重叠,否则对等连接无法建立。本文采用:
生产 VPC:10.1.0.0/16
├── 业务子网:10.1.1.0/24(可用区 1)
├── 业务子网:10.1.2.0/24(可用区 2)
└── 数据库子网:10.1.10.0/24
测试 VPC:10.2.0.0/16
├── 业务子网:10.2.1.0/24
└── 数据库子网:10.2.10.0/24
管理 VPC:10.3.0.0/16
├── 运维子网:10.3.1.0/24
└── 审计子网:10.3.10.0/24
步骤二:创建 VPC 与子网
在三个账号中分别创建 VPC 和子网。操作路径:控制台 > 虚拟私有云 > 虚拟私有云 > 创建 VPC。
关键参数:
- 子网名称:建议包含环境标识(如
prod-az1-biz) - 关联路由表:生产子网关联
prod-route-table,测试子网关联test-route-table - 开启 DHCP:默认开启,DNS 服务器使用华为云内网 DNS
步骤三:建立跨账号 VPC 对等连接
以"生产账号 > 管理账号"为例:
- 在生产账号中,进入 VPC 控制台 > 对等连接 > 创建对等连接
- 填写以下信息:
- 对等连接名称:
prod-to-mgmt - 本端 VPC:选择生产 VPC(10.1.0.0/16)
- 对等账户类型:跨账号
- 对等账号 ID:填入管理账号的账号 ID
- 对等区域:选择管理 VPC 所在区域
- 对等 VPC:选择管理 VPC(10.3.0.0/16)
- 对等连接名称:
- 创建后,对等连接状态为"待接受"
- 切换到管理账号,进入 VPC 控制台 > 对等连接 > 待接受列表,找到该连接并确认接受
同理,创建以下对等连接:
| 对等连接名称 | 方向 | 状态 |
|---|---|---|
| prod-to-mgmt | 生产 > 管理 | 已接受 |
| mgmt-to-prod | 管理 > 生产 | 已接受 |
| test-to-mgmt | 测试 > 管理 | 已接受 |
| mgmt-to-test | 管理 > 测试 | 已接受 |
| prod-to-test | 生产 > 测试 | 已接受 |
| test-to-prod | 测试 > 生产 | 已接受 |
注意:对等连接是双向独立的。
prod-to-mgmt和mgmt-to-prod是两条对等连接,需分别创建和接受。
步骤四:配置路由表
对等连接建立后,必须在路由表中添加路由条目,流量才能实际转发。
以生产账号为例,在 prod-route-table 中添加:
| 目的地址 | 下一跳 | 说明 |
|---|---|---|
| 10.3.0.0/16 | prod-to-mgmt | 访问管理 VPC |
| 10.2.0.0/16 | prod-to-test | 访问测试 VPC |
在管理账号的 mgmt-route-table 中添加:
| 目的地址 | 下一跳 | 说明 |
|---|---|---|
| 10.1.0.0/16 | mgmt-to-prod | 访问生产 VPC |
| 10.2.0.0/16 | mgmt-to-test | 访问测试 VPC |
在测试账号的 test-route-table 中添加:
| 目的地址 | 下一跳 | 说明 |
|---|---|---|
| 10.3.0.0/16 | test-to-mgmt | 访问管理 VPC |
设计决策:测试账号不添加指向生产 VPC 的路由。这意味着测试环境无法直接访问生产环境,但生产环境可以主动推送数据到测试环境(通过生产到测试的路由)。
步骤五:配置安全组策略
路由打通后,安全组是访问控制的最后关卡。
生产环境安全组(sg-prod):
| 协议 | 端口 | 源地址 | 策略 | 说明 |
|---|---|---|---|---|
| TCP | 22 | 10.3.1.0/24 | 允许 | 管理账号运维 SSH |
| TCP | 3389 | 10.3.1.0/24 | 允许 | 管理账号运维 RDP |
| TCP | 5432 | 10.2.10.0/24 | 允许 | 测试账号数据库同步 |
| TCP | 8080 | 10.3.10.0/24 | 允许 | 管理账号调用内部 API |
| 全部 | 全部 | 0.0.0.0/0 | 拒绝 | 默认拒绝所有 |
测试环境安全组(sg-test):
| 协议 | 端口 | 源地址 | 策略 | 说明 |
|---|---|---|---|---|
| TCP | 22 | 10.3.1.0/24 | 允许 | 管理账号运维 SSH |
| TCP | 5432 | 10.1.10.0/24 | 允许 | 生产数据库只读同步 |
| 全部 | 全部 | 0.0.0.0/0 | 拒绝 | 默认拒绝所有 |
管理环境安全组(sg-mgmt):
| 协议 | 端口 | 源地址 | 策略 | 说明 |
|---|---|---|---|---|
| TCP | 22 | 10.1.1.0/24, 10.2.1.0/24 | 允许 | 允许从生产/测试跳板机 SSH |
| 全部 | 全部 | 10.1.0.0/16 | 允许 | 管理账号可访问生产 VPC 全部资源 |
| 全部 | 全部 | 10.2.0.0/16 | 允许 | 管理账号可访问测试 VPC 全部资源 |
步骤六:验证连通性
在管理账号的运维子网中创建一台 ECS 作为跳板机,执行以下验证:
# 验证生产环境业务端口
ping 10.1.1.10
telnet 10.1.1.10 8080
# 验证测试环境数据库端口
ping 10.2.10.10
telnet 10.2.10.10 5432
# 验证测试环境无法直接访问生产环境(预期失败)
telnet 10.1.1.10 8080 # 应连接超时
五、路由策略进阶:实现精细化流量控制
5.1 子网级路由分流
在同一个 VPC 内,不同子网可以关联不同的路由表。例如:
prod-biz-route-table:业务子网,默认路由指向对等连接prod-db-route-table:数据库子网,额外添加指向 DCS Redis 的路由prod-nat-route-table:需要访问公网的子网,默认路由指向 NAT 网关
5.2 路由优先级规则
华为云路由表遵循最长前缀匹配原则:
- 10.1.10.0/24 的路由优先于 10.1.0.0/16
- 精确路由优先于概括路由
- 自定义路由优先于系统默认路由
5.3 高可用路由设计
生产环境建议为关键路由配置双路径:
| 目的地址 | 下一跳 1 | 下一跳 2 | 说明 |
|---|---|---|---|
| 10.3.0.0/16 | prod-to-mgmt | 云专线(备用) | 对等连接故障时切换专线 |
六、常见问题与避坑指南
问题一:对等连接已接受,但 ping 不通
排查顺序:
- 确认路由表中已添加目的网段指向对等连接的路由
- 确认安全组允许对应端口和源地址
- 确认子网网络 ACL 未拦截(网络 ACL 是无状态的,需双向放行)
- 确认目标 ECS 的防火墙(iptables/Windows 防火墙)未拦截
问题二:对等连接创建失败
- 两个 VPC 的 CIDR 重叠:对等连接不支持重叠网段
- 已达配额上限:默认每个 VPC 最多 10 条对等连接,可在配额管理中申请提升
- 跨区域对等未开通:需确认区域对等连接功能已开启
问题三:路由传递性误解
错误认知:A 与 B 对等、B 与 C 对等,认为 A 能直接访问 C。
正确理解:华为云 VPC 对等连接不支持传递性。A 要访问 C,必须直接建立 A-C 对等连接。
问题四:跨账号对等连接费用
同区域跨账号对等连接:免费。跨区域对等连接按流量计费,价格参考华为云官网定价页面。出网流量由源端账号承担。
七、成本分析与优化建议
| 项目 | 计费模式 | 预估月成本(本文场景) | 优化建议 |
|---|---|---|---|
| 同区域对等连接 | 免费 | 0 | 充分利用同区域对等 |
| 跨区域对等连接 | 按流量 | 视跨区域流量而定 | 将高频交互的 VPC 部署在同一区域 |
| NAT 网关(如需) | 按规格+流量 | 小型约 300 元/月 | 测试环境可共用 NAT 网关 |
| 路由表 | 免费 | 0 | 合理规划减少路由条目数 |
八、总结
本文通过一个三账号企业网络场景,系统讲解了华为云 VPC 对等连接与路由策略的实战方法。核心要点回顾:
- 对等连接是基础:跨账号、跨 VPC 网络互通的第一步,需双方确认接受
- 路由表是关键:对等连接建立后必须显式添加路由条目,否则流量不会转发
- 安全组是防线:路由可达不等于访问可达,安全组策略需精细化配置
- 无传递性是铁律:A-B 对等且 B-C 对等,不等于 A-C 可达,需显式建立 A-C 对等
- 子网级路由更灵活:不同子网关联不同路由表,实现流量分级管控
这套架构已在多个中大型企业生产环境中验证,能够支撑从几十台到上千台 ECS 的网络互联需求。随着业务增长,可进一步引入云专线、VPN 网关、共享流量包等组件,构建更加完善的混合云网络体系。
本文仅代表作者个人技术观点,具体架构设计请结合实际业务场景与华为云最新产品文档。
- 点赞
- 收藏
- 关注作者
评论(0)