Amazon Aurora
Aurora 用户指南 (API 版本 2014-10-31)
AWS 文档中描述的 AWS 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 AWS 服务入门

使用 Amazon Aurora 全局数据库

在下文中,您可以找到 Amazon Aurora 全局数据库的说明。每个 Aurora 全局数据库均跨越多个 AWS 区域,可让用户低延迟读取全局数据,并在发生区域级故障时进行灾难恢复。

Aurora 全局数据库概览

Aurora 全局数据库由一个主要 AWS 区域(包含主数据)和一个只读辅助 AWS 区域组成。Aurora 将数据复制到辅助 AWS 区域,典型延迟低于一秒。您可将写入操作直接发送到主要 AWS 区域中的主数据库实例。Aurora 全局数据库会使用专用基础设施复制您的数据,以使数据库资源可完全用于处理应用程序工作负载。具有全局足迹的应用程序可以在辅助 AWS 区域使用读取器实例实现低延迟读取。在极少的情况下,AWS 区域中的数据库会降级或被隔离,您可以提升辅助 AWS 区域以在一分钟内承担完全的读写工作负载。

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

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

Aurora 全局数据库的优势

Aurora 全局数据库使用专用基础设施在主数据库集群与辅助集群之间复制更改内容。Aurora 全局数据库可为您提供以下优势:

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

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

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

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

  • 您可以向辅助集群添加最多 16 个 Aurora 副本,这样,您可以将读取扩展到超过单个 Aurora 集群的能力。

Aurora 全局数据库的当前限制

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

创建 Aurora 全局数据库

Aurora 全局数据库跨多个 AWS 区域。您创建全局数据库本身以及读写主集群。然后,在另一个 AWS 区域中创建只读辅助集群。

  • 要创建新的全局数据库,您创建全局数据库和它所包含的主集群,然后添加辅助集群。

  • 如果您有现有 Aurora 集群,您可以拍摄快照并将其还原到新的 Aurora 全局数据库。为此,请按照将数据导入 Aurora 全局数据库中的过程进行操作。

当您为主集群和辅助集群指定名称时,请选择与现有 Aurora 集群不同的名称,即使这些集群位于其他 AWS 区域中。

重要

在创建 Aurora 全局数据库之前,请按照 Amazon Relational Database Service 用户指南设置 Amazon RDS 中的介绍针对您的账户、网络和安全设置完成设置任务。

注意

如果您通过 AWS CLI 或 RDS API 创建 Aurora 集群,并打算以后将其添加到 Aurora 全局数据库,则必须对引擎模式参数使用 global 值。

控制台

使用 AWS 管理控制台创建 Aurora 全局数据库

  1. 登录 AWS 管理控制台,并针对提供 Aurora 全局数据库的区域打开 Amazon RDS 控制台。

  2. 选择创建数据库

  3. 选择引擎页面上,选择与 MySQL 5.6 兼容的 Aurora 引擎,并对 Database location (数据库位置) 选择 Global (全局)。有关示例,请参阅下面的图像。

    注意

    确保未选中 Quick create (快速创建)。关闭 Quick create (快速创建) 将显示您需要用于 Aurora 全局数据库的选项。

    1. 选择 Aurora 作为引擎:

      
                    创建数据库时引擎选项选择的屏幕截图。
    2. 选择 MySQL 5.6 兼容性:

      
                    创建 Aurora 集群时版本和引擎版本选择的屏幕截图。
    3. 选择 Global (全局) 作为位置:

      
                    创建 Aurora 集群时数据库位置选择的屏幕截图。选择“global (全局)”以创建 Aurora 全局数据库。

      注意

      选择 Global (全局) 将设置全局数据库和主 Aurora 集群。一旦全局数据库创建且可用,即可添加辅助 AWS 区域。

  4. 对于其他 Aurora 集群使用相同的决策流程以填写剩余设置。有关创建 Aurora 数据库集群的更多信息,请参阅创建 Amazon Aurora 数据库集群

    
                显示创建 Aurora 全局数据库时的补充设置的屏幕截图。
  5. 选择 Create

