Amazon RDS 多可用区域部署为数据库 (DB) 实例提供了增强的可用性和持久性,使其成为生产型数据库工作负载的理想之选。当您配置多可用区域数据库实例时,Amazon RDS 会自动创建主数据库实例并将数据同步复制到其他可用区域 (AZ) 中的备用实例。每个可用区域在其独立的、物理上显著不同的基础设施中运行,并已设计为具备高可靠性。万一发生基础设施故障,Amazon RDS 可自动故障转移至备用实例中 (如果是 Amazon Aurora,则会故障转移至只读副本中),以便您能够在故障转移结束后立即恢复数据库操作。由于故障转移后数据库实例的终端节点维持不变,因此应用程序可在无需手动管理干预的情况下恢复数据库操作。

ha_ed_grizzly_reg_database_orange
3:01
将 Amazon RDS 实例转换为多可用区部署

开始免费使用 AWS

创建免费账户

AWS 免费套餐包括为期一年每月 750 小时的微型数据库实例使用时间,以及由 Amazon Relational Database Service (RDS) 提供的 20GB 存储空间以及 20GB 备份空间。

查看 AWS 免费套餐详细信息 »

适用于 MySQLMariaDBOraclePostgreSQL 引擎的多可用区部署采用同步物理复制,以便让备用数据与主数据保持同步。适用于 SQL Server 引擎的多可用区部署使用同步逻辑复制来获取与采用本地 SQL Server 镜像技术相同的结果。这两种方法均可以在数据库实例发生故障或丢失可用区时保护您的数据。

如果主实例上的存储卷在多可用区部署中发生故障,则 Amazon RDS 会自动故障转移至最新的备用实例中 (如果是 Amazon Aurora,则会故障转移至只读副本中)。将其与单可用区部署进行比较:如果单可用区数据库发生故障,将需要由用户启动 Point-in-time-restore 操作。此操作需要几个小时才能完成,而最近的可恢复时间后(一般为最近 5 分钟内)发生的任何更新均不可用。

Amazon Aurora 采用了专为数据库工作负载定制的高持久性、SSD 型虚拟存储层。Amazon Aurora 跨三种可用区,以六种方法复制您的卷。Amazon Aurora 存储是容错型的,可透明应对多达两个数据副本的损失,而不会影响数据库写入可用性,还能在不影响读取可用性的情况下应对多达三个副本。Amazon Aurora 存储还具有自我修复能力。可连续扫描数据块和磁盘有无出错并自动更换之。

当您运行多可用区域部署时,还将受益于更高的数据库可用性。如果发生可用区故障或数据库实例故障,您的可用性受到的影响将仅限于完成自动故障转移所需的时间:对于 Amazon Aurora,通常为一分钟以内(当使用 MariaDB Connector/J 时更是短达 30 秒);对于其他数据库引擎,通常为一到两分钟(请参见 RDS 常见问题以了解详细信息)。

多可用区部署的可用性优势还可延伸到计划的维护和备份操作。如果遇到系统升级,如操作系统修补或数据库实例扩展,这些操作首先会应用到备用实例,然后才用于自动故障转移。因此,可用性影响将仅为完成自动故障转移所需的时间。

与单可用区部署不同的是,当 MySQL、MariaDB、Oracle 和 PostgreSQL 引擎进行多可用区部署备份时,主实例的 I/O 活动不会暂停,因为备份取自备用实例。然而,请注意,在备份多可用区域部署时,您可能仍需要等待几分钟。。 

当实例在 Amazon Aurora 部署中发生故障时,Amazon RDS 使用 RDS 多可用区技术自动将故障转移到您在三个可用区的任何一个中创建的 15 个 Amazon Aurora 副本中的一个。如果未预配置任何 Amazon Aurora 副本,在发生故障的情况下,Amazon RDS 将尝试为您自动创建新的 Amazon Aurora 数据库实例。

数据库实例故障转移完全自动化,无需管理干预。Amazon RDS 会监控您的主实例和备用实例的运行状况,并且会启动故障转移以应对各种故障条件。

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

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

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

请参阅 Amazon RDS 定价页面了解更多详情。

使用 AWS 管理控制台,您可以轻松创建新的多可用区域部署,或修改现有单一可用区域实例,使其成为多可用区域部署。要使用 AWS 管理控制台创建新的多可用区域部署,只需在启动数据库实例时,单击针对“Multi-AZ Deployment”的“Yes”选项即可。要将现有单一可用区域数据库实例转换为多可用区域部署,可使用 AWS 管理控制台中与您的数据库实例相应的“Modify”选项。

Amazon RDS for MySQL 和 PostgreSQL 可让您将这些引擎的内置复制功能用于只读副本,从而扩展并超越单个数据库实例的容量限制,以处理高读取量的工作负载。您可以将多可用区域部署和读取副本相互结合,以获得两者互补的优势。您可以轻松地将给定的多可用区域部署指定为读取副本的源数据库实例。这样,即可获得多可用区域部署的数据持久性和可用性优势,以及读取副本的读取扩展优势。

请注意,对于多可用区域部署,您可以选择在可用区域创建读取副本,而不是在主实例和用于获取更多冗余的备用实例上创建。您可以在 AWS 管理控制台的数据库实例“Secondary Zone”字段识别与您的备用实例相应的可用区域。