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

开始使用 Amazon Aurora 全局数据库

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

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

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

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

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

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

Amazon Aurora 全局数据库的配置要求

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

描述 主 Amazon 区域 辅助 Amazon 区域

Aurora 数据库集群

1

5(最大值)

写入器实例

1

0

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

15(最大值)

16(合计)

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

15 - s

s = 辅助 Amazon 区域的总数

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

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

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

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

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

创建 Amazon Aurora 全局数据库

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

您可以按照以下步骤使用 Amazon Web Services Management Console、Amazon CLI 或 RDS API 创建 Aurora 全局数据库。

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

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

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

创建 Aurora 全局数据库

  1. 登录 Amazon Web Services Management Console 并通过以下网址打开 Amazon RDS 控制台:https://console.amazonaws.cn/rds/

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

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

    • 引擎选项部分中,为“引擎类型”选择 Amazon Aurora

      
            Create database (创建数据库) 页面上某些引擎选项的屏幕截图。

然后,您可选择 Amazon Aurora MySQL-Compatible EditionAmazon Aurora PostgreSQL-Compatible Edition,并使用以下程序中的步骤继续创建 Aurora 全局数据库。

使用 Aurora MySQL 创建全局数据库

以下步骤适用于除 Aurora MySQL 5.6.10a 之外所有版本的 Aurora MySQL。要将 Aurora MySQL 5.6.10a 用于 Aurora 全局数据库,请参阅 将 Aurora MySQL 5.6.10a 用于 Aurora 全局数据库

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

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

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

    1. 对于 Edition(版本),选择 Amazon Aurora MySQL-Compatible Edition

    2. 对于 Capacity type(容量类型),选择 Provisioned(预置)。

    3. Replication features (复制功能) 保留为默认值(单主复制)。

    4. 打开 Show versions that support the global database feature(显示支持全局数据库功能的版本)。

    5. 对于 Version (版本),选择您要用于 Aurora 全局数据库的 Aurora MySQL 版本。

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

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

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

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

      
                创建全局数据库时的 Settings (设置) 选项屏幕截图。
  4. 对于 DB instance size (数据库实例大小),选择 db.r4db.r5 或其他经内存优化的数据库实例大小。如有必要,请选择 Include previous generation classes(包括上一代类)以选择您要使用的数据库实例类。

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

    
                可用性和耐久性的屏幕截图。
  6. 对于 Connectivity (连接),根据定义此数据库实例的虚拟网络环境的 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 全局数据库不支持回溯。否则,您需要接受 Additional configuration(其他配置)的其他默认设置。

  9. 选择创建数据库

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

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

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

将 Aurora MySQL 5.6.10a 用于 Aurora 全局数据库

以下步骤仅适用于 5.6.10a 版 Aurora MySQL。有关 Aurora MySQL 的其他版本,请参阅 使用 Aurora MySQL 创建全局数据库

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

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

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

    1. 对于 Edition(版本),选择 Amazon Aurora MySQL-Compatible Edition

    2. 对于 Capacity type(容量类型),选择 Provisioned(预置)。

    3. Replication features (复制功能) 保留为默认值(单主复制)。

    4. 打开 Show versions that support the global database feature(显示支持全局数据库功能的版本)。

    5. Version(版本)选择 Aurora (MySQL 5.6) global_10a

  2. 对于 Templates (模板),选择 Production (生产)。

  3. 对于 Global database settings (全局数据库设置),请执行以下操作:

    1. 对于 Global database identifier (全局数据库标识符),输入有意义的名称。

    2. 对于 Credentials Settings(凭据设置),为数据库实例的 postgres 用户账户输入您自己的密码,或者让 Aurora 为您生成密码。如果选择自动生成密码,则可以选择复制该密码。

      
                          创建 Aurora 全局数据库时的 Aurora MySQL 5.6.10a 引擎选项的屏幕截图。
  4. 对于 Encryption(加密),请根据需要启用或禁用加密。

  5. Create database(创建数据库)页面的其余部分用于配置主区域设置。按照以下方式完成这些操作:

    1. 对于 DB instance size (数据库实例大小),选择 db.r4db.r5 或其他经内存优化的数据库实例大小。如有必要,请选择 Include previous generation classes (包括上一代类) 以选择您要使用的数据库实例类。

      
                            Create database (创建数据库) 页面的 Aurora MySQL 5.6.10a 主区域设置部分的屏幕截图。
    2. 为了确保可用性和持久性,我们建议您选择让 Aurora 在您的其他可用区中创建 Aurora 副本。如果您现在不创建 Aurora 副本,则将需要稍后创建。

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

    4. 对于 Encryption key (加密密钥),选择要使用的密钥。如果您之前没有选择 Encryption(加密),请忽略此选项。

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

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

      1. 对于 DB instance identifier (数据库实例标识符),输入数据库实例的名称,或使用提供的默认名称。这是此 Aurora 全局数据库的 Aurora 主数据库集群的写入器实例。

      2. 对于 DB cluster identifier (数据库集群标识符),输入有意义的名称或接受提供的默认名称。

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

      4. 您可以接受 Additional configuration (其他配置) 的所有其他默认设置。

    7. 选择创建数据库

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

      
                               拥有一个主数据库集群的基于 Aurora MySQL 5.6.10a– 的 Aurora 全局数据库的屏幕截图。

