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

开始使用 Amazon Aurora Global Database

要开始使用 Aurora Global Database,需要先决定您要使用哪个 Aurora 数据库引擎以及在哪个 Amazon Web Services 区域 中使用。只有某些 Amazon Web Services 区域 中的 Aurora MySQL 和 Aurora PostgreSQL 数据库引擎的特定版本才支持 Aurora Global Database。有关完整列表,请参阅 Aurora 全局数据库

您可以通过以下方式之一创建 Aurora 全局数据库:

  • 使用新 Aurora 数据库集群和 Aurora 数据库实例创建新 Aurora 全局数据库 – 您可以按照 创建 Amazon Aurora Global Database 中的步骤执行此操作。创建主 Aurora 数据库集群后,按照 将 Amazon Web Services 区域 添加到 Amazon Aurora Global Database 中的步骤添加辅助 Amazon Web Services 区域。

  • 使用支持 Aurora Global Database 特征的现有 Aurora 数据库集群并向其添加 Amazon Web Services 区域 - 只有当现有 Aurora 数据库集群使用支持 Aurora 全局模式或全局兼容的数据库引擎版本时,才能执行此操作。对于某些数据库引擎版本,此模式是显式的,但对其他版本则不是。

    检查您是否可以在选择 Aurora 数据库集群时为Amazon Web Services Management Console的 Action (操作) 选择 Add region (添加区域)。如果可以,您可以将该 Aurora 数据库集群用于 Aurora 全局集群。有关更多信息,请参阅“将 Amazon Web Services 区域 添加到 Amazon Aurora Global Database”。

在创建 Aurora 全局数据库之前,我们建议您了解所有配置要求。

Amazon Aurora Global Database 的配置要求

每个 Aurora Global Database 跨越至少两个 Amazon Web Services 区域。主 Amazon Web Services 区域 支持具有一个写入器 Aurora 数据库实例的 Aurora 数据库集群。辅助 Amazon Web Services 区域 运行完全由 Aurora 副本组成的只读 Aurora 数据库集群。至少需要一个辅助 Amazon Web Services 区域,但是 Aurora Global Database 最多可有五个辅助 Amazon Web Services 区域。该表列出了 Aurora 全局数据库中允许的 Aurora 数据库集群、Aurora 数据库实例和 Aurora 副本的最大数量。

描述 主 Amazon Web Services 区域 辅助 Amazon Web Services 区域

Aurora 数据库集群

1

5(最大值)

写入器实例

1

0

每个 Aurora 数据库集群的只读实例(Aurora 副本)

15(最大值)

16(合计)

只读实例(允许的最大值,辅助区域的指定实际数量)

15 - s

s = 辅助 Amazon Web Services 区域 的总数

组成 Aurora 全局数据库的 Aurora 数据库集群具有以下特定要求:

  • 数据库实例类要求 – Aurora 全局数据库需要针对内存密集型应用程序进行了优化的数据库实例类。有关内存优化的数据库实例类的信息,请参阅数据库实例类。建议使用 db.r5 或更高的实例类。

  • Amazon Web Services 区域 要求 - Aurora Global Database 需要位于一个 Amazon Web Services 区域 中的主 Aurora 数据库集群,以及位于另一个区域中的至少一个辅助 Aurora 数据库集群。您最多可以创建五个辅助(只读)Aurora 数据库集群,它们必须各在不同的区域中。换句话说,Aurora Global Database 中没有两个 Aurora 数据库集群可位于同一个 Amazon Web Services 区域 中。

  • 命名要求 - 为每个 Aurora 数据库集群选择的名称在所有 Amazon Web Services 区域 中必须唯一。即使不同的 Aurora 数据库集群位于不同的区域中,也不能对它们使用相同的名称。

  • Aurora Serverless v2 的容量要求 – 对于使用 Aurora Serverless v2 的全球数据库,主 Amazon Web Services 区域中的数据库集群所需的最小容量是 8 个 ACU。

在按照本节中的程序操作之前,您需要一个 Amazon Web Services 账户。完成使用 Amazon Aurora 所需的设置任务。有关更多信息,请参阅“为 Amazon Aurora 设置环境”。您还需要完成创建任何 Aurora 数据库集群的其他准备步骤。要了解更多信息,请参阅“创建 Amazon Aurora 数据库集群”。

