这套模板解决什么
子网划分最怕的不是算错,而是没有规则:有人按 24 位掩码随手切、有人把测试网段插在预留区里,半年后网段碎片化到无法回收。下面的模板以 10.10.0.0/16 为例,按可用区编号预留地址段、按层级细分业务子网,并给容器、中间件与临时扩容留出连续空间;规划完成后把表格落成文档,后续资源一律按表分配。
10.10.0.0/16 划分模板
| 网段 | 用途 | 备注 |
|---|---|---|
| 10.10.1.0/24 | 可用区 A 应用层 | Web 与网关 |
| 10.10.2.0/24 | 可用区 B 应用层 | 与 A 区对称,便于容灾 |
| 10.10.11.0/24 | 可用区 A 数据层 | 仅应用层可访问 |
| 10.10.12.0/24 | 可用区 B 数据层 | 主备与只读节点 |
| 10.10.100.0/20 | 预留:容器与中间件 | 整段预留,暂不细分 |
| 10.10.200.0/24 | 运维跳板机 | 严格安全组管控 |
划分原则
- 按位编号:把网段第三段的第一位数字留给可用区,第二三位留给层级,一眼能读出归属
- 同类对称:可用区 A 与 B 的应用层、数据层网段编号对称,避免容灾时重新算网段
- 整段预留:容器与中间件用大段连续地址预留,避免后续被零散子网切断
- 由大到小:先定 VPC 与预留块,再切子网,不要从零散小网段反向拼接
- 文档先行:划分表落入配置仓库并评审,比口头约定更能约束执行
落地校验
落地校验
# 校验子网是否落在 VPC 网段内、是否与其他子网重叠
python3 -c "import ipaddress as ip; v=ip.ip_network('10.10.0.0/16'); s=ip.ip_network('10.10.11.0/24'); print(s.subnet_of(v))"
# 输出 True 表示落在 VPC 网段内
# 批量核对:把已用网段列成清单,两两做 overlaps 判断,避免手算遗漏模板的价值在于约束:新子网只在预留段里切,防止网段碎片化。
演进时怎么处理
业务增长后总会出现「预留不够用」的情况,处理顺序是先回收、再压缩、最后才是新建 VPC。回收指清理无人使用的子网与实例;压缩指把用量很低的子网合并到更小掩码;新建 VPC 则意味着要重新规划对等连接与专线,成本最高,尽量放到最后。日常维护上,每次新开子网都回到这张表里登记,并定期比对实际资源与表格是否一致,表格失真比没有表格更危险。