当主数据库集群已创建并可用时,按照将 AWS 区域添加到 Aurora 全局数据库中的步骤创建辅助集群。

AWS CLI

使用 CLI 创建 Aurora 全局数据库

  1. 创建 Aurora 全局数据库,然后添加主要 AWS 区域并在该 AWS 区域中添加数据库实例。

    1. 创建 Aurora 全局数据库本身。最初,没有集群与之关联。

      针对 Linux、OS X 或 Unix:

      aws rds create-global-cluster \ --global-cluster-identifier global_database_id \ --engine aurora \ --engine-version 5.6.10a

      对于 Windows:

      aws rds create-global-cluster ^ --global-cluster-identifier global_database_id ^ --engine aurora ^ --engine-version 5.6.10a

      要了解有关其他选项的更多信息,请参阅create-global-cluster

    2. 使用 AWS CLI describe-global-clusters 命令检查 Aurora 全局数据库是否已变为可用状态,如下例所示。

      aws rds --region primary_region \ describe-global-clusters \ --global-cluster-identifier global_database_id # optional
    3. describe-global-clusters 结果显示状态 available 时,创建 Aurora 全局数据库的主集群。为此,使用 AWS CLI create-db-cluster 命令。为 --engine 参数指定 aurora,为 --engine-version 参数指定 5.6.10a,并为 --engine-mode 参数指定 global。指定您创建全局数据库时的相同 --global-cluster-identifier 值。下面的示例演示如何操作。

      针对 Linux、OS X 或 Unix:

      aws rds create-db-cluster \ --region primary_region \ --db-cluster-identifier db_cluster_id \ --master-username master_userid \ --master-user-password master_password \ --engine aurora \ --engine-version 5.6.10a \ --engine-mode global \ --global-cluster-identifier global_database_id

      对于 Windows:

      aws rds create-db-cluster ^ --region primary_region ^ --db-cluster-identifier db_cluster_id ^ --master-username master_userid ^ --master-user-password master_password ^ --engine aurora ^ --engine-version 5.6.10a ^ --engine-mode global ^ --global-cluster-identifier global_database_id

      全局数据库。

      要了解有关其他选项的更多信息,请参阅create-db-cluster

    4. 使用 AWS CLI describe-db-clusters 命令检查 Aurora 集群是否已变为可用状态,如下例所示。

      aws rds --region primary_region \ describe-db-clusters \ --db-cluster-identifier db_cluster_id # optional
    5. describe-db-clusters 结果显示状态 available 时,创建主集群的主数据库实例。为此,使用 AWS CLI create-db-instance 命令。为 --engine 参数指定 aurora,为 --engine-version 参数指定 5.6.10a,并为 --engine-mode 参数指定 global。下面的示例演示如何操作。

      针对 Linux、OS X 或 Unix:

      aws rds create-db-instance \ --db-cluster-identifier db_cluster_id \ --db-instance-class instance_class \ --db-instance-identifier db_instance_id \ --engine aurora \ --engine-version 5.6.10a

      对于 Windows:

      aws rds create-db-instance ^ --db-cluster-identifier db_cluster_id ^ --db-instance-class instance_class ^ --db-instance-identifier db_instance_id ^ --engine aurora ^ --engine-version 5.6.10a

      您无需包含 --master-username--master-user-password 参数,因为这些值是从主数据库集群中获取的。

      要了解有关其他选项的更多信息,请参阅create-db-instance

  2. 使用 AWS CLI describe-db-clusters 命令检查 Aurora 全局数据库的主集群是否已变为可用状态,如下例所示。

    aws rds describe-db-clusters --db-cluster-identifier sample-global-cluster

    describe-db-clusters 结果显示状态 available 时,创建主集群的主实例以便复制能够开始。为此,请使用 AWS CLI create-db-instance 命令,如以下示例中所示。

    针对 Linux、OS X 或 Unix:

    aws rds create-db-instance \ --db-cluster-identifier sample-global-cluster \ --db-instance-class instance_class \ --db-instance-identifier sample-replica-instance \ --engine aurora

    对于 Windows:

    aws rds create-db-instance ^ --db-cluster-identifier sample-global-cluster ^ --db-instance-class instance_class ^ --db-instance-identifier sample-replica-instance ^ --engine aurora

    在数据库实例已创建并可用后,复制将开始。您可以调用 AWS CLI describe-db-instances 命令以确定数据库实例是否可用。

  3. 或者,也可以首先创建主集群,然后创建全局数据库,同时指定要用作主集群的集群:

    1. 使用 global 引擎模式创建一个空的 Aurora 集群,并在该集群中创建一个数据库实例。引擎模式 global 意味着您可以将此集群添加到 Aurora 全局数据库中。

      针对 Linux、OS X 或 Unix:

      aws rds --region primary_region \ create-db-cluster \ --db-cluster-identifier primary_cluster_id \ --master-username master_userid \ --master-user-password master_password \ --engine aurora \ --engine-version 5.6.10a \ --engine-mode global aws rds --region primary_region \ create-db-instance \ --db-instance-class instance_class \ --db-cluster-identifier primary_cluster_id \ --db-instance-identifier db_instance_id \ --engine aurora

      对于 Windows:

      aws rds --region primary_region ^ create-db-cluster ^ --db-cluster-identifier primary_cluster_id ^ --master-username master_userid ^ --master-user-password master_password ^ --engine aurora ^ --engine-version 5.6.10a ^ --engine-mode global aws rds --region primary_region ^ create-db-instance ^ --db-instance-class instance_class ^ --db-cluster-identifier primary_cluster_id ^ --db-instance-identifier db_instance_id ^ --engine aurora
    2. 在主数据库集群和数据库实例已创建并可用后,通过在您要在其中创建 Aurora 全局数据库的 AWS 区域中调用 AWS CLI create-global-cluster 命令以创建 Aurora 全局数据库。

      针对 Linux、OS X 或 Unix:

      aws rds create-global-cluster \ --global-cluster-identifier global_database_id \ --source-db-cluster-identifier primary_cluster_ARN

      对于 Windows:

      aws rds create-global-cluster ^ --global-cluster-identifier global_database_id ^ --source-db-cluster-identifier primary_cluster_ARN