此 Aurora 全局数据库仍然需要辅助 Aurora 数据库集群。您现在可以按照 将 Amazon 区域添加到 Amazon Aurora 全局数据库 中的步骤执行添加。

使用 Aurora PostgreSQL 创建全局数据库

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

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

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

    1. 对于 Edition(版本),选择 Amazon Aurora PostgreSQL-Compatible Edition

    2. 对于 Capacity type(容量类型),选择 Provisioned(预置)。

    3. 打开 Show versions that support the global database feature(显示支持全局数据库功能的版本)。

    4. 对于 Version (版本),选择您要用于 Aurora 全局数据库的 Aurora PostgreSQL 版本。

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

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

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

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

      
                  创建全局数据库时的 Settings (设置) 选项屏幕截图。
  4. 对于 DB instance size (数据库实例大小),选择 db.r4db.r5 或其他经内存优化的数据库实例大小。如有必要,请选择 Include previous generation classes(包括上一代类)以选择您要使用的数据库实例类。

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

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

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

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

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

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

    2. 接受 Additional configuration(其他配置)的所有其他默认设置,例如 Monitoring(监控)、Log exports(日志导出)等。

  9. 选择创建数据库

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

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

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

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

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

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

  3. 为集群创建 Aurora 数据库实例。

  4. 为 Aurora 数据库集群创建 Aurora数据库实例。

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

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

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

使用 Aurora MySQL 创建全局数据库

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

  1. 使用 create-global-cluster CLI 命令,传递 Amazon 区域名称、Aurora 数据库引擎和版本。从表格中显示的参数中选择一个,作为您要使用的 Aurora MySQL 的版本。

    Aurora MySQL 的其他选项取决于 Aurora MySQL 数据库引擎的版本,如下表所示。

    参数 Aurora MySQL 5.6.10a Aurora MySQL 5.7
    --engine

    aurora

    aurora-mysql

    --engine-mode

    全球

    -

    --engine-version

    5.6.10a、5.6.mysql_aurora.1.22.0、5.6.mysql_aurora.1.22.1、5.6.mysql_aurora.1.22.2、5.6.mysql_aurora.1.22.3、5.6.mysql_aurora.1.23.0、5.6.mysql_aurora.1.23.1 和更高版本

    5.7.mysql_aurora.2.07.0、5.7.mysql_aurora.2.07.1、5.7.mysql_aurora.2.07.2、5.7.mysql_aurora.2.07.3、5.7.mysql_aurora.2.08.0、5.7.mysql_aurora.2.08.1、5.7.mysql_aurora.2.08.1、5.7.mysql_aurora.2.08.3、5.7.mysql_aurora.2.09.0、5.7.mysql_aurora.2.08.1 和更高版本

    对于 Linux、macOS 或 Unix:

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

    对于 Windows:

    aws rds create-global-cluster ^ --global-cluster-identifier global_database_id ^ --engine aurora ^ --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 db_cluster_id \ --master-username userid \ --master-user-password password \ --engine { aurora | aurora-mysql } \ --engine-mode global # Required for --engine-version 5.6.10a only \ --engine-version version \ --global-cluster-identifier global_database_id

    对于 Windows:

    aws rds create-db-cluster ^ --region primary_region ^ --db-cluster-identifier db_cluster_id ^ --master-username userid ^ --master-user-password password ^ --engine { aurora | aurora-mysql } ^ --engine-mode global # Required for --engine-version 5.6.10a only ^ --engine-version version ^ --global-cluster-identifier global_database_id

    Aurora MySQL 的其他选项取决于 Aurora MySQL 数据库引擎的版本。

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

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

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

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

    对于 Linux、macOS 或 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 | aurora-mysql} \ --engine-mode global # Required for --engine-version 5.6.10a only \ --engine-version version \ --region primary_region

    对于 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 | aurora-mysql } ^ --engine-mode global # Required for --engine-version 5.6.10a only ^ --engine-version version ^ --region primary_region

    对于 --db-instance-class,您只能使用来自 db.r4db.r5 类的内容,例如 db.r4.large。有关更多完整信息,请参阅数据库实例类

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

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

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

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

    对于 Linux、macOS 或 Unix:

    aws rds create-db-instance \ --db-cluster-identifier sample_secondary_db_cluster \ --db-instance-class instance_class \ --db-instance-identifier sample_replica_db \ --engine aurora

    对于 Windows:

    aws rds create-db-instance ^ --db-cluster-identifier sample_secondary_db_cluster ^ --db-instance-class instance_class ^ --db-instance-identifier sample_replica_db ^ --engine aurora

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

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

