为网络资源规划高可用性

使用 Oracle Cloud Infrastructure 的第一个步骤之一是为云资源设置虚拟云网络 (virtual cloud network,VCN)。确保此网络的高可用性是架构设计中最重要的考虑因素之一。

要规划网络资源的高可用性,应考虑的主要设计策略包括:
  • 确定网络子网的正确大小。
  • 为以下关键组件计划高可用性配置:负载平衡器、IPSec VPN 连接和 FastConnect 线路。
本文介绍了这些策略。

确定子网的正确大小

子网是云网络的细分。要建立网络的高可用性,需要正确调整此资源的大小。

VCN 中的每个子网都包含一组不与 VCN 中的其他子网重叠的连续 IP 地址(例如 172.16.1.0/24)。子网 CIDR 中的前两个 IP 地址和最后一个 IP 地址由 Oracle Cloud Infrastructure Networking 服务保留。在创建子网后无法更改子网的大小,因此务必在创建任何子网之前确定所需的大小。考虑负载的未来增长,并留出足够的容量来满足高可用性要求,例如需要设置备用计算实例。

计划负载平衡器的高可用性

Oracle Cloud Infrastructure Load Balancing 提供从一个入口点到可从 VCN 访问的多个服务器的自动流量分配。该服务提供了一个负载平衡器,您可以选择公共或专用 IP 地址以及预配的带宽。

负载平衡服务可提高资源利用率、促进扩展并帮助确保高可用性。它支持根据虚拟主机名、路径路由规则或这两者的组合将传入请求路由到各种后端集。

要接受来自互联网的流量,您需要创建公共负载平衡器。该服务会为其分配一个公共 IP 地址,用作传入流量的入口点。您可以通过任何 DNS 供应商将公共 IP 地址与友好 DNS 名称关联。

公共负载平衡器属于区域范围。它在可用性域中本来具有高可用性。在具有单个可用性域的区域中,负载平衡器节点分布在多个容错域中。要为系统实现高可用性,可以将系统放在公共负载平衡器后面。例如,您可以将 Web 服务器 VM 作为后端服务器集放在公共负载平衡器后面,如下图所示:



注:

该体系结构显示多个可用性域 (Availability Domain,AD)。对于具有单个 AD 的区域,请调整体系结构以在 AD 中的容错域中分配资源。

要将负载平衡器从互联网隔离并简化安全状况,您需要创建专用负载平衡器。负载平衡服务会为其分配一个专用 IP 地址,用作传入流量的入口点。

创建专用负载平衡器时,服务只需要一个子网即可托管主负载平衡器和备用负载平衡器。负载平衡器可以特定于区域或 AD,具体取决于其主机子网的范围

后面是 pvt-lb.png 的说明
插图 pvt-lb.png 的说明

注:

该体系结构显示多个可用性域 (Availability Domain,AD)。对于具有单个 AD 的区域,请调整体系结构以在 AD 中的容错域中分配资源。
为了在可用性域之间提供高可用性,您可以在 Oracle Cloud Infrastructure 上配置多个专用负载平衡器,并使用内部部署或专用 DNS 服务器设置包含专用负载平衡器的 IP 地址的循环 DNS 配置。以下是此处理的概览:
  1. 部署两个专用负载平衡器,每个可用性域一个。
  2. 在 VCN 中配置两个定制 DNS VM。
  3. 修改 VCN 默认 DHCP 选项以使用定制 DNS 解析程序,并将 DNS 服务器设置为 DNS VM 的 IP 地址。
  4. 为 TTL 较低的专用负载平衡器 FQDN 添加新的循环 DNS 区域条目。
  5. 添加两条 A 记录,其中包含两个专用负载平衡器的 IP 地址。
  6. 访问专用负载平衡器时,请使用专用负载平衡器的 FQDN。

了解 FastConnect 和 VPN 高可用性设计

了解如何设计网络以实现冗余,从而满足 Oracle Cloud Infrastructure IPSec VPN 和 FastConnect 服务级别协议的要求,可确保高度可用、容错的网络连接,这些连接是受良好约束的系统的关键。

组织的业务可用性和应用程序要求有助于在设计远程连接时确定最合适的配置。不过,一般来说,您应该考虑在您的位置与 Oracle 数据中心之间使用冗余硬件和网络服务提供商。最强大的选项是将多个 FastConnect 连接用于来自不同网络服务提供商的电路。为了实现网络的高可用性,我们建议使用以下最佳实践:
  • 安排由 Oracle、您的提供商或您自己的组织进行定期维护。
  • 避免单点故障,即使您计划使用多个接口实现可用性也是如此。高可用性连接需要冗余硬件,即使从同一物理位置进行连接也是如此。
  • 在选择 FastConnect 提供程序时,请考虑采用双重提供者方法来确保网络多样性。
  • 预配足够的网络容量,以确保一个网络连接的故障不会造成冗余连接过多和降级。