RDS API

要使用 RDS API 创建 Aurora 全局数据库,请运行 CreateGlobalCluster 操作。

将 AWS 区域添加到 Aurora 全局数据库

在创建 Aurora 全局数据库及其主集群后,可以通过添加新的 AWS 区域增加其全局足迹。此过程涉及附加辅助 Aurora 集群。辅助集群必须与主集群位于不同的 AWS 区域中。

注意

目前,您可以附加到 Aurora 全局数据库的辅助 Aurora 集群的最大数量为一。

控制台

使用 AWS 管理控制台 将 AWS 区域添加到 Aurora 全局数据库

  1. 在 AWS 管理控制台的右上角,选择可提供 Aurora 全局数据库的任何 AWS 区域。

  2. 在导航窗格中,选择 Databases (数据库)

  3. 选择您要为其创建辅助集群的 Aurora 全局数据库对应的复选框。如果主集群或其中的数据库实例仍处于 Creating 状态,请等待它们全部变为 Available

  4. 对于 Actions (操作),选择 Add region (添加区域)

    
                显示 Aurora 全局数据库的“添加区域”选项的屏幕截图。
  5. Add a region (添加区域) 页面上,选择辅助 AWS 区域。

    
                显示 Aurora 全局数据库的“添加区域”对话框的屏幕截图。
  6. 在新的 AWS 区域中填写 Aurora 集群的其余字段,然后选择 Create (创建)

AWS CLI

要使用 AWS CLI 将 AWS 区域添加到 Aurora 全局数据库,请运行 create-db-cluster 命令。

以下命令创建一个新的 Aurora 集群,将其作为只读辅助集群附加到全局数据库,然后将数据库实例添加到新集群。create-db-cluster 命令的 --global-cluster-identifier 选项指定要附加新集群的全局数据库。

对于加密的集群,指定 --source-region 选项以及与主 AWS 区域匹配的值。

