子网与交换机是什么
子网(阿里云称交换机 vSwitch)是 VPC 网段的进一步细分,创建时必须指定所属可用区,云服务器、负载均衡、NAT 网关、容器节点等资源都从子网里分配私网地址。同一个 VPC 内的子网网段不能重叠,一个子网也只能属于一个可用区;子网大小创建后无法调整,只能用新建加迁移的方式重划。
基本信息
| 定义 | VPC 网段的子划分,创建时必须选择所属可用区 |
|---|---|
| 约束 | 同 VPC 内子网网段不能重叠;一个子网只属于一个可用区 |
| 三厂叫法 | 交换机 vSwitch(阿里云)/ 子网 Subnet(腾讯云、华为云) |
| 地址开销 | 每个子网保留网络地址、广播地址与网关地址,可用地址少于理论值 |
| 划分建议 | 按角色分层:Web、应用、数据、容器、运维各用一段 |
典型使用场景
- 按角色分层:Web 层、应用层、数据层各放一个子网,安全组与路由可以按层授权,一层出问题不会牵连整层
- 按可用区镜像:同一角色在每个可用区各建一个子网,多可用区部署才有地方落
- 给容器预留大段:Kubernetes 按节点分配 Pod 网段,子网太小会直接导致 Pod 无法调度
- 隔离数据层:数据库子网不放公网入口,也不配默认公网路由,只允许应用层子网访问
- 给中间件留独立网段:缓存、消息队列、搜索集群单独一段,扩容与迁移时不影响业务地址
- 给运维与监控留独立子网:堡垒机、采集器、备份通道集中管理,来源 IP 好授权也好审计
子网划分样例
| 网段 | 用途 | 说明 |
|---|---|---|
| 10.0.0.0/24 | Web 接入层 | 承载公网负载均衡 |
| 10.0.1.0/24 | 应用层 | 无公网入口,仅内网调用 |
| 10.0.10.0/20 | 容器节点与 Pod | 每个节点预留连续段 |
| 10.0.100.0/24 | 数据层 | 仅应用层子网可达 |
| 10.0.200.0/24 | 运维跳板与监控 | 限制来源 IP 访问 |
创建与查看子网
创建与查看子网
aliyun vpc CreateVSwitch --VpcId vpc-xxxx --CidrBlock 10.0.1.0/24 --ZoneId cn-hangzhou-i --VSwitchName prod-app-1 # 必须指定可用区
aliyun vpc DescribeVswitches --RegionId cn-hangzhou --VpcId vpc-xxxx # 查子网与剩余地址
aliyun ecs DescribeInstances --RegionId cn-hangzhou --VSwitchId vsw-xxxx # 看该子网内的实例
# 同一角色在每个可用区各建一份子网,多可用区部署才有落脚点容器场景要为每个节点预留连续的 Pod 网段,规划时按节点数乘以单节点 Pod 上限估算,并留一倍余量,否则集群扩到一半就卡在地址不足上。
子网大小创建后不能调整:地址耗尽时只能新建子网再迁移资源,迁移过程中实例内网地址会变,依赖固定地址的配置要提前梳理。
负载均衡、NAT 网关等资源对所属子网有最小掩码要求,划子网时不要按『够用就好』切,先确认将来要放进去的资源类型。
划分时的常见取舍
- 子网切大还是切小:按未来几年的资源规模估算,宁可留大一点,地址是不可回收的资源
- 同角色子网要不要按可用区拆:多可用区部署必须拆,否则跨可用区的实例只能挤在同一个子网里
- 公有与私有子网是否分开:需要被公网直接访问的资源放公网子网,其余放私网子网统一走 NAT
- 是否给每个业务单独子网:业务少时可以合并,业务多时按业务域拆分更便于授权与限流
- 要不要保留地址段:给将来接入专线、容器集群与灾备环境预留连续网段,避免以后无处安放