首页 AWS 中心化网络架构 - 为什么所有流量都该走枢纽 VPC
文章
取消

AWS 中心化网络架构 - 为什么所有流量都该走枢纽 VPC

在多账号架构中,每个 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 PeeringTransit 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 + NATN 个(NAT 各自部署)分散
Hub-and-Spoke + TGW1 个集中,统一在枢纽 VPC 配置

小结

中心化网络架构的核心原则并不复杂:公网出入口收敛到一个 VPC。入站通过枢纽 VPC 的 WAF/ALB 统一接入,出站通过枢纽 NAT 统一转发,应用 VPC 只保留 Private 子网专注业务逻辑。这套设计简化了安全策略管理,避免了多 VPC 各自为政带来的运维复杂度。

本文由作者按照 CC BY 4.0 进行授权

AWS VPC 核心概念 - 用房间比喻搞懂虚拟网络

AWS Data Perimeter 设计 - SCP 如何防止数据外泄