为 IPSec VPN 连接规划高可用性

您可以选择实施 IPSec VPN 连接,将您的数据中心连接到 Oracle Cloud Infrastructure。IPSec VPN 连接易于设置且经济高效。

为了实现冗余,每个 Oracle Cloud Infrastructure 动态路由网关 (Dynamic Routing Gateway,DRG) 都具有多个 VPN 端点,以便每个 IPSec VPN 连接由多个使用静态路由来路由流量的冗余 IPSec 隧道组成。为了确保高可用性,必须在内部网络中设置 VPN 连接,以便在需要时使用任一路径,如下图所示:

后面是 vpn-redundancy.png 的说明
插图 vpn-redundancy.png 的说明

如果您的数据中心多个地理位置,我们建议除了使用特定地理位置的 CIDR 外,还使用宽泛的 CIDR (0.0.0.0/0) 作为静态路由。这种广泛的 CIDR 为您的网络设计提供了高可用性和灵活性。

例如,下图显示了每个连接到 Oracle Cloud Infrastructure 的不同地理区域中的两个网络。每个区域都有一个内部部署路由器,因此可以创建两个 IPSec VPN 连接。请注意,每个 IPSec VPN 连接有两个静态路由:一个用于特定地理区域的 CIDR,另一个用于宽泛的 0.0.0.0/0 静态路由。

下面是冗余 - 多个内部 -network.png 的说明
插图 redundancy-multiple-onprem-network.png 的说明

在一个方案中,上图中的 CPE 1 路由器将关闭。如果子网 1 和子网 2 可以相互通信,则 VCN 仍能够访问子网 1 中的系统,因为存在转到 CPE 2 的 0.0.0.0/0 静态路由。下表说明了该方案:

后面是 vpn-redundancy-multiple-onprem-networks-failover.png 的说明
插图 vpn-redundancy-multiple-onprem-networks-failover.png 的说明

在另一个方案中,添加具有子网 3 的新地理区域并将其连接到子网 2。您需要向 VCN 的子网 3 路由表添加路由规则,以便 VCN 可以访问子网 3 中的系统,而无需创建新的 VPN 连接,因为存在转到 CPE 2 的 0.0.0.0/0 静态路由。下表说明了该方案:

后面是 vpn-redundancy-additional-onprem-network.png 的说明
插图 vpn-redundancy-additional-onprem-network.png 的说明

计划 FastConnect 线路的高可用性

Oracle Cloud Infrastructure FastConnect 提供了在您的数据中心与 Oracle Cloud Infrastructure 之间创建私有专用连接的简单方式。FastConnect 与基于 Internet 的连接相比,提供更高的带宽选项和更可靠、更一致的联网体验。

使用 FastConnect,您可以选择使用专用对等连接和/或公共对等连接。
  • 使用专用对等连接将现有基础设施扩展到 Oracle Cloud Infrastructure 中的虚拟云网络 (virtual cloud network,VCN)(例如,实施混合云或在平移方案中)。连接之间的通信使用 IPv4 专用地址(通常为 RFC 1918)。
  • 使用公共对等连接在不使用 Internet 的情况下访问 Oracle Cloud Infrastructure 中的公共服务(例如,访问 Oracle Cloud Infrastructure 控制台和 API 或 VCN 中的公共负载平衡器)。连接之间的通信通过 IPv4 公共 IP 地址进行。如果没有 FastConnect,则发送到公共 IP 地址的流量将通过互联网进行路由。使用 FastConnect 时,该流量将通过您的专用物理连接传输。

您可以直接连接到提供商存在点 (POP) 中的 Oracle Cloud Infrastructure 路由器,也可以使用 Oracle 的众多合作伙伴之一从全球 POP 连接到您的 Oracle Cloud Infrastructure Networking 资源。Oracle 提供的功能允许您构建具有容错能力的连接,包括每个区域的多个 POP 以及每个 POP 的多个 FastConnect 路由器。

要避免 FastConnect 出现单点故障,请考虑以下冗余选项:
  • 每个地铁区域中多个 FastConnect 位置
  • 每个 FastConnect 位置包含多个路由器
  • 每个 FastConnect 位置多个物理线路