创建 Amazon Aurora Global Database

在某些情况下,您可能具有一个在全局兼容型 Aurora 数据库引擎上运行的现有 Aurora 预置数据库集群。如果是这样,您可以向其添加另一个 Amazon Web Services 区域 来创建您的 Aurora Global Database。为此,请参阅 将 Amazon Web Services 区域 添加到 Amazon Aurora Global Database

请按照以下步骤使用Amazon Web Services Management Console、Amazon CLI 或 RDS API 来创建 Aurora Global Database。

创建 Aurora Global Database 的步骤首先是登录支持 Aurora Global Database 特征的 Amazon Web Services 区域。有关完整列表,请参阅Aurora 全局数据库

下列步骤之一用于根据 Amazon VPC 为 Aurora 数据库集群选择 Virtual Private Cloud (VPC)。要使用您自己的 VPC,我们建议您提前创建它,使其可供您选择。同时,创建任意相关子网,并根据需要创建子网组和安全组。要了解如何操作,请参阅教程:创建 Amazon VPC 以用于数据库实例

有关创建 Aurora 数据库集群的一般信息,请参阅 创建 Amazon Aurora 数据库集群

创建 Aurora 全局数据库
  1. 登录Amazon Web Services Management Console并通过以下网址打开 Amazon RDS 控制台:https://console.aws.amazon.com/rds/

  2. 选择创建数据库。在 Create database (创建数据库) 页面上,执行以下操作:

    • 为数据库创建方法选择 Standard create (标准创建)。(请勿选择 Easy create (轻松创建)。)

    • 对于引擎选项部分中的 Engine type,选择适用的引擎类型,即 Aurora(MySQL 兼容)Aurora(PostgreSQL 兼容)

  3. 使用以下过程中的步骤继续创建 Aurora 全局数据库。

使用 Aurora MySQL 创建全局数据库

以下步骤适用于 Aurora MySQL 的所有版本。

使用 Aurora MySQL 创建 Aurora 全局数据库

填充 Create database (创建数据库) 页面。

  1. 对于 Engine options(引擎选项),请选择以下设置:

    1. 展开 Show filters(显示筛选条件),然后开启 Show versions that support the global database feature(显示支持全局数据库特征的版本)。

    2. 对于 Engine version(引擎版本),选择您要用于 Aurora 全局数据库的 Aurora MySQL 版本。

      
                        创建 Aurora MySQL 数据库集群(Aurora 全局数据库的第一阶段)时的引擎类型、引擎版本和版本选择的屏幕截图。
  2. 对于 Templates (模板),选择 Production (生产)。或者您可以根据自己的使用案例选择开发/测试。请勿在生产环境做使用开发/测试。

  3. 对于 Settings (设置),请执行以下操作:

    1. 为数据库集群标识符输入有意义的名称。完成 Aurora 全局数据库的创建后,此名称将标识主数据库集群。

    2. 为数据库实例的 admin 用户账户输入您自己的密码,或者让 Aurora 为您生成密码。如果选择自动生成密码,则可以选择复制该密码。

      
                创建全局数据库时的 Settings (设置) 选项屏幕截图。
  4. 对于 DB instance class (数据库实例类),选择 db.r5.large 或其他经内存优化的数据库实例类。建议使用 db.r5 或更高的实例类。

    
                数据库实例类的屏幕截图。
  5. 为了确保可用性和持久性,我们建议您选择让 Aurora 在您的其他可用区 (AZ) 中创建 Aurora 副本。如果您现在不创建 Aurora 副本,则将需要稍后创建。

    
                可用性和耐久性的屏幕截图。
  6. 对于连接,选择基于 Amazon VPC 的 Virtual Private Cloud (VPC)(定义了此数据库实例的虚拟网络环境)。您可以选择默认值以简化此任务。

  7. 完成 Database authentication(数据库身份验证)设置。为了简化此流程,您可以现在选择 Password authentication(密码身份验证),随后再设置 Amazon Identity and Access Management (IAM)。

  8. 对于 Additional configuration (其他配置),执行以下操作:

    1. Initial database name (初始数据库名称) 输入相应的名称,以便为此集群创建主 Aurora 数据库实例。这是 Aurora 主数据库集群的写入器节点。

      将数据库集群参数组和数据库参数组保留为默认选中状态,除非您有自己想要使用的自定义参数组。

    2. 取消选中 Enable backtrack (启用回溯) 复选框(如果已选中)。Aurora Global Database 不支持回溯。否则,您需要接受 Additional configuration(其他配置)的其他默认设置。

  9. 选择创建数据库

    Aurora 可能需要几分钟才能完成 Aurora 数据库实例、其 Aurora 副本和 Aurora 数据库集群的创建流程。您可以通过 Aurora 数据库集群状态来判断其何时可以用作 Aurora 全局数据库中的主数据库集群。当使用准备就绪时,数据库集群及其写入器和副本节点都显示为 Available(可用)状态,如下所示。

    
                    已准备好用于 Aurora Global Database 的 Aurora 数据库集群的数据库屏幕截图。

