将 ExpressRoute 与 Azure 虚拟机的灾难恢复集成

本文描述了如何将 Azure ExpressRoute 与 Azure Site Recovery 集成,以在 Azure 虚拟机设置灾难恢复时,将其恢复到另一个 Azure 区域。

Site Recovery通过将Azure虚拟机数据复制到Azure,实现Azure虚拟机的灾难恢复。

  • 如果 Azure 虚拟机使用 Azure 托管磁盘,则会将虚拟机数据复制到次要区域中的复制托管磁盘。
  • 如果Azure虚拟机不使用托管磁盘,则会将虚拟机数据复制到Azure存储帐户。
  • 复制终结点是公共的,但Azure虚拟机的复制流量不会通过 Internet。

使用 ExpressRoute,可以通过私有连接将本地网络扩展到 Azure 云服务,由连接提供商提供支持。 如果配置了 ExpressRoute,它将与Site Recovery集成,如下所示:

  • 在Azure区域之间进行复制:Azure虚拟机灾难恢复的复制流量仅在Azure内部进行,无需使用ExpressRoute进行复制。 但是,如果要从本地站点连接到主Azure站点中的Azure虚拟机,在为这些Azure虚拟机设置灾难恢复时,需要注意许多问题。
  • Azure 区域之间的故障转移:当发生中断时,将 Azure 虚拟机从主 Azure 区域故障转移到辅助 Azure 区域。 故障转移到次要区域后,需要执行许多步骤才能使用 ExpressRoute 访问次要区域中的Azure虚拟机。

在您开始之前

在开始之前,请确保了解以下概念:

一般建议

为了获得最佳做法,并确保实现灾难恢复的有效恢复时间目标(RTO),建议在设置Site Recovery以与 ExpressRoute 集成时执行以下操作:

  • 在故障转移到次要区域前预配网络组件:
    • 为Azure虚拟机启用复制时,Site Recovery可以使用源网络设置自动部署网络资源。 例如,目标Azure区域中的网络、子网和网关。
    • Site Recovery无法自动设置网络资源,例如 VNet 网关。
    • 我们建议您在故障转移前预配这些额外的网络资源。 此部署会导致较短的停机时间,如果在部署规划期间未考虑此停机时间,则它可能会影响整体恢复时间。
  • 定期进行灾难恢复演练:
    • 演练可在不丢失数据或停机的情况下验证您的复制策略,并且不影响生产环境。 它有助于避免可能对 RTO 产生负面影响的最后时刻配置问题。
    • 为演练运行测试故障转移时,建议使用单独的Azure虚拟机网络,而不是复制期间设置的默认网络。
  • 如果具有单一 ExpressRoute 线路,请使用不同的 IP 地址空间。
    • 建议为目标虚拟网络使用不同的 IP 地址空间。 这可避免在区域中断期间建立连接时出现的问题。
    • 如果不能单独使用地址空间,请务必在使用不同 IP 地址的独立测试网络上执行灾难恢复演练和故障切换测试。 无法将具有重叠 IP 地址空间的两个 VNet 连接到同一 ExpressRoute 线路。

使用 ExpressRoute 时复制 Azure 虚拟机

如果要为主站点中的Azure虚拟机设置复制,并且要通过 ExpressRoute 从本地站点连接到这些虚拟机,需要执行以下操作:

  1. 为每个 Azure 虚拟机启用复制。
  2. (可选)让Site Recovery设置网络:
    • 配置和启用复制时,Site Recovery在目标Azure区域中设置网络、子网和网关子网,以匹配源区域中的网络、子网和网关子网。 Site Recovery还会在源虚拟网络和目标虚拟网络之间映射。
    • 如果不希望Site Recovery自动执行此操作,请在启用复制之前创建目标端网络资源。
  3. 创建其他网络元素:
    • Site Recovery不会在次要区域中创建路由表、VNet 网关、VNet 网关连接、VNet 对等互连或其他网络资源和连接。
    • 在从主要区域运行故障转移之前,需要在次要区域中创建这些额外的网络元素。
    • 可以使用恢复计划和自动化脚本来设置和连接这些网络资源。
  4. 如果为控制网络流量而部署了网络虚拟设备 (NVA):
    • Azure用于Azure虚拟机复制的默认系统路由为 0.0.0.0/0。
    • 通常,NVA 部署还会定义默认路由 (0.0.0.0/0),用于强制出站 Internet 流量流经 NVA。 如果找不到其他特定路由配置,则将使用默认路由。
    • 在这种情况下,如果所有复制流量都通过 NVA,则 NVA 可能会过载。
    • 使用默认路由将所有Azure虚拟机流量路由到本地部署时,也适用相同的限制。
    • 在此方案中,我们建议在您的虚拟网络中为 Microsoft.Storage 服务创建一个网络服务终结点,以确保复制流量不会离开 Azure 边界。