Oracle 处理 FastConnect 位置的路由器和物理线路的冗余。在使用 FastConnect 的网络设计中,我们建议您考虑采用以下冗余配置来满足高可用性需求:
  • 可用性域冗余:连接到区域内任何可用性域中的任何 FastConnect 位置和访问服务。此配置通过每个区域多个 POP 实现可用性域弹性。对等连接终止于 POP 中的路由器。
  • 数据中心位置冗余:在每个区域的两个不同 FastConnect 位置进行连接。
  • 路由器冗余:每个 FastConnect 位置连接到两个不同的路由器。
  • 线路冗余:在任何 FastConnect 位置都具有多个物理连接。其中每个电路都可以在聚合接口/LAG 中具有多个物理链路,这会增加另一级别的冗余。
  • 合作伙伴/提供商冗余:使用单个或多个合作伙伴连接到 FastConnect 位置。
根据内部部署数据中心的位置,可以通过以下方式之一建立 FastConnect 连接:
  • 托管(端口速度为 10 Gbps):通过在 FastConnect 位置与 Oracle 共存
  • Oracle 提供商(以 1 Gbps 和 10 Gbps 为增量表示的端口速度):通过连接到 Oracle 提供商
在托管方案中,交叉连接是指将现有网络连接到 FastConnect 位置中的 Oracle 的物理电缆。预配 FastConnect 服务时,我们建议您至少设置两个交叉连接。每个交叉连接都应连接到不同的路由器,这样一个路由器中的故障不会影响您与 Oracle Cloud Infrastructure 资源的连接。在进行第一个交叉连接后,您可以请求在与第一个交叉连接不同的 Oracle FastConnect 路由器上预配第二个交叉连接。应在两个冗余链路上预配新的虚拟线路,这样可确保内部部署网络与 Oracle Cloud Infrastructure VCN 之间(如果一个路由器出现故障)的连接。

对于 Oracle 提供商方案,建议您由同一提供商或不同提供商使用两个不同的 FastConnect 位置设置冗余线路。通过此配置,您可以在线路和数据中心级别都具有冗余。下图说明了两个虚拟线路和两个不同的 FastConnect 位置的 FastConnect 连接:

后面是 fastconnect-multiple-fc-locations.png 的说明
插图 fastconnect-multiple-fc-locations.png 的说明

Oracle FastConnect 合作伙伴具有到 Oracle 网络的冗余链接。作为合作伙伴的客户,您应该具有指向合作伙伴网络的冗余链接。这些连接应位于不同的路由器上,无论是在您的网络还是在合作伙伴的网络中。预配虚拟线路时,请跨多个提供商链路进行预配。

下图说明了以下冗余连接:

后面是 fastconnect-dual-vc.png 的说明
插图 fastconnect-dual-vc.png 的说明

您应该考虑的一些其他配置策略是:
  • 避免在计划内维护期间产生影响

    当您要对其中一个路由器执行维护时,您可以对通过其虚拟线路获悉的路由配置边界网关协议 (BGP) 本地首选项,以便路由器上的本地首选项更高,这样该路由器将保持正常运行。BGP 本地首选项用于修改内部部署网络中的出站流量首选项。

    您可以使用 BGP AS 预处理功能修改从 Oracle 到您网络的流量。在将执行维护的路由器上,在本地 BGP AS 编号前面添加。这样做会导致 Oracle Cloud 网络更喜欢具有较短 AS 路径的 FastConnect 虚拟线路。

    在修改 BGP 本地首选项和 AS 预处理之后,监视路由器的虚拟线路接口计数器并验证传入和传出数据包计数器速率是否非常低。链路上剩余的唯一流量应为 BGP 协议流量。

  • 持续测试冗余路径

    在正常运行期间,我们建议在内部部署网络与 Oracle Cloud 之间使用所有可用路径。这样做可以确保在发生故障时冗余路径已经正常工作。或者,使用活动/备份设计意味着您相信备份路径在失败期间将起作用。因此,应考虑使用等效的 BGP 本地首选项和 BGP AS 路径长度。

同时使用 IPSec VPN 和 FastConnect

要获得额外的冗余级别,可以设置 IPSec VPN 和 FastConnect,将内部部署数据中心连接到 Oracle Cloud Infrastructure。

当您同时为同一 DRG 设置 IPSec VPN 连接和 FastConnect 虚拟线路时,请记住 IPSec VPN 使用静态路由,但 FastConnect 使用 BGP。Oracle Cloud Infrastructure 通过 FastConnect 虚拟线路 BGP 会话为每个 VCN 子网告知一个路由,如果静态路由与内部部署网络告知的路由重叠,则覆盖默认路由选择行为,优先选择基于静态路由的 BGP 路由。下表说明了此配置:

后面是 vpn_fastconnect.png 的说明
插图 vpn_fastconnect.png 的说明