Amazon Aurora 的高可用性 - Amazon Aurora
AWS 文档中描述的 AWS 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 AWS 服务入门

Amazon Aurora 的高可用性

Amazon Aurora 架构涉及将存储和计算分开。Aurora 包括一些适用于数据库集群中的数据的高可用性功能。即使集群中的部分或全部数据库实例变得不可用,数据也会保持安全。其他高可用性功能适用于数据库实例。这些功能有助于确保一个或多个数据库实例准备就绪,以处理来自应用程序的数据库请求。

Aurora 数据的高可用性

Aurora 跨单个 AWS 区域的多个可用区存储数据库集群的数据的副本。无论数据库集群中的实例是否跨多个可用区,Aurora 都会复制这些副本。有关 Aurora 的更多信息,请参阅管理 Amazon Aurora 数据库集群

在将数据写入到主数据库实例时,Aurora 将数据跨可用区同步复制到与集群卷关联的 6 个存储节点。这样做可以提供数据冗余,消除 I/O 冻结,以及在系统备份期间将延迟峰值降到最低。在计划内的系统维护期间,运行高性能的数据库实例可以提高可用性,并帮助保护数据库以防发生故障和可用区中断。有关可用区的更多信息,请参阅 区域和可用区

Aurora 数据库实例的高可用性

对于使用单主复制的集群,在创建主实例后,最多可以创建 15 个只读 Aurora 副本。Aurora 副本也称为读取器实例。

在日常操作期间,您可以通过使用读取器实例处理 SELECT 查询来减轻读取密集型应用程序的部分工作负载。当问题影响到主实例时,其中一个读取器实例将作为主实例进行接管。此机制称为故障转移。许多 Aurora 功能适用于故障转移机制。例如,Aurora 检测数据库问题并在必要时自动激活故障转移机制。Aurora 还具有可缩短故障转移完成时间的功能。这样做可以最大限度地减少数据库在故障转移期间无法写入的时间。

要使用即使在故障转移提升了新的主实例时也保持不变的连接字符串,请连接到集群终端节点。集群终端节点 始终表示集群中的当前主实例。有关集群终端节点的更多信息,请参阅 Amazon Aurora 连接管理

提示

在每个 AWS 区域内,可用区表示相互不同的位置,以便在发生中断时提供隔离。我们建议您将数据库集群中的主实例和读取器实例分配到多个可用区,以提高数据库集群的可用性。这样,影响整个可用区的问题不会导致您的集群中断。

您可以通过在创建集群时进行简单选择来设置多可用区集群。无论您使用 AWS 管理控制台、AWS CLI 还是 Amazon RDS API,选择都很简单。您还可以通过添加新的读取器实例并指定不同的可用区,使现有 Aurora 集群进入多可用区集群中。

使用 Aurora 全局数据库跨 AWS 区域的高可用性

为了跨多个 AWS 区域实现高可用性,您可以设置 Aurora 全局数据库。每个 Aurora 全局数据库跨多个 AWS 区域,从而实现低延迟的全局读取以及从整个 AWS 区域的中断中进行灾难恢复。Aurora 自动处理从主要 AWS 区域到每个辅助区域的所有数据复制和更新。有关更多信息,请参阅 使用 Amazon Aurora 全局数据库