构建可复原应用程序服务
组织需要你满足恢复要求,同时确保尽可能地降低成本和复杂性。
本单元将介绍异地冗余和可用性群集如何帮助你在应用程序中构建复原能力。 你将了解应用程序的故障转移和故障回复所涉及的步骤。 完成该单元后,你将了解为何以及如何实施监视和通知策略。
为应用程序添加异地冗余
无论托管应用程序的基础结构发生怎样的情况,都必须使应用程序保持运行。 自然灾害和其他问题可能导致整个地理区域断电或无法访问 Internet。 若要适时响应这些问题并保持应用程序运行,应确保异地冗余已到位。 但是,如果做得不好,异地冗余成本可能会很高。
可以使用 Azure 将本地应用程序设置为异地冗余。 在 Azure 中运行应用程序冗余基础结构的好处是,你不负责维护和保护物理位置(也无需承担相关成本)。
使用 Azure,你可以让应用程序实现冗余,冗余区域可能位于地球另一边,不需要你进行任何维护。 我们将为你完成维护,你能以更轻松且实惠地方式实现异地冗余。
通过使用 VPN 站点到站点连接,你可以将本地网络扩展到虚拟网络,在 Azure 中另一区域运行你的基础结构副本。 Azure 流量管理器可帮助你监视本地网络的运行状况。 如果本地位置发生问题,可以使用 Azure 中位于不同地理区域的副本基础结构。
同样,你可以为在 Azure 中运行的应用程序设置异地冗余。 例如,如果应用程序在虚拟网络中的一组 Azure 虚拟机上运行,则可以在另一个区域复制相同的设置以实现异地冗余。
通过虚拟网络对等互连,可以连接两个被视为一个的单独虚拟网络。 这两个网络的流量不会通过公共 Internet 或网关传输。 资源可以直接连接到其他资源,就像它们在同一网络中一样。
在本例中,流量管理器通过监视每个终结点的运行状况来为你监视这两个区域。 如果主要区域发生问题,流量管理器会将需求路由到次要区域。
添加高可用性群集
高可用性群集可以帮助你确保工作负载保持运行,且只有极短的停机时间。 可以在以下任一体系结构类型中使用高可用性群集:
主动-主动体系结构:在多个节点(例如两个相同的 Azure 虚拟机)之间分发需求并针对需求均衡负载。 可以让这些 Azure 虚拟机一起运行并共享需求。 还可以根据不同的路由方法将需求分发到这些节点。
下图显示了主动-主动群集的概括性示例。
主动-被动体系结构:运行 Azure 虚拟机,使其中一个节点处于主动状态(即正在使用中),而另一个节点处于被动状态(即未在使用中)。 仅当主动节点发生故障时才使用被动节点。
在主动-主动方案中,节点是同时运行的。 如果计算机与主动-被动群集中的计算机具有相同的规格,那么主动-主动方案会产生更高的日常运行成本。
主动-被动群集会比主动-主动群集更具成本效益。 由于被动节点不主动处理用户请求,因此软件许可成本和资源成本可能更低。 而在主动-被动群集中,由于只运行主动节点,因此不能像使用主动-主动群集时那样灵活地满足波动的需求。
Azure 可用性集等资源通过多个节点来帮助你实现高可用性。 如果一台计算机受到硬件故障或网络中断等情况的影响,可以使用另一台计算机继续运行应用程序。
你还可以使用 Azure 虚拟机规模集来创建主动-主动群集,并运行可以直接响应需求而纵向缩放的计算机。 Azure 负载均衡器也可以通过其高可用性端口规则帮助你为计算机采用主动-主动或主动-被动群集。
对应用程序进行故障转移和故障回复
组织具有用于在本地运行的应用程序的基础结构。 必须帮助确保组织满足合规性要求并实现业务连续性目标。 通过配合使用 Azure Site Recovery 和流量管理器,可以故障转移到 Azure,然后进行故障回复,以让应用程序保持运行。
如果出现故障,你可以顺利地将客户端流量重定向到在 Azure 中为你创建的基础结构。 使用流量管理器创建配置文件并设置优先级路由方法。 然后创建两个终结点,一个用于本地环境,另一个用于要在 Azure 上设置的环境。
由于你通常运行本地环境,且需要在 Azure 中设置另一个仅用于故障转移的环境,因此可以设置以下两个优先级:
- 为本地环境设置优先级 1
- 为 Azure 上的环境设置优先级 2
这些优先级决定了流量管理器如何知道如何在两个环境之间路由流量。 流量管理器一直将流量路由到本地环境,直到发现终结点不再正常运行为止。 如果是这种情况,流量管理器将把流量路由到 Azure 中的第二个环境。
只有在触发故障转移时,Azure Site Recovery 才会开始运行 Azure 中的虚拟机。 如果发生灾难,可以使用 Azure Site Recovery 启动从本地环境到 Azure 环境的故障转移。
通过流量管理器,可以设置探测频率以监视终结点。 将流量管理器配置为监视终结点的运行状况,将频率设置为 30 秒以实现常规探测,设置为 10 秒以实现快速探测。
故障转移完成后,客户端将以透明方式定向到 Azure 中的新终结点。 解决导致故障转移的问题后,可以使用 Azure Site Recovery 再次故障回复到本地环境。 流量管理器会持续探测本地终结点的运行状况。 当流量管理器确定终结点恢复正常时,它会将流量定向回本地环境。