网络拓扑基础回顾:VPC、子网、路由表、网关、NAT的基本概念与作用
在构建多租户网络拓扑之前,必须扎实理解构成云网络的核心原子组件。这些组件如同乐高积木,不同的组合方式决定了网络的隔离性、连通性与可扩展性。本节将逐一拆解 VPC、子网、路由表、网关和 NAT 的定义与职责。
核心组件概念速览
| 组件 | 核心职责 | 类比(传统网络) | 多租户关键作用 |
|---|---|---|---|
| VPC | 提供逻辑隔离的虚拟网络环境 | 物理交换机 + VLAN | 租户间的第一层隔离边界 |
| 子网 | 划分 IP 地址段,关联可用区 | VLAN 子接口 | 资源分组与高可用部署单元 |
| 路由表 | 控制子网内流量的转发路径 | 路由器的路由表 | 定义东西向与南北向流量策略 |
| 网关 | 连接 VPC 与外部网络(公网/专线) | 出口路由器 | 提供统一的南北向出入口 |
| NAT | 实现私有 IP 到公网 IP 的地址转换 | NAT 设备 | 允许私有资源访问公网,同时隐藏内部结构 |
VPC(虚拟私有云)—— 隔离的基石
VPC 是云网络中最基础的隔离单元。每个 VPC 都是一个独立的、逻辑隔离的二层网络环境,拥有自己独立的 IP 地址空间(CIDR 块)。在多租户场景下,每个租户通常拥有一个或多个 VPC,租户间的流量默认完全隔离。
- IP 地址规划:创建 VPC 时必须指定 CIDR(如 10.0.0.0/16),后续子网均从该范围内划分。
- 隔离特性:不同 VPC 之间默认无法通信,除非通过 VPC Peering 或 Transit Gateway 显式打通。
- 租户映射:推荐为每个租户分配独立的 VPC,实现强隔离;对于轻量级租户,也可在同一 VPC 内通过子网 + 安全策略实现软隔离。
设计建议:为每个租户预留至少 /16 的 VPC 空间,避免后期 IP 地址不足导致网络重构。生产环境禁止使用 /8 等超大范围,防止广播域过大。
子网(Subnet)—— 资源分组的单元
子网是 VPC 内更细粒度的 IP 地址段划分,每个子网必须绑定到一个可用区(AZ)。子网是云资源(如云服务器、负载均衡器)实际部署的位置,也是路由策略生效的最小粒度。
- 公网子网 vs 私网子网:公网子网关联路由表指向 Internet 网关,私网子网则通过 NAT 网关访问公网。
- 高可用设计:关键业务应在至少两个可用区各创建一个子网,实现跨 AZ 容灾。
- 租户资源分组:在同一 VPC 内,可通过不同子网隔离不同业务模块(如 Web 层、应用层、数据库层)。
路由表(Route Table)—— 流量路径的指挥官
每个子网必须关联一张路由表,路由表由一系列路由规则组成,决定子网内流量如何转发。路由表是云网络中最核心的策略控制点。
- 默认路由:每个 VPC 创建时自动生成本地路由(Local Route),确保 VPC 内所有子网互通。
- 自定义路由:添加指向 Internet 网关、NAT 网关、VPN 网关或对等连接的路由条目。
- 最长前缀匹配:路由表按目的 IP 的最长前缀匹配规则选择路由,精确路由优先于默认路由。
多租户路由隔离要点:每个租户 VPC 拥有独立的路由表,租户间路由完全隔离。即使通过 Transit Gateway 互联,也需通过路由表控制哪些租户 VPC 可以互相通信。
网关(Gateway)—— 连接外部世界的桥梁
网关是 VPC 与外部网络(公网或企业内网)通信的出口入口。常见的网关类型包括:
| 网关类型 | 连接目标 | 典型用途 | 多租户注意事项 |
|---|---|---|---|
| Internet 网关 | 公网 | 允许子网内资源直接拥有公网 IP 并对外提供服务 | 通常每个 VPC 一个,需配合安全组严格控制入站流量 |
| NAT 网关 | 公网(出站) | 允许私有子网资源访问公网,但不接受公网主动连接 | 每个可用区建议部署一个,避免单点故障 |
| VPN 网关 | 企业内网(IPsec) | 通过加密隧道连接云上 VPC 与本地数据中心 | 每个租户可独立配置 VPN 网关,带宽需按租户规划 |
| Transit Gateway | 多个 VPC / 本地网络 | 中心化网络枢纽,简化多 VPC 互联拓扑 | 多租户场景的核心组件,支持路由隔离和带宽限制 |
NAT(网络地址转换)—— 私有资源的公网出口
NAT 网关或 NAT 实例允许私有子网中的资源(无公网 IP)发起出站公网连接,同时隐藏内部 IP 地址结构。这是多租户环境中保护租户内部网络的重要手段。
- SNAT(源地址转换):将私有 IP 转换为 NAT 网关的公网 IP,响应流量自动转换回私有 IP。
- 端口复用:NAT 网关通过端口多路复用支持大量并发连接,但需注意端口耗尽问题。
- 高可用部署:建议在每个可用区部署独立的 NAT 网关,避免跨 AZ 流量产生额外费用和延迟。
常见陷阱:NAT 网关不支持端口转发、不支持入站连接、不支持 ICMP 协议(如 ping)。如果需要从公网访问私有资源,必须使用负载均衡器或 Internet 网关 + 公网 IP。
组件关系全景图
下图展示了 VPC、子网、路由表、网关和 NAT 之间的逻辑关系与流量路径:
组件协同工作流程
- 创建 VPC:定义 IP 地址范围(如 10.0.0.0/16),形成隔离网络边界。
- 划分子网:在 VPC 内创建多个子网,每个子网绑定一个可用区,并分配 CIDR 块。
- 配置路由表:为每个子网关联路由表,添加默认路由(指向网关)和必要的目的路由。
- 部署网关:创建 Internet 网关并挂载到 VPC,创建 NAT 网关并关联到公网子网。
- 验证连通性:公网子网资源可直接通过 Internet 网关对外服务;私网子网资源通过 NAT 网关出站访问公网。
多租户网络设计黄金法则:每个租户拥有独立的 VPC → 每个 VPC 内按可用区划分公网/私网子网 → 每个子网关联独立路由表 → 通过 Transit Gateway 实现租户间可控互联。这套模式已成为云原生多租户网络的事实标准。