创建 Amazon Aurora Global Database - Amazon Aurora

创建 Amazon Aurora Global Database

要使用 AWS Management Console、AWS CLI 或 RDS API 来创建 Aurora 全球数据库及其关联资源,请使用以下步骤。

注意

如果您有一个在全局兼容型 Aurora 数据库引擎上运行的现有 Aurora 数据库集群,则可以使用此过程的简短形式。在这种情况下,可以向现有数据库集群添加另一个 AWS 区域,来创建 Aurora 全球数据库。为此,请参阅 将 AWS 区域 添加到 Amazon Aurora Global Database

创建 Aurora Global Database 的步骤首先是登录支持 Aurora Global Database 特征的 AWS 区域。有关完整列表,请参阅支持 Aurora 全球数据库的区域和数据库引擎

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

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

创建 Aurora 全局数据库
  1. 登录AWS 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. 对于 Engine version(引擎版本),选择您要用于 Aurora 全局数据库的 Aurora MySQL 版本。

  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(密码身份验证),随后再设置 AWS 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 全局数据库。为此,请按照 将 AWS 区域 添加到 Amazon Aurora Global Database 中的步骤操作。

使用 Aurora PostgreSQL 创建全局数据库

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

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

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

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

  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 数据库集群的数据库屏幕截图。

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

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

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

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

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

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

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

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

使用 Aurora MySQL 创建全局数据库

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

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