当主数据库集群可用时,请通过向其添加辅助集群来创建 Aurora 全局数据库。为此,请按照 将 Amazon Web Services 区域 添加到 Amazon Aurora Global Database 中的步骤操作。

使用 Aurora PostgreSQL 创建全局数据库

使用 Aurora PostgreSQL 创建 Aurora 全局数据库

填充 Create database (创建数据库) 页面。

  1. 对于 Engine options(引擎选项),请选择以下设置:

    1. 展开 Show filters(显示筛选条件),然后开启 Show versions that support the global database feature(显示支持全局数据库特征的版本)。

    2. 对于 Engine version(引擎版本),选择您要用于 Aurora 全局数据库的 Aurora PostgreSQL 版本。

      
                        创建 Aurora PostgreSQL 数据库集群(Aurora 全局数据库的第一阶段)时的引擎类型、引擎版本和版本选择的屏幕截图。
  2. 对于 Templates (模板),选择 Production (生产)。或者您可以选择开发/测试(如果适用)。请勿在生产环境做使用开发/测试。

  3. 对于 Settings (设置),请执行以下操作:

    1. 为数据库集群标识符输入有意义的名称。完成 Aurora 全局数据库的创建后,此名称将标识主数据库集群。

    2. 为数据库集群的默认管理员账户输入您自己的密码,或者让 Aurora 为您生成密码。如果选择自动生成密码,则可以选择复制该密码。

      
                  创建全局数据库时的 Settings (设置) 选项屏幕截图。
  4. 对于 DB instance class (数据库实例类),选择 db.r5.large 或其他经内存优化的数据库实例类。建议使用 db.r5 或更高的实例类。

    
                    数据库实例类的屏幕截图。
  5. 为了确保可用性和持久性,我们建议您选择让 Aurora 在您的其他可用区中创建 Aurora 副本。如果您现在不创建 Aurora 副本,则将需要稍后创建。

  6. 对于连接,选择基于 Amazon VPC 的 Virtual Private Cloud (VPC)(定义了此数据库实例的虚拟网络环境)。您可以选择默认值以简化此任务。

  7. (可选)完成 Database authentication(数据库身份验证)设置。密码身份验证始终处于启用状态。为了简化此过程,您可以跳过此部分,随后再设置 IAM 或密码和 Kerberos 身份验证。

  8. 对于 Additional configuration (其他配置),执行以下操作:

    1. Initial database name (初始数据库名称) 输入相应的名称,以便为此集群创建主 Aurora 数据库实例。这是 Aurora 主数据库集群的写入器节点。

      将数据库集群参数组和数据库参数组保留为默认选中状态,除非您有自己想要使用的自定义参数组。

    2. 接受 Additional configuration(其他配置)的所有其他默认,例如加密、日志导出等。

  9. 选择创建数据库

    Aurora 可能需要几分钟才能完成 Aurora 数据库实例、其 Aurora 副本和 Aurora 数据库集群的创建流程。当集群做好使用准备时,Aurora 数据库集群及其写入器和副本节点都显示 Available (可用) 状态。添加辅助数据库集群后,这将成为 Aurora 全局数据库的主数据库集群。

    
                    已准备好用于 Aurora Global Database 的 Aurora 数据库集群的数据库屏幕截图。

