灾难恢复场景 - AWS 规范性指导

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

灾难恢复场景

本节提供单个可用区或 AWS 区域故障的示例,并讨论灾难恢复 (DR) 选项。这些示例假设恢复点目标(RPO)为 15 分钟,恢复时间目标(RTO)为 4 小时。

可用区故障

您可以使用以下选项之一,在给定参数(RPO 为 15 分钟,RTO 为 4 小时)内从单个可用区故障中恢复。

  • 使用最新的 Amazon Elastic Compute Cloud (Amazon EC2) 映像备份配置应用程序恢复,并通过 Always On 可用性组部署或日志传送连接到现有的热备用数据库实例。

  • 如果您的应用程序(例如 SQL Server Reporting Services (SSRS))应用程序具有扩展部署,则负载均衡器可以将所有流量重定向到辅助节点。

  • 您可以使用 Amazon EC2 base AMIs 作为应用程序和数据库服务器来配置基础设施。可根据数据库的大小和备份频率,在新的可用区内从最近的本地备份(完整备份、差异备份或每 5 分钟一次的事务日志备份)或使用 EBS 快照恢复数据库。此选项符合 RPO 和 RTO 要求,但需要自定义脚本。您还必须考虑配置基础设施所需的时间,而满足 RPO 和 RTO 要求可能具有挑战性。

  • 应用程序和数据库服务器的 Amazon EC2 映像(包括 EBS 卷)都可以在新的可用区中恢复。根据最新的备份,RPO 可能具有挑战性,但可以将此选项与最新的事务日志结合使用以满足要求。此选项支持 Windows 卷影复制服务 (VSS) 快照。

区域故障

您可以使用以下选项之一,在给定参数内从单个 AWS 区域故障中恢复(RPO 为 15 分钟,RTO 为 4 小时)。

  • 您可以使用应用程序和数据库服务器的 Amazon EC2 base Amazon 系统映像 (AMIs) 来配置基础设施。可根据数据库的大小和备份频率,在新的区域内从最近的本地备份(完整备份、差异备份或每 5 分钟一次的事务日志备份)恢复数据库。此选项符合 RPO 和 RTO 要求,但需要自定义脚本。

    • SQL Server 日志传送作为灾难恢复解决方案需要手动失效转移到备用服务器,并取决于日志备份的频率。这是最便宜的灾难恢复选项之一。主灾难恢复站点和日志传送的灾难恢复站点的 SQL Server 版本不需要匹配。此选项符合 RPO(通过每 5 分钟使用一次事务日志备份)和 RTO,但需要通过手动自定义脚本进行维护。大型数据库需要很长的恢复时间。

  • 您可以将 Amazon EC2 AMI 用于应用程序和数据库服务器,然后将其还原到新区域中的目标。RPO 取决于备份的大小和频率。

    • 可以使用 AMI 恢复最新的应用程序映像。您可以每 5 分钟使用最近的本机差异日志或事务日志备份来更新数据库以满足 RPO 要求。

    • 如果源尚未与目标同步,RTO 取决于将快照传输和恢复到新区域的大小和时间。

  • 停机时间最少的解决方案是使用双节点、三节点或四节点可用性组设置(基本、经典或分布式),恢复应用程序备份映像并在远程区域中配置一个热备用 SQL Server 节点,并在失效转移后连接到备用数据库服务器。同步提交模式副本满足 RPO 要求,而异步提交模式副本可能会延迟,具体取决于事务量。如果需要,您可以使用分布式可用性组配置来横向扩展新区域中的数据库节点。此配置还降低了复杂性,因为它使用两个独立的可用性组,而不是以同步提交或异步提交模式分布在各个区域的单个可用性组,并且可以轻松满足 RTO 和 RPO 要求。或者,也可以选择在标准版中使用 SQL Server 基本可用性组。但是,它有局限性,因为它最多只能支持两个节点,而且尽管支持多个可用性组,但单个可用性组中只能有一个数据库。可以在一个区域内或跨区域设置 SQL Server 标准版。此版本可以节省成本,因为它不对辅助节点收费,因为辅助节点无法进行读取操作。SQL Server 企业版提供全部功能,支持作为单个可用性组失效转移的所有数据库进行失效转移。