针对 Linux、OS X 或 Unix:

aws rds --region secondary_region \ create-db-cluster \ --db-cluster-identifier secondary_cluster_id \ --global-cluster-identifier global_database_id \ --engine aurora aws rds --region secondary_region \ create-db-instance \ --db-instance-class instance_class \ --db-cluster-identifier secondary_cluster_id \ --db-instance-identifier db_instance_id \ --engine aurora

对于 Windows:

aws rds --region secondary_region ^ create-db-cluster ^ --db-cluster-identifier secondary_cluster_id ^ --global-cluster-identifier global_database_id_id ^ --engine aurora aws rds --region secondary_region ^ create-db-instance ^ --db-instance-class instance_class ^ --db-cluster-identifier secondary_cluster_id ^ --db-instance-identifier db_instance_id ^ --engine aurora
RDS API

要使用 RDS API 将新的 AWS 区域添加到 Aurora 全局数据库,请运行 CreateGlobalCluster 操作。

从 Aurora 全局数据库移除集群

从 Aurora 全局数据库移除 Aurora 集群会将其转变回区域集群,具有完全读写能力且不再与主集群同步。

当主集群变为降级或隔离后,您可以从全局数据库移除 Aurora 集群。对 Aurora 全局数据库执行故障转移涉及从原始全局数据库中移除辅助集群,然后将其用作新 Aurora 全局数据库中的主集群。

如果您不再需要全局数据库,在删除全局数据库自身之前,必须先移除辅助集群,然后移除主集群。然后,您可以删除您移除的一个或两个集群,或者继续将其中一个或这两者用作单区域 Aurora 集群。

控制台

要使用 AWS 管理控制台从 Aurora 全局数据库移除 Aurora 集群,请在 Databases (数据库) 页面上选择此集群。对于 Actions (操作),选择 Remove from Global (从全局数据库移除)。移除的集群将成为具有完全读写能力的常规 Aurora 集群。它不再与主集群保持同步。


            显示从 Aurora 全局数据库中移除辅助集群的确认提示的屏幕截图。

如果辅助集群仍与全局数据库关联,则无法移除主集群。

在移除或删除辅助集群后,您可以按同样方式移除主集群。

从 Aurora 全局数据库移除集群之后,您仍可以在 Databases (数据库) 页面中看到它们,但没有 Global (全局)Primary (主)Secondary (辅助) 标签。


            显示从 Aurora 全局数据库中移除之后的集群的屏幕截图。
AWS CLI

要使用 AWS CLI 从 Aurora 全局数据库移除 Aurora 集群,请运行 remove-from-global-cluster 命令。

以下命令从 Aurora 全局数据库中移除辅助集群,然后移除主集群。在每种情况下,要移除的集群均由 --db-cluster-identifier 参数标识。Aurora 全局数据库由 --global-cluster-identifier 参数标识。

针对 Linux、OS X 或 Unix:

aws rds --region secondary_region \ remove-from-global-cluster \ --db-cluster-identifier secondary_cluster_ARN \ --global-cluster-identifier global_database_id aws rds --region primary_region \ remove-from-global-cluster \ --db-cluster-identifier primary_cluster_ARN \ --global-cluster-identifier global_database_id

对于 Windows:

aws rds --region secondary_region ^ remove-from-global-cluster ^ --db-cluster-identifier secondary_cluster_ARN ^ --global-cluster-identifier global_database_id aws rds --region primary_region ^ remove-from-global-cluster ^ --db-cluster-identifier primary_cluster_ARN ^ --global-cluster-identifier global_database_id
RDS API

要使用 RDS API 从 Aurora 全局数据库移除 Aurora 集群,请运行 RemoveFromGlobalCluster 操作。

删除 Aurora 全局数据库

在可以删除 Aurora 全局数据库之前,必须先删除或移除与全局数据库关联的辅助集群和主集群。有关从全局数据库中移除集群并使之再次成为独立 Aurora 集群的过程,请参阅从 Aurora 全局数据库移除集群

控制台

