

# 创建 Amazon Aurora Global Database
<a name="aurora-global-database-creating"></a>

要使用 Amazon Web Services 管理控制台、Amazon CLI 或 RDS API 来创建 Aurora 全球数据库及其关联资源，请使用以下步骤。

**注意**  
 如果您有一个在全局兼容型 Aurora 数据库引擎上运行的现有 Aurora 数据库集群，则可以使用此过程的简短形式。在这种情况下，可以向现有数据库集群添加另一个 Amazon Web Services 区域，来创建 Aurora 全球数据库。为此，请参阅 [将 Amazon Web Services 区域 添加到 Amazon Aurora Global Database](aurora-global-database-attaching.md)。

## 控制台
<a name="aurora-global-database-creating.console"></a>

创建 Aurora Global Database 的步骤首先是登录支持 Aurora Global Database 特征的 Amazon Web Services 区域。有关完整列表，请参阅[支持 Aurora 全球数据库的区域和数据库引擎](Concepts.Aurora_Fea_Regions_DB-eng.Feature.GlobalDatabase.md)。

下列步骤之一用于根据 Amazon VPC 为 Aurora 数据库集群选择 Virtual Private Cloud (VPC)。要使用您自己的 VPC，我们建议您提前创建它，使其可供您选择。同时，创建任意相关子网，并根据需要创建子网组和安全组。要了解如何操作，请参阅[教程：创建 VPC 以用于数据库集群（仅限 IPv4）](CHAP_Tutorials.WebServerDB.CreateVPC.md)。

有关创建 Aurora 数据库集群的一般信息，请参阅 [创建 Amazon Aurora 数据库集群](Aurora.CreateInstance.md)。

**创建 Aurora 全局数据库**

