对新手来说,VPC 的概念可能有点抽象——它不像 EC2 那样是“一台电脑”,也不像 S3 那样是“一个硬盘”。它更像是在云里为你划出的一块完全属于你的私人领地。
今天这篇文章,就带你彻底搞懂 VPC 是什么、为什么需要它,然后手把手完成一次 VPC 基础配置。
什么是 Amazon VPC?
VPC 的全称是 Amazon Virtual Private Cloud(亚马逊虚拟私有云)。AWS 官方给它的定义是:在 AWS 云中逻辑隔离的虚拟网络,你可以在这个网络里启动 AWS 资源。
你可以把它想象成在 AWS 这个大型“写字楼”里,AWS 给你划出了一整层楼——钥匙只有你有,网络完全独立,你想怎么装修(配置)都可以。其他租户(AWS 的其他客户)进不来,也看不见你在里面做什么。
为什么需要 VPC?
AWS 的底层是多租户架构。如果没有 VPC 这种隔离机制,你创建的 EC2 实例和其他客户的实例就会混在一个大网里,这显然不安全。VPC 的核心价值就是网络隔离——每个 VPC 逻辑上完全独立于其他 VPC,确保你的数据和应用程序受到保护。
VPC 的三大核心组件
要理解 VPC,关键是搞清楚它的三个核心“零件”:子网、路由表和网关。
1. 子网(Subnet):划分你的“领地”
子网是 VPC 内部的一个 IP 地址范围,你可以把 AWS 资源(比如 EC2 实例)部署到子网里。每个子网必须位于一个可用区(Availability Zone) 内,不能跨可用区。
子网主要分两种类型:
子网类型特点典型用途公有子网(Public Subnet)子网中的资源有公网 IP,可通过互联网网关与互联网直接通信Web 服务器、负载均衡器私有子网(Private Subnet)子网中的资源没有公网 IP,不能直接接收来自互联网的入站请求数据库服务器、应用服务器(后端)
💡 关键思路:把面向用户的资源放在公有子网,把核心数据资产放在私有子网,这就是 VPC 设计最基本的“安全分层”思路。
2. 路由表(Route Table):告诉流量往哪走
路由表里包含一组“路由规则”,决定了网络流量从哪来、往哪去。每个子网都必须关联一个路由表。
一个典型的路由表规则可能是这样的:
目的地
10.0.0.0/16→ 目标 本地(VPC 内部通信)目的地
0.0.0.0/0(所有 IPv4 流量) → 目标 互联网网关(让流量能出 VPC 访问互联网)
3. 网关(Gateway):连接外部世界的“大门”
网关是 VPC 与外界通信的“出入口”:
网关类型作用互联网网关(Internet Gateway)让 VPC 中的资源能与互联网直接通信NAT 网关(NAT Gateway)让私有子网中的资源能主动访问互联网(如下载更新包),但阻止来自互联网的主动入站连接虚拟私有网关(Virtual Private Gateway)用于通过 VPN 将 VPC 连接到你的本地数据中心
VPC 安全:安全组 vs 网络 ACL
VPC 提供了两层安全防护,可以结合起来使用,形成“纵深防御”。
安全组(Security Group):实例级别的“门禁”
作用范围:实例级别——控制进出某个特定 EC2 实例的流量
核心特点:有状态——如果你允许了某个入站请求,那么对应的出站响应会自动被允许,无需单独配置出站规则
规则类型:只支持 允许 规则
一个实例可以关联多个安全组,取所有规则的并集
网络 ACL(Network ACL):子网级别的“安检”
作用范围:子网级别——控制进出某个子网的所有流量
核心特点:无状态——入站和出站规则需要分别配置,即使允许了入站请求,出站响应也必须被明确允许
规则类型:同时支持 允许 和 拒绝 规则
规则按编号升序评估,一旦匹配就立即执行,不再继续评估后面的规则
两者对比速览
对比维度安全组网络 ACL作用层级实例级别子网级别状态有状态(响应流量自动允许)无状态(响应流量需显式允许)规则类型仅允许规则允许规则 + 拒绝规则规则评估评估所有规则按编号顺序匹配,匹配即停止
💡 最佳实践:通常先用安全组控制实例级别的访问(比如允许 SSH 从你的 IP 连入),再考虑是否需要网络 ACL 增加一层子网级别的防护。
图文教程:创建一个带公有子网的 VPC
AWS 为每个区域都自动创建了一个 默认 VPC,它已经配置好了互联网网关、子网和路由表。在默认子网里启动的 EC2 实例默认就有公网 IP,可以直接访问互联网。
但如果想理解 VPC 的运作原理,最好的方式是从零创建一个 自定义 VPC。
第一步:进入 VPC 控制台
登录 AWS 管理控制台,在顶部搜索框输入 “VPC” 并点击进入。
第二步:使用“VPC 向导”快速创建
在 VPC 控制台页面,点击 “创建 VPC” 按钮。你会看到两种创建方式:
VPC 及其他资源:自动创建 VPC、子网、路由表、互联网网关等全套资源
仅 VPC:只创建 VPC 本身,其他组件手动配置
新手建议选择 “VPC 及其他资源”,让 AWS 帮你一键生成标准配置。
第三步:填写配置信息(以“带公有子网的 VPC”为例)
要创建的资源:选择 “VPC 及其他资源”
名称标签自动生成:可以保持默认
IPv4 CIDR 块:输入
10.0.0.0/16。这个范围意味着 VPC 内最多可以有 65536 个 IP 地址IPv6 CIDR 块:选择 “无 IPv6 CIDR 块”(新手入门先聚焦 IPv4)
租期:保持默认的 “默认”
可用区数量:选择 1(学习阶段用一个可用区就够了)
公有子网数量:选择 1
私有子网数量:选择 0(先不创建私有子网,让结构更简单)
NAT 网关:选择 “无”
第四步:检查并创建
确认配置信息无误后,点击 “创建 VPC” 按钮。几秒钟后,AWS 会帮你自动创建好以下资源:
VPC 本身(CIDR 为
10.0.0.0/16)一个公有子网(比如
10.0.1.0/24)一个互联网网关(已附加到 VPC)
一个主路由表(包含一条指向互联网网关的默认路由)
一个默认安全组
第五步:在 VPC 中启动一个 EC2 实例测试
进入 EC2 控制台,点击 “启动实例”
在 “网络设置” 部分,VPC 选择你刚创建的 VPC,子网 选择那个公有子网
确保 “自动分配公有 IP” 为 “启用”
配置安全组,添加入站规则:SSH(端口 22),来源为 “我的 IP”(仅允许你自己的 IP 访问)
完成其他配置后启动实例
如果能够通过 SSH 成功连接到这台 EC2 实例,说明你的 VPC 网络配置完全正确!
别忘了“打扫房间”
VPC 本身不收费,但你在 VPC 中启动的资源(EC2、NAT 网关等)会产生费用。测试完成后:
终止 在 VPC 中启动的所有 EC2 实例
在 VPC 控制台中 删除 你创建的 VPC(这会自动删除关联的子网、路由表和安全组)
如果创建了弹性 IP 或 NAT 网关,记得单独释放
VPC 是 AWS 网络架构的基石,几乎所有服务都运行在它之上。理解 VPC 的工作原理,就像拿到了 AWS 云上“建房子”的地基图纸——掌握了它,你才能在上面搭建安全、可靠的云上应用。