使用 AWS 管理控制台删除 Aurora 全局数据库

要使用 AWS 管理控制台删除作为 Aurora 全局数据库一部分的集群,应先移除或删除与全局数据库关联的任何辅助集群,再移除主集群,然后删除全局数据库本身。由于全局数据库通常容纳业务关键数据,因此您不能一步删除全局数据库和关联的集群。有关从全局数据库移除集群的说明,请参阅从 Aurora 全局数据库移除集群。有关在移除集群后删除集群的过程,请参阅删除 Aurora 数据库集群中的数据库实例。从 Aurora 集群中删除主实例将删除集群本身。

  1. 确认所有其他集群从 Aurora 全局数据库中移除。

    如果全局数据库中嵌套了任何集群(如下面的屏幕截图所示),则尚无法删除全局数据库。对于与全局数据库关联的每个集群,按照从 Aurora 全局数据库移除集群中介绍的过程操作。

    
                无法删除此全局数据库,因为它仍有关联的集群。

    在全局数据库没有任何关联的集群后,您才可以删除它。下面的屏幕截图显示 global-db-demo 集群在移除后不再与全局数据库关联。

    
                所有集群从全局数据库中移除,因此现在可以删除它。
  2. Databases (数据库) 页或全局数据库的详细信息页面上,依次选择 Actions (操作)Delete (删除)

AWS CLI

要使用 AWS CLI 删除作为 Aurora 全局数据库一部分的集群,请运行 delete-global-cluster 命令。

以下命令删除具有指定全局集群 ID 的 Aurora 全局数据库:

针对 Linux、OS X 或 Unix:

aws rds --region primary_region \ delete-global-cluster \ --global-cluster-identifier global_database_id

对于 Windows:

aws rds --region primary_region ^ delete-global-cluster ^ --global-cluster-identifier global_database_id
RDS API

要使用 RDS API 删除作为 Aurora 全局数据库一部分的集群,请运行 DeleteGlobalCluster 操作。

将数据导入 Aurora 全局数据库

要将数据导入 Aurora 全局数据库,请使用以下方法之一:

  • 创建 Aurora MySQL 集群或 Amazon RDS MySQL 数据库实例的快照,然后将其还原到 Aurora 全局数据库的主集群。目前,任何快照都必须来自与 MySQL 5.6 兼容的源。

    
            显示 Aurora 全局数据库的“还原快照”页面的屏幕截图。
  • 对主集群使用时间点还原以便将集群数据还原到之前状态。

  • 使用逻辑导入技术,例如,使用 mysqldump 命令准备数据,然后使用 mysql 命令加载这些数据。

Aurora 全局数据库的关键区别在于:您始终将数据导入您指定为主集群的集群。您可以在将集群添加到 Aurora 全局数据库之前或之后,执行初始数据导入。主集群中的所有数据自动复制到辅助集群。

管理 Aurora 全局数据库

您可以对构成 Aurora 全局数据库的各个集群执行大多数的管理操作。当您在控制台中 Databases (数据库) 页面上选择 Group related resources (对相关资源分组) 时,您可以看到主集群和辅助集群分组到关联的全局数据库对象之下。


        显示如何在 AWS 管理控制台的“数据库”页面中表示 Aurora 全局数据库的屏幕截图。

要查看适用于整个 Aurora 全局数据库的属性,则选择该全局数据库。


        显示 AWS 管理控制台中的所选 Aurora 全局数据库和关联设置的屏幕截图

配置 Aurora 全局数据库

AWS 管理控制台中的 Databases (数据库) 页面列出您所有的 Aurora 全局数据库,同时显示每个全局数据库的主集群和辅助集群。Aurora 全局数据库是具有其自己的配置设置的对象,尤其是与主集群和辅助集群关联的 AWS 区域设置。


        显示 AWS 管理控制台中的所选 Aurora 全局数据库和关联配置设置的屏幕截图。

您可以选择 Aurora 全局数据库并修改其设置,如下面的屏幕截图中所示:


        显示 Aurora 全局数据库的修改设置页面的屏幕截图。

