在多账号架构中,每个 VPC 各自暴露公网入口、各自配置 NAT 是常见做法,但这会导致安全策略分散、出站流量难以统一审计、攻击面扩大等问题。中心化网络架构(Hub-and-Spoke)的核心思想是:只用一个 Network VPC 作为枢纽,所有其他 VPC 不设公网入口,流量统一经过枢纽 VPC。
架构总览
1
2
3
4
5
6
7
8
9
10
11
12
13
Network VPC(枢纽)
Internet ──→ IGW ──→ Public 子网
├── WAF / ALB(入站检查)
├── NAT Gateway(统一出站)
└── VPN(专线/远程接入)
│
Transit Gateway
│
┌─────────┴──────────┐
│ │
Prod VPC Dev VPC
仅 Private 仅 Private
子网 子网
应用 VPC(Spoke)不创建 IGW 和 Public 子网,实例只分配私有 IP。枢纽 VPC(Hub)承担所有公网流量出入口角色,通过 Transit Gateway 与应用 VPC 互通。
入站流量
原则:所有外部请求必须经过枢纽 VPC。
1
2
3
4
5
✅ 正确:
Internet → Hub VPC 的 IGW → WAF/ALB → TGW → Spoke VPC 的 EC2
❌ 错误:
Internet → Spoke VPC 自己的 IGW → ALB → EC2
枢纽 VPC 统一挂载 WAF、ALB 等安全设备,入站流量在此完成安全检查后转发到目标 VPC。应用 VPC 完全不暴露公网入口,攻击面收敛到枢纽 VPC 一处。
出站流量
原则:所有出站请求统一经枢纽 VPC 的 NAT Gateway。
1
2
3
4
5
✅ 正确:
Spoke EC2 → TGW → Hub VPC 的 NAT → Internet
❌ 错误:
Spoke EC2 → Spoke 自己的 NAT → Internet
统一出站路径后,安全团队只需在一个位置配置出站策略(如域名白名单、协议限制)并采集流量日志,无需逐个 VPC 排查。
Transit Gateway 是实现前提
VPC Peering 无法实现这个架构,因为 Peering 存在 Edge-to-Edge Routing 限制:Peering 链路只解决两个 VPC 之间的通信问题,不能将流量”借道”转发到公网或外部网络。这意味着流量无法通过 Peering 路径借用枢纽 VPC 的 IGW 或 NAT。
| 能力 | VPC Peering | Transit Gateway |
|---|---|---|
| VPC 到 VPC | 直连 | 通过 TGW |
| 通过对方 NAT 出公网 | 不支持 | 支持 |
| 通过对方 IGW 接入 | 不支持 | 支持 |
| 通过对方 VPN 到 IDC | 不支持 | 支持 |
| 集中流量检查点 | 无法实现 | 可在枢纽 VPC 设防火墙 |
TGW 本质上是一个允许绕过 Edge-to-Edge 限制的中心路由器,是实现 Hub-and-Spoke 的必要组件。
生产环境设计要点
VPC 和子网规划:枢纽 VPC 需要 Public 和 Private 两类子网。Public 子网部署 IGW、NAT Gateway、ALB 等公网设备;Private 子网部署需要在 VPC 间转发的中间件服务。应用 VPC 只需要 Private 子网。
路由设计:应用 VPC 的默认路由(0.0.0.0/0)指向 TGW,不指向本地的 IGW。枢纽 VPC 中,公网子网的默认路由指向 IGW,私有子网的默认路由指向 NAT Gateway。应用 VPC 的 CIDR 段路由指向 TGW,以便枢纽 VPC 将流量正确转发。
安全组策略:枢纽 VPC 的 ALB 安全组放开公网 80/443 入站。应用 VPC 的 EC2 安全组只允许来自 ALB 安全组(而非 IP 段)的入站流量,通过安全组引用实现动态白名单。
日志采集:在枢纽 VPC 开启 VPC Flow Logs 采集全部流量元数据。多账号环境下,将日志统一投递到审计账号的 S3 桶集中管理。
几种常见架构对比
| 架构模式 | 公网入口数量 | 安全策略管理 | 运维复杂度 |
|---|---|---|---|
| 各 VPC 独立暴露 | N 个 | 分散,每个 VPC 各自维护 | 高 |
| VPC Peering + NAT | N 个(NAT 各自部署) | 分散 | 中 |
| Hub-and-Spoke + TGW | 1 个 | 集中,统一在枢纽 VPC 配置 | 低 |
小结
中心化网络架构的核心原则并不复杂:公网出入口收敛到一个 VPC。入站通过枢纽 VPC 的 WAF/ALB 统一接入,出站通过枢纽 NAT 统一转发,应用 VPC 只保留 Private 子网专注业务逻辑。这套设计简化了安全策略管理,避免了多 VPC 各自为政带来的运维复杂度。