复制示例

在典型的企业部署中,工作负载分布在多个Azure VNet 中,具有用于 Internet 和本地连接的中心。 此设置通常使用带有 ExpressRoute 的中心辐射型拓扑。

故障转移前通过 ExpressRoute 连接本地环境到 Azure

  • 区域。 应用部署在Azure中国东部 2 区域。
  • 分支 VNet。 应用部署在两个分支 vNet 中:
    • 源 vNet1:10.1.0.0/24。
    • 源 vNet2:10.2.0.0/24。
    • 每个分支虚拟网络都连接到Hub vNet。
  • Hub vNet。 有一个中心 vNet“源中心 vNet”:10.10.10.0/24。
    • 此中心 vNet 充当网关守卫。
    • 跨子网的所有通信都通过此中心进行。
      • Hub vNet 子网。 中心 vNet 具有两个子网:
      • NVA 子网:10.10.10.0/25。 此子网包含 NVA (10.10.10.10)。
      • 网关子网:10.10.10.128/25。 此子网包含一个 ExpressRoute 网关,该网关通过私有对等路由域连接至 ExpressRoute 连接,然后路由到本地站点。
  • 本地数据中心通过广州的合作伙伴边缘建立 ExpressRoute 线路连接。
  • 所有路由都通过Azure路由表(UDR)进行控制。
  • vNet 之间或流向本地数据中心的所有出站流量都经过 NVA 路由。

中心和分支对等互连设置

辐射到中心

方向 设置 州
辐射到中心 允许虚拟网络地址 已启用
辐射到中心 允许转发流量 已启用
辐射到中心 允许网关传输 禁用
辐射到中心 使用删除网关 已启用

分支到中心对等互连配置

中心到分支

方向 设置 州
中心到分支 允许虚拟网络地址 已启用
中心到分支 允许转发流量 已启用
中心到分支 允许网关传输 已启用
中心到分支 使用删除网关 禁用

中心到分支对等互连配置

示例步骤

在本示例中,在源网络中为Azure虚拟机启用复制时,应发生以下情况:

  1. 您为虚拟机启用复制。
  2. Site Recovery在目标区域中创建副本 vNet、子网和网关子网。
  3. Site Recovery在源网络和创建的副本目标网络之间创建映射。
  4. 手动创建虚拟网络网关、虚拟网络网关连接、虚拟网络对等互连,或其他任何网络资源或连接。

使用 ExpressRoute 时故障转移Azure虚拟机

使用 Site Recovery 将 Azure 虚拟机故障转移到目标 Azure 区域后,可以通过 ExpressRoute 中的 私有对等互连 来访问这些虚拟机。

  • 需要使用新连接将 ExpressRoute 连接到目标 vNet。 现有的 ExpressRoute 连接不会自动传输。
  • 将 ExpressRoute 连接设置为目标 vNet 的方式取决于 ExpressRoute 拓扑。

使用两条线路进行访问

具有两个对等互连位置的两条线路

