3. OCI核心网络服务在多区域场景中的角色

在单区域部署中,VCN、子网、路由表、安全列表、NSG 这些对象已经能覆盖大部分网络需求;一旦进入多区域高可用与灾备场景,真正决定流量能否跨区、跨域、跨云打通的,是这些对象在多区域拓扑中的角色变化,以及 DRG 与远程对等连接(RPC)的引入。理解它们各自“管什么、不管什么”,是后续设计多区域架构的基础。

一、VCN 与子网:多区域中的地址边界

VCN 是 OCI 中区域级的私有网络,CIDR 块在创建时确定,例如 10.10.0.0/16。多区域场景下,每个区域的 VCN 是独立对象,CIDR 必须提前规划、避免重叠,否则后续无法通过 DRG 或 RPC 建立对等。子网是 VCN 内的地址段划分,分为区域级(regional)和可用域级(AD-specific)两种。多区域高可用建议使用区域级子网,使同一子网可跨 AD 分布实例,减少跨区切换时的子网重建成本。

子网分为公共子网和私有子网。公共子网中的实例可拥有公网 IP,私有子网则通过 NAT 网关或服务网关出站。多区域灾备中,通常主区域与备区域采用对称的子网划分,例如主区域 10.10.1.0/24(Web)、10.10.2.0/24(App)、10.10.3.0/24(DB),备区域对应 10.20.1.0/24、10.20.2.0/24、10.20.3.0/24,便于路由与安全策略复用。

二、路由表:决定流量“往哪走”

路由表绑定在子网上,由一组路由规则组成,每条规则包含目标 CIDR 和下一跳(网关)。OCI 路由表的关键特性是:它只决定“出方向”流量的下一跳,不负责回程;回程由对端路由表决定。多区域场景中,跨区域流量必须同时满足:源子网路由表指向 DRG,DRG 上有到目标区域的路由,目标区域 DRG 有回程路由,目标子网路由表指向 DRG。任何一环缺失,流量都会在中间被丢弃。

常见下一跳类型包括:Internet Gateway(IGW)、NAT Gateway、Service Gateway、DRG、Local Peering Gateway(LPG)。多区域扩展时,DRG 是跨区域流量的核心出口。例如主区域 Web 子网路由表可配置:0.0.0.0/0 → IGW,10.20.0.0/16 → DRG;备区域对应配置 10.10.0.0/16 → DRG,形成双向可达。

三、安全列表与 NSG:控制“谁能访问”

安全列表作用于子网级别,是子网内所有实例的默认防火墙规则;NSG 作用于 VNIC 级别,可跨子网对一组实例做精细控制。两者都是无状态或有状态规则集,OCI 中安全列表和 NSG 均为有状态,返回流量自动放行。多区域场景下,安全列表和 NSG 需要显式放行对端区域 CIDR,否则即使路由打通,流量仍会被安全规则拦截。

例如主区域 App 子网安全列表需放行来自备区域 DB 子网 10.20.3.0/24 的 1521 端口;备区域 DB 子网安全列表需放行来自主区域 App 子网 10.10.2.0/24 的 1521 端口。NSG 则更适合按角色划分,如“web-nsg”“app-nsg”“db-nsg”,跨区域时只需在 NSG 规则中引用对端 NSG 或 CIDR,减少子网级规则的重复维护。

四、DRG 与远程对等连接:多区域互联的骨架

DRG(Dynamic Routing Gateway)是 VCN 与外部网络之间的虚拟路由器,支持 VCN 与本地网络、其他 VCN、其他区域 VCN 的互联。远程对等连接(Remote Peering Connection, RPC)是 DRG 上的一个组件,用于连接两个不同区域的 DRG。建立 RPC 的流程是:在两个区域的 DRG 上各创建一个 RPC,然后在一个 RPC 上发起连接请求,指定对端区域和对端 RPC OCID,对端接受后即建立对等。

