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

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

Amazon Aurora 全局数据库入门

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

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

  • 使用新 Aurora 数据库集群和 Aurora 数据库实例创建新 Aurora 全局数据库。

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

  • 使用支持 Aurora 全局数据库功能的现有 Aurora 数据库集群,并向其添加一个 AWS 区域。

    只有当现有 Aurora 数据库集群使用支持 Aurora“全局”模式或为全局兼容型的数据库引擎版本时,才能执行此操作。对于某些数据库引擎版本,此模式是显式的,但对其他版本则不是。如果在选择了 Aurora 数据库集群时您可以从 AWS 管理控制台 上的 Action(操作)菜单中选择 Add region(添加区域),则可以将该 Aurora 数据库集群用于 Aurora 全局集群。有关更多信息,请参阅 将 AWS 区域添加到 Amazon Aurora 全局数据库

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

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

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

描述 主 AWS 区域 辅助 AWS 区域

Aurora 数据库集群

1

1(最小值;必需);5(最大值)

写入器实例

1

0

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

15(最大值)

16(合计)

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

15 - s

s = 辅助 AWS 区域的总数

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

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

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

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

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

创建 Amazon Aurora 全局数据库

如果您有一个在全局兼容型 Aurora 数据库引擎上运行的现有 Aurora 预置数据库集群,则可以向其中添加另一个 AWS 区域以创建您的 Aurora 全局数据库。为此,请参阅 将 AWS 区域添加到 Amazon Aurora 全局数据库

您可以按照以下步骤使用 AWS 管理控制台、AWS CLI 或 RDS API 创建 Aurora 全局数据库。

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

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

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

创建 Aurora 全局数据库

  1. 登录 AWS 管理控制台 并通过以下网址打开 Amazon RDS 控制台:https://console.amazonaws.cn/rds/

  2. 选择创建数据库。在创建数据库页面上:

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

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

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

然后,您可选择 Amazon Aurora 与 MySQL 的兼容性与 PostgreSQL 兼容的 Amazon Aurora,并使用以下示例中的步骤继续创建 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 的兼容性

    2. 选择 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 在您的其他可用区中创建 Aurora 副本。如果您现在不创建 Aurora 副本,则将需要稍后创建。

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

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

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

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

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

    2. 除以下设置之外,您可以接受 Additional configuration(其他配置)的所有其他默认设置:

      • 如果选中了 Enable backtrack(启用回溯)选项,将其取消选中。Aurora 全局数据库不支持回溯。

  9. 选择创建数据库。Aurora 可能需要几分钟才能完成 Aurora 数据库实例、其 Aurora 副本和 Aurora 数据库集群的创建流程。当 Aurora 数据库集群准备好用作 Aurora 全局数据库中的主数据库集群时,其状态以及写入器和副本节点的状态将显示 Available(可用)状态,如下面的屏幕截图中所示。

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

当主数据库集群可用时,请按照 将 AWS 区域添加到 Amazon Aurora 全局数据库 中的步骤,通过向其添加辅助集群来创建 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 的兼容性

    2. 选择 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. 对于 Connectivity(连接),根据定义此数据库实例的虚拟网络环境的 Amazon VPC 选择 Virtual Private Cloud (VPC)。您可以选择默认值以简化此任务。

    4. 对于 Encryption key(加密密钥),选择要使用的密钥。如果您在上一步中没有选择 Encryption(加密),则可以忽略此条目。

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

    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 数据库集群。您现在可以按照 将 AWS 区域添加到 Amazon Aurora 全局数据库 中的步骤执行添加。

Aurora PostgreSQL 的示例

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

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

  1. 对于 Engine options(引擎选项):

    1. 为 Edition(版本)选项选择 与 PostgreSQL 兼容的 Amazon Aurora

    2. 选择 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. 对于 Connectivity(连接),根据定义此数据库实例的虚拟网络环境的 Amazon VPC 选择 Virtual Private Cloud (VPC)。您可以选择默认值以简化此任务。

  7. 为您的用例完成 Database authentication(数据库身份验证)设置。为了简化此流程,您可以现在选择 Password authentication(密码身份验证),随后再设置 AWS Identity and Access Management 或 Password and Kerberos authentication(密码和 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 数据库集群的数据库屏幕截图。

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

下列示例中的 AWS CLI 命令可完成以下任务:

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

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

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

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

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

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

按照 Aurora 数据库引擎的示例进行操作。

Aurora MySQL 的示例

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

  1. 使用 create-global-cluster CLI 命令,传递 AWS 区域名称、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 AWS 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 全局数据库。为此,请按照将 AWS 区域添加到 Amazon Aurora 全局数据库中的步骤进行操作。

Aurora PostgreSQL 的示例

使用本节中的命令为 Aurora 全局数据库创建 Aurora 对象时,每个对象可能需要过几分钟后才能变为可用状态。我们建议在完成任何指定命令后,先检查特定 Aurora 对象的状态,然后再转到下一个命令,以确保其状态为“available”(可用)。 为此,使用 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 全局数据库。为此,请按照将 AWS 区域添加到 Amazon Aurora 全局数据库中的步骤进行操作。

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

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

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

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

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

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

  1. 登录 AWS 管理控制台 并通过以下网址打开 Amazon RDS 控制台:https://console.amazonaws.cn/rds/

  2. 在 AWS 管理控制台的导航窗格中,选择 Databases (数据库)

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

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

    
                显示从 Action(操作)菜单中选择了 Add region(添加区域)的预置数据库集群的屏幕截图。
  5. Add a region(添加区域)页面上,选择辅助 AWS 区域。您不能为同一个 Aurora 全局数据库选择在该区域中已有辅助 Aurora 数据库集群的 AWS 区域,该区域也不能是主 Aurora 数据库集群所在的同一个区域。

    
                  显示 Aurora 全局数据库的 Add a region(添加区域)窗格的屏幕截图。
  6. 在新 AWS 区域中填写辅助 Aurora 集群的其余字段,然后选择 Add region(添加区域)。

完成将区域添加到 Aurora 全局数据库的操作后,它会出现在屏幕截图中所示的 AWS 管理控制台 的 Databases(数据库)列表中。


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

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

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

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

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

    • --engineaurora

    • --engine-modeglobal

    • --engine-version5.6.10a

  4. 对于基于其他 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.1、5.7.mysql_aurora.2.08.3、5.7.mysql_aurora.2.09.0、5.7.mysql_aurora.2.08.1

    10.11、10.12、10.13、10.14、11.7、11.8、11.9

  5. 对于加密集群,请将主 AWS 区域指定为 --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 将新 AWS 区域添加到 Aurora 全局数据库,请运行 CreateDBCluster 操作。使用 GlobalClusterIdentifier 参数指定现有全局数据库的标识符。

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

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

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

注意

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

在还原过程中,选择与快照相同的数据库引擎类型。因此,举例来说,要还原从正在运行 Aurora PostgreSQL 的 Aurora Serverless v1 数据库集群创建的快照,您需要使用相同的 Aurora 数据库引擎和版本创建 Aurora PostgreSQL 数据库集群。

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


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