设置将 Microsoft Azure 的网络基础结构以支持设置为灾难恢复站点
Prateek
Sharma 云 + Enterprise
高级项目经理
Azure SiteRecovery (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.3SQL后端
– 192.168.0.21IIS前端
– 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 SiteRecovery为您提供了执行测试故障转移的功能,不会影响生产工作负荷。为此必须另外创建一个
Azure 虚拟网络。创建另一个网络并使用在第 3
步创建的网络所使用的相同 IP
范围。我们将这个网络称为 AzureTestNetwork。只是不要在网络中添加站点到站点连接和点到站点连接。
7. 设置
Azure SiteRecovery
现在,我们已经完成了基础结构设置,之后必须在
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. 现在,应该能够使用http://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咨询各类服务信息。
设置将 Microsoft Azure 的网络基础结构以支持设置为灾难恢复站点的更多相关文章
- 通过Microsoft Azure服务设计网络架构的经验分享(转)
原文:http://www.infoq.com/cn/articles/azure-networking-tips 本文从产品设计和架构角度分享了 Microsoft Azure 网络服务方面的使用经 ...
- 通过Microsoft Azure服务设计网络架构的经验分享
作者 王枫 发布于 2014年4月8日 本文从产品设计和架构角度分享了Microsoft Azure网络服务方面的使用经验,希望你在阅读本文之后能够了解这些服务之间,从而更好地设计你的架构. Mic ...
- Microsoft Azure File 服务简介
我们非常高兴地宣布在微软Azure中国区推出 Microsoft Azure File 服务预览版.Azure File 服务使用标准 SMB 2.1 协议提供文件共享.Azure 中运行的应用程序现 ...
- Microsoft Azure 上的自定义数据和 Cloud-Init
自定义数据是什么? 客户经常询问如何才能在配置Microsoft Azure 虚拟机时插入脚本或其他元数据.在其他云中,这个概念通常称为用户数据.MicrosoftAzure 中也有一项类似的功 ...
- 如何使用 Microsoft Azure Media Services 现场直播,(Live Streaming) 直播流媒体系统
不久之前,微软公司宣布了 Microsoft Azure Media Services 实时直播服务 ( Live ) 开始进入技术预览阶段,公开接受用户测试. 而这些实时直播服务其实早已被 NBC ...
- Microsoft Azure Point to Site VPN替代方案
Microsoft Azure提供了Point to Site VPN,但有时候这并不能满足我们的需求,例如:Point to Site VPN是SSTP VPN,只能支持Window客户端拨入,而且 ...
- 使用VNET-to-VNET连接Microsoft Azure国际版和中国版
Microsoft Azure的VNET-to-VNET功能可以实现跨虚拟网络的VPN连接,通过VNET-to-VNET互联的两个虚拟网络可以在同一个订阅下或者隶属不同的订阅,而且可以跨数据中心.这实 ...
- 基于Microsoft Azure、ASP.NET Core和Docker的博客系统
欢迎阅读daxnet的新博客:一个基于Microsoft Azure.ASP.NET Core和Docker的博客系统 2008年11月,我在博客园开通了个人帐号,并在博客园发表了自己的第一篇博客 ...
- For Microsoft Azure Network VNET to VNET Connection
将一个 Azure 虚拟网络 (VNet) 连接到另一个 Azure 虚拟网络非常类似于将虚拟网络连接到本地站点位置.这两种连接类型都使用虚拟网络网关通过 IPsec/IKE 提供安全隧道.连接的 V ...
随机推荐
- 【转】如何编译安装PHP扩展
本文参考 一开始安装PHP的时候,我们并不知道需要哪些扩展,所以只有等到我们真正用到的时候才想办法去安装. 安装PHP扩展最简单的办法就是 sudo apt-get install php5-xxx ...
- hdu 4850 Wow! Such String! 欧拉回路
作者:jostree 转载请注明出处 http://www.cnblogs.com/jostree/p/4080264.html 题目链接:hdu 4850 Wow! Such String! 欧拉回 ...
- ehcache集群的配置
一:配置环境 本文是在测试demo的基础上写的,服务器包括申请的两台服务器和本机,共三台服务器.demo的目标是实现三台服务器之间共享cache. 申请的两台服务器地址分别是172.19.100.15 ...
- Python多线程启动http.server
OS: Windows 8.1 with update 关键字:Python3.4, http.server, Thread 例子代码如下: import os from threading impo ...
- python实用函数
dir([obj]) 显示对象属性, 无参数显示全局变量的名字 help([obj]) 显示对象的文档字符串 int(obj) 将一个对象转换为整数 len(obj) 返回对象的长度 range([[ ...
- 微信支付JS API使用心得
微信的接口真的很坑爹,只返回成功或失败,从来不会告诉你为什么失败.这个微信支付的js接口也是调了一个下午才成功,期间踩了不少坑,在这里总结一下,而且把支付接口封装成了一个js文件,这样以后调用就很方便 ...
- 如何在dapper中获取刚插入行的ID
二话不说: 1.先建立个表 CREATE TABLE [dbo].[UserInfo]( [ID] [int] IDENTITY(1,1) NOT NULL, [UserName] [nc ...
- EntityFramework-DBFirst-重新生成后写的验证消失(解决办法)
1.这是EF生成的类: namespace PMS.DataProvider.EntityFramework { using System; using System.Collections.Gene ...
- 洛谷 P1541 乌龟棋
题目背景 小明过生日的时候,爸爸送给他一副乌龟棋当作礼物. 题目描述 乌龟棋的棋盘是一行N个格子,每个格子上一个分数(非负整数).棋盘第1格是唯一的起点,第N格是终点,游戏要求玩家控制一个乌龟棋子从起 ...
- [Linux发行版] 常见Linux系统下载
本专题页汇总最受欢迎的Linux发行版基本介绍和下载地址,如果您是一位刚接触Linux的新手,这里的介绍可能对您有所帮助,如果您是以为Linux使用前辈,也可以在评论处留下您宝贵意见和经验,以便让更多 ...