常见使用案例

作为规模练习,在 Amazon EC2 上运行的、具有普通在线事务处理 (OLTP) 工作负载的 SQL Server 应用程序中,有 80% 可以根据其重要程度分为三类之一:

  • 带有 SQL Server 备份的 SQL Server HA/DR,使用两个同步提交副本和一个异步提交模式副本

  • AWS Backup 带有 SQL Server 备份的 HA/DR,应用程序和数据库都使用 Amazon EC2 AMI,使用 Amazon EBS 存储

  • AWS Backup 带有 SQL Server 备份的 HA/DR,使用亚马逊 EC2 基本 AMI 作为数据库服务器,使用亚马逊 EC2 映像作为应用程序,使用 Amazon EBS 快照

下表提供了有关每个类别的详细信息。

  带有 SQL Server 备份的 SQL Server HA/DR AWS Backup 带有 EBS 存储和 SQ AMIs L Server 备份的 HA/DR AWS Backup 带有 HA/DR AMIs、EBS 快照和 SQL Server 备份的备份

发生灾难时的恢复过程

  • 从中恢复应用程序的 Amazon EC2 基本 AMI AWS Backup

  • 故障转移到区域中的备用实例(如果可用区出现故障)或跨区域实例(如果区域出现故障)

  • 满足 RPO 和 RTO 要求

  • 从应用程序和数据库的备份中恢复 Amazon EC2 映像

  • 同时适用于区域内和跨区域支持

  • 应用最新的 SQL Server 差异备份和事务日志备份(每 15 分钟一次),以满足数据库的 RPO 和 RTO 要求

  • 从应用程序的备份中恢复 Amazon EC2 映像

  • 恢复数据库服务器的 Amazon EC2 基本 AMI

  • 恢复 EBS 快照(如果有)

  • 必须重建集群

  • 同时适用于区域内和跨区域支持

  • 将最新的差异和事务日志备份应用到数据库以满足 RPO 要求,但可能无法满足 RTO

主要资源

  • 三个 SQL Server 企业版许可证(如果您已与 Microsoft 签订了软件保障许可协议,则被动 HA 和 DR 节点许可证是免费的;参阅公告

  • 亚马逊简单存储服务 (Amazon S3) 上的亚马逊 EC2 备份空间 Simple S3

  • 跨区域数据传输

  • 一个 SQL Server 许可证(任何版本)。

  • 亚马逊 S3 上的亚马逊 EC2 备份空间

  • Amazon S3 上的 SQL Server 备份(差异文件和日志文件)

  • 跨区域数据传输

  • 一个 SQL Server 许可证(任何版本)。

  • 亚马逊 S3 上的亚马逊 EC2 备份空间

  • Amazon S3 上的 SQL Server 备份(差异文件和日志文件)

  • 跨区域数据传输

HA/DR

提供 HA 和 DR

仅提供 DR

仅提供 DR

RPO

失效转移由 SQL Server 可用性组处理(DR 是手动的)

手动或自定义脚本

手动或自定义脚本

RTO

秒到分钟

分钟 – 小时

多个小时

失踪的风险 SLAs

可管理性

简便

扩展

简便

上传到 Amazon S3 或跨区域传输的文件大小限制

N/A — 在同步提交模式或异步提交模式下处理到热备用

支持

数据丢失

接近零(取决于配置的工作负载和基础架构)

取决于 Amazon EC2 备份映像和 SQL Server 备份的频率

取决于 Amazon EC2 备份映像或 EBS 快照和 SQL Server 备份的频率

成本

中 - 低

中 - 低