VPC(虚拟私有云)回答的是最后一个问题:在云商那一大片网络里,哪一块是【你的】。做法是用软件划出一块逻辑隔离的网络空间——先圈一块 IP 地(网段),再在里面切格子(子网),配上路标(路由表)和门(网关),最后挂上两道墙(安全组和网络 ACL)。这两个 VPC 之间默认不通、同一个 VPC 内的子网默认互通——这一条默认规则,决定了网络设计里绝大部分的取舍。
它是 8-7 的【公有云版】:上一节讲【自建一套云】该怎么分层,这一节讲【在别人的云里】怎么划出属于自己的一块网络。 两者的思路其实一致——都是先有资源、再把资源组织成可管理的结构。
它同时是 3-14 那节【虚拟办公室】的落地:那一节把 VPC 当成一个概念提出来,这一节把它拆成能动手配的六个部件。
一、VPC 是什么
在自建机房里,网络是自己拉的——交换机、路由器、网段,都是自己的。到了公有云上,网络设备是云商的,你没法真的去插一根网线。
VPC 就是解决这件事的:它用软件,在云商那一大片共享的网络里,给你划出一块【逻辑上隔离】的空间。 在这块空间里,你可以自己定 IP 段、自己划子网、自己配路由和防火墙——感觉上就像自己有一张独立的网络。
它的关键性质有两条,正好相反:
- 不同 VPC 之间,默认【不通】——这是隔离性的来源。
- 同一个 VPC 内部的子网之间,默认【互通】——这是便利性的来源。
这两条默认规则合起来,就决定了网络设计的基本姿势:你需要强隔离的东西,分到不同的 VPC;需要互相访问的,放在同一个 VPC 里。
二、动手 Demo:VPC 的核心组件与两道墙
看到什么算成功:
==================================================================================================
【Demo 8】VPC 的构建:VPC 逻辑架构图
==================================================================================================
【一】VPC 的核心组件
组件 作用 一句话
------------------------------------------------------------------------------------------
网段 VPC 的 IP 范围(如 10.0.0.0/16) 先圈一块地
子网 在 VPC 里再切小块,绑定可用区 地里划格子
路由表 决定流量往哪走 路标
网关 连接公网或本地数据中心 大门
安全组 实例级、有状态的防火墙 每个房间的门锁
网络 ACL 子网级、无状态的防火墙 整层楼的门禁
两个 VPC 之间默认不通;同一个 VPC 内的子网默认互通。
这条默认规则决定了绝大部分网络设计。
【二】安全组和网络 ACL:两道墙
维度 安全组 网络 ACL
------------------------------------------------------------------------------------------
作用范围 实例级(绑定网卡) 子网级(绑定子网)
状态 有状态,自动放回包 无状态,进出都要写
规则类型 只有允许 允许和拒绝都有
默认策略 拒绝入站、允许出站 允许所有
入站流量顺序:网络 ACL → 安全组 → 实例。
两层都放行,流量才进得来 —— 这是【纵深防御】在网络层的具体样子。
读结果:
- 第一张表可以按【圈地 → 划格 → 指路 → 开门的顺序读】。网段是圈地(先定好这块地有多大);子网是划格子(把大块分成小块,每一小块绑定一个可用区);路由表是路标(决定包从哪走);网关是门(通公网的门、通本地机房的门)。顺序清楚了,配置就不会乱。
- 第二张表讲的是两道墙的分工。安全组管【每台机器自己】(实例级、有状态),网络 ACL 管【整个子网】(子网级、无状态)。三层对照着看最清楚:安全组像【每个房间的门锁】,网络 ACL 像【整层楼的门禁】。
- 最后那个流量顺序很重要:入站先过网络 ACL,再过安全组,最后才到实例。两层都放行才进得来——这是【纵深防御】在网络层最具体的体现——任何一层拦住,包就进不来。
三、六个组件,逐个说清
网段——VPC 的 IP 范围,用 CIDR 表示(比如 10.0.0.0/16,意思是前面 16 位固定、后面 16 位可变)。它决定了这块地能装多少台机器:/16 能装六万多台,/24 只能装两百多台。所以规划时要给未来留余量——因为网段很难改(改网段意味着要重建整个 VPC)。
子网——VPC 里切出来的小块,每一块绑定一个可用区。子网是实际放机器的地方——所有云主机、数据库都必须部署在某个子网里。这里就接上了 8-1:子网绑可用区,所以【把机器分散到多个可用区】这件事,在配置上就是【把它们放到不同子网的子网里去】。
路由表——决定流量往哪走。每个子网绑定一个路由表;默认路由表保证同一个 VPC 内互通,要通公网就加一条指向网关的路由(0.0.0.0/0 → 网关)。
网关——门。常见的三种:互联网网关(让实例能访问公网)、NAT 网关(让内网机器能出去,但外面进不来)、VPN 或专线网关(连接本地机房)。
安全组和网络 ACL——两道墙,下一节展开。
四、两道墙:安全组和网络 ACL
为什么需要两道,而不是一道? 因为它们管的是不同粒度、不同方向的事:
| 对比 | 安全组 | 网络 ACL |
|---|---|---|
| 级别 | 实例级(管单台机器) | 子网级(管整个子网) |
| 状态 | 有状态:出方向放行,回包自动放回来 | 无状态:进出方向都要单独写规则 |
| 规则 | 只有【允许】,没有【拒绝】 | 【允许】和【拒绝】都有 |
| 默认 | 拒绝入站、允许出站 | 允许所有 |
【有状态】和【无状态】这个区别,是理解它们的关键:
- 安全组是有状态的:你放行了进来的请求,它对应的回包会自动被允许出去——所以规则写得少。
- 网络 ACL 是无状态的:进来要写一条、出去还要写一条——规则写得多,但控制更细(能做【拒绝】)。
实际怎么用? 通常的做法是:安全组当主力(因为好写、够用),网络 ACL 当兜底(在子网级别挡住一整类流量,比如封掉某个网段的所有访问)。两者配合,就有了【粗到细】两道防线。
要注意一个常见坑:因为网络 ACL 在前,如果你在那里误封了,安全组配置再正确也没用——排障时要顺着这个顺序查(先看网络 ACL,再看安全组)。
五、2026 现状
① 【默认 VPC】让入门更容易,但也埋了坑。 现在几乎所有云商都会自动为你创建一个默认 VPC 和默认子网,让你开机器时不用先配网络。方便是方便,但默认配置通常【很宽松】(比如子网是公网可达的)——所以生产环境前的第一件事,往往就是把默认配置收紧。
② 【私有连接】替代了【绕公网】的土办法。 早年让两个 VPC 互通,要么走公网、要么配一堆 VPN。2026 年主流做法是用【私有连接】在云商内部打通——流量不经过公网,更安全也更快。
③ 网络与安全的边界在融合。 安全组、WAF、入侵检测这些能力,正在从【独立设备】变成【网络的一部分】——所以在云上设计安全,不再是在网络外面加设备,而是在划网络的时候就把安全一起考虑进去。
30 秒实验
打开任意一家云商的控制台(或文档),做两件事:
- 找到【VPC】这一项,看看一个 VPC 里都有哪些配置项——数一数是不是正好是 Demo 里那六个(网段、子网、路由表、网关、安全组、网络 ACL)。
- 再看一眼它的默认安全组规则——是不是【允许所有出站】?
做完你会确认一件事:这一节讲的六个部件,就是云商控制台上真实存在的那些按钮。 而【默认安全组允许所有出站】这条,正是很多人第一次做云安全时该动手收紧的地方——它不危险,但它是你可以做得更好的地方。
常见误区
-
错误:VPC 就是把几台机器放进一个网络里,跟普通的局域网差不多。——纠正:VPC 和实体局域网最大的一点不同,是【它的隔离是逻辑的,而且默认更严】。不同 VPC 之间默认完全不通——这是软件的强制隔离,不靠物理设备,也不靠配置约定。 另外VPC 有个实体网络没有的特性:同一个 VPC 可以横跨多个可用区(子网绑可用区,但 VPC 本身跨区域)。这些性质决定了它的用法和局域网不一样。
-
错误:我配了安全组,就不需要网络 ACL 了。——纠正:它们管的粒度不一样,是互补的。安全组管【单台机器】,网络 ACL 管【整个子网】。当你需要【挡住一整个子网的某类流量】时(比如封掉某个可疑来源网段),逐个去改十几台机器的安全组,远不如在子网级别加一条网络 ACL 来得干脆。 反过来说,网络 ACL 也替代不了安全组——因为它做不到【精细到每台实例】。 两道墙,各管各的。
-
错误:子网划分随便定个小段就行,反正够用就好。——纠正:网段和子网【事后很难改】。网段改不了(要重建 VPC),子网一旦有机器在里面,也不方便随意调整范围。 所以规划时要预留余量——按【未来可能的规模】而不是【当前的需要】来定。这一点和 8-1 里【区域选择】是同一个道理:能一次定对的事,就不要留到最后返工。
-
错误:用了 VPC 就自然安全了。——纠正:VPC 提供的是【网络隔离】,不是【安全防护】——它把不同的 VPC 隔开,但同一个 VPC 里的机器互相之间默认是通的。安全要靠你在里面继续做:收紧安全组、划分子网层次(公网子网 / 私网子网分开)、把数据库放进私网子网。VPC 给了你一块可以设计的地,但地上盖成什么样,还是你自己的事。
自测三问(点开对答案)
1. 为什么【不同 VPC 默认不通、同 VPC 子网默认互通】这两条规则,决定了绝大部分网络设计? —— 因为**它给了一个【天然的分界线】**。**你不需要额外配置,就已经获得了【VPC 之间隔离】和【VPC 内部连通】这两种状态**。**于是设计思路就变成了【对号入座】**:**需要强隔离的东西(比如不同环境的系统、不同客户的数据),分到不同 VPC;需要互相访问的,放进同一个 VPC**。**顺着默认走,配置最少、也最不容易出错**——**逆着默认走(硬要在同一个 VPC 里隔离),就要额外加规则,也就更容易出问题。** 2. 为什么说【安全组】和【网络 ACL】是两道互补的墙,而不是两个竞争的选择? —— 因为**它们的作用对象和力度不一样**。**安全组管到【每台实例】,粒度最细,但只能写【允许】**——**适合做精细的通行控制**;**网络 ACL 管到【整个子网】,粒度较粗,但能写【拒绝】**——**适合做批量封堵**。**一个负责【精确放行谁】,一个负责【粗暴挡住谁】**——**两者配合,才形成从粗到细的防线。** 少了任何一道,都会留下一种操作做不了(要么没法批量封,要么没法精细控)。 3. 为什么排障时要【先查网络 ACL,再查安全组】? —— 因为**流量的检查顺序就是这样**:**入站先过网络 ACL,再过安全组**。**如果网络 ACL 那一层就把包拦掉了,安全组配置得再正确也毫无意义**——**你会看到【明明放行了却还是不通】的迷惑现象**。**顺着流量的实际路径去排查,才不会在错误的层上浪费时间**。**这也是所有【分层系统】排障的一般方法**:**从最先经过的那一层开始,逐层往下找。**🎉 全书完结
这本教材到此,全部完结。 从第一章的【什么是云】,一路走到这一节的【怎么在云里划出自己的一块网络】——
- 第一章:云是什么——它为什么不是【租一台服务器】
- 第二章:优先考虑云服务的时代——云原生、XaaS 与分类
- 第三章:云计算改变了什么——从业务模式到成本
- 第四章:构建云服务的技术——云是怎么被【搭出来】的
- 第五章:驱动云服务的技术——云是怎么【跑起来】的
- 第六章:云服务的安全性——它会在哪出事、怎么防
- 第七章:云服务的导入——我该怎么选
- 第八章(本章):开始导入云服务准备工作——放在哪、怎么备份、怎么迁移、怎么划网络
一句话带得走:云把【动手】这件事变简单了,于是【想清楚】成了唯一还没被简化的那一步。 🎉
- ☑ 全书完结 —— 《完全图解云计算》8 章已全部读完 🎉
相关笔记
- 私有云的构建 —— 自建一套云该怎么分层
- 虚拟办公室的实现 —— VPC 最早出现的地方
- 防火墙之后的缓冲地带 —— 网络上的层层设防
- ☁️ 云计算 · 索引 —— 全课路线图