Amazon RDS 多可用区部署

Amazon RDS 多可用区部署让 RDS 数据库 (DB) 实例的可用性和持久性得到提升,使其成为生产数据库工作负载的天然搭档。当您预置多可用区数据库实例时、Amazon RDS 会自动创建主数据库实例,并将数据同步复制到不同可用区 (AZ) 中的备用实例。每个可用区在其独立的、物理上显著不同的基础设施中运行,并已设计为具备高可靠性。如果基础设施出现故障,Amazon RDS 会自动执行故障转移到备用设备(如果是 Amazon Aurora,则可以转移到只读副本),以便在故障转移完成后立即恢复数据库操作。由于数据库实例的终端节点在故障转移后保持一致,所以应用程序无需手动管理干预即可恢复数据库操作。

多个 Amazon RDS 引擎允许您添加只读副本以提高可扩展性,并在可用区发生故障时保持数据库可用性。Amazon RDS 只读副本可以在其他可用区中使用自己的备用实例进行设置。对于 Aurora,您可以选择跨多个可用区放置只读副本。

Amazon Aurora 通过采用专为数据库工作负载构建、基于 SSD 的虚拟化存储层,进一步扩展了多可用区的优势。它会跨三个可用区自动以六种方式复制存储。Amazon Aurora 使用容错存储,它能够以透明方式应对最多两个数据副本丢失的情况,而不会影响数据库写入可用性,还能在不影响读取可用性的情况下应对最多三个副本丢失的情况。无论数据库是否使用只读副本,Aurora 都始终会跨三个可用区复制您的数据。

优势

更强的耐用性

MySQL、MariaDB、Oracle 和 PostgreSQL 引擎的多可用区部署利用同步物理复制来使备用数据保持与主引擎相同的最新状态。SQL Server 引擎的多可用区部署使用同步逻辑复制来实现相同的结果,使用 SQL Server 原生镜像或始终在线技术。Amazon Aurora 使用专为数据库工作负载构建、基于 SSD 的虚拟化存储层。在数据库实例出现故障或丢失可用区时,所有的方法都能保护您的数据。

提高可用性

运行多可用区部署时,您还可获得增强数据库可用性的优势。如果发生可用区故障或数据库实例故障,您的可用性影响仅限于完成自动故障转移所需的时间:通常不到一分钟,Amazon Aurora(使用 MariaDB Connector/J 时不到 30 秒),而对于其他数据库引擎来说,则需要一到两分钟。

多可用区部署的可用性优势还可延伸到计划的维护和备份操作。在系统升级(如操作系统修补或数据库实例扩缩)的情况下,这些操作首先在备用系统上应用,然后再会自动执行故障转移。因此,可用性影响将仅限于完成自动故障转移所需的时间。

保护数据库性能

与单可用区域部署不同,在备份 MySQL、MariaDB、Oracle 和 PostgreSQL 引擎的多可用区部署期间,主要引擎上的输入/输出活动不会暂停,因为备份是从备用引擎中取出的。但是,请注意,在多可用区部署的备份期间,您可能仍会遇到几分钟延迟提升的情况。

在 Amazon Aurora 部署出现实例故障时,Amazon RDS 使用 RDS 多可用区技术自动执行故障转移到您在三个可用区中创建任何一个 Amazon Aurora 副本中(最多可创建 15 个)。如果没有预置 Amazon Aurora 副本,当出现故障时,Amazon RDS 将尝试为您自动创建一个新的 Amazon Aurora 数据库实例。

自动故障转移

如果您的主实例上的存储卷在多可用区部署中出现故障,Amazon RDS 会自动执行故障转移到最新备用实例(如果是 Amazon Aurora,则会转移到副本)。将其与单可用区部署进行比较:如果单可用区数据库出现故障,则需要执行用户启动的时间点还原操作。此操作可能需要几个小时才能完成,而且在最近可还原时间之后(通常在过去五分钟内)发生的任何数据更新都将不可用。

数据库实例故障转移是完全自动的,不需要管理干预。Amazon RDS 监控您的主实例和备用实例的运行状况,并根据各种故障情况自动启动故障转移。

故障转移条件

Amazon RDS 可检测多可用区部署中最常见的故障并自动从中恢复过来,这样您可在无管理干预的情况下尽快恢复数据库操作。如果发生以下任何一种情况,Amazon RDS 将自动执行故障转移:

  • 主可用区的可用性受损
  • 主可用区的网络连接受损
  • 主可用区的计算设备出现故障
  • 主可用区的存储出现故障

注意:为了提高可用性,对多可用区部署启动诸如数据库实例扩缩或系统升级(如操作系统安装补丁程序)之类的操作时,这些操作首先会应用于备用副本,之后才自动进行故障转移(请参阅 Aurora 文档了解更新行为的详细信息)。因此,可用性影响将仅限于完成自动故障转移所需的时间。请注意,Amazon RDS 多可用区部署不会自动故障转移来响应某些数据库操作,如长时间运行查询、死锁或数据库崩溃错误。

跨多个数据中心的容错能力

设置

使用亚马逊云科技管理控制台,您可以轻松创建新的多可用区部署或修改现有的单可用区实例,使其成为多可用区部署。要使用亚马逊云科技管理控制台创建新的多可用区部署,只需在启动数据库实例时,单击“多可用区部署”的“是”选项。要将现有的单可用区数据库实例转换为多可用区部署,请在亚马逊云科技管理控制台中使用与您的数据库实例对应的“修改”选项。

多可用区部署、多区域部署和只读副本

Amazon RDS 多可用区域部署补充了多区域部署和只读副本。虽然所有这三项功能都通过维护数据的额外副本来提高可用性和持久性,但它们之间存在差异:

多可用区部署

多区域部署

只读副本

主要目的是高可用性

主要目的是灾难恢复和本地性能

主要目的是可扩展性

 

非 Aurora:同步复制;Aurora:异步复制

异步复制

异步复制

非 Aurora:只有主实例处于活动状态;Aurora:所有实例处于活动状态

所有区域都可以访问,可用于读取

所有只读副本都可以访问,可用于读取扩展

非 Aurora:自动备份从备用状态中获取;Aurora:自动备份从共享存储层中获取

可以在每个区域进行自动备份

默认情况下没有配置备份

始终跨越单个区域内的至少两个可用区

每个区域都可以有多可用区部署

可以位于可用区内、跨可用区或跨区域

非 Aurora:数据库引擎版本升级在主实例上进行;Aurora:所有实例一起更新

非 Aurora:数据库引擎版本升级在每个区域都是独立的;Aurora:所有实例都一起更新

非 Aurora:数据库引擎版本升级独立于源实例;Aurora:所有实例都一起更新

检测到问题时自动执行故障转移到备用(非 Aurora)或只读副本(Aurora)

Aurora 允许将辅助区域的推广成为主区域

可以手动升级为独立数据库实例(非 Aurora)或升级为主实例(Aurora)

 

您可以将多可用区部署与其他 Amazon RDS 功能结合起来,以享受每种功能的好处。例如,您可以将源数据库配置为多可用区以实现高可用性,并创建只读副本(在单可用区中)以实现读取可扩展性。

借助适用于 MySQL、MariaDB、PostgreSQL 和 Oracle 的 RDS,您还可以将只读副本设置为多可用区,从而使您能够将只读副本用作灾难恢复目标。将只读副本提升为独立数据库时,它将处于已启用多可用区的状态。

开始使用亚马逊云科技免费构建

开始使用亚马逊云科技免费构建

关闭
热线

热线

1010 0766
由光环新网运营的
北京区域
1010 0966
由西云数据运营的
宁夏区域