使用 Amazon Aurora 全局数据库 - Amazon Aurora

使用 Amazon Aurora 全局数据库

在下面,您可以找到用于创建 Aurora 全局数据库的 Amazon Aurora 全局数据库功能的说明。每个 Aurora 全局数据库均跨越多个 AWS 区域,可在 AWS 区域中实现低延迟的全局读取以及从停机中进行灾难恢复。

Aurora 全局数据库概览

Aurora 全局数据库由一个主要 AWS 区域(在其中维护主数据)和最多 5 个只读辅助 AWS 区域组成。Aurora 将数据复制到辅助 AWS 区域,典型延迟低于 1 秒。您可将写入操作直接发送到主要 AWS 区域中的主数据库实例。

Aurora 全局数据库会使用专用基础设施复制您的数据,以使数据库资源可完全用于处理应用程序工作负载。具有全局足迹的应用程序可以在辅助 AWS 区域使用读取器实例以实现低延迟读取。在某些不太可能的情况下,您的数据库可能会在 AWS 区域中降级或隔离。如果发生这种情况,使用全局数据库,您可以在一分钟内提升辅助 AWS 区域之一以获取完整的读/写工作负载。

存储主数据的主要 AWS 区域中的 Aurora 集群同时执行读取和写入操作。辅助区域中的集群支持低延迟读取。您可以通过添加一个或多个数据库实例(Aurora 副本)以承担只读工作负载,从而独立扩展辅助集群。为了进行灾难恢复,您可以从 Aurora 全局数据库中删除辅助集群,并将其提升为允许完全读写操作。

只有主集群才能执行写入操作。执行写操作的客户端连接到主集群的数据库实例终端节点。

Aurora 全局数据库的优势

Aurora 全局数据库可以为您提供以下优点:

  • 辅助集群提供了远远超出单个 Aurora 集群容量的读取扩展。

    辅助集群没有写入器主数据库实例。此功能意味着它最多可拥有 16 个只读 Aurora 副本实例,而不是单个 Aurora 集群拥有 15 个只读副本实例的限制。

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

  • 更改在 AWS 区域之间以最小延迟时间(通常低于 1 秒)进行复制。

  • 辅助集群支持快速故障转移以进行灾难恢复。您通常可以提升辅助集群并使其一分钟内可供写入。

  • 远程 AWS 区域中的应用程序在从辅助集群进行读取时,经历的查询延迟会更低。

Aurora 全局数据库的限制

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

  • 您可以将 Aurora 全局数据库与以下 Aurora 版本结合使用:

    • Aurora MySQL 与 MySQL 5.6 的兼容性 – 版本 5.6.10a 或版本 1.22 或更高版本

    • Aurora MySQL 与 MySQL 5.7 的兼容性 – 版本 2.07 或更高版本。

    • Aurora PostgreSQL 与 PostgreSQL 的兼容性 – 版本 10.11、10.12、11.7 及更高版本。

  • 您可以选择为 Aurora 全局数据库使用 db.r4db.r5 实例类。您不能使用 db.t2db.t3 实例类。

  • Aurora 全局数据库在以下 AWS 区域中可用:

    • 美国东部(弗吉尼亚北部)

    • 美国东部(俄亥俄州)

    • 美国西部(加利福尼亚北部)

    • 美国西部(俄勒冈)

    • 欧洲(爱尔兰)

    • 欧洲(伦敦)

    • 欧洲(巴黎)

    • 欧洲(法兰克福)

    • 亚太地区(孟买)

    • 亚太区域(新加坡)

    • 亚太区域(悉尼)

    • 亚太区域(东京)

    • 亚太区域(首尔)

    • 加拿大 (中部)

  • 辅助集群必须与主集群位于不同的 AWS 区域中。

  • 要升级全局数据库集群,必须先升级辅助集群,然后再升级主集群。有关升级的更多信息,请参阅 升级和修补 Amazon Aurora MySQL 数据库集群升级适用于 Aurora PostgreSQL 的 PostgreSQL 数据库引擎

  • 如果主 AWS 区域的数据库实例重新启动或发生故障转移,该区域中的任何 Aurora 副本也会重新启动。随后集群将不可用,直到所有副本与主数据库集群的写入器恢复同步。使用 Amazon Aurora 进行复制使用 Amazon Aurora PostgreSQL 进行复制中更完整地记录了此行为。在对主数据库集群进行更改之前,请务必了解这些部分中讨论的可能影响。有关 Aurora 全局数据库一般性故障转移,以及如何计划中断并从中断恢复的更多信息,请参阅管理 Aurora 全局数据库

  • 数据库活动流只能在主集群上启动,不能在任何辅助集群上启动。 目前,数据库活动流仅可用于使用 Aurora PostgreSQL 的全局数据库集群。有关数据库活动流的信息,请参阅将数据库活动流与 Amazon Aurora 结合使用

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

  • 回溯。有关回溯的信息,请参阅回溯 Aurora 数据库集群

  • Aurora Serverless。有关 Aurora Serverless 的信息,请参阅使用 Amazon Aurora Serverless

  • 使用 Aurora 只读副本将 RDS 数据库导入 Aurora PostgreSQL 集群。直到复制完成之后,您才能使 Aurora PostgreSQL 集群成为全局数据库。有关更多信息,请参阅使用 Aurora 只读副本将数据从 RDS PostgreSQL 数据库实例迁移到 Aurora PostgreSQL 数据库集群

  • 与 PostgreSQL 兼容的 Aurora 与 Aurora 全局集群一起使用时,如果全局数据库的主集群基于 Amazon RDS PostgreSQL 实例的副本,则无法为其创建辅助集群。也就是说,如果主群集中的主实例是从 Amazon RDS PostgreSQL 数据库实例填充的,那么请不要尝试使用 AWS 管理控制台、AWS CLI 或 CreateDBCluster API 从该集群创建辅助集群。这些操作将超时,且辅助集群不会创建。最好使用与主集群相同的版本创建辅助数据库群集。有关更多信息,请参阅创建 Aurora 全局数据库

  • 在全局数据库中停止和启动数据库集群。有关停止和启动 Aurora 集群的信息,请参阅停止和启动 Amazon Aurora 数据库集群