很多人对 VPC 的理解停留在"就是个网段"。但真正决定你能不能平滑扩机器、能不能和自建机房打通、容器网段会不会撞车的,恰恰是最开始那几分钟的规划。这篇把 VPC 的组件、寻址逻辑和规划方法拆开讲,给一份可以直接照着填的规划表。
一、VPC 到底解决什么问题
先说结论:VPC 是一张逻辑隔离的私网。它把同一地域内属于你的一批云资源,圈进一个只有你能寻址的地址空间里,别人看不到、也进不来。
它替代的是传统 IDC 里那套"交换机 + VLAN + 防火墙 + 路由器"的组合。区别在于:
| 维度 | 传统 IDC 组网 | 云上 VPC |
|---|---|---|
| 隔离方式 | VLAN 划分,同机房共享物理网络 | 隧道封装,VPC 之间二层完全隔离 |
| 设备形态 | 物理交换机、路由器,采购上架 | 软件定义,控制台上点几下就生成 |
| 网络规划 | 受机房现有网段约束 | 完全自定义,但改不了 |
| 扩容 | 加设备、拉线 | 加交换机、挂实例,分钟级 |
| 成本 | 设备 + 机柜 + 运维 | VPC 本身免费,只付关联组件 |
最后一行值得单独强调:VPC、交换机、路由表、安全组本身都不收费,你付钱的是跑在里面的 ECS、以及需要额外购买的 NAT 网关、EIP、专线、CEN 这些组件。所以规划阶段不必因为"多建几个交换机要花钱"而缩手缩脚——该隔离就隔离。
二、三个核心组件,缺一不可
任何一个 VPC 都至少由三部分构成:私网网段、交换机、路由表。理解这三者,VPC 就没有神秘感了。
1. 私网网段(VPC CIDR)
创建 VPC 时必须指定一个 IPv4 网段,它决定了整个 VPC 的地址空间上限。官方推荐用 RFC 1918 私有地址:
10.0.0.0/8(掩码范围最大,可细分 1670 万地址)172.16.0.0/12192.168.0.0/16
关于掩码,文档给的建议很明确:VPC 主网段推荐 /16(65536 个地址)。原因不是"越大越好",而是 VPC 网段创建后不能改,地址不够时只能用附加网段扩容,而附加网段同样不能修改——等于把自己锁死在一个受限的规划里。
有几个地址段明确不能用:100.64.0.0/10、224.0.0.0/4、127.0.0.0/8、169.254.0.0/16 及其子网。这几个都是保留地址,前者用于运营商级 NAT,中间是组播,127 是回环,169.254 是链路本地——尤其 169.254.169.254,是云上元数据服务的地址,如果被 VPC 网段覆盖,实例就再也拿不到元数据了。
还有一个历史坑:如果你还在用经典网络、并且打算用 ClassicLink 打通,那就别选 10.0.0.0/8,因为经典网络的网段也是它,一撞就通不了。
2. 交换机(vSwitch)
交换机是可用区级别的资源,作用是给你的实例分配私网 IP。一个 VPC 可以建多个交换机,每个交换机就是一个子网。
关键约束:
- 交换机网段必须是所属 VPC 网段的子集,并且不能和 VPC 网段完全一致;
- IPv4 掩码只能在 16~29 位之间,也就是 8~65536 个地址;
- 网段创建后不可修改——这条和 VPC 一样,是硬约束;
- 每个交换机的第 1 个和最后 3 个 IPv4 地址是系统保留的,实际可用地址数要比理论值少 4 个。
举个例子:192.168.1.0/24 理论 256 个地址,保留掉 192.168.1.0、.253、.254、.255 之后,实际可用 252 个。做容量估算时把这 4 个扣掉,别到时候卡在最后一台机器上建不出来。
3. 路由表
路由表决定流量往哪走。创建 VPC 时系统会自动送一张系统路由表并配好系统路由,它不能删,但你可以往里加自定义路由条目。
规划要点在于"有没有必要拆表":
- VPC 内各交换机路由行为一致 → 一张系统路由表够用,加自定义条目即可;
- 不同交换机路由行为差异明显(比如要限制某批机器访问公网)→ 拆出独立路由表,把需要直接出公网的资源放公有交换机,不需要的放私有交换机、走 NAT 网关统一出口。
配额上,每个 VPC 最多 10 张路由表(含系统路由表),即可自定义 9 张。别拿它当无限资源用。
三、VPC 是地域级、交换机是可用区级
这是新手最容易踩的认知偏差,单独拎出来说。
VPC 属于地域,不跨地域。你在华东 1 建了 VPC,它就到不了华北 2。有多地域部署需求时,只能建多个 VPC,再用 VPC 对等连接或云企业网 CEN 把它们连起来。
交换机属于可用区。同一个 VPC 内不同可用区的交换机之间,私网默认互通;同一地域内不同可用区之间的网络时延很小,但不是零——跨可用区调用会增加延迟,需要业务侧做适配和验证。
由此推出一条高可用规划原则,文档里说得很直接:
使用一个 VPC 时,也请尽量使用至少两个交换机,并且把两个交换机部署在不同可用区。
这样单个可用区故障时,业务能切到另一个可用区的交换机上,实现跨可用区容灾。如果地域只提供一个可用区(部分本地地域是这种形态),那就没有同城容灾可言,选地域时要提前判断。
配额参考:单地域默认 10 个 VPC、单个 VPC 默认 150 个交换机,都可以在配额中心申请提升。
四、规划四步法:从地域到网段
按文档给的顺序走,不容易漏项。
第一步:定地域和可用区
优先级依次是:业务与用户的距离(决定时延)→ 云服务在该地域/可用区的库存与支持情况 → 成本(不同地域价格有差异)→ 高可用容灾需求(同城多可用区 / 跨地域)→ 合规与数据本地化要求。
第二步:定账号与 VPC 数量
- 业务小、只在一个地域、内部无隔离需求 → 一个 VPC 就够,别把架构复杂化;
- 多地域部署、生产与测试需要强隔离、多团队各自管理资源 → 拆多个 VPC;
- 账号拆得越多,VPC 数量和网络复杂度越高。这时可以用共享 VPC,在隔离性和运维复杂度之间取平衡。
第三步:定网段
三条原则:
- VPC 用 /16 起步,给未来留扩展空间;
- 多个 VPC 之间网段不要重叠——哪怕现在没有互通需求,将来可能要用;
- 交换机的网段也不要重叠,尤其是将来要与本地 IDC 互通的那部分子网。
一个可直接套用的分法:VPC 取 10.0.0.0/16,业务层用 10.0.1.0/24、10.0.2.0/24……Web 层、应用层、数据层各占一个交换机,既做隔离又留出充足余量。
网段规模一大,靠人脑记就容易撞车。这种情况建议上 IPAM(IP 地址管理):把网段按环境、地域、部门划成地址池,由它统一分配并检测冲突,还能看地址利用率。
第四步:定连接与安全
公网出入口:
- 需要独立固定公网 IP 的实例 → 绑弹性公网 IP(EIP);
- 多台机器只需主动出网 → 用公网 NAT 网关的 SNAT 共享出口,省公网 IP;
- 对外提供服务 → 别让单台 ECS 直接扛,用负载均衡 SLB 统一入口,后端挂多可用区多台;
- 要更严格地管控出网行为 → 用 IPv4 网关 / IPv6 网关做集中访问控制,公网出口只放行"仅出"规则,禁止外部主动访问。
跨 VPC 互联:VPC 数量少(一般不超过 5 个)用对等连接;规模大、拓扑复杂用云企业网 CEN。访问 OSS 这类云服务,优先走私网连接 PrivateLink,避免绕公网带来的泄露风险。
连本地 IDC:对时延和安全要求高用高速通道(物理专线);更看重成本用 VPN 网关建加密隧道,但要接受更高延迟。
VPC 内部隔离区分两层:交换机划分负责子网级隔离,安全组负责实例级、网络ACL负责子网级。两者常被混用,记一句:安全组管实例、随实例走;网络ACL 管子网、无状态。
可观测:需要看清"谁在连谁"时开流日志;需要抓包做威胁分析用流量镜像。这两个是排查疑难网络问题的最后手段,建议提前规划好日志存储。
五、高频问题速查
| 问题 | 结论 |
|---|---|
| VPC 网段建完能改吗 | 不能。只支持用附加网段扩容,附加网段也不能改 |
| 交换机网段建完能改吗 | 不能 |
| VPC 本身收费吗 | 不收费。ECS、NAT 网关、EIP、专线、CEN 等另计 |
| 一个 VPC 能跨地域吗 | 不能,VPC 是地域级资源 |
| 一个 VPC 建几个交换机合适 | 至少 2 个、分布在不同可用区,实现跨可用区容灾 |
| 不同 VPC 默认能互通吗 | 不能。需对等连接 / CEN / VPN |
| 同 VPC 内不同交换机互通吗 | 默认互通 |
| 一个 VPC 最多几张路由表 | 10 张(含 1 张不可删的系统路由表) |
六、避坑清单
- 别用 /24 建 VPC。起步就选 /16,VPC 建完改不了,后悔只能重建。
- 别选被占用的地址段。
100.64/10、224/4、127/8、169.254/16全部排除,尤其别覆盖到元数据地址。 - 规划时把"将来要互联的网段"一起考虑。哪怕现在不通,也要预留不冲突的地址空间。
- 别只建一个交换机。单可用区等于单点,出故障没有切换余地。
- 算可用 IP 时扣掉系统保留。每个交换机要减 4 个地址,别按理论值排容量。
- 经典网络还在用就别选 10.0.0.0/8。会和 ClassicLink 的地址空间撞车。
- 安全组和网络ACL 别只用其一。前者管实例、后者管子网,解决的是不同层次的问题。
- 公网出口不要每台都挂 EIP。机器多了用 NAT 网关共享出口,省 IP 也省带宽成本。
- 路由表不是无限的。单 VPC 最多 10 张,拆表前先想清楚是不是真有必要。
- 对端网段重叠会导致互联失败。跨 VPC、跨 IDC 互通前,先做一遍网段冲突检查。
七、最小可用起步路线
如果只是想把第一套业务跑起来,按这个顺序做:
- 在业务所在地域建一个 VPC,网段
10.0.0.0/16; - 在同地域两个不同可用区各建一个交换机,网段
10.0.1.0/24和10.0.2.0/24; - 把实例分散部署到两个交换机,实现基本的高可用;
- 需要固定公网 IP 的实例绑 EIP,多台需出网的走 NAT 网关;
- 对外服务挂到 SLB 后面,后端指向两个可用区的实例;
- 用安全组做实例级访问控制,只放行必要端口。
这套结构覆盖了绝大多数中小业务的起点。VPC 这部分内容看起来是"配置活儿",但它决定了后面能不能平滑扩建——前期多花半小时做网段规划,比上线后迁移整个网络要划算得多。如果你的业务正好要从单机走向多机、或者准备把自建机房和云上打通,可以先从一个独立的专有网络 VPC开始,把地址空间和可用区分布定下来,再逐步往上叠产品,比一次性设计一套大而全的架构要稳。
具体的网段规划角度,建议从"业务未来三年会用到几个可用区、会和几个外部网络互通"这两个问题倒推,答案基本就出来了。