您可以为 Aurora 全局数据库中的每个 Aurora 集群独立配置参数组。大多数参数的工作方式与其他类型的 Aurora 集群相同。aurora_enable_repl_bin_log_filteringaurora_enable_replica_log_compression 配置设置没有效果。我们建议在全局数据库中的所有集群之间保持设置一致,以避免在将辅助集群提升到主集群时出现意外的行为变化。例如,对于时区和字符集使用相同设置,可避免在不同集群作为主集群时出现不一致的行为。

连接到 Aurora 全局数据库

对于只读查询流量,您连接到 AWS 区域中 Aurora 集群的读取器终端节点。

要运行数据操作语言 (DML) 或数据定义语言 (DDL) 语句,应连接到主集群的集群终端节点。终端节点可能位于与您的应用程序不同的 AWS 区域中。

当您在 AWS 管理控制台中查看 Aurora 全局数据库时,您可以看到与其所有集群关联的通用终端节点,如下面的屏幕截图所示。只有一个与主集群关联的集群终端节点可用于写入操作。主集群和每个辅助集群具有读取器终端节点,可用于只读查询。选择一个位于您所在的 AWS 区域或离您最近的 AWS 区域中的读取器终端节点,可最大限度地减少延迟。


        显示 AWS 管理控制台中的所选 Aurora 全局数据库和关联连接设置(终端节点)的屏幕截图。

Aurora 全局数据库故障转移

Aurora 全局数据库引入了比默认 Aurora 集群更高级别的故障转移功能。如果一个 AWS 区域中的整个集群变得不可用,则可以提升全局数据库中的另一个集群,使之具有读写功能。

如果另一个 AWS 区域中的集群成为主集群效果更好,您可以手动启用故障转移机制。例如,您可以提高辅助集群的容量,然后将其提升成为主集群。或者 AWS 区域间的活动平衡可能发生变化,这样,将主集群切换到另一个 AWS 区域可能会对写入操作带来较低延迟。

下面的步骤概括当您在 Aurora 全局数据库中提升辅助集群时的事件序列:

  1. 主集群变得不可用。

  2. 从 Aurora 全局数据库移除辅助集群。这会将它提升到完全读写能力。要了解如何从全局数据库中移除 Aurora 集群,请参阅从 Aurora 全局数据库移除集群

  3. 重新配置应用程序,以使写入流量转向新提升的集群。

    重要

    此时,您停止向变为不可用的集群发出任何 DML 语句或其他写入操作。要避免集群之间的数据不一致(也称为“分裂大脑”场景),请避免写入以前的主集群,即使其重新回到在线状态。

  4. 创建新的 Aurora 全局数据库,并将新提升的集群用作读写主集群。要了解如何创建 Aurora 全局数据库,请参阅创建 Aurora 全局数据库

  5. 将遇到问题的集群的 AWS 区域添加到 Aurora 全局数据库。现在,AWS 区域包含新的辅助集群。要了解如何将 AWS 区域添加到 Aurora 全局数据库,请参阅将 AWS 区域添加到 Aurora 全局数据库

  6. 当停机问题已解决且您准备就绪再次将原始 AWS 区域指定为主集群时,按相反顺序执行相同步骤:

    1. 从 Aurora 全局数据库移除辅助集群。

    2. 让该集群成为原始 AWS 区域中新的 Aurora 全局数据库的主集群。

    3. 将所有写入流量重定向到原始 AWS 区域中的主集群。

    4. 添加 AWS 区域,以便在与之前相同的 AWS 区域中设置辅助集群。

Aurora 全局数据库的 Performance Insights

您可以同时使用 Amazon RDS Performance Insights 和 Aurora 全局数据库。这样,可将 Performance Insights 报告分别应用于全局数据库中的每个集群。您可以针对全局数据库中的每个集群启用或禁用 Performance Insights 功能。在将新辅助区域添加到已经使用 Performance Insights 的全局数据库时,必须在新添加的集群中启用 Performance Insights。此集群不能从现有全局数据库继承 Performance Insights 设置。

