2. 网络基础回顾:VPC/VNet基础概念,子网划分与CIDR设计,路由表与策略路由
好,咱们开始第二讲。这一章说白了就是给后面多云互联打地基的。你想想看,如果连自家的院子(VPC/VNet)都规划不好,怎么拉网线到邻居家?
我个人习惯,每次做多云项目前,都会先花半天时间把基础网络概念再过一遍。别嫌烦,很多线上故障,追根溯源都是基础概念没吃透。
2.1 VPC与VNet:云上的“私有地盘”
VPC(Virtual Private Cloud)在AWS、阿里云上这么叫,Azure那边叫VNet(Virtual Network)。名字不同,本质一样——都是你在云上划出来的一块逻辑隔离的网络空间。
我记得有一次帮客户排查问题,他们死活想不通为什么两个VPC里的服务器不能通信。我一看,好家伙,两个VPC的CIDR重叠了。这就是典型的基础概念没搞清——VPC默认就是隔离的,想通联得靠对等连接或专线。
核心要点:VPC/VNet就是一个“虚拟机房”。你可以自定义IP地址段、划分子网、配置路由表、挂载安全组。它是你在云上的网络边界。
这里有几个关键属性你得记住:
- 地域(Region):VPC是地域级别的资源,不能跨Region。比如北京Region的VPC,跟上海Region的VPC天生不通。
- CIDR块:创建VPC时必须指定一个IP地址范围,比如10.0.0.0/16。这个范围一旦定下来,后期修改非常麻烦。
- 租户隔离:不同账号的VPC完全隔离,除非你主动建立连接。
我的经验:创建VPC时,CIDR尽量选大一点的,比如/16。别抠抠搜搜选个/24,后面扩容能把你逼疯。我曾经有个项目,一开始选了10.0.0.0/24,结果业务一扩张,IP不够用,最后只能重建VPC,那叫一个折腾。
2.2 子网划分与CIDR设计:别让IP成为瓶颈
子网划分,说白了就是把VPC这个大院子,隔成几个小房间。每个房间(子网)放不同的业务。
CIDR(无类别域间路由)是子网划分的数学工具。比如10.0.0.0/16这个VPC,你可以切成:
- 10.0.1.0/24 —— 给Web层
- 10.0.2.0/24 —— 给应用层
- 10.0.3.0/24 —— 给数据库层
为什么这么分?因为安全。Web层可以暴露到公网,数据库层必须藏在私网里。子网就是实现这个隔离的物理基础。
避坑指南:我曾经见过一个团队,把所有业务塞进一个/24的子网里。结果安全组规则写了上百条,运维起来简直噩梦。记住:子网划分越细,后期管理越灵活。
CIDR设计有几个原则,我总结一下:
- 预留扩展空间:给每个业务段留出30%的余量。业务增长比你想象得快。
- 避免重叠:多云互联时,各云VPC的CIDR绝对不能重叠。否则路由表会乱套。
- 统一规划:建议公司内部出一个IP地址分配规范。比如生产环境用10.x.x.x,测试环境用172.x.x.x,一目了然。
举个例子,假设你公司有三个云:
| 云平台 | VPC CIDR | 用途 |
|---|---|---|
| AWS | 10.1.0.0/16 | 生产环境 |
| Azure | 10.2.0.0/16 | 灾备环境 |
| 阿里云 | 10.3.0.0/16 | 开发测试 |
你看,每个云一个独立的/16段,互不重叠。后面做专线互联时,路由表配置就简单多了。
2.3 路由表与策略路由:数据包的“导航地图”
路由表,就是告诉数据包“你该往哪走”。每个子网都关联一张路由表,里面有一条条的路由条目。
默认情况下,VPC内部通信是通的。比如子网A的实例想访问子网B的实例,路由表里有一条“本地路由”(Local Route),直接搞定。
但一旦涉及多云互联,事情就复杂了。你需要添加“自定义路由”。比如:
- 去往对端VPC的流量,下一跳指向“对等连接”或“专线网关”。
- 去往互联网的流量,下一跳指向“NAT网关”或“互联网网关”。
关键点:路由表是有优先级的。最长前缀匹配原则——目标IP地址匹配的路由条目中,子网掩码最长的那个生效。
举个例子:
目标网段 下一跳
0.0.0.0/0 igw-xxxxx(互联网网关)
10.2.0.0/16 pcx-yyyyy(对等连接)
10.2.1.0/24 vgw-zzzzz(专线网关)
如果数据包要去10.2.1.5,它会匹配第三条(/24比/16更精确),所以走专线网关。这就是最长前缀匹配的威力。
2.4 策略路由:比普通路由更“聪明”
普通路由表只能根据目标IP做决策。但策略路由可以看更多信息——源IP、协议类型、端口号,甚至应用层数据。
我举个例子你就明白了。假设你有两条专线:一条连AWS,一条连Azure。你想让数据库流量走AWS那条线,Web流量走Azure那条线。普通路由表做不到,因为目标IP都是对端VPC的地址。
策略路由可以这样配:
匹配条件:源IP属于数据库子网(10.0.3.0/24)
动作:下一跳指向AWS专线网关
匹配条件:源IP属于Web子网(10.0.1.0/24)
动作:下一跳指向Azure专线网关
你看,同一个目标IP,根据来源不同,走不同的路径。这就是策略路由的价值。
我的建议:策略路由虽然强大,但别滥用。每加一条策略,就多一分复杂度。我一般只在“多出口负载分担”或“特殊合规要求”时才用。能用普通路由解决的问题,就别上策略路由。
2.5 小结:基础不牢,地动山摇
嗯,这一章内容不少。VPC/VNet是云网络的基石,子网划分决定了你的扩展能力,路由表是数据包的导航仪,策略路由则是高级玩法。
我个人经验是:花80%的时间做规划,花20%的时间做配置。很多多云互联项目翻车,都是因为一开始CIDR没规划好,或者路由表设计有漏洞。
下一章,我们会讲“多云网络互联的常见架构模式”。到时候你会看到,今天这些基础概念,是怎么在实际项目中串起来的。