当主数据库集群可用时,按照 将 Amazon Web Services 区域 添加到 Amazon Aurora Global Database 中的步骤创建一个或多个辅助集群。

以下程序中的 Amazon CLI 命令可完成以下任务:

  1. 创建一个 Aurora 全局数据库,为其命名并指定计划使用的 Aurora 数据库引擎类型。

  2. 为 Aurora 全局数据库创建 Aurora 数据库集群。

  3. 为集群创建 Aurora 数据库实例。这是全局数据库的主要 Aurora 数据库集群。

  4. 为 Aurora 数据库集群创建第二个数据库实例。这是用于完成 Aurora 数据库集群的读取器。

  5. 按照 将 Amazon Web Services 区域 添加到 Amazon Aurora Global Database 中的步骤,在另一个区域中创建第二个 Aurora 数据库集群,然后将其添加到您的 Aurora 全局数据库。

按照 Aurora 数据库引擎的程序进行操作。

使用 Aurora MySQL 创建全局数据库

使用 Aurora MySQL 创建 Aurora 全局数据库
  1. 使用 create-global-cluster CLI 命令,传递 Amazon Web Services 区域 的名称、Aurora 数据库引擎和版本。

    对于 Linux、macOS 或 Unix:

    aws rds create-global-cluster --region primary_region \ --global-cluster-identifier global_database_id \ --engine aurora-mysql \ --engine-version version # optional

    对于 Windows:

    aws rds create-global-cluster ^ --global-cluster-identifier global_database_id ^ --engine aurora-mysql ^ --engine-version version # optional

    这将创建一个“空” Aurora 全局数据库,只有名称(标识符)和 Aurora 数据库引擎。Aurora 全局数据库可能需要过几分钟才能使用。在进入下一步之前,请使用 describe-global-clusters CLI 命令查看它是否可用。

    aws rds describe-global-clusters --region primary_region --global-cluster-identifier global_database_id

    当 Aurora 全局数据库可用时,您可以创建其主 Aurora 数据库集群。

  2. 要创建主 Aurora 数据库集群,请使用 create-db-cluster CLI 命令。使用 --global-cluster-identifier 参数以包含 Aurora 全球数据库的名称。

    对于 Linux、macOS 或 Unix:

    aws rds create-db-cluster \ --region primary_region \ --db-cluster-identifier primary_db_cluster_id \ --master-username userid \ --master-user-password password \ --engine aurora-mysql \ --engine-version version \ --global-cluster-identifier global_database_id

    对于 Windows:

    aws rds create-db-cluster ^ --region primary_region ^ --db-cluster-identifier primary_db_cluster_id ^ --master-username userid ^ --master-user-password password ^ --engine aurora-mysql ^ --engine-version version ^ --global-cluster-identifier global_database_id

    使用 describe-db-clusters Amazon CLI 命令确认 Aurora 数据库集群已准备就绪。要选出特定 Aurora 数据库集群,请使用 --db-cluster-identifier 参数。或者,您可以在命令中保留 Aurora 数据库集群名称,以获取有关指定区域中所有 Aurora 数据库集群的详细信息。

    aws rds describe-db-clusters --region primary_region --db-cluster-identifier primary_db_cluster_id

    当集群的响应显示 "Status": "available" 时,它就可随时使用了。

  3. 为主 Aurora 数据库集群创建数据库实例。为此,使用 create-db-instance CLI 命令。为命令提供 Aurora 数据库集群的名称,然后指定实例的配置详细信息。您不需要在命令中传递 --master-username--master-user-password 参数,因为它会从 Aurora 数据库集群获取这些参数。

    对于 --db-instance-class,您只能使用来自经内存优化的类的内容,例如 db.r5.large。建议使用 db.r5 或更高的实例类。有关数据库实例类的信息,请参阅数据库实例类

    对于 Linux、macOS 或 Unix:

    aws rds create-db-instance \ --db-cluster-identifier primary_db_cluster_id \ --db-instance-class instance_class \ --db-instance-identifier db_instance_id \ --engine aurora-mysql \ --engine-version version \ --region primary_region

    对于 Windows:

    aws rds create-db-instance ^ --db-cluster-identifier primary_db_cluster_id ^ --db-instance-class instance_class ^ --db-instance-identifier db_instance_id ^ --engine aurora-mysql ^ --engine-version version ^ --region primary_region

    create-db-instance 操作可能需要一些时间才能完成。继续操作之前,请检查状态以查看 Aurora 数据库实例是否可用。

    aws rds describe-db-clusters --db-cluster-identifier primary_db_cluster_id

    当命令返回“available”(可用) 状态时,您可以为主数据库集群创建另一个 Aurora 数据库实例。这是 Aurora 数据库集群的读取器实例(Aurora 副本)。

  4. 要为集群创建另一个 Aurora 数据库实例,请使用 create-db-instance CLI 命令。

    对于 Linux、macOS 或 Unix:

    aws rds create-db-instance \ --db-cluster-identifier primary_db_cluster_id \ --db-instance-class instance_class \ --db-instance-identifier replica_db_instance_id \ --engine aurora-mysql

    对于 Windows:

    aws rds create-db-instance ^ --db-cluster-identifier primary_db_cluster_id ^ --db-instance-class instance_class ^ --db-instance-identifier replica_db_instance_id ^ --engine aurora-mysql