1. 登录Amazon Web Services 管理控制台并通过以下网址打开 Amazon RDS 控制台：[https://console.aws.amazon.com/rds/](https://console.amazonaws.cn/rds/)。

1. 选择**创建数据库**。在 **Create database (创建数据库)** 页面上，执行以下操作：
   + 为数据库创建方法选择 **Standard create (标准创建)**。（请勿选择 Easy create (轻松创建)。）
   + 对于**引擎选项**部分中的 `Engine type`，选择适用的引擎类型，即 **Aurora（MySQL 兼容）**或 **Aurora（PostgreSQL 兼容）**。

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

### 使用 Aurora MySQL 创建全局数据库
<a name="aurora-global-database.create.console.MySQL"></a>

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

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

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

1. 对于 **Engine options**（引擎选项），请选择以下设置：

   1. 对于 **Engine version**（引擎版本），选择您要用于 Aurora 全局数据库的 Aurora MySQL 版本。

1. 对于 **Templates** (模板)，选择 **Production** (生产)。或者您可以根据自己的使用案例选择开发/测试。请勿在生产环境做使用开发/测试。

1. 对于 **Settings** (设置)，请执行以下操作：

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

   1. 为数据库实例的 `admin` 用户账户输入您自己的密码，或者让 Aurora 为您生成密码。如果选择自动生成密码，则可以选择复制该密码。  
![\[创建全局数据库时的 Settings (设置) 选项屏幕截图。\]](http://docs.amazonaws.cn/AmazonRDS/latest/AuroraUserGuide/images/aurora-global-db-create-ams-3.png)

1. 对于 **DB instance class (数据库实例类)**，选择 `db.r5.large` 或其他经内存优化的数据库实例类。建议使用 db.r5 或更高的实例类。

1. 为了确保**可用性和持久性**，我们建议您选择让 Aurora 在您的其他可用区 (AZ) 中创建 Aurora 副本。如果您现在不创建 Aurora 副本，则将需要稍后创建。  
![\[可用性和耐久性的屏幕截图。\]](http://docs.amazonaws.cn/AmazonRDS/latest/AuroraUserGuide/images/aurora-global-db-create-ams-4b.png)

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

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

1. 对于 **Additional configuration** (其他配置)，执行以下操作：

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

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

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

1. 选择**创建数据库**。

   Aurora 可能需要几分钟才能完成 Aurora 数据库实例、其 Aurora 副本和 Aurora 数据库集群的创建流程。您可以通过 Aurora 数据库集群状态来判断其何时可以用作 Aurora 全局数据库中的主数据库集群。当使用准备就绪时，数据库集群及其写入器和副本节点都显示为** Available**（可用）状态，如下所示。  
![\[已准备好用于 Aurora Global Database 的 Aurora 数据库集群的数据库屏幕截图。\]](http://docs.amazonaws.cn/AmazonRDS/latest/AuroraUserGuide/images/aurora-global-db-create-ams-5.png)

当主数据库集群可用时，请通过向其添加辅助集群来创建 Aurora 全局数据库。为此，请按照 [将 Amazon Web Services 区域 添加到 Amazon Aurora Global Database](aurora-global-database-attaching.md) 中的步骤操作。

### 使用 Aurora PostgreSQL 创建全局数据库
<a name="aurora-global-database.create.console.PostgreSQL"></a>

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

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

1. 对于 **Engine options**（引擎选项），请选择以下设置：

   1. 对于 **Engine version**（引擎版本），选择您要用于 Aurora 全局数据库的 Aurora PostgreSQL 版本。

1. 对于 **Templates** (模板)，选择 **Production** (生产)。或者您可以选择开发/测试（如果适用）。请勿在生产环境做使用开发/测试。

1. 对于 **Settings** (设置)，请执行以下操作：

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

   1. 为数据库集群的默认管理员账户输入您自己的密码，或者让 Aurora 为您生成密码。如果选择自动生成密码，则可以选择复制该密码。  
![\[创建全局数据库时的 Settings (设置) 选项屏幕截图。\]](http://docs.amazonaws.cn/AmazonRDS/latest/AuroraUserGuide/images/aurora-global-db-create-apg-2.png)

1. 对于 **DB instance class (数据库实例类)**，选择 `db.r5.large` 或其他经内存优化的数据库实例类。建议使用 db.r5 或更高的实例类。

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

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

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

1. 对于 **Additional configuration** (其他配置)，执行以下操作：

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

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

   1. 接受 **Additional configuration**（其他配置）的所有其他默认，例如加密、日志导出等。

1. 选择**创建数据库**。

   Aurora 可能需要几分钟才能完成 Aurora 数据库实例、其 Aurora 副本和 Aurora 数据库集群的创建流程。当集群做好使用准备时，Aurora 数据库集群及其写入器和副本节点都显示 **Available (可用)** 状态。添加辅助数据库集群后，这将成为 Aurora 全局数据库的主数据库集群。  
![\[已准备好用于 Aurora Global Database 的 Aurora 数据库集群的数据库屏幕截图。\]](http://docs.amazonaws.cn/AmazonRDS/latest/AuroraUserGuide/images/aurora-global-db-create-apg-5-add-region.png)

当主数据库集群可用时，按照 [将 Amazon Web Services 区域 添加到 Amazon Aurora Global Database](aurora-global-database-attaching.md) 中的步骤创建一个或多个辅助集群。

## Amazon CLI
<a name="aurora-global-database-creating.cli"></a>

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

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

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

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

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

1. 按照 [将 Amazon Web Services 区域 添加到 Amazon Aurora Global Database](aurora-global-database-attaching.md) 中的步骤，在另一个区域中创建第二个 Aurora 数据库集群，然后将其添加到您的 Aurora 全局数据库。

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

### 使用 Aurora MySQL 创建全局数据库
<a name="aurora-serverless.create.cli.MySQL"></a>

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

1. 使用 `[create-global-cluster](https://docs.amazonaws.cn/cli/latest/reference/rds/create-global-cluster.html)` 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](https://docs.amazonaws.cn/cli/latest/reference/rds/describe-global-clusters.html)` CLI 命令查看它是否可用。

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

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

1. 要创建主 Aurora 数据库集群，请使用 `[create-db-cluster](https://docs.amazonaws.cn/cli/latest/reference/rds/create-db-cluster.html)` 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](https://docs.amazonaws.cn/cli/latest/reference/rds/describe-db-clusters.html)` 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"` 时，它就可随时使用了。

1. 为主 Aurora 数据库集群创建数据库实例。为此，使用 `[create-db-instance](https://docs.amazonaws.cn/cli/latest/reference/rds/create-db-instance.html)` CLI 命令。为命令提供 Aurora 数据库集群的名称，然后指定实例的配置详细信息。您不需要在命令中传递 `--master-username` 和 `--master-user-password` 参数，因为它会从 Aurora 数据库集群获取这些参数。

   对于 `--db-instance-class`，您只能使用来自经内存优化的类的内容，例如 `db.r5.large`。建议使用 db.r5 或更高的实例类。有关这些类的信息，请参阅[数据库实例类类型](Concepts.DBInstanceClass.Types.md)。

   对于 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 副本）。

1.  要为集群创建另一个 Aurora 数据库实例，请使用 `[create-db-instance](https://docs.amazonaws.cn/cli/latest/reference/rds/create-db-instance.html)` 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](https://docs.amazonaws.cn/cli/latest/reference/rds/describe-db-instances.html)` CLI 命令检查数据库实例是否可用。

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

### 使用 Aurora PostgreSQL 创建全局数据库
<a name="aurora-serverless.create.cli.PostgreSQL"></a>

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

 为此，使用 `[describe-global-clusters](https://docs.amazonaws.cn/cli/latest/reference/rds/describe-global-clusters.html)` CLI 命令。

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

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

1. 使用 `[create-global-cluster](https://docs.amazonaws.cn/cli/latest/reference/rds/create-global-cluster.html)` 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 数据库集群。

1.  要创建主 Aurora 数据库集群，请使用 `[create-db-cluster](https://docs.amazonaws.cn/cli/latest/reference/rds/create-db-cluster.html)` 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
   ```

1. 为主 Aurora 数据库集群创建数据库实例。为此，使用 `[create-db-instance](https://docs.amazonaws.cn/cli/latest/reference/rds/create-db-instance.html)` CLI 命令。

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

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

   对于 `--db-instance-class`，您只能使用来自经内存优化的类的内容，例如 `db.r5.large`。建议使用 db.r5 或更高的实例类。有关这些类的信息，请参阅[数据库实例类类型](Concepts.DBInstanceClass.Types.md)。

   对于 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
   ```

1.  继续操作之前，请检查 Aurora 数据库实例的状态。

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

    如果响应显示 Aurora 数据库实例状态为 `available`，则可以为主数据库集群创建另一个 Aurora 数据库实例。

1.  要为 Aurora 数据库集群创建 Aurora 副本，请使用 `[create-db-instance](https://docs.amazonaws.cn/cli/latest/reference/rds/create-db-instance.html)` 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](https://docs.amazonaws.cn/cli/latest/reference/rds/describe-db-instances.html)` CLI 命令检查数据库实例是否可用。

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

## RDS API
<a name="aurora-global-database-creating.api"></a>

 要使用 RDS API 创建 Aurora 全局数据库，请运行 [CreateGlobalCluster](https://docs.amazonaws.cn/AmazonRDS/latest/APIReference/API_CreateGlobalCluster.html) 操作。