RPC 建立后,还需要在两端 DRG 上分别添加路由规则,并在子网路由表中指向 DRG。DRG 路由表与 VCN 路由表是两层:VCN 子网路由表把流量交给 DRG,DRG 路由表再决定转发到哪个 RPC 或 IPSec 隧道。多区域高可用中,通常会在两个区域之间建立 RPC,并配合多个 DRG 路由规则实现主备路径。

OCI 多区域网络互联:VCN / 子网 / 路由 / 安全 / DRG / RPC 主区域 VCN 10.10.0.0/16 Web 子网 10.10.1.0/24 路由:0.0.0.0/0 → IGW | 10.20.0.0/16 → DRG 安全列表:放行 443 / 来自 10.20.0.0/16 App 子网 10.10.2.0/24 路由:10.20.0.0/16 → DRG NSG:app-nsg 放行 1521 → 10.20.3.0/24 DB 子网 10.10.3.0/24 路由:10.20.0.0/16 → DRG NSG:db-nsg 放行 1521 ← 10.20.2.0/24 DRG-A RPC-A | 路由:10.20.0.0/16 → RPC-A 备区域 VCN 10.20.0.0/16 Web 子网 10.20.1.0/24 路由:0.0.0.0/0 → IGW | 10.10.0.0/16 → DRG 安全列表:放行 443 / 来自 10.10.0.0/16 App 子网 10.20.2.0/24 路由:10.10.0.0/16 → DRG NSG:app-nsg 放行 1521 → 10.10.3.0/24 DB 子网 10.20.3.0/24 路由:10.10.0.0/16 → DRG NSG:db-nsg 放行 1521 ← 10.10.2.0/24 DRG-B RPC-B | 路由:10.10.0.0/16 → RPC-B RPC 对等 跨区域加密隧道 跨区域流量路径:源子网路由表 → DRG → RPC → 对端 DRG → 对端子网路由表 → 目标实例 安全列表 / NSG 需同时放行对端 CIDR,否则路由可达但流量被拦截

五、多区域扩展中的关键检查点

在实际配置中,跨区域不通通常不是单一对象的问题,而是多层对象未对齐。建议按以下顺序排查:第一,两端 VCN CIDR 是否重叠;第二,RPC 是否处于“已连接”状态;第三,两端 DRG 路由表是否有指向对端 CIDR 的路由;第四,两端子网路由表是否指向 DRG;第五,安全列表和 NSG 是否放行对端 CIDR 和端口。这五步覆盖了从地址、对等、路由到安全策略的完整链路。

示例参数(教学假设):主区域 VCN 10.10.0.0/16,备区域 VCN 10.20.0.0/16;主区域 App 子网 10.10.2.0/24 访问备区域 DB 子网 10.20.3.0/24 的 1521 端口。需同时配置:主区域 App 子网路由表 10.20.0.0/16 → DRG-A;DRG-A 路由表 10.20.0.0/16 → RPC-A;备区域 DRG-B 路由表 10.10.0.0/16 → RPC-B;备区域 DB 子网路由表 10.10.0.0/16 → DRG-B;以及两端 NSG 放行 1521 端口。

需要特别注意的是,DRG 路由表和 VCN 子网路由表是两层独立配置。子网路由表只负责把流量“交给 DRG”,DRG 路由表才决定“从哪个 RPC 或隧道出去”。很多跨区域不通的案例,问题就出在子网路由表已指向 DRG,但 DRG 路由表缺少对端 CIDR 的路由条目。此外,RPC 建立后不会自动传播路由,必须手动在两端 DRG 上添加路由规则,这是 OCI 多区域互联与某些云厂商“自动路由传播”模式的重要区别。

在多区域高可用架构中,VCN、子网、路由表、安全列表、NSG 是区域内的“基础网络层”,DRG 和 RPC 是跨区域的“互联层”。基础网络层决定实例能否在区域内正常通信,互联层决定区域之间能否互为备份。两者必须协同设计:CIDR 规划要预留扩展空间,路由表要成对配置,安全策略要显式放行对端地址段。只有这些对象在多区域视角下形成闭环,后续的数据库跨区域复制、应用跨区域切换、负载均衡跨区域容灾才有可靠的网络底座。