适用于 Microsoft SQL Server 的多区域模式
Amazon 全球基础设施覆盖全球众多区域,并且设施规模仍在不断增长。有关最新更新,请参阅 Amazon 全球基础设施
部署多区域模式时,您可以获益于自动化方法(例如集群解决方案)的使用,这样可以自动在可用区之间进行失效转移,从而最大限度地减少总停机时间并消除人为干预的需求。多区域模式不仅提供了高可用性,还可以实现灾难恢复,从而降低总体成本。所选区域之间的距离会直接影响延迟,因此在多区域模式的整体设计中必须考虑这一点。
跨区域复制或数据传输还会对成本产生额外的影响,在解决方案的总体定价中也需要考虑这些影响。不同区域的定价各不相同。
以下是四种多区域架构模式。
模式
模式 3:主区域具有两个可用区用于生产环境,辅助区域包含备份的副本/AMI
这种模式类似于模式 1,Microsoft SQL Server 实现了高可用性。您使用 AlwaysOn,跨主区域中的两个可用区部署生产实例。您可以使用存储在 Amazon S3 中的备份副本、Amazon EBS 和亚马逊机器映像(AMI),在辅助区域中恢复 SQL 数据库。
通过跨区域复制存储在 Amazon S3 中的文件,存储桶中存储的数据会自动(异步)复制到目标区域。Amazon EBS 快照可以在区域之间复制。有关更多信息,请参阅复制 Amazon EBS 快照。您可以使用 Amazon CLI、Amazon 管理控制台、Amazon SDK 或 Amazon EC2 API,在区域内或跨区域复制 AMI。有关更多信息,请参阅复制 AMI。您还可以使用 Amazon Backup 来调度和运行快照以及跨区域复制。
在整个区域出现故障时,需要使用 AMI 在辅助区域中构建生产 SQL Server。您可以使用 Amazon CloudFormation 模板自动启动新 SQL Server。实例启动后,您可以从 Amazon S3 下载最新的一组备份,将您的 SQL Server 恢复到灾难事件发生之前的时间点。在辅助区域还原并恢复 SQL Server 后,您可以使用 DNS 将客户端流量重定向到新实例。
此架构为您提供了跨多个可用区实施 SQL Server 的优势,能够在出现故障时立即进行失效转移。对于主区域之外的灾难恢复,恢复点目标受以下因素限制:您在 Amazon S3 存储桶中存储 SQL 备份文件的频率,以及将 Amazon S3 存储桶复制到目标区域所需的时间。您可以使用 Amazon S3 Replication Time Control 进行限定时间的复制。有关更多信息,请参阅启用 Amazon S3 Replication Time Control。
您的恢复时间目标取决于在辅助区域中构建系统以及从备份文件恢复操作所需的时间。所需时间随数据库的大小而变。此外,在没有预留实例容量的情况下,恢复过程获得计算容量所需的时间可能会更长。当您需要在一个区域内实现尽可能低的恢复时间目标和恢复点目标,而对于在主区域之外进行灾难恢复可以接受较高的恢复点目标和恢复时间目标时,这种模式非常适合。
模式 4:主区域具有两个可用区用于生产环境,辅助区域中在单个可用区内部署了计算和存储容量
在模式 3 的架构之外,此模式还在主区域的 SQL Server 与辅助区域的一个可用区中相同的第三个实例之间设置了 SQL AlwaysOn。在 Amazon 区域之间复制时,由于延迟增加,我们建议使用 SQL AlwaysOn 的异步模式。
主区域发生故障时,生产工作负载将手动失效转移到辅助区域。这种模式可确保 SAP 系统具有高可用性和容灾能力。这种模式通过连续数据复制,提供了更快的失效转移和业务运营连续性。
为辅助区域中的生产 SQL Server 部署所需的计算和存储容量,以及区域之间的数据传输,会导致成本增加。当您需要在主区域之外进行灾难恢复并需要较低的恢复点目标和时间目标时,这种模式非常适合。
这种模式可以部署在多层复制配置以及多目标复制配置中。
下图显示了以链式方式配置复制的多层复制。
模式 5:主区域具有一个可用区用于生产环境,辅助区域包含备份的副本/AMI
这种模式与模式 2 类似,但辅助区域中包含存储在 Amazon S3 中的 SQL Server 备份副本、Amazon EBS 快照和 AMI,可以进行额外的灾难恢复。在这种模式下,SQL Server 作为独立安装部署在主区域的一个可用区中,没有用于复制数据的目标 SQL 系统。
在这种模式下,您的 SQL Server 不具备高可用性。在整个区域出现故障时,需要使用 AMI 在辅助区域中构建生产 SQL Server。您可以使用 Amazon CloudFormation 模板自动启动新 SQL Server。实例启动后,您可以从 Amazon S3 下载最新的一组备份,将您的 SQL Server 恢复到灾难事件发生之前的时间点。然后,您可以使用 DNS,将客户端流量重定向到辅助区域中的新实例。
对于主区域之外的灾难恢复,恢复点目标受以下因素限制:您在 Amazon S3 存储桶中存储 SQL 备份文件的频率,以及将 Amazon S3 存储桶复制到目标区域所需的时间。您的恢复时间目标取决于在辅助区域中构建系统以及从备份文件恢复操作所需的时间。所需时间随数据库的大小而变。这种模式适用于可以容忍停机时间以恢复正常运行的非生产系统或非关键生产系统。
模式 6:主区域具有一个可用区用于生产环境,辅助区域使用 Amazon 弹性灾难恢复在块级进行复制
Amazon 弹性灾难恢复向企业提供了现代化的方法,通过在 Amazon 云上启用云端灾难恢复来保护 Microsoft SQL Server 环境。有关更多信息,请参阅什么是弹性灾难恢复?
弹性灾难恢复使用块级复制,为支持的 Windows 和 Linux 操作系统版本复制操作系统、数据库、应用程序和系统文件。要了解更多信息,请参阅支持的操作系统。弹性灾难恢复需要在源系统上完成 Amazon 复制代理的初始设置,才能启动安全的数据复制。代理在内存中运行,识别对本地连接的磁盘的写入操作。这些写入操作会被捕获并异步复制到 Amazon 账户中的暂存区。在此持续复制过程中,弹性灾难恢复会维护同一源服务器中所有磁盘的写入顺序。复制的 Amazon EC2 实例可以在测试模式下运行,以便在分隔的环境中用于开展演习。
通过弹性灾难恢复,您可以监控恢复实例的数据复制状态、查看恢复实例的详细信息、向弹性灾难恢复添加恢复实例、编辑恢复实例的失效自动恢复设置以及终止恢复实例。
通过弹性灾难恢复,您可以在 Amazon 云上启动恢复实例来执行失效转移。启动恢复实例后,您必须将流量从主站点重定向到恢复站点。
Amazon 弹性灾难恢复使用 Amazon EBS 快照,拍摄暂存区内所保存数据的时间点快照。要了解更多信息,请参阅 Amazon EBS 快照。然后,此服务提供崩溃一致性时间点恢复选项,可在发生灾难或演习时使用。弹性灾难恢复可以保护 SQL Server AlwaysOn 可用性组的各个节点。在灾难恢复期间,该组作为单个 SQL Server 实例在 Amazon 上启动。此解决方案适用于任何支持的 SQL Server 版本的 SQL Server Standard 版和 SQL Server Enterprise 版。