当数据库实例可用时,从写入器节点到副本的复制开始。继续操作之前,请使用 describe-db-instances CLI 命令检查数据库实例是否可用。

此时,您有一个 Aurora 全局数据库,其主 Aurora 数据库集群包含写入器数据库实例和 Aurora 副本。现在,您可以在不同区域中添加只读 Aurora 数据库集群来完成 Aurora 全局数据库。为此,请按照将 Amazon Web Services 区域 添加到 Amazon Aurora Global Database中的步骤进行操作。

使用 Aurora PostgreSQL 创建全局数据库

使用以下命令为 Aurora 全局数据库创建 Aurora 对象时,每个对象可能需要过几分钟后才能变为可用状态。我们建议在完成任何指定命令后,检查特定 Aurora 对象的状态以确保其状态为“可用”。

为此,使用 describe-global-clusters CLI 命令。

aws rds describe-global-clusters --region primary_region --global-cluster-identifier global_database_id
使用 Aurora PostgreSQL 创建 Aurora 全局数据库
  1. 使用 create-global-cluster CLI 命令。

    对于 Linux、macOS 或 Unix:

    aws rds create-global-cluster --region primary_region \ --global-cluster-identifier global_database_id \ --engine aurora-postgresql \ --engine-version version # optional

    对于 Windows:

    aws rds create-global-cluster ^ --global-cluster-identifier global_database_id ^ --engine aurora-postgresql ^ --engine-version version # optional

    当 Aurora 全局数据库可用时,您可以创建其主 Aurora 数据库集群。

  2. 要创建主 Aurora 数据库集群,请使用 create-db-cluster CLI 命令。使用 --global-cluster-identifier 参数以包含 Aurora 全球数据库的名称。

    对于 Linux、macOS 或 Unix:

    aws rds create-db-cluster \ --region primary_region \ --db-cluster-identifier primary_db_cluster_id \ --master-username userid \ --master-user-password password \ --engine aurora-postgresql \ --engine-version version \ --global-cluster-identifier global_database_id

    对于 Windows:

    aws rds create-db-cluster ^ --region primary_region ^ --db-cluster-identifier primary_db_cluster_id ^ --master-username userid ^ --master-user-password password ^ --engine aurora-postgresql ^ --engine-version version ^ --global-cluster-identifier global_database_id

    检查 Aurora 数据库集群是否准备就绪。如果对 Aurora 数据库集群运行以下命令后的响应显示 "Status": "available",您可以继续。

    aws rds describe-db-clusters --region primary_region --db-cluster-identifier primary_db_cluster_id
  3. 为主 Aurora 数据库集群创建数据库实例。为此,使用 create-db-instance CLI 命令。

    使用 --db-cluster-identifier 参数传递 Aurora 数据库集群的名称。

    您不需要在命令中传递 --master-username--master-user-password 参数,因为它会从 Aurora 数据库集群获取这些参数。

    对于 --db-instance-class,您只能使用来自经内存优化的类的内容,例如 db.r5.large。建议使用 db.r5 或更高的实例类。有关数据库实例类的信息,请参阅数据库实例类

    对于 Linux、macOS 或 Unix:

    aws rds create-db-instance \ --db-cluster-identifier primary_db_cluster_id \ --db-instance-class instance_class \ --db-instance-identifier db_instance_id \ --engine aurora-postgresql \ --engine-version version \ --region primary_region

    对于 Windows:

    aws rds create-db-instance ^ --db-cluster-identifier primary_db_cluster_id ^ --db-instance-class instance_class ^ --db-instance-identifier db_instance_id ^ --engine aurora-postgresql ^ --engine-version version ^ --region primary_region
  4. 继续操作之前,请检查 Aurora 数据库实例的状态。

    aws rds describe-db-clusters --db-cluster-identifier primary_db_cluster_id

    如果响应显示 Aurora 数据库实例状态为 “available”(可用),则可以为主数据库集群创建另一个 Aurora 数据库实例。

  5. 要为 Aurora 数据库集群创建 Aurora 副本,请使用 create-db-instance CLI 命令。

    对于 Linux、macOS 或 Unix:

    aws rds create-db-instance \ --db-cluster-identifier primary_db_cluster_id \ --db-instance-class instance_class \ --db-instance-identifier replica_db_instance_id \ --engine aurora-postgresql

    对于 Windows:

    aws rds create-db-instance ^ --db-cluster-identifier primary_db_cluster_id ^ --db-instance-class instance_class ^ --db-instance-identifier replica_db_instance_id ^ --engine aurora-postgresql