使用 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 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 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 db_cluster_id
  3. 为主 Aurora 数据库集群创建数据库实例。为此,使用 create-db-instance CLI 命令。

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

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

      对于 --db-instance-class,仅使用 db.r4db.r5 类,例如 db.r4.large。有关更多信息,请参阅数据库实例类

      对于 Linux、macOS 或 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-postgresql \ --engine-version version \ --region primary_region

      对于 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-postgresql ^ --engine-version version ^ --region primary_region
  4. 继续操作之前,请检查 Aurora 数据库实例的状态。

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

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

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

    对于 Linux、macOS 或 Unix:

    aws rds create-db-instance \ --db-cluster-identifier sample_secondary_db_cluster \ --db-instance-class instance_class \ --db-instance-identifier sample_replica_db \ --engine aurora-postgresql

    对于 Windows:

    aws rds create-db-instance ^ --db-cluster-identifier sample_secondary_db_cluster ^ --db-instance-class instance_class ^ --db-instance-identifier sample_replica_db ^ --engine aurora-postgresql

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

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

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

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

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

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

如果主集群中的读取器实例和所有辅助集群中的读取器实例的总数为 15 个,则无法向 Aurora 全局数据库添加辅助集群。

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

  1. 登录 Amazon Web Services Management Console 并通过以下网址打开 Amazon RDS 控制台:https://console.amazonaws.cn/rds/

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

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

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

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

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

    
                  显示 Aurora 全局数据库的 Add a region (添加区域) 窗格的屏幕截图。
  6. 在新 Amazon 区域中填写辅助 Aurora 集群的其余字段。这些配置选项与任何 Aurora 数据库集群实例的配置选项相同,但以下选项仅适用基于 Aurora MySQL 的 Aurora 全局数据库:

  7. Add region(添加区域)。

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


            显示辅助集群现已成为 Aurora 全局数据库组成部分的屏幕截图。

将辅助 Amazon 区域添加到 Aurora 全局数据库

  1. 使用带有 Aurora 全局数据库名称 (--global-cluster-identifier) 的 create-db-cluster CLI 命令。对于其他参数,请执行以下操作:

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

  3. 请执行下列操作之一:

    • 仅对基于 Aurora MySQL5.6.10a 的 Aurora 全局数据库,使用以下参数:

      • --engineaurora

      • --engine-modeglobal

      • --engine-version5.6.10a

    • 对于基于其他 Aurora 数据库引擎的 Aurora 全局数据库,请为 --engine--engine-version 参数选择特定值。这些值与 Aurora 全局数据库中的主 Aurora 数据库集群的值相同。

      下表显示了当前选项。

      参数 Aurora MySQL 5.6 Aurora MySQL 5.7 Aurora PostgreSQL

      --engine

      aurora

      aurora-mysql

      aurora-postgresql

      --engine-version

      5.6.mysql_aurora.1.22.0、5.6.mysql_aurora.1.22.1、5.6.mysql_aurora.1.22.2、5.6.mysql_aurora.1.22.3、5.6.mysql_aurora.1.23.0、5.6.mysql_aurora.1.23.1

      5.7.mysql_aurora.2.07.0、5.7.mysql_aurora.2.07.1、5.7.mysql_aurora.2.07.2、5.7.mysql_aurora.2.07.3、5.7.mysql_aurora.2.08.0、5.7.mysql_aurora.2.08.1、5.7.mysql_aurora.2.08.2、5.7.mysql_aurora.2.08.3、5.7.mysql_aurora.2.09.0(及更高版本)

      10.11(及更高版本)、11.7(及更高版本)、12.4(及更高版本)

  4. 对于加密集群,请将主 Amazon 区域指定为 --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 | 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 | 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 | 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 | aurora-mysql | aurora-postgresql }

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

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

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

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

警告

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

在辅助区域中创建读取器数据库实例并随后将其删除可能会导致主区域的写入器数据库实例出现 Aurora PostgreSQL Vacuum 问题。如果遇到此问题,请在删除辅助区域的读取器数据库实例后重新启动主区域的写入器数据库实例。

将无管控辅助 Aurora 数据库集群添加到您的 Aurora 全局数据库

  1. 登录 Amazon Web Services Management Console 并通过以下网址打开 Amazon RDS 控制台:https://console.amazonaws.cn/rds/

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

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

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

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

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

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

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

  7. Add region(添加区域)。完成将区域添加到 Aurora 全局数据库的操作后,它会出现在屏幕截图中所示的 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 区域发生计划外停机事件,您可以使用此无管控辅助 Aurora 数据库集群手动恢复 Amazon Aurora 全局数据库

对 Amazon Aurora 全局数据库使用快照

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

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

注意

您不能从由基于 Aurora MySQL 5.6.10a– 的全局数据库生成的快照创建预置的 Aurora 数据库集群。来自基于全局数据库的 Aurora MySQL 5.6.10a– 的快照只能作为 Aurora 全局数据库还原。

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

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


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