此配置有助于保护 ExpressRoute 线路免遭区域性灾难。 如果主要对等互连位置发生故障,可以从其他位置继续连接。

  • 连接到生产环境的线路通常为主要线路。 次要线路的带宽通常较低,如果发生灾难,可以增加此带宽。
  • 故障转移后,可以建立从次要 ExpressRoute 线路到目标虚拟网络 (vNet) 的连接。 或者,可以在发生灾难时设置并准备好连接,以减少总体恢复时间。
  • 在同时连接到主要和目标 vNet 时,请确保本地路由仅在故障转移后才使用次要线路和连接。
  • 故障转移后,源和目标 vNet 可以接收新的 IP 地址,或保留相同的 IP 地址。 在这两种情况下,都可在故障转移之前建立次要连接。

具有单个对等互连位置的两条线路

此配置有助于防止主要 ExpressRoute 线路出现故障,但如果单个 ExpressRoute 对等互连位置发生故障,则会影响两条线路。

  • 可以从本地数据中心同时使用主要线路连接到源 vNEt 和使用次要线路连接到目标 vNet。
  • 在同时连接到主干网络和目标网络时,确保本地网络路由仅在故障转移后才使用次要线路和连接。

使用单个电路进行访问

在此配置中,只有一条 Expressroute 线路。 虽然在某条线路出现故障的情况下,线路具有冗余连接,但如果对等互连区域发生故障,则单条路由线路将无法提供恢复能力。 请注意:

  • 如果目标Azure区域与源不在同一位置,则如果使用单个 ExpressRoute 线路,则需要启用 ExpressRoute Premium。 请了解 ExpressRoute 位置和 ExpressRoute 定价。
  • 如果在目标区域上使用了相同的 IP 地址空间,则无法将源和目标 vNet 同时连接到线路。 在这种情况下:
    • 断开源侧连接,然后建立目标侧连接。 此连接更改可以作为“Site Recovery”恢复计划的一部分编写脚本。 请注意:
      • 在发生区域故障时,如果主要区域不可访问,则断开连接操作可能失败。 这可能会影响到目标区域的连接创建。
      • 如果在目标区域中创建了连接,并且主要区域稍后已恢复,在同时连接尝试连接到同一地址空间的情况下,可能会出现丢包的情况。
      • 若要防止发生此情况,请立即终止主要连接。
      • 在虚拟机故障转回主要区域后,需要先断开次要连接,然后才能再次建立主要连接。
  • 如果在目标 vNet 上使用不同的地址空间,则可以从同一 ExpressRoute 线路同时连接到源和目标 vNet。

故障转移示例

在本示例中,我们使用以下拓扑:

  • 两个不同对等互连位置中的两条不同 ExpressRoute 线路。

  • 在故障转移后保留Azure虚拟机的专用 IP 地址。

  • 目标恢复区域是 Azure 中国北部 3。

  • 辅助 ExpressRoute 线路连接是通过天金的合作伙伴边缘建立的。

有关在故障转移后使用具有相同 IP 地址的单条 ExpressRoute 线路的简单拓扑,请查看本文。

示例步骤

若要在本示例中自动执行恢复,需要执行以下操作:

  1. 按照设置复制的步骤执行操作。

  2. 在故障转移期间或之后,对 Azure 虚拟机执行故障转移,并进行这些额外步骤。

    a。 在目标区域中心 VNet 中创建Azure ExpressRoute网关。 这需要将目标中心 vNet 连接到 ExpressRoute 线路。

    b. 创建从目标中心 vNet 到目标 ExpressRoute 线路的连接。

    选项c. 在目标区域的中心与分支虚拟网络之间设置 VNet 对等互连。 目标区域中的对等互连属性与源区域中的属性完全相同。

    d。 在中心 VNet 和两个分支 VNet 中设置 UDR。

    • 使用相同的 IP 地址时,目标端 UDR 的属性与源端中的属性相同。
    • 使用不同的目标 IP 地址时,应相应地修改 UDR。

可在恢复计划中编写上述步骤的脚本。 根据应用程序连接和恢复时间要求,也可以在开始故障转移之前完成上述步骤。

恢复后

恢复虚拟机并完成连接后,恢复环境如下。

故障转移后 On-premises-to-Azure 的 ExpressRoute 使用

后续步骤

详细了解如何使用恢复计划自动执行应用故障转移。