当数据库实例可用时,从写入器节点到副本的复制开始。继续操作之前,请使用 describe-db-instances CLI 命令检查数据库实例是否可用。

您的 Aurora 全局数据库存在,但它只有主区域,其中包含由写入器数据库实例和 Aurora 副本组成的 Aurora 数据库集群。现在,您可以在不同区域中添加只读 Aurora 数据库集群来完成 Aurora 全局数据库。为此,请按照将 Amazon Web Services 区域 添加到 Amazon Aurora Global Database中的步骤进行操作。

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

将 Amazon Web Services 区域 添加到 Amazon Aurora Global Database

Aurora Global Database 至少需要一个与主 Aurora 数据库集群在不同 Amazon Web Services 区域 中的辅助 Aurora 数据库集群。您最多可以将五个辅助数据库集群挂载到 Aurora 全局数据库。对于添加到 Aurora 全局数据库的每个辅助数据库集群,将主数据库集群的允许 Aurora 副本数量减少一个。

例如,如果您的 Aurora 全局数据库有 5 个辅助区域,则主数据库集群只能有 10 个(而不是 15 个)Aurora 副本。有关更多信息,请参阅Amazon Aurora Global Database 的配置要求

主数据库集群中的 Aurora 副本(读取器实例)的数量决定了您可以添加的备用数据库集群的数量。主数据库集群中的读取器实例数加上辅助集群数不可超过 15 个。例如,如果有 1 个备用集群且主数据库集群中有 14 个读取器实例,则无法向全局数据库添加辅助集群。

注意

对于 Aurora MySQL 版本 3,当您创建辅助集群时,确保 lower_case_table_names 的值匹配主集群中的值。此设置是影响服务器处理标识符区分大小写方式的数据库参数。有关数据库参数的更多信息,请参阅 使用参数组

我们建议您在创建辅助集群时,对主集群和辅助集群使用相同的数据库引擎版本。如有必要,请将主集群升级为与辅助集群相同的版本。有关更多信息,请参阅托管式跨区域切换和失效转移的补丁级别兼容性