在查看附加到全局数据库的数据库实例的 Performance Insights 页面时,您可以切换 AWS 区域。但是,您可能不能在切换 AWS 区域后立即看到性能详情。在各 AWS 区域中,虽然数据库实例的名称可能会相同,但每个数据库实例的相关 Performance Insights URL 不同。在切换 AWS 区域后,可在 Performance Insights 导航窗格中重新选择数据库实例的名称。

对于与全局数据库关联的数据库实例,各 AWS 区域中影响性能的系数可能不同。例如,各区域中数据库实例的容量可能不同。

有关使用 Performance Insights 的信息,请参阅使用 Amazon RDS Performance Insights

将 Aurora 全局数据库与其他 AWS 服务结合使用

在某些情况下,您可以将 AWS 服务和 Aurora 全局数据库结合使用。在这些情况下,您在所有关联的集群对应的 AWS 区域中需要相同的权限、外部函数等等。即使全局数据库中的 Aurora 集群可能开始只是作为只读复制目标,您以后也可能将其提升为主集群。要为这种可能性做好准备,请提前针对全局数据库中的所有 Aurora 集群,为其他服务设置任何必需的写入权限。

下面的列表汇总了要针对每项 AWS 服务采取的操作。

调用 Lambda 函数

对于构成 Aurora 全局数据库的所有 Aurora 集群,请执行从 Amazon Aurora MySQL 数据库集群中调用 Lambda 函数中的过程。

对于 Aurora 全局数据库中的每个集群,将 aws_default_lambda_role 集群参数设置为新 IAM 角色的 Amazon 资源名称 (ARN)。

要允许 Aurora 全局数据库中的数据库用户调用 Lambda 函数,请将您在创建 IAM 角色以允许 Amazon Aurora 访问 AWS 服务中创建的角色与 Aurora 全局数据库中的每个集群关联。

配置 Aurora 全局数据库中的每个集群,以允许建立到 Lambda 的出站连接。有关说明,请参阅 启用从 Amazon Aurora MySQL 到其他 AWS 服务的网络通信

从 S3 加载数据

对于构成 Aurora 全局数据库的所有 Aurora 集群,请执行将数据从 Amazon S3 存储桶中的文本文件加载到 Amazon Aurora MySQL 数据库集群中的过程。

对于全局数据库中的每个 Aurora 集群,将 aurora_load_from_s3_roleaws_default_s3_role 数据库集群参数设置为新 IAM 角色的 Amazon 资源名称 (ARN)。如果没有为 aurora_load_from_s3_role 指定 IAM 角色,则 Aurora 使用在 aws_default_s3_role 中指定的 IAM 角色。

要允许 Aurora 全局数据库中的数据库用户访问 Amazon S3,请将您在创建 IAM 角色以允许 Amazon Aurora 访问 AWS 服务中创建的角色与全局数据库中的每个 Aurora 集群关联。

配置全局数据库中的每个 Aurora 集群,以允许建立到 Amazon S3 的出站连接。有关说明,请参阅启用从 Amazon Aurora MySQL 到其他 AWS 服务的网络通信

将查询的数据保存到 S3

对于构成 Aurora 全局数据库的所有 Aurora 集群,请执行将数据从 Amazon Aurora MySQL 数据库集群保存到 Amazon S3 存储桶中的文本文件中的过程。

对于全局数据库中的每个 Aurora 集群,将 aurora_select_into_s3_roleaws_default_s3_role 数据库集群参数设置为新 IAM 角色的 Amazon 资源名称 (ARN)。如果没有为 aurora_select_into_s3_role 指定 IAM 角色,则 Aurora 使用在 aws_default_s3_role 中指定的 IAM 角色。

要允许 Aurora 全局数据库中的数据库用户访问 Amazon S3,请将您在创建 IAM 角色以允许 Amazon Aurora 访问 AWS 服务中创建的角色与全局数据库中的每个 Aurora 集群关联。

配置全局数据库中的每个 Aurora 集群,以允许建立到 Amazon S3 的出站连接。有关说明,请参阅启用从 Amazon Aurora MySQL 到其他 AWS 服务的网络通信