设置将 Microsoft Azure 的网络基础结构以支持设置为灾难恢复站点

Prateek Sharma云 + Enterprise 高级项目经理

Azure Site Recovery (ASR) 可以将 Microsoft Azure 用作您的虚拟机的灾难恢复站点。

当管理员考虑向应用程序添加灾难恢复功能时,需要全盘考虑网络基础结构并制定相应计划,以便在停机时间最短的情况下完成故障转移,让用户能够访问应用程序。本文举例说明了如何设置必要的网络基础结构。我们首先介绍应用程序,然后了解如何在内部部署和 Azure 上完成网络设置,最后介绍如何执行测试故障转移和计划故障转移。

1. 应用程序

在本示例中,我们采用一个基于 IIS 的两层应用程序,它使用 SQL Server 作为后端。

在上图中,有一个名为 Contoso 的组织安装了Active Directory。还有一个两层IIS Web 应用程序使用 SQL Server作为其后端。SQL Server 通过 Windows 身份验证完成身份验证,所有虚拟机均加入 contoso.com 域。组织内部的办公室用户以及使用移动设备的员工均可访问该应用程序。外出员工使用 VPN 连接到组织网络。

2. 内部部署网络

contoso.com 的内部部署基础结构由 VMM 2012 R2 Server 管理。系统已经在 VMM Server 上创建一个名为 Application Network 的基于 VLAN 的逻辑网络,并使用此逻辑网络创建一个名为 Application VM Network 的虚拟机网络。应用程序中的所有虚拟机均使用静态 IP,因此,还为该逻辑网络定义了静态 IP 池。注意:如果虚拟机配置为使用 DHCP,则不需要静态 IP 池。

 

所有三个虚拟机中,作为 SQL 后端的域控制器和IIS 前端均加入了上一步骤中介绍的虚拟机网络。下面是指定给每个虚拟机的静态 IP

  • Active Directory 和 DNS – 192.168.0.3
  • SQL 后端 – 192.168.0.21
  • IIS 前端 – 192.168.0.22

3.Azure 网络

阅读 Azure 虚拟网络概述,了解有关 Azure 虚拟网络的基础知识。系统已经在 Microsoft Azure 中创建一个名为 AzureNetwork 的 Azure 虚拟网络。创建此网络时,内部部署 DNS Server 的 IP 给定为 DNS Server IP(本例中为 192.168.0.3)。该网络还启用了点到站点连接以及站点到站点连接。

AzureNetwork 使用地址范围 10.0.0.0 – 10.0.0.255

需要注意的是,出于两点主要原因,我们使用的地址范围与内部部署地址范围不同:

  • 我们需要使用内部部署网络建立站点到站点连接。S2S 网关不能在网络两端使用相同的 IP 范围
  • 如果内部部署正在运行多个应用程序,而我们希望该功能仅故障转移部分应用程序,而不转移整个子网

注意:如果没有上述两项要求,我们就可以定义与内部部署地址范围完全一致的地址范围。

4. 建立站点到站点连接和 AD 复制

Azure 中的网络应该只是内部部署网络的扩展,以便应用程序能够从一个站点无缝移至另一个站点。Azure 可以将站点到站点连接添加到在 Azure 中创建的虚拟网络。您可以在创建虚拟网络时添加站点到站点连接,也可以稍后添加。请在创建时参考将站点到站点连接添加到 Azure 虚拟网络的逐步指南。稍后添加站点到站点连接的步骤与此类似。

在两个站点间建立连接后,即可在 Azure 中创建 Active Directory 和 DNS Server。这样可以使在 Azure 中运行的应用程序不必转到内部部署 AD 和 DNS 来执行每个名称查找和身份验证请求。请按照下述步骤在 Azure 中创建 Active Directory:

  1. 建议您使用 Active Directory 站点和服务在内部部署 Active Directory 中为 AzureSite 另行创建一个站点
  2. 在第 3 步创建的网络上创建 IaaS VM
  3. 使用服务器管理器安装 Active Directory 域服务和 DNS 服务器角色
  4. 将服务器提升为域控制器时,指定内部部署域 contoso.com 的名称。IaaS 虚拟机应该能够将 contoso.com 解析为 DNS,就像在第 3 步我们指定内部部署 DNS 服务器的 IP 一样
  5. 在名为 AzureSite 的 Active Directory 站点(如果已创建)中添加此活动目录

因为已经在 Azure 中运行一个 DNS 服务器,因此从现在起,最好为已经创建的 IaaS 虚拟机使用此服务器。为此,我们转到 AzureNetwork 并修改 DNS 服务器 IP 以提供在上一步创建的虚拟机的 IP。

AD 复制频率: 可以使用 Active Directory 站点和服务更改 DNS 记录复制的频率。您可以按照本文说明在 Active Directory 站点之间安排复制

是否必须将 Active Directory DNS 复制到 Azure 如果正在制定应对全面站点灾难的计划,就必须将 Active Directory 复制到 Azure。但如果您预计要在某一时刻仅对部分应用程序执行计划故障转移,并且应用程序与 Active Directory 和 DNS 的通信不太频繁,您也可以选择不将 Active Directory 和 DNS 复制到 Azure。在这种情况下,您可以在从 Azure 创建的网络中提供内部部署 DNS 服务器的 IP。

5. 建立点到站点连接

在应用程序故障转移至 Azure 后,我们希望它仍支持使用移动设备的员工访问。要实现这一目标,我们需要创建到 AzureNetwork 的点到站点连接。链接中的文章提供了建立到 Azure 虚拟网络的点到站点 VPN 连接的逐步指南。建立此连接后,网络环境将如下图所示:

 