将 Amazon Web Services 区域 添加到 Aurora Global Database
  1. 登录 Amazon Web Services Management Console 并通过以下网址打开 Amazon RDS 控制台:https://console.aws.amazon.com/rds/

  2. 在 Amazon Web Services Management Console 的导航窗格中,选择 Databases (数据库)

  3. 选择需要辅助 Aurora 数据库集群的 Aurora 全局数据库。确保主 Aurora 数据库集群为 Available

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

    
                显示从“操作”菜单中选择了“添加区域”的预调配数据库集群的屏幕截图。
  5. Add a region(添加区域)页面上,选择辅助 Amazon Web Services 区域。

    您不能为同一个 Aurora Global Database 选择已有辅助 Aurora 数据库集群的 Amazon Web Services 区域。此外,该区域也不能是主 Aurora 数据库集群所在的同一个区域。

    
                  Aurora 全球数据库的“添加区域”页面。
  6. 在新Amazon区域中填写辅助 Aurora 集群的其余字段。这些配置选项与任何 Aurora 数据库集群实例的配置选项相同,但以下选项仅适用基于 Aurora MySQL 的 Aurora 全局数据库:

  7. 选择添加区域

完成将区域添加到 Aurora Global Database 的操作后,它会出现在屏幕截图中所示的Amazon Web Services Management Console的 Databases (数据库) 列表中。


            显示辅助集群现已成为 Aurora 全局数据库组成部分的屏幕截图。
将辅助 Amazon Web Services 区域 添加到 Aurora Global Database
  1. 使用带有 Aurora 全局数据库名称 (create-db-cluster) 的 --global-cluster-identifier CLI 命令。对于其他参数,请执行以下操作:

  2. 对于 --region,请选择与 Aurora 主区域不同的 Amazon Web Services 区域。

  3. --engine--engine-version 参数选择特定的值。这些值与 Aurora 全局数据库中的主 Aurora 数据库集群的值相同。

  4. 对于加密集群,请将主 Amazon Web Services 区域 指定为 --source-region 以进行加密。

以下示例创建了一个新 Aurora 数据库集群,并将其作为只读辅助 Aurora 数据库集群挂载到 Aurora 全局数据库。在最后一步中,Aurora 数据库实例将添加到新 Aurora 数据库集群。

对于 Linux、macOS 或 Unix:

aws rds --region secondary_region \ create-db-cluster \ --db-cluster-identifier secondary_cluster_id \ --global-cluster-identifier global_database_id \ --engine aurora-mysql|aurora-postgresql --engine-version version 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-mysql|aurora-postgresql

对于 Windows:

aws rds --region secondary_region ^ create-db-cluster ^ --db-cluster-identifier secondary_cluster_id ^ --global-cluster-identifier global_database_id_id ^ --engine aurora-mysql|aurora-postgresql ^ --engine-version version 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-mysql|aurora-postgresql

要使用 RDS API 将新 Amazon Web Services 区域 添加到 Aurora Global Database,请运行 CreateDBCluster 操作。使用 GlobalClusterIdentifier 参数指定现有全局数据库的标识符。

在辅助区域中创建无管控 Aurora 数据库集群

尽管 Aurora Global Database 要求在与主区域之外的不同 Amazon Web Services 区域 中至少有一个辅助 Aurora 数据库集群,但您可以对辅助集群使用无管控配置。无管控辅助 Aurora 数据库集群是没有数据库实例的集群。此类型的配置可以降低 Aurora 全局数据库的开支。在 Aurora 数据库集群中,计算和存储是分离的。如果没有数据库实例,您就无需为计算付费,而只需为存储付费。如果设置正确,无管控辅助存储卷将与主 Aurora 数据库集群保持同步。

您可以像平常创建 Aurora 全局数据库一样添加辅助集群。但是,在主 Aurora 数据库集群开始复制到辅助数据库集群之后,您将从辅助 Aurora 数据库集群中删除该 Aurora 只读数据库实例。此辅助集群现在被视为“无管控”集群,因为其不再有数据库实例。但是,存储卷与主 Aurora 数据库集群保持同步。

警告

使用 Aurora PostgreSQL 时,要在辅助 Amazon Web Services 区域 中创建无管控集群,请使用 Amazon CLI 或 RDS API 添加辅助 Amazon Web Services 区域。跳过为辅助集群创建读取器数据库实例的步骤。目前,RDS 控制台不支持创建无管控集群。有关要使用的 CLI 和 API 过程,请参阅 将 Amazon Web Services 区域 添加到 Amazon Aurora Global Database

