在故障转移期间保留 IP 地址

Azure Site Recovery 通过将 VM 复制到另一个 Azure 区域,为 Azure VM 启用灾难恢复。 如果发生中断,则会故障转移到主要区域,当情况恢复正常时,它会故障回复到主要区域。

在故障转移期间,可能想要将 IP 地址保留在与源区域相同的目标区域中:

  • 默认情况下,为 Azure VM 启动灾难恢复时,Site Recovery 将根据源资源设置创建目标资源。 对于配置了静态 IP 地址的 Azure VM,Site Recovery 会尝试为目标 VM 预配相同的 IP 地址(如果可用)。 有关 Site Recovery 如何处理寻址的完整介绍,请参阅本文
  • 对于简单的应用程序,默认配置就足够了。 对于更复杂的应用,可能需要预配其他资源,以确保连接在故障转移后按预期工作。

本文提供在较复杂的示例方案中保留 IP 地址的一些示例。 示例包括:

  • 针对在 Azure 中运行所有资源的公司的故障转移
  • 针对使用混合部署并同时在本地和 Azure 中运行资源的公司的故障转移

Azure 中的资源:完全故障转移

公司 A 在 Azure 中运行其所有应用。

在故障转移之前

以下是故障转移之前的体系结构。

  • 公司 A 在源和目标 Azure 区域中具有相同的网络和子网。
  • 为了降低恢复时间目标(RTO),公司在 SQL Server Always On、域控制器和其他服务中使用副本节点。 这些副本节点位于目标区域中的不同 VNet 中,因此可以在源区域和目标区域之间建立 VPN 站点到站点连接。 如果源和目标使用相同的 IP 地址空间,则无法建立此连接。
  • 故障转移前,网络体系结构如下所示:
    • 主要区域是 Azure 中国东部

      • 中国东部有一个 VNet(源 VNet),地址空间为 10.1.0.0/16。

      • 中国东部地区的工作负荷分布在三个虚拟网络 (VNet) 子网中。

        • 子网 1:10.1.1.0/24
        • 子网 2:10.1.2.0/24
        • 子网 3:10.1.3.0/24
    • 次要(目标)区域是 Azure 中国北部

      • 中国北部的恢复 VNet(恢复 VNet)与 源 VNet 相同。
      • 中国北部有一个额外的 VNet(Azure VNet),地址空间为 10.2.0.0/16。
      • Azure VNet 包含地址空间为 10.2.4.0/24 的子网(子网 4)
      • SQL Server Always On、域控制器和其他服务的副本节点位于 子网 4 中。
    • 源 VNetAzure VNet 使用 VPN 站点到站点连接进行连接。

    • 恢复 VNet 未连接到任何其他虚拟网络。

    • 公司 A 分配并验证复制项的目标 IP 地址。 目标 IP 地址与每个 VM 的源 IP 地址相同。

在完全故障转移之前,Azure 中的资源。

故障转移后

如果源区域发生故障,公司 A 可将其所有资源故障转移到目标区域。

  • 通过使用故障转移之前已到位的目标 IP 地址,公司 A 可以协调故障转移,并在 恢复 VNetAzure VNet 之间故障转移后自动建立连接。 下图演示了此过程。
  • 根据应用要求,可以在故障转移之前、期间(作为中间步骤)或之后在目标区域中的两个 VNet(恢复 VNetAzure VNet)之间建立连接。
    • 使用 恢复计划 指定建立连接的时间。

    • 使用 VNet 对等互连或站点到站点 VPN 连接 VNet。

      • VNet 对等互连无需使用 VPN 网关,并且有不同的限制条件。
      • VNet 对等互连定价的计算不同于 VNet 到 VNet VPN 网关定价的计算。 对于故障转移,请使用与源网络相同的连接方法(包括连接类型)来最大程度地减少不可预知的网络事件。

      Azure 中资源完全故障转移。

Azure 中的资源:独立应用故障转移

可能需要在应用层面进行故障转移。 例如,当位于专用子网的特定应用程序或应用层发生故障时进行切换。

  • 在此方案中,尽管可以保留 IP 地址,但通常不建议这样做,因为这将增加连接不一致的可能性。 你还将失去与同一 Azure VNet 中的其他子网的子网连接。
  • 对子网级别应用执行故障转移的更好方法是:使用不同的目标 IP 地址进行故障转移(如果需要与源 VNet 上的其他子网建立连接),或者在源区域中将每个应用隔离在其自己的专用 VNet 中。 使用后一种方法可以在源区域中的网络之间建立连接性,并且在切换到目标区域时可以实现相同行为。

在此示例中,公司 A 将源区域中的应用放置在专用 VNet 中,并在这些 VNet 之间建立连接。 借助此设计,他们可以执行独立应用故障转移,并在目标网络中保留源专用 IP 地址。

在故障转移之前

