使用 Amazon Aurora 全局数据库 - Amazon Aurora
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 Amazon Web Services 服务入门

使用 Amazon Aurora 全局数据库

Amazon Aurora 全局数据库跨越多个 Amazon 区域,可实现低延迟的全局读取,并可从可能影响整个 Amazon 区域的罕见停机事件中快速恢复。一个 Aurora 全局数据库在一个区域中有一个主数据库集群,在不同区域中最多有五个辅助数据库集群。

Amazon Aurora 全局数据库概览

使用 Amazon Aurora 全局数据库,您可以通过跨越多个 Amazon 区域的单 Aurora 数据库来运行您的全球分布式应用程序。

Aurora 全局数据库由一个控制数据的 Amazon 区域和最多五个只读辅助 Amazon 区域组成。您可以直接向主 Amazon 区域中的主数据库集群发出写入操作。Aurora 使用专用基础设施将数据复制到辅助 Amazon 区域,延迟通常不到一秒钟。

下图显示了跨越两个 Amazon 区域的 Aurora 全局数据库示例。


        Aurora全局数据库只有一个主数据库集群,并有至少一个 Aurora 辅助数据库集群。

您可以通过添加一个或多个 Aurora 副本(只读 Aurora 数据库实例)以承担只读工作负载,从而独立地扩展每个辅助集群。

只有主集群才能执行写入操作。执行写入操作的客户端连接到主数据库集群的数据库集群终端节点。如图所示,Aurora 全局数据库使用集群存储卷进行复制,而不是使用数据库引擎。要了解更多信息,请参阅“Aurora 存储概述”。

Aurora 全局数据库专为遍布全球的应用程序而设计。只读辅助数据库集群(Amazon 区域)允许您支持更靠近应用程序用户的读取操作。借助写入转发等功能,您还可以配置基于 Aurora MySQL 的全局数据库,以使辅助集群将数据发送到主集群。有关更多信息,请参阅 在 Amazon Aurora 全局数据库中使用写入转发

Aurora 全局数据库可以支持两种不同的故障转移方法。计划外故障转移过程允许您在主区域停机后通过将故障转移到另一个区域(跨区域故障转移)来恢复 Aurora 全局数据库。有关此手动过程的更多信息,请参阅 从计划外停机中恢复 Amazon Aurora 全局数据库

对于灾难准备,计划内托管故障转移允许您将运行正常的 Aurora 全局数据库的主集群重新定位到自己的某个辅助区域,而不会造成数据丢失。要了解更多信息,请参阅“Amazon Aurora 全局数据库的托管计划内故障转移”。

Amazon Aurora 全局数据库的优势

使用 Aurora 全局数据库,您可以获得以下优势:

  • 全球读取本地延迟 – 如果您在世界各地设有办事处,则可以使用 Aurora 全局数据库在主 Amazon 区域将其主要信息来源保持最新。您其他区域的办事处可以访问各自区域中的信息,存在本地延迟。

  • 可扩展辅助 Aurora 数据库集群 – 您可以通过向辅助 Amazon 区域添加更多只读实例(Aurora 副本)来扩展辅助集群。辅助集群为只读模式,因此它最多可以支持 16 个只读 Aurora 副本实例,而非 15 个单 Aurora 集群的通常限制。

  • 从主到辅助 Aurora 数据库集群快速复制 – Aurora 全局数据库执行的复制对主数据库集群造成的性能影响不大。数据库实例的资源完全专用于承担应用程序读取和写入工作负载。

  • 从区域范围内的中断中恢复 – 辅助集群使您能够比传统复制解决方案更快地(RTO 更低)在新的主要 Amazon 区域中使用 Aurora 全局数据库,并且数据损失(RPO 更低)更少。

Amazon Aurora 全局数据库的限制

以下限制目前适用于 Aurora 全局数据库:

  • Aurora 全局数据库在某些 Amazon 区域可用,且仅适用于特定 Aurora MySQL 和 Aurora PostgreSQL 版本。有关更多信息,请参阅 Aurora 全局数据库

  • Aurora 全局数据库对于支持的 Aurora 数据库实例类、Amazon 区域的最大数量等有一定的配置要求。有关更多信息,请参阅 Amazon Aurora 全局数据库的配置要求

  • Aurora 全局数据库的托管计划内故障转移需要以下一种 Aurora 数据库引擎:

    • Aurora MySQL 5.6,1.23.1 版(及更高版本)

    • Aurora MySQL 5.7,2.09.1 版(及更高版本)

    • Aurora PostgreSQL 10.14 版(及更高版本)、11.9 版(及更高版本)和 12.4 版(及更高版本)

  • Aurora 全局数据库目前不支持以下 Aurora 功能:

    • Aurora 多主集群

    • Aurora Serverless v1

    • 正在 Aurora 中回溯

  • 您可以在仅运行以下 Aurora MySQL 和 Aurora PostgreSQL 版本的 Aurora 全局数据库上启动数据库活动流。

    数据库引擎 主 Amazon 区域 辅助 Amazon 区域

    Aurora MySQL

    Aurora MySQL 5.7(2.08 版及更高版本)

    Aurora MySQL 5.7(2.08 版及更高版本)

    Aurora PostgreSQL

    Aurora PostgreSQL 10.11(及更高版本)

    Aurora PostgreSQL 10.14(及更高版本)

    Aurora PostgreSQL 11.7(及更高版本)

    Aurora PostgreSQL 11.9(及更高版本)

    有关数据库活动流的信息,请参阅将数据库活动流与 Amazon Aurora 结合使用

  • 要提升 Aurora 全局数据库,请先提升所有辅助集群,然后再提升主集群。但是,对于基于 Aurora PostgreSQL– 的 Aurora 全局数据库,您只能将 Aurora 数据库引擎升级到新次要版本。此限制仅适用于 Aurora PostgreSQL 的 Aurora 数据库集群,而不适用于 Aurora MySQL。有关升级 Aurora 数据库引擎的更多信息,请参阅 升级 Aurora MySQL 数据库集群的次要版本或补丁程序级别升级适用于 Aurora PostgreSQL 的 PostgreSQL 数据库引擎

  • 您无法单独地停止或启动 Aurora 全局数据库中的 Aurora 数据库集群。要了解更多信息,请参阅“停止和启动 Amazon Aurora 数据库集群”。

  • Aurora 在某些情况下,附加到主 Aurora 数据库集群的副本可能会重新启动。如果主 Amazon 区域的数据库实例重新启动或发生故障转移,该区域中的 Aurora 副本也会重新启动。随后集群将不可用,直到所有副本与主数据库集群的写入器实例恢复同步。这是预期行为,将会记录在 使用 Amazon Aurora 进行复制 中。在更改主数据库集群之前,请务必了解对 Aurora 全局数据库的影响。要了解更多信息,请参阅“从计划外停机中恢复 Amazon Aurora 全局数据库”。

  • 在 Aurora 全局数据库中运行的基于 Aurora PostgreSQL 的数据库集群存在以下限制:

    • 如果 Aurora 全局数据库的主数据库集群基于 Amazon RDS PostgreSQL 实例的副本,则无法创建辅助集群。切勿尝试使用 Amazon Web Services Management Console、Amazon CLI 或 CreateDBCluster API 操作从该集群创建辅助。尝试这样做会超时,并且不创建辅助集群。

我们建议您使用与主数据库相同版本的 Aurora 数据库引擎为 Aurora 全局数据库创建辅助数据库集群。有关更多信息,请参阅创建 Amazon Aurora 全局数据库