6.  创建测试网络

Azure Site Recovery 为您提供了执行测试故障转移的功能,不会影响生产工作负荷。为此必须另外创建一个 Azure 虚拟网络。创建另一个网络并使用在第 3 步创建的网络所使用的相同 IP 范围。我们将这个网络称为 AzureTestNetwork。只是不要在网络中添加站点到站点连接和点到站点连接。

7.   设置 Azure Site Recovery

现在,我们已经完成了基础结构设置,之后必须在 ASR 中完成下列步骤:

  1. 配置云
  2. 将“Application VM Network”映射到 AzureNetwork
  3. 为下列服务开启保护
    1. Active Directory – 尽管我们在生产环境中使用 AD 复制功能将 AD 复制到 Azure,我们在测试故障转移过程中还需要一个 AD 实例。这就是我们还需要使用 ASR 在 AD 上开启保护的原因。在测试故障转移中将如何使用 AD 的内容将在本文稍后的第 9 节中介绍
    2. IIS 前端
    3. SQL 后端

因为 ASR 入门指南ASR 部署指南已经对这些步骤做了详细阐释,本文不再赘述。完成此项设置后,网络环境将如下图所示:

8. 创建恢复计划

我们在创建恢复计划时,需要添加 IIS 前端和 SQL 后端这两个虚拟机。然后自定义恢复计划,方法是添加另一个组,并将虚拟机 IIS 前端移动到第 2 组中。我们希望首先故障转移 SQL 后端虚拟机,再启动 IIS 前端虚拟机,以便能够成功启动 IIS 应用程序。恢复计划应如下所示:

9. 执行测试故障转移或灾难恢复演习

组织必须定期执行测试故障转移或灾难恢复演习,检查灾难恢复措施是否完备以及是否满足合规性需求。ASR 为您提供了执行测试故障转移的功能,不会影响生产工作负荷。执行测试故障转移或灾难恢复演习时,我们将使用第 6 步中的测试网络。我们将按照下述步骤执行灾难恢复演习:

  1. 转到 ASR 中的 AD 虚拟机并在 AzureTestNetwork 中执行测试故障转移
  2. 在 AzureTestNetwork 中为 AD 创建 IaaS 虚拟机后,请检查为此虚拟机提供的 IP
  3. 如果 IP 与指定给 AzureTestNetwork 的 DNS 的 IP 不同,请将 DNS IP 修改为 AD VM 已获取的 IP。Azure 将从虚拟网络中定义的 IP 范围的第 4 个 IP 开始指定 IP。如果网络中添加的 IP 范围为 10.0.0.0 – 10.0.0.255,则此网中创建的第一个虚拟机的 IP 将为 10.0.0.4。因为 AD 将是灾难恢复演习中要执行故障转移的第一个虚拟机,您可以预测该虚拟机将要得到的 IP,并相应地将其添加为 AzureTestNetwork 中的 DNS IP
  4. 转到在第 8 步中创建的恢复计划并在 AzureTestNetwork 中执行测试故障转移。当虚拟机在 Azure 中进行故障转移并启动时,便会访问已在 AzureTestNetwork 中完成故障转移的 DNS 服务器并进行注册。此后AzureTestNetwork 中运行的 AD-DNS VM 将对恢复计划中的两个虚拟机使用更新后的 IP。注意,即使虚拟机之前使用静态 IP,此 IP 也可能与内部部署 IP 不同
  5. 在 AzureTestNetwork 中创建 IaaS 虚拟机
  6. 现在,应该能够使用 https://iisfrontend/ 从此 IaaS VM 访问 IIS 应用程序
  7. 完成测试后,您可以从 ASR 中的“作业”视图将测试故障转移标记为完成。这将删除在 AzureTestNetwork 上创建的虚拟机

10. 执行计划故障转移

为了执行应用程序的计划故障转移,我们需要转到在第 8 步创建的恢复计划,然后执行计划故障转移。完成计划故障转移并在 Azure 中启动虚拟机后,虚拟机将访问运行 DNS 的 Azure 服务器并更新其
IP。新 IP 将按可能已经在第 4 步设置的频率传播至在内部部署中运行的 DNS。通过转到 Active Directory 站点和服务并展开一个站点、然后展开域控制器然后是 NTDS 设置,您还可以选择执行按需复制 DNS 记录。右键单击 NTDS 设置可以选择选定域控制器的复制目标和来源:

复制DNS 记录并且 DNS 记录的生存期 (TTL) 过期后,应该能够从内部部署客户端访问应用程序,或者使用 P2S VPN 从连接至 AzureNetwork 的客户端访问应用程序:

在本文中,我们回顾了如何为基于 IIS 的两层 Web 应用程序(使用 SQL Server 作为其后端)设置灾难恢复。我们介绍了如何设置域控制器和 DNS 来执行灾难恢复演习或计划故障转移。此外,我们还了解了如何使用 Azure 虚拟网络建立站点到站点和点到站点连接,使最终用户即使在发生故障转移后仍能无缝访问应用程序。

如果您有其他问题,请访问 MSDN 上的 Azure 论坛,获取更多信息并与其他客户交流互动。

您还可以查看其他产品信息,也可以注册获取免费 Azure 试用,开始通过 Azure Site Recovery 试用 Microsoft Azure。

如果你有任何疑问, 欢迎访问MSDN社区,由专家来为您解答Windows Azure各种技术问题,或者拨打世纪互联客户服务热线400-089-0365/010-84563652咨询各类服务信息。

本文翻译自:https://azure.microsoft.com/blog/2014/09/04/networking-infrastructure-setup-for-microsoft-azure-as-a-disaster-recovery-site/