文章目录
- [一文读懂 VPC 内部网络隔离(VPC Network Isolation)](#一文读懂 VPC 内部网络隔离(VPC Network Isolation))
- [一、什么是 VPC?](#一、什么是 VPC?)
- [二、为什么需要 VPC 内部网络隔离?](#二、为什么需要 VPC 内部网络隔离?)
-
-
- [1. 横向攻击(Lateral Movement)](#1. 横向攻击(Lateral Movement))
- [2. 权限边界不清](#2. 权限边界不清)
- [3. 合规要求](#3. 合规要求)
-
- [三、VPC 内部网络隔离的核心手段](#三、VPC 内部网络隔离的核心手段)
-
- [1. 子网(Subnet)隔离](#1. 子网(Subnet)隔离)
- [2. 路由表(Route Table)控制](#2. 路由表(Route Table)控制)
- [3. 安全组(Security Group)](#3. 安全组(Security Group))
- [4. 网络 ACL(NACL)](#4. 网络 ACL(NACL))
- [5. 私有连接(Private Connectivity)](#5. 私有连接(Private Connectivity))
- [6. 微隔离(Micro-Segmentation)](#6. 微隔离(Micro-Segmentation))
- 四、经典隔离架构设计(推荐实践)
-
- [1. 三层架构(最常见)](#1. 三层架构(最常见))
- [2. 多环境隔离(Dev / Staging / Prod)](#2. 多环境隔离(Dev / Staging / Prod))
- [3. 零信任架构(Zero Trust)](#3. 零信任架构(Zero Trust))
- 五、常见错误(踩坑总结)
-
-
- [❌ 1. 所有资源放一个子网](#❌ 1. 所有资源放一个子网)
- [❌ 2. 安全组过于宽松](#❌ 2. 安全组过于宽松)
- [❌ 3. 数据库暴露公网 IP](#❌ 3. 数据库暴露公网 IP)
- [❌ 4. 忽略出站规则](#❌ 4. 忽略出站规则)
-
- 六、总结
- 七、一句话理解
一文读懂 VPC 内部网络隔离(VPC Network Isolation)
在云原生架构中,网络隔离(Network Isolation) 是保障系统安全的第一道防线。而在各大云厂商(如 AWS、Google Cloud、Microsoft Azure)中,VPC(Virtual Private Cloud) 是实现隔离的核心基础设施。
本文将系统讲清楚:VPC 内部是如何做网络隔离的?有哪些常见手段?实际架构怎么设计?
一、什么是 VPC?
VPC 本质上是云上的一块"逻辑私有网络",具备以下特点:
- 用户自定义 IP 地址段(CIDR)
- 子网划分能力
- 路由控制
- 安全控制(类似防火墙)
可以把它理解为:
"你在云上的一个独立数据中心网络"
二、为什么需要 VPC 内部网络隔离?
即使在同一个 VPC 内,不做隔离也会带来风险:
1. 横向攻击(Lateral Movement)
一台机器被攻破后,攻击者可以扫描并入侵同 VPC 其他实例。
2. 权限边界不清
不同服务(如数据库、API、后台系统)混在同一网络,容易误访问。
3. 合规要求
例如金融/医疗行业要求严格的网络分区(如 PCI-DSS)(Payment Card Industry Data Security Standard,支付卡行业数据安全标准。
三、VPC 内部网络隔离的核心手段
1. 子网(Subnet)隔离
VPC 可以划分多个子网(Subnet):
- 公有子网(Public Subnet)
- 私有子网(Private Subnet)
示例架构:
VPC (10.0.0.0/16)
├── Public Subnet (10.0.1.0/24) → 负载均衡 / NAT
└── Private Subnet (10.0.2.0/24) → 应用 / 数据库
👉 核心思想:
- 外网入口只放在 Public Subnet
- 核心服务全部放 Private Subnet
2. 路由表(Route Table)控制
通过路由表可以决定:
- 哪些子网能访问公网
- 哪些子网只能内网通信
常见设计:
| 子网类型 | 路由 |
|---|---|
| Public Subnet | 0.0.0.0/0 → Internet Gateway |
| Private Subnet | 0.0.0.0/0 → NAT Gateway |
👉 数据库子网甚至可以:
- 完全无公网路由(Air-gapped)
3. 安全组(Security Group)
安全组是"实例级防火墙",特点:
- 有状态(Stateful)
- 允许规则驱动(默认拒绝)
示例:
| 服务 | 入站规则 |
|---|---|
| Web Server | 允许 80/443 来自公网 |
| App Server | 只允许来自 Web Server |
| DB | 只允许来自 App Server |
👉 形成典型三层架构:
Internet → Web → App → DB
4. 网络 ACL(NACL)
Network ACL 是子网级别的防火墙:
- 无状态(Stateless)
- 支持显式 Allow / Deny
使用建议:
- 安全组:细粒度控制
- NACL:粗粒度隔离(如整段 IP 拒绝)
5. 私有连接(Private Connectivity)
为了避免数据走公网,可以使用:
- VPC Peering
- PrivateLink
- 内网负载均衡
👉 好处:
- 数据不经过公网
- 降低被窃听风险
- 提高性能
6. 微隔离(Micro-Segmentation)
在更高级的架构中,会结合:
- Kubernetes NetworkPolicy
- Service Mesh(如 Istio)
实现:
Pod / Service 级别的网络隔离
四、经典隔离架构设计(推荐实践)
1. 三层架构(最常见)
[ Internet ]
↓
[ Load Balancer ]
↓
[ Web Layer ] (Public Subnet)
↓
[ App Layer ] (Private Subnet)
↓
[ DB Layer ] (Isolated Subnet)
特点:
- 每一层都有安全组限制
- DB 不可被公网访问
- App 层不可直接暴露
2. 多环境隔离(Dev / Staging / Prod)
建议:
- 不同环境使用 不同 VPC
- 或至少不同子网 + 安全组隔离
避免:
测试环境误访问生产数据库
3. 零信任架构(Zero Trust)
结合:
- 身份认证(IAM)
- TLS 加密
- 服务间鉴权
实现:
即使在同一个 VPC 内,也不默认信任
五、常见错误(踩坑总结)
❌ 1. 所有资源放一个子网
→ 无隔离,风险极高
❌ 2. 安全组过于宽松
如:
0.0.0.0/0 允许所有端口
❌ 3. 数据库暴露公网 IP
→ 极易被扫描攻击
❌ 4. 忽略出站规则
→ 被入侵后数据外泄
六、总结
VPC 内部网络隔离的本质是:
通过"分区 + 控制通信路径",降低攻击面和错误影响范围
核心手段可以总结为:
- 子网划分(Subnet)
- 路由控制(Route Table)
- 安全组(Security Group)
- 网络 ACL
- 私有连接
- 微隔离
七、一句话理解
VPC 不是安全本身,隔离策略才是安全的关键。