
一家出海 SaaS 企业在迁移上 AWS 三个月后,遭遇了严重的安全事故:由于 RDS 数据库实例被错误放置在公有子网,且安全组规则过于宽松,导致数据库端口暴露在公网,引发了一次数据泄露风险告警。
这个案例在出海企业上云初期并不罕见。很多团队急于完成迁移,对 VPC 网络架构的理解停留在”能跑起来就行”的阶段,结果为后续的安全和运维埋下隐患。
VPC(Virtual Private Cloud)是 AWS 上所有资源的网络基础。本文从核心概念到实战配置,帮你把这个基础打牢。
什么是 AWS VPC?
VPC 是你在 AWS 云中专属的虚拟网络环境。你可以完全控制这个网络的 IP 地址范围、子网划分、路由规则和网络安全策略,就像在自己的数据中心里管理网络一样,但无需购买任何物理硬件。
每个 AWS 账户在每个 Region 会自动创建一个默认 VPC,方便快速启动资源。但对于生产环境,强烈建议创建自定义 VPC,以获得更精细的控制权。
VPC 的核心组成
| 组件 | 作用 |
|---|---|
| CIDR 块 | 定义 VPC 的 IP 地址范围(如 10.0.0.0/16) |
| 子网(Subnet) | 将 VPC 划分为更小的网段,分布在不同可用区 |
| 路由表(Route Table) | 控制子网内流量的转发规则 |
| 互联网网关(IGW) | 允许公有子网与互联网通信 |
| NAT 网关 | 允许私有子网访问互联网,但阻止外部主动访问 |
| 安全组(Security Group) | 实例级别的虚拟防火墙,控制入站/出站流量 |
| 网络 ACL(NACL) | 子网级别的防火墙,提供额外的访问控制层 |
子网规划:公有子网 vs 私有子网
合理的子网划分是 VPC 架构设计的第一步,也是最关键的一步。
公有子网(Public Subnet)
公有子网是指路由表中包含指向互联网网关(IGW)路由的子网。放置在公有子网中的资源可以拥有公网 IP,直接与互联网通信。
适合放入公有子网的资源:
- 应用负载均衡器(ALB/ELB)
- NAT 网关
- 堡垒机(Bastion Host)
- 需要直接面向互联网的 Web 服务器(特殊场景)
私有子网(Private Subnet)
私有子网的路由表不包含直接通向 IGW 的路由,资源无法从互联网直接访问。私有子网中的资源若需访问互联网(如下载软件包、调用外部 API),需通过 NAT 网关中转。
适合放入私有子网的资源:
- 应用服务器(EC2 实例)
- 数据库(RDS、Aurora、ElastiCache)
- 内部 API 服务
- 批处理任务
标准三层架构示意
互联网
↓
[公有子网] — 负载均衡器(ALB)
↓
[私有子网] — 应用服务器(EC2)
↓
[私有子网] — 数据库(RDS)
这种分层架构确保数据库和应用服务器永远不直接暴露在公网,大幅降低攻击面。
多可用区(Multi-AZ)规划
生产环境必须在至少两个可用区(Availability Zone)部署子网。AWS 的可用区是独立的物理数据中心,跨 AZ 部署可以在单个 AZ 故障时保证服务连续性。
推荐的子网规划(以 ap-northeast-1 东京 Region 为例):
| 子网名称 | CIDR | 可用区 | 类型 |
|---|---|---|---|
| public-subnet-1a | 10.0.1.0/24 | ap-northeast-1a | 公有 |
| public-subnet-1c | 10.0.2.0/24 | ap-northeast-1c | 公有 |
| private-app-1a | 10.0.11.0/24 | ap-northeast-1a | 私有 |
| private-app-1c | 10.0.12.0/24 | ap-northeast-1c | 私有 |
| private-db-1a | 10.0.21.0/24 | ap-northeast-1a | 私有 |
| private-db-1c | 10.0.22.0/24 | ap-northeast-1c | 私有 |
路由表配置
每个子网必须关联一张路由表。路由表决定了该子网内的流量如何转发。
公有子网路由表
公有子网路由表需要包含两条核心路由:
第一条是本地路由,目标为 VPC 的 CIDR 块(如 10.0.0.0/16),目标为 local,这条路由由 AWS 自动添加,允许 VPC 内部资源互相通信。
第二条是互联网路由,目标为 0.0.0.0/0(所有流量),目标指向互联网网关(igw-xxxxxxxx),这条路由使公有子网中的资源可以访问和被访问互联网。
私有子网路由表
私有子网路由表同样有本地路由(自动创建),但不包含直接的 IGW 路由。如果私有子网中的资源需要访问互联网,则需添加一条 0.0.0.0/0 指向 NAT 网关的路由。
重要提示:NAT 网关本身必须部署在公有子网中,并拥有弹性 IP(EIP)。每个可用区应部署独立的 NAT 网关,避免单点故障。
安全组配置最佳实践
安全组是 AWS 中最常用的网络安全控制手段,它工作在实例级别,属于有状态防火墙(允许的入站流量,回程流量自动放行)。
最小权限原则
安全组配置的核心原则是:只开放必要的端口,只允许必要的来源。
反例(危险配置):
| 类型 | 协议 | 端口 | 来源 |
|---|---|---|---|
| 入站 | TCP | 22 (SSH) | 0.0.0.0/0 |
| 入站 | TCP | 3306 (MySQL) | 0.0.0.0/0 |
| 入站 | All Traffic | All | 0.0.0.0/0 |
上述配置将 SSH 和数据库端口暴露给全球所有 IP,极度危险。
正例(推荐配置):
应用服务器安全组:
| 类型 | 协议 | 端口 | 来源 |
|---|---|---|---|
| 入站 | TCP | 80/443 | ALB 安全组 ID |
| 入站 | TCP | 22 | 堡垒机安全组 ID |
| 出站 | All | All | 0.0.0.0/0 |
数据库安全组:
| 类型 | 协议 | 端口 | 来源 |
|---|---|---|---|
| 入站 | TCP | 3306 | 应用服务器安全组 ID |
| 出站 | All | All | 0.0.0.0/0 |
通过安全组 ID 相互引用,而不是使用 IP 地址,可以确保即使 EC2 实例 IP 发生变化,安全规则依然有效。
安全组 vs 网络 ACL
| 特性 | 安全组 | 网络 ACL |
|---|---|---|
| 作用范围 | 实例级别 | 子网级别 |
| 状态类型 | 有状态 | 无状态 |
| 规则类型 | 仅允许规则 | 允许 + 拒绝规则 |
| 规则顺序 | 无序(取并集) | 有序(按编号匹配) |
| 适用场景 | 日常访问控制 | 额外安全层/紧急封锁 |
对于大多数场景,安全组已足够。网络 ACL 主要用于需要明确拒绝特定 IP 段(如封锁已知恶意 IP)或增加额外合规审计层的场景。
VPC 对等连接与 Transit Gateway
当企业业务规模扩大,需要在多个 VPC 之间打通网络时(例如开发、测试、生产环境分属不同 VPC),有两种主要方案:
VPC 对等连接(VPC Peering)
两个 VPC 之间建立一对一的私有网络连接,流量不经过互联网,延迟低、成本低。
适合场景:VPC 数量较少(3个以内),需要简单的点对点连接。
限制:VPC Peering 不支持传递性路由,即 A-B 对等、B-C 对等,并不意味着 A 能访问 C。
Transit Gateway
Transit Gateway 是 AWS 提供的网络枢纽服务,可以将多个 VPC 和本地网络连接到同一个中心节点,实现全互联或受控互联。
适合场景:VPC 数量较多(4个及以上)、有混合云(本地数据中心+云)需求、需要集中管理路由策略的企业。
常见 VPC 配置错误与避坑指南
根据我们服务出海企业上云的经验,以下是最常见的 VPC 配置错误:
错误一:数据库放在公有子网
很多初学者为了方便连接,把 RDS 放在公有子网并开放公网访问。正确做法是将 RDS 始终放在私有子网,通过堡垒机或 AWS Systems Manager Session Manager 进行运维访问。
错误二:生产环境使用默认 VPC
默认 VPC 的安全组和路由配置过于宽松,且所有子网都是公有子网。生产环境必须使用自定义 VPC。
错误三:NAT 网关只部署一个
如果只在一个可用区部署 NAT 网关,当该 AZ 出现故障时,所有私有子网的出站流量都会中断。高可用架构要求每个使用的可用区都有独立的 NAT 网关。
错误四:忽略 VPC 流日志
VPC 流日志(VPC Flow Logs)记录所有进出 VPC 的网络流量信息,是安全审计和故障排查的重要工具。建议从搭建 VPC 时就开启流日志,输出到 CloudWatch Logs 或 S3。
总结:VPC 架构设计核心原则
一个健壮的 AWS VPC 架构应遵循以下原则:
- 纵深防御:公有子网 + 私有应用子网 + 私有数据库子网,三层隔离
- 最小权限:安全组只开放必要端口,来源精确到安全组 ID
- 高可用:跨至少两个可用区部署,每个 AZ 独立 NAT 网关
- 可观测:开启 VPC 流日志,接入 CloudWatch 监控告警
- 自定义优先:生产环境禁止使用默认 VPC
VPC 是 AWS 架构的基石,前期规划好,后期省心省力。如果你正在规划企业的 AWS 上云架构,或者现有 VPC 配置存在安全隐患,欢迎与我们联系,进行免费的云架构评估。
→ 申请免费 AWS 架构评估:aws-oncloudai.com/contact
本文由 aws-oncloudai.com 云架构团队撰写。我们专注为中国出海企业提供 AWS 云服务咨询、架构设计与成本优化服务。

