写在前面
云上的网络模型在不同厂商名字不同但思路一致——AWS 叫 VPC,GCP 叫 VPC,Azure 叫 VNet,阿里 / 腾讯都叫 VPC。本篇讲思路,具体语法看各家文档。
4 个核心概念
| 概念 | 一句话 |
|---|---|
| VPC(Virtual Private Cloud) | 你在云上的"独立网络",自己定义网段(CIDR) |
| 子网(Subnet) | VPC 内的一段网段,绑定具体可用区 |
| 路由表(Route Table) | "去某网段走哪个网关"的规则 |
| 安全组 / 网络 ACL | 防火墙——控制哪些包能进 / 出 |
公网子网 vs 私网子网
Internet
│
┌──┴────┐
│ IGW │ Internet Gateway(VPC 的对外口)
└──┬────┘
│
┌─────┼─────────────────────────────┐
│ VPC │ │
│ ┌──┴──────┐ ┌────────────┐ │
│ │ Public │ │ Private │ │
│ │ Subnet │ │ Subnet │ │
│ │ - LB │ │ - DB │ │
│ │ - Bastion │ │ - 应用 │ │
│ └─────────┘ └────────────┘ │
│ │ │ │
│ │ ↓ │
│ │ ┌─────────┐ │
│ │ │ NAT │ ← 私网通过 NAT 出网(只出不进)
│ │ └────┬────┘ │
│ └───────────────┘ │
└────────────────────────────────────┘
- 公网子网:路由表里有 IGW → 内部资源能直接被公网访问(如负载均衡)
- 私网子网:路由表只走 NAT → 资源只能主动出网,公网不能反向连入
数据库永远在私网子网——这条规则没有例外。
安全组 vs 网络 ACL(NACL)
很多人混淆这两个:
| 维度 | 安全组(Security Group) | 网络 ACL(NACL) |
|---|---|---|
| 作用范围 | 实例级(每张网卡) | 子网级 |
| 状态 | 有状态(出去的回包自动放行) | 无状态(要单独配出入) |
| 规则 | 只能 allow,没有 deny | allow + deny |
| 默认 | 默认拒绝所有入站 | 默认允许所有 |
实操原则:
- 90% 流量控制用安全组(够用且好理解)
- NACL 只在需要"整子网级 deny"时用(如黑名单 IP 段)
几条网络设计原则
1. 多 AZ 部署
一个 VPC 跨多个可用区,关键资源每 AZ 都有副本。整个 AZ 挂了你还活着。
2. CIDR 规划要预留
新建 VPC 用 /16(65536 个 IP),子网用 /20 或 /24——别图小用 /24 VPC,子网都没法分。
3. 子网命名 = 角色 + AZ
public-az1 / public-az2 / public-az3
private-app-az1 / private-app-az2 / private-app-az3
private-db-az1 / private-db-az2 / private-db-az3
4. 跨 VPC 互联
| 场景 | 方案 |
|---|---|
| 同账号同区域多 VPC | VPC Peering |
| 多 VPC + 多账号 | Transit Gateway / Cloud Hub |
| 跨云 / 公司内网 | VPN / Direct Connect / 专线 |
5. 入口要收敛
所有公网流量经过 LB / API Gateway / WAF——不要让应用 Pod 直接暴露公网。
零信任(Zero Trust)
传统:"VPC 内是可信的,重点防外。" 零信任:"任何流量都要鉴权——VPC 内也不例外。"
落地方式:
- 服务间用 mTLS(手动或 Service Mesh 自动)
- 用 SPIFFE/SPIRE 给每个服务分 Workload Identity
- 短期凭据 + 临时令牌(STS / GCP Workload Identity Federation)
零信任不是工具,是设计原则——不能突击买一套零信任产品就完。逐步把"信任 VPC 边界"换成"信任身份"。
反模式
- 整 VPC 都是 public 子网:所有 Pod 都有公网 IP——攻击面巨大
- 数据库 0.0.0.0/0 开 5432:见过太多次扫描入侵报告
- 安全组规则上百条没人维护:定期审,把名字写清楚(如
prod-app-from-lb) - NACL 当主防火墙:无状态难维护
推荐阅读
- AWS: VPC Design / Best Practices
- Google Cloud: VPC Network Overview
- 阿里云 VPC 最佳实践
- SPIFFE / SPIRE — 跨平台 Workload Identity 标准
- NIST Zero Trust Architecture (SP 800-207) — 零信任的官方定义
下一篇:让密钥不再裸奔——Secrets 管理。