name: 云网络架构设计 description: 使用VPC模式、子网策略、零信任原则和混合连接设计云网络架构。适用于规划VPC拓扑、实现多云网络或为云工作负载建立安全网络分段。
网络架构
使用在AWS、GCP和Azure上经过验证的模式设计安全、可扩展的云网络架构。本技能提供VPC设计、子网策略、零信任实施和混合连接的决策框架。
何时使用此技能
在以下情况下调用此技能:
- 为新云环境设计VPC/VNet拓扑
- 实施网络分段和安全控制
- 规划多VPC或多云连接
- 建立混合云连接(本地到云)
- 从扁平网络迁移到复杂架构
- 实施零信任网络原则
- 优化网络成本和性能
核心网络架构模式
模式1:扁平(单VPC)架构
使用时机: 小型应用、单一环境、简单安全要求、团队少于10名工程师
特点:
- 所有资源在一个VPC中,子网级分段
- 公共、私有和数据库子网层
- 最简单易懂和管理
- 无VPC间路由复杂性
权衡:
- ✓ 成本最低,设置最快
- ✗ 隔离性差,难以扩展,整个VPC是爆炸半径
模式2:多VPC(隔离)架构
使用时机: 多环境(开发/预生产/生产)、强隔离要求、合规要求分离
特点:
- 每个环境或工作负载使用独立VPC
- 无直接连接,需明确设置
- 独立的CIDR范围
权衡:
- ✓ 强爆炸半径控制,明确安全边界
- ✗ 管理开销大,重复基础设施,成本较高
模式3:中心辐射(中转网关)架构
使用时机: 5个以上VPC需要通信、需集中安全检查、混合连接、多账户设置
特点:
- 中心VPC/中转网关
- 辐射VPC连接到中心
- 所有VPC间流量通过中心路由
权衡:
- ✓ 简化路由,集中安全,易于扩展(100+ VPCs)
- ✗ 中转网关成本(约$0.05/小时 + $0.02/GB),增加延迟(中心跳转)
模式4:全网格(VPC对等)架构
使用时机: VPC数量少(<5)、低延迟关键、无需集中检查
特点:
- 每个VPC通过对等直接连接
- 直接VPC到VPC通信
权衡:
- ✓ 最低延迟,无中转网关成本
- ✗ 管理复杂性随O(n²)增长,不扩展到约10个以上VPCs
模式5:混合(多模式)架构
使用时机: 大型企业多样化需求,平衡成本/性能/安全
特点:
- 中心辐射用于大多数VPCs + 直接对等用于延迟敏感对
- 基于工作负载需求的组合
权衡:
- ✓ 针对特定需求优化
- ✗ 设计和管理更复杂
模式选择框架
VPC数量?
│
├─► 1个VPC → 扁平(单VPC)
├─► 2-4个VPCs + 无VPC间通信 → 多VPC(隔离)
├─► 2-5个VPCs + 低延迟关键 → 全网格(VPC对等)
├─► 5个以上VPCs + 集中检查 → 中心辐射(中转网关)
└─► 10个以上VPCs + 混合需求 → 混合(多模式)
其他考虑因素:
├─► 需要混合连接? → 优先中心辐射
├─► 需要集中出口/检查? → 带检查VPC的中心辐射
├─► 多账户环境? → 带AWS RAM共享的中心辐射
└─► 成本优化优先? → 扁平或多VPC(避免TGW费用)
子网策略
标准三层设计
公共子网:
- 路由到互联网网关
- 用于负载均衡器、堡垒主机、NAT网关
- CIDR:/24 到 /27(256到32个IP)
私有子网:
- 路由到NAT网关用于出站
- 用于应用服务器、容器、计算工作负载
- CIDR:/20 到 /22(4096到1024个IP)
数据库子网:
- 无直接互联网路由
- 用于RDS、ElastiCache、托管数据库
- CIDR:/24 到 /26(256到64个IP)
多可用区分布
生产: 每层至少分布在3个可用区 开发/测试: 1-2个可用区可接受以节省成本
CIDR块规划
VPC大小:
- /16(65536个IP) - 大型生产环境
- /20(4096个IP) - 中型环境
- /24(256个IP) - 小型/开发环境
关键规则:
- VPC间CIDR范围不重叠
- 与本地网络团队协调混合连接
- 保留地址空间供未来扩展
详细子网规划,见references/subnet-strategy.md
NAT网关策略
决策框架
成本 vs 韧性?
│
├─► 成本优先(开发/测试)
│ └─► 单NAT网关(约$32/月)
│ └─► 风险:单点故障
│
├─► 平衡(大多数生产)
│ └─► 每个可用区一个NAT网关(3个可用区约$96/月)
│ └─► 韧性:可用区故障不影响连接
│
└─► 最大韧性
└─► 每个可用区多个NAT网关 + 监控
└─► 关键工作负载,SLA依赖
替代方案:集中出口模式
└─► 中心辐射:单个出口VPC带NAT
└─► 减少NAT网关数量,集中日志记录
无需出站互联网?
- 完全跳过NAT网关(节省成本)
- 使用VPC端点访问AWS服务
安全控制
安全组(推荐)
特点:
- 有状态(返回流量自动允许)
- 实例级控制
- 仅允许规则(隐式拒绝)
- 可引用其他安全组
用于:
- 服务到服务通信
- 实例级安全
- 最常见用例
最佳实践:
- 使用描述性名称(app-alb-sg, app-backend-sg)
- 引用其他安全组而非CIDR块
- 保持规则最小化和具体
网络ACL(可选)
特点:
- 无状态(必须允许请求和响应)
- 子网级控制
- 允许和拒绝规则
- 按顺序处理规则(编号最低优先)
用于:
- 显式拒绝规则(阻止特定IP)
- 合规要求(深度防御)
- 安全组之外的附加层
最佳实践:
- 谨慎使用(管理复杂)
- 记住允许临时端口(1024-65535)
- 彻底测试(无状态性质可能导致问题)
安全组架构模式,见references/security-controls.md
零信任原则
核心理念
-
永不信任,始终验证
- 无论来源,验证每个请求
- 无基于网络位置的隐式信任
-
最小权限访问
- 授予最小必要权限
- 时间限制访问(即时)
-
假设被入侵
- 积极分段网络
- 监控所有流量
- 快速检测和响应
实施模式
微分段:
- 用粒度安全组规则隔离每个工作负载
- 服务到服务通信仅限特定服务间
- 减少爆炸半径
基于身份的访问:
- 使用IAM角色而非IP地址进行授权
- 带IAM策略的VPC端点
- 服务到服务身份验证
持续验证:
- VPC流日志进行流量分析
- 监控拒绝的连接
- 异常告警
零信任架构模式,见references/zero-trust-networking.md
混合连接
VPN(虚拟专用网络)
使用时机: 开发/测试环境、备份连接、临时连接
特点:
- 通过公共互联网的加密隧道
- 吞吐量:约1.25 Gbps每隧道
- 延迟:可变(依赖互联网)
- 成本:低(约$0.05/小时 + 数据传输)
- 设置:快速(无合同)
直接连接 / ExpressRoute / 云互联
使用时机: 生产工作负载、大数据传输、实时应用
特点:
- 专用网络连接(绕过公共互联网)
- 吞吐量:高达100 Gbps
- 延迟:低且一致
- 成本:较高(端口费 + 数据传输)
- 设置:较慢(合同、协调)
中转网关 + 直接连接
使用时机: 多个VPC需要本地连接
好处:
- 单一直连连接 → 中转网关 → 多个VPCs
- 成本效益高且可扩展
- 集中混合连接
混合连接模式和示例,见references/hybrid-connectivity.md
多云网络
跨供应商统一概念
| 概念 | AWS | GCP | Azure |
|---|---|---|---|
| 虚拟网络 | VPC | VPC | 虚拟网络 (VNet) |
| 子网 | 子网(可用区范围) | 子网(区域范围) | 子网 |
| NAT | NAT网关 | Cloud NAT | NAT网关 |
| 对等 | VPC对等 | VPC对等 | VNet对等 |
| 中心辐射 | 中转网关 | Cloud Router | Virtual WAN |
| 私有端点 | PrivateLink | 私有服务连接 | Private Link |
| 混合VPN | VPN | Cloud VPN | VPN网关 |
| 混合专用 | 直接连接 | 云互联 | ExpressRoute |
供应商特定最佳实践
AWS:
- 生产基线多可用区
- 5个以上VPCs优先中转网关
- 使用VPC端点避免NAT费用
GCP:
- 自定义模式VPC(非自动模式)
- 从单VPC开始,多项目使用共享VPC
- 在子网级别授予网络用户角色
Azure:
- 标准中心辐射网络拓扑
- 少个大VNets vs 多个小VNets
- Azure服务使用私有端点
多云实施,见references/multi-cloud-networking.md
网络可观察性
VPC流日志
为以下启用流日志:
- 流量分析和故障排除
- 安全监控(检测未经授权访问)
- 按网络路径成本归属
- 合规要求
配置:
- 流量类型:ALL(捕获接受和拒绝)
- 聚合间隔:1-10分钟
- 目标:CloudWatch日志或S3
监控模式
监控:
- 拒绝的连接(安全异常)
- 流量量峰值
- 跨VPC通信模式
- NAT网关利用率
告警:
- 拒绝连接激增
- 不寻常流量模式
- 高数据传输成本
- 网络错误
可观察性模式和流日志分析,见references/network-observability.md
成本优化
常见成本驱动因素
- NAT网关: $0.045/小时 + $0.045/GB数据处理
- 中转网关: $0.05/小时/附件 + $0.02/GB
- 数据传输: 出站费用因目的地而异
- VPN/直接连接: 端口费 + 数据传输
优化策略
减少NAT网关成本:
- 使用VPC端点访问AWS服务(S3, DynamoDB)
- 集中出口VPC模式
- 开发/测试使用单NAT网关(接受可用性风险)
减少数据传输成本:
- 流量保持在同区域
- 使用VPC端点而非公共互联网
- 高流量传输使用私有连接
避免中转网关成本:
- VPC数量少(<5)使用VPC对等
- 延迟敏感对使用直接对等
详细成本优化策略,见references/cost-optimization.md
实施工作流
步骤1:分析需求
- 需要多少VPCs/环境?
- 需要混合连接?
- 延迟要求?
- 安全/合规要求?
- 预算限制?
步骤2:选择模式
使用上述模式选择框架选择:
- 扁平、多VPC、中心辐射、网格或混合
步骤3:设计子网
- 计算CIDR块(不重叠)
- 规划多可用区分布
- 确定公共/私有/数据库层
步骤4:配置安全
- 设计安全组架构
- 规划微分段
- 如需,配置网络ACLs
步骤5:使用IaC实施
使用infrastructure-as-code技能,用Terraform/Pulumi实施
步骤6:启用可观察性
- 配置VPC流日志
- 设置监控和告警
- 成本跟踪
快速参考
VPC模式选择
| 需求 | 推荐模式 |
|---|---|
| 单一环境 | 扁平(单VPC) |
| 多隔离环境 | 多VPC(隔离) |
| 2-5个VPCs,低延迟 | 全网格(对等) |
| 5个以上VPCs,集中安全 | 中心辐射(TGW) |
| 混合连接 | 中心辐射(TGW) |
| 成本优化 | 扁平或多VPC |
NAT网关配置
| 场景 | 配置 | 月成本(3个可用区) |
|---|---|---|
| 开发/测试 | 单NAT | 约$32 |
| 生产 | 每可用区NAT | 约$96 |
| 集中出口 | 中心VPC NAT | 约$32-96 |
混合连接
| 需求 | 解决方案 | 吞吐量 | 延迟 |
|---|---|---|---|
| 开发/测试 | VPN | 约1.25 Gbps | 可变 |
| 生产 | 直接连接 | 高达100 Gbps | 低且一致 |
| 备份 | VPN(直连备份) | 约1.25 Gbps | 可变 |
参考文档
详细指南:
references/vpc-design-patterns.md- 带图的全面模式描述references/subnet-strategy.md- CIDR规划、IPAM、多可用区最佳实践references/zero-trust-networking.md- 微分段、IAM集成、持续验证references/hybrid-connectivity.md- VPN、直连、中转网关模式references/multi-cloud-networking.md- AWS、GCP、Azure实施references/security-controls.md- 安全组、NACLs、防火墙模式references/private-networking.md- VPC端点、PrivateLink、私有服务连接references/multi-region-networking.md- 跨区域对等、全局负载均衡references/network-observability.md- 流日志、监控、故障排除references/cost-optimization.md- 出口减少、NAT策略
代码示例:
examples/aws/- AWS VPC模式(扁平、中心辐射、对等、VPN、直连)examples/gcp/- GCP VPC模式(自定义VPC、共享VPC、云互联)examples/azure/- Azure VNet模式(中心辐射、对等、ExpressRoute)examples/multi-cloud/- 跨云连接示例
实用脚本:
scripts/cidr-calculator.py- 计算CIDR块和规划IP地址scripts/cost-estimator.sh- 估算网络基础设施成本scripts/validate-sg-rules.py- 验证安全组规则配置scripts/flow-log-analyzer.py- 分析VPC流日志用于安全和成本
与其他技能集成
使用infrastructure-as-code技能:
- 用Terraform/Pulumi实施网络架构
- 版本控制网络配置
- 自动化网络供应
使用kubernetes-operations技能:
- 在VPC设计上配置Kubernetes网络(CNI)
- 实施pod网络和服务网格
使用security-hardening技能:
- 实施防火墙规则和WAF配置
- 配置网络级DDoS保护
- 设置入侵检测系统
使用observability技能:
- 实施全面网络监控
- 设置跨网络边界的分布式追踪
- 配置性能仪表板
使用disaster-recovery技能:
- 设计多区域故障转移网络
- 实施跨区域备份连接
- 规划网络恢复程序