云网络架构规划
让云上网络隔离清晰、弹性足够、成本可控,并预留扩展空间。本技能给出从多账号设计、CIDR 全局规划、子网划分、网络分区、统一出口到共享服务部署的完整可执行链路。
一、核心原理
云网络规划的核心矛盾是隔离与互通的平衡:既要让生产/测试/共享服务互不干扰,又要让需要互通的服务高效访问,同时全局 CIDR 不能与线下、其他 VPC 冲突。
- 多账号:按业务/环境划分云账号,实现账单、权限、资源隔离,避免单账号「一锅粥」。
- 多区域:按用户地域与合规要求选择 Region,跨 Region 互通有延迟与成本代价。
- CIDR 全局规划:所有 VPC、子网、线下网段统一规划,零重叠,预留 ≥50% 扩展。
flowchart TB
subgraph 云上组织
ACC1[账号A:生产]
ACC2[账号B:测试]
ACC3[账号C:共享服务]
end
ACC1 --> VPC1[生产 VPC<br/>10.0.0.0/16]
ACC2 --> VPC2[测试 VPC<br/>10.1.0.0/16]
ACC3 --> VPC3[共享 VPC<br/>10.2.0.0/16]
VPC1 -->|对等/云联网| VPC3
VPC1 -->|NAT 统一出口| EGRESS[互联网出口]
二、参考架构(多账号 + 分区 + 统一出口)
flowchart LR
subgraph 生产账号
PVPC[生产 VPC] -->|NAT| IGW[互联网网关]
PVPC -->|对等| SVPC
end
subgraph 共享账号
SVPC[共享服务 VPC<br/>DNS/日志/镜像/堡垒机]
end
subgraph 线下
DC[数据中心] -->|专线/VPN| PVPC
end
IGW --> FW[云防火墙/WAF]
FW --> Internet[互联网]
配套 ASCII 分区图(用于方案文档):
云账号组织
┌──────────────────────────────────────────────────────┐
│ 生产账号 测试账号 共享服务账号 │
│ ┌──────────┐ ┌──────────┐ ┌──────────┐ │
│ │ 生产 VPC │ │ 测试 VPC │ │ 共享 VPC │ │
│ │10.0.0.0/16│ │10.1.0.0/16│ │10.2.0.0/16│ │
│ └────┬─────┘ └──────────┘ └────┬─────┘ │
│ │ (完全隔离) │ │
│ └────── 对等连接 ──────────────┘ │
└──────────────────────┬───────────────────────────────┘
│ 统一 NAT 出口 + 云防火墙
┌────▼────┐
│ 互联网 │
└─────────┘
三、关键参数决策表
3.1 CIDR 规划(真实数值)
| 网段类型 | 推荐掩码 | 可用 IP | 说明 | 常见错误 |
|---|---|---|---|---|
| 生产 VPC | /16 | 65536 | 大网段便于子网扩展 | 规划过小后期无法扩容 |
| 测试 VPC | /16 或 /20 | 65536/4096 | 按测试规模 | 与生产网段重叠 |
| 共享服务 VPC | /20 或 /24 | 4096/256 | 服务集中部署 | 未与生产对等 |
| 单子网(AWS) | /24 | 251 | 主流子网 | 用 /16 当子网浪费 |
| 单子网(最小) | /28 | 11 | 小网段(AWS/阿里云最小 /28) | 太小导致 IP 不足 |
3.2 网络分区策略
| 分区 | 用途 | 互通策略 | 出口策略 |
|---|---|---|---|
| 生产区 | 核心业务 | 与共享服务互通 | 统一 NAT |
| 测试区 | 开发测试 | 与生产隔离 | 独立 NAT 或限流 |
| 共享服务区 | DNS/日志/镜像/堡垒机 | 生产/测试可访问 | 独立出口 |
| DMZ | 对外服务 | 受控 | 经 WAF/防火墙 |
3.3 跨账号/跨区域互联
| 互联方式 | 适用场景 | 说明 |
|---|---|---|
| VPC 对等连接 | 同账号/跨账号同区域 | 点到点,不可传递 |
| 云联网 CCN/Transit Gateway | 多 VPC 全网状 | 中枢式,可传递 |
| 专线/VPN | 云上云下 | 混合云场景 |
四、分步 SOP
- 上云梳理:业务清单、地域分布、访问关系、合规要求。
- 多账号设计:按业务/环境划分账号,规划组织与权限。
- CIDR 全局规划:与线下及其他 VPC 零冲突,预留 ≥50% 扩展,跑
subnet_cidr_planner.py划分子网。 - 网络分区:生产/测试/共享服务/DMZ 分区,策略明确。
- 子网划分:按用途与可用区划分子网,公私网分离。
- 出口设计:统一 NAT/防火墙出口并冗余。
- 共享服务:DNS、日志、镜像、堡垒机集中部署于共享 VPC。
五、真实配置示例
5.1 AWS CLI(创建 VPC + 子网 + 路由 + 安全组)
# 创建 VPC
aws ec2 create-vpc --cidr-block 10.0.0.0/16 --tag-specifications \
'ResourceType=vpc,Tags=[{Key=Name,Value=prod-vpc}]'
# 创建子网(跨 AZ)
aws ec2 create-subnet --vpc-id vpc-12345678 --cidr-block 10.0.1.0/24 \
--availability-zone us-east-1a
# 创建路由表并关联
aws ec2 create-route-table --vpc-id vpc-12345678
# 创建安全组
aws ec2 create-security-group --group-name web-sg --vpc-id vpc-12345678 \
--description "web tier security group"
5.2 阿里云 CLI(VPC + 交换机)
# 创建 VPC
aliyun vpc CreateVpc --CidrBlock 10.0.0.0/16 --VpcName prod-vpc
# 创建交换机(子网)
aliyun vpc CreateVSwitch --CidrBlock 10.0.1.0/24 --VpcId vpc-xxx \
--ZoneId cn-hangzhou-b --VSwitchName prod-web-a
5.3 Terraform(多账号基础设施即代码,概念)
resource "aws_vpc" "prod" {
cidr_block = "10.0.0.0/16"
tags = { Name = "prod-vpc" }
}
resource "aws_subnet" "web_a" {
vpc_id = aws_vpc.prod.id
cidr_block = "10.0.1.0/24"
availability_zone = "us-east-1a"
}
> 完整可填空云网络规划模板见 assets/cloud-network-template.txt,参数与公式详解见 references/cloud-planning-parameters.md。
六、验证方法与达标阈值
# 子网规划
python subnet_cidr_planner.py --vpc-cidr 10.0.0.0/16 \
--subnets "public:2000,private:1000,db:250"
# 检查路由表(AWS CLI)
aws ec2 describe-route-tables --filters Name=vpc-id,Values=vpc-12345678
| 验证指标 | 达标线(参考) | 采集方式 |
|---|---|---|
| CIDR 零冲突 | 所有 VPC/线下网段无重叠 | 脚本比对 |
| 子网 IP 充足 | 预留 ≥30% 空闲 | 脚本计算 |
| 隔离验证 | 测试区无法访问生产 | 安全组/路由审计 |
| 统一出口冗余 | NAT/防火墙高可用 | 故障演练 |
七、常见故障排查表
| 现象 | 根因方向 | 首要动作 |
|---|---|---|
| 云上云下网段冲突 | CIDR 未全局规划 | 重规划网段,规避重叠 |
| 跨账号无法互通 | 未建立对等/云联网 | 建立对等或 TGW/CCN |
| 子网 IP 耗尽 | 子网规划过小 | 扩子网或新增子网 |
| 出口单点故障 | NAT 未冗余 | 部署高可用 NAT/多 AZ |
| 测试区误访问生产 | 隔离策略缺失 | 收紧安全组与路由 |
> 更多案例见 references/cloud-planning-troubleshooting.md。
八、输出规范
交付时应产出:云网络架构图(账号/VPC/子网/互联)、CIDR 规划总表、子网划分表、分区与隔离策略、出口与冗余设计、共享服务清单、成本与可观测设计。
九、边界与风险
- CIDR 规划必须预留扩展,避免后期无法扩容;网段一旦上线再改代价极高。
- 计费口径以云厂商公开文档为准,不确定时标注,不臆造价格。
- 不绑定单一云厂商,能力要求优先于品牌;跨云需额外考虑网络互通与延迟。
配套资源
- 参数手册:
references/cloud-planning-parameters.md - 配置对照:
references/cloud-planning-configs.md - 故障案例库:
references/cloud-planning-troubleshooting.md - 数据基线:
assets/subnet-planning-baseline.csv - 规划模板:
assets/cloud-network-template.txt - 脚本:
scripts/subnet_cidr_planner.py(子网 CIDR 规划器) - 配套检查清单:《云网络架构规划清单》