如果您的全局数据库使用的引擎版本低于 13.4、12.8 或 11.13,则在辅助区域中创建读取器数据库实例并随后将其删除可能会导致主区域的写入器数据库实例上出现 Aurora PostgreSQL vacuum 问题。如果遇到此问题,请在删除辅助区域的读取器数据库实例后重启主区域的写入器数据库实例。

将无管控辅助 Aurora 数据库集群添加到您的 Aurora 全局数据库
  1. 登录 Amazon Web Services Management Console 并通过以下网址打开 Amazon RDS 控制台:https://console.aws.amazon.com/rds/

  2. 在 Amazon Web Services Management Console 的导航窗格中,选择 Databases (数据库)

  3. 选择需要辅助 Aurora 数据库集群的 Aurora 全局数据库。确保主 Aurora 数据库集群为 Available

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

  5. Add a region(添加区域)页面上,选择辅助 Amazon Web Services 区域。

    您不能为同一个 Aurora Global Database 选择已有辅助 Aurora 数据库集群的 Amazon Web Services 区域。此外,该区域也不能是主 Aurora 数据库集群所在的同一个区域。

  6. 填写新的 Amazon Web Services 区域中辅助 Aurora 集群的其余字段。这些配置选项与任何 Aurora 数据库集群实例的配置选项相同。

    对于基于 Aurora MySQL 的 Aurora 全局数据库,请忽略 Enable read replica write forwarding(启用只读副本写入转发)选项。删除读取器实例后,此选项不再起作用。

  7. 选择添加区域。完成将区域添加到 Aurora Global Database 的操作后,它会出现在屏幕截图中所示的Amazon Web Services Management Console的 Databases (数据库) 列表中。

    
            显示辅助集群及其读取器实例现已成为 Aurora 全局数据库组成部分的屏幕截图。
  8. 继续操作之前,请先使用Amazon Web Services Management Console或 Amazon CLI 检查辅助 Aurora 数据库集群及其读取器实例的状态。例如:

    $ aws rds describe-db-clusters --db-cluster-identifier secondary-cluster-id --query '*[].[Status]' --output text

    新添加的辅助 Aurora 数据库集群的状态可能需要几分钟的时间才能从 creating 更改为 available。当 Aurora 数据库集群处于可用状态时,您可以删除读取器实例。

  9. 在辅助 Aurora 数据库集群中选择读取器实例,然后选择 Delete (删除)

    
              显示已选择并准备删除的读取器实例的屏幕截图。

删除读取器实例后,辅助集群仍然是 Aurora 全局数据库的组成部分。该集群没有与其关联的实例,如下所示。


        显示无管控备用数据库集群的屏幕截图。

如果主 Amazon Web Services 区域 发生计划外停机事件,您可以使用此无管控辅助 Aurora 数据库集群手动恢复 Amazon Aurora Global Database

对 Amazon Aurora Global Database 使用快照

您可以还原 Aurora 数据库集群的快照或从 Amazon RDS 数据库实例还原,以作为 Aurora 全局数据库的起点。您可以同时还原快照并创建新的 Aurora 预置数据库集群。然后,您可以将另一个 Amazon Web Services 区域 添加到还原的数据库集群,从而将其变成 Aurora Global Database。用这种方式使用快照创建的任何 Aurora 数据库集群都将成为 Aurora 全局数据库的主集群。

您使用的快照可以来自 provisioned,也可以来自 serverless Aurora 数据库集群。

在还原过程中,选择与快照相同的数据库引擎类型。例如,假设您要还原从正在运行 Aurora PostgreSQL 的 Aurora Serverless 数据库集群创建的快照。在这种情况下,您要使用相同的 Aurora 数据库引擎和版本创建 Aurora PostgreSQL 数据库集群。

在向 Aurora Global Database 添加 Amazon Web Services 区域时,还原的数据库集群将代入该全局数据库的主集群角色。此主集群中包含的所有数据都将复制到您添加到 Aurora 全局数据库的任何辅助集群中。


            屏幕截图显示 Aurora 全局数据库的“还原快照”页面。