VPC 子网划分:CIDR 规划、预留地址与跨可用区实践

举报
云上小栈 发表于 2026/10/28 20:30:29 2026/10/28
【摘要】 先确定 VPC 的 CIDR,再算子网VPC 的 CIDR 一旦创建就不可修改,子网 CIDR 只能新建不能扩缩。实践上先按 3 年规模估算,再留一倍余量。一个常见起点是 10.0.0.0/16,可容纳 65536 个地址,扣除每个子网 5 个保留地址后仍能满足多数中型业务。如果要与线下 IDC 做 VPN 或云专线互连,必须确认对端网段不重叠,优先使用 10.x 中的窄段,不要一上来就用 ...

先确定 VPC 的 CIDR,再算子网

VPC 的 CIDR 一旦创建就不可修改,子网 CIDR 只能新建不能扩缩。实践上先按 3 年规模估算,再留一倍余量。一个常见起点是 10.0.0.0/16,可容纳 65536 个地址,扣除每个子网 5 个保留地址后仍能满足多数中型业务。如果要与线下 IDC 做 VPN 或云专线互连,必须确认对端网段不重叠,优先使用 10.x 中的窄段,不要一上来就用 10.0.0.0/8,否则后续对接第三方专线几乎必然冲突。

# 创建 VPC
huaweicloud vpc create --name prod-vpc --cidr 10.0.0.0/16

# 按可用区+用途切分子网
# 10.0.0.0/20   可用区1 业务子网 4091 可用地址
# 10.0.16.0/20  可用区2 业务子网
# 10.0.32.0/24  可用区1 数据库子网
# 10.0.33.0/24  可用区2 数据库子网

用 /20 而不是 /24 承载业务子网,原因很直接:单个子网的地址在容器、负载均衡后端、中间件实例增多时消耗很快,/24 只有 251 个可用地址,一套 ECS+CCE 混合部署很容易打满。

每个子网的 5 个保留地址要算进去

华为云每个子网会保留 5 个地址:网络地址、网关地址(.1)、两个系统保留地址、广播地址。以 10.0.0.0/24 为例,实际可用是 10.0.0.4 到 10.0.0.254,共 251 个。规划时按 2^(32-掩码位数) - 5 计算,不要按 /24=256 去估算容量。

坑一:子网 CIDR 跨可用区复用导致路由混乱

曾遇到一个场景:两个可用区各建了一个 10.0.1.0/24 的子网,本意是「不同可用区同网段更整齐」。结果安全组规则、对等连接路由和日志里的源 IP 完全无法区分实例在哪个可用区,排障时只能靠查实例 ID。更严重的是,对等连接添加路由时两条 10.0.1.0/24 指向不同 VPC,路由表只保留一条,另一半流量静默丢失。

解决办法是子网网段按可用区错开,用第三段做区分:

可用区1: 10.0.0.0/20  10.0.32.0/24
可用区2: 10.0.16.0/20 10.0.33.0/24
可用区3: 10.0.48.0/20 10.0.34.0/24

路由表里直接就能看出目标网段属于哪个区。已有重叠子网无法改 CIDR,只能新建子网、迁移实例,因此这一条必须在创建阶段定死。

坑二:数据库子网与业务子网混用,安全组变成摆设

早期为了省事,RDS 实例直接放在业务子网里,靠安全组隔离。后来发现业务子网内的 ECS 只要被攻破,横向访问数据库端口时仅靠安全组一条规则;而一旦有人为了调试临时放开 0.0.0.0/0 的 3306 入方向,整库暴露。更麻烦的是 RDS 的默认安全组与 ECS 默认安全组在同一子网内默认互通。

解决办法是单独划出数据库子网,并在子网层面用网络 ACL 兜底,即使安全组配错也不通:

# 数据库子网网络 ACL(入方向)
允许 10.0.0.0/20   3306
允许 10.0.16.0/20  3306
拒绝 0.0.0.0/0     3306
# 出方向默认全放通,返回流量不受影响

子网划分本身不产生隔离能力,但它让 ACL 和路由有了明确的挂载点。业务子网与数据库子网的分离是成本最低的一层防护。

子网大小与数量的取舍

  • 业务子网用 /20(4091 个可用),每个可用区一个,避免实例增长后迁子网。
  • 数据库、缓存等有状态服务用 /24,数量固定,便于 ACL 精确匹配。
  • 预留 1 到 2 个空闲 /24 给临时测试环境,不要全部占满。
  • 单 VPC 内子网数建议控制在 20 个以内,路由表和安全组规则的可维护性比地址利用率更重要。

小结

VPC CIDR 不可改,子网 CIDR 不可扩,规划必须在创建前完成。按可用区错开网段、单独划数据库子网、按 2^n - 5 计算容量,这三件事做对,后续对等连接、专线互连和安全策略才有稳定的基础。

【声明】本内容来自华为云开发者社区博主,不代表华为云及华为云开发者社区的观点和立场。转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息,否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0)

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。