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

使用 Amazon Aurora Global Database

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

Amazon Aurora Global Database 概览

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

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

下图显示了跨越两个 Amazon Web Services 区域 的 Aurora Global Database 示例。


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

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

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

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

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

对于计划内的操作程序(例如维护),您可以使用托管的计划内故障转移。通过此功能,您可以将运行正常的 Aurora Global Database 的主集群重新定位到其辅助区域之一,而不会造成数据丢失。要了解更多信息,请参阅“执行 Amazon Aurora Global Database 的托管计划内故障转移”。

Amazon Aurora Global Database 的优势

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

  • 全局读取本地延迟 - 如果您在世界各地设有办事处,则可以使用 Aurora Global Database 在主 Amazon Web Services 区域 保持主要信息来源为最新状态。您其他区域的办事处可以访问各自区域中的信息,存在本地延迟。

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

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

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

Amazon Aurora Global Database 的限制

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

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

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

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

    • Aurora MySQL 与 MySQL 8.0 兼容,版本 3.01.0 及更高版本

    • Aurora MySQL 与 MySQL 5.7 兼容,版本 2.09.1 及更高版本

    • Aurora MySQL 与 MySQL 5.6 兼容,版本 1.23.1 及更高版本

    • Aurora PostgreSQL 引擎版本 13.3 及更高版本、12.4 及更高版本、11.9 及更高版本以及 10.14 及更高版本。

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

    • Aurora 多主集群

    • Aurora Serverless v1

    • 正在 Aurora 中回溯

    • Amazon RDS 代理

  • 自动次要版本升级不适用于作为 Aurora 全局数据库一部分的 Aurora MySQL 集群。请注意,您可以为属于全局数据库集群的数据库实例指定该设置,但该设置无效。

  • Aurora 全局数据库目前不支持备用数据库集群的 Aurora Auto Scaling。

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

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

    Aurora MySQL 5.7

    版本 2.08 及更高版本

    版本 2.08 及更高版本

    Aurora PostgreSQL

    版本 13.3 及更高版本

    版本 13.3 及更高版本

    版本 12.4 及更高版本

    版本 12.4 及更高版本

    版本 11.7 及更高版本

    版本 11.9 及更高版本

    版本 10.11 及更高版本

    版本 10.14 及更高版本

    有关数据库活动流的信息,请参阅 使用数据库活动流监控 Amazon Aurora

  • 使用基于 Aurora PostgreSQL 的 Aurora 全局数据库时,如果启用了恢复点目标 (RPO) 功能,则无法对 Aurora 数据库引擎执行主要版本升级。有关 RPO 功能的信息,请参阅 管理基于 Aurora PostgreSQL 的全局数据库的 RPO。有关升级 Aurora Global Database 的信息,请参阅 升级 Amazon Aurora Global Database

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

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

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

    • 作为 Aurora 全局数据库一部分的 Aurora PostgreSQL 数据库集群不支持集群缓存管理。

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

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