故障转移前,系统架构如下:

  • 您在 Azure 中国东部主区域托管应用程序虚拟机:

    • App1 VM 位于 VNet 源 VNet 1:10.1.0.0/16 中。
    • App2 VM 位于 VNet 源 VNet 2:10.2.0.0/16 中。
    • 源 VNet 1 包含两个子网
    • 源 VNet 2 包含两个子网
  • 使用 Azure 中国北部作为次要(目标)区域。

    • 中国北部有恢复 VNet(恢复 VNet 1恢复 VNet 2),与源 VNet 1源 VNet 2相同。
      • 恢复 VNet 1恢复 VNet 2 各有两个子网,这些子网与 源 VNet 1源 VNet 2 中的子网匹配。
    • 中国北部有一个额外的 VNet(Azure VNet),地址空间为 10.3.0.0/16。
      • Azure VNet 包含地址空间为 10.3.4.0/24 的子网(子网 4)。
      • SQL Server Always On、域控制器和其他服务的副本节点位于 子网 4 中。
  • 创建多个站点到站点 VPN 连接:

    • 源 VNet 1Azure VNet
    • 源 VNet 2 和 Azure VNet
    • 源 VNet 1 和源 VNet 2 通过站点到站点 VPN 进行连接
  • 恢复 VNet 1 和恢复 VNet 2 没有连接到任何其他 VNet。

  • 公司 A 在恢复 VNet 1 和恢复 VNet 2 上配置 VPN 网关,以减少 RTO。

  • 若要减少恢复时间目标(RTO),请在故障转移前在 恢复 VNet1恢复 VNet2 上配置 VPN 网关。

    在应用故障转移之前,Azure 中的资源。

故障转移后

如果发生中断或影响 源 VNet 2 中单个应用的问题(在本示例中), 公司 A 可以恢复受影响的应用,如下所示:

  • 断开源 VNet1 与源 VNet2,以及源 VNet2 与 Azure VNet 之间的 VPN 连接
  • 建立在 源 VNet1恢复 VNet2 之间的 VPN 连接,以及在 恢复 VNet2Azure VNet 之间的 VPN 连接。
  • 将源 VNet2 中的 VM 故障转移到恢复 VNet2

Azure 应用故障转移中的资源。

  • 可以展开此示例以包含更多应用程序和网络连接。 在从源故障转移到目标时,尽可能遵循相似的连接模型。
  • VPN 网关使用公共 IP 地址和网关跃点建立连接。 如果不想使用公共 IP 地址,或希望避免额外的跃点,可以使用 Azure VNet 对等互连受支持的 Azure 区域之间将虚拟网络对等互连。

混合资源:完全故障转移

在此方案中,公司 B 实行混合部署,其在 Azure 中运行一部分应用程序基础结构,并在本地运行剩余的基础结构

在故障转移之前

下面是故障转移前网络体系结构的外观。

  • 在 Azure 中国东部托管应用程序虚拟机。

  • 中国东部有一个 VNet(源 VNet),地址空间为 10.1.0.0/16。

    • 中国东部地区的工作负荷在 源 VNet 中分布在三个子网之间:
      • 子网 1:10.1.1.0/24
      • 子网 2:10.1.2.0/24
      • 子网 3:10.1.3.0/24(使用地址空间为 10.1.0.0/16 的 Azure 虚拟网络)。 此虚拟网络名为“源 VNet”
  • 次要(目标)区域是 Azure 中国北部:

    • 中国北部的恢复 VNet(恢复 VNet)与 源 VNet 相同。
  • 使用 Azure ExpressRoute 或站点到站点 VPN 将中国东部的 VM 连接到本地数据中心。

  • 为了减少 RTO,在故障转移之前,公司 B 在 Azure 中国北部的 恢复 VNet 上预配网关。

  • 公司 B 分配并验证复制 VM 的目标 IP 地址。 每个 VM 的目标 IP 地址均与源 IP 地址相同。

故障转移前的本地到 Azure 连接。

故障转移后

如果发生源区域的故障,公司 B 可以将其所有资源切换至目标区域。

  • 通过使用故障转移之前已到位的目标 IP 地址,公司 B 可以协调故障转移,并在 恢复 VNetAzure VNet 之间故障转移后自动建立连接。

  • 根据应用要求,可以在故障转移之前、期间(作为中间步骤)或之后在目标区域中的两个 VNet(恢复 VNetAzure VNet)之间建立连接。 该公司可以使用恢复计划来指定何时建立连接。

  • 在建立 Azure 中国北部与本地数据中心之间的连接之前,请断开 Azure 中国东部与本地数据中心之间的原始连接。

  • 在故障转移后,重新配置内部路由,使其指向目标区域和网关。

故障转移后本地到 Azure 的连接。

混合资源:独立应用故障转移

公司 B 无法在子网级别故障转移隔离应用。 存在此限制,因为源和恢复 VNet 上的地址空间相同,并且原始源到本地连接处于活动状态。

  • 为了提高应用复原能力,公司 B 需要将每个应用置于其自己的专用 Azure VNet 中。
  • 通过将每个应用放置在单独的 VNet 中,公司 B 可以对隔离的应用进行故障转移,并将源连接路由到目标区域。

后续步骤

了解恢复计划