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设计有几个原则,我总结一下:

  1. 预留扩展空间:给每个业务段留出30%的余量。业务增长比你想象得快。
  2. 避免重叠:多云互联时,各云VPC的CIDR绝对不能重叠。否则路由表会乱套。
  3. 统一规划:建议公司内部出一个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没规划好,或者路由表设计有漏洞。

下一章,我们会讲“多云网络互联的常见架构模式”。到时候你会看到,今天这些基础概念,是怎么在实际项目中串起来的。