

# 创建一个使用 Aurora Serverless v2 的数据库集群
<a name="aurora-serverless-v2.create"></a>

要创建可以在其中添加 Aurora Serverless v2 数据库实例的 Aurora 集群，请按照[创建 Amazon Aurora 数据库集群](Aurora.CreateInstance.md)中的相同过程进行操作。借助 Aurora Serverless v2，您的集群可以与预置集群互换。您的集群可以有一些数据库实例使用 Aurora Serverless v2，有些数据库实例为已预置。

**Topics**
+ [Aurora Serverless v2 数据库集群的设置](#aurora-serverless-v2.create-settings)
+ [创建 Aurora Serverless v2 数据库集群](#aurora-serverless-v2.create-cluster)
+ [创建 Aurora Serverless v2 写入器数据库实例](#aurora-serverless-v2-adding-writer)

## Aurora Serverless v2 数据库集群的设置
<a name="aurora-serverless-v2.create-settings"></a>

确保集群的初始设置满足 [Aurora Serverless v2 的要求和限制](aurora-serverless-v2.requirements.md)中列出的要求。指定以下设置，以确保您可以向集群中添加 Aurora Serverless v2 数据库实例：

**Amazon Web Services 区域**  
在 Amazon Web Services 区域中创建可使用 Aurora Serverless v2 数据库实例的集群。有关可用区域的详细信息，请参阅 [支持 Aurora Serverless v2 的区域和 Aurora 数据库引擎](Concepts.Aurora_Fea_Regions_DB-eng.Feature.ServerlessV2.md)。

**数据库引擎版本**  
选择与 Aurora Serverless v2 兼容的引擎版本。有关的 Aurora Serverless v2 版本要求的信息，请参阅 [Aurora Serverless v2 的要求和限制](aurora-serverless-v2.requirements.md)。

**数据库实例类**  
如果您使用 Amazon Web Services 管理控制台 创建集群，则可以同时为写入器数据库实例选择数据库实例类。选择 **Serverless**（无服务器）数据库实例类。选择该数据库实例类时，还要指定写入器数据库实例的容量范围。同样的容量范围适用于添加到该集群的所有其他 Aurora Serverless v2 数据库实例。  
如果未看到数据库实例类的**无服务器**选项，请确保选择 [支持 Aurora Serverless v2 的区域和 Aurora 数据库引擎](Concepts.Aurora_Fea_Regions_DB-eng.Feature.ServerlessV2.md) 支持的数据库引擎版本。  
使用 Amazon CLI 或 Amazon RDS API 时，为数据库实例类指定的参数为 `db.serverless`。

**Capacity range（容量范围）**  
填入适用于集群中所有数据库实例的最小和最大 Aurora 容量单位（ACU）值。当您为数据库实例类选择 **Serverless**（无服务器）时，**Create cluster**（创建集群）和 **Add reader**（添加读取器）控制台页面上都提供了此选项。  
有关各种数据库引擎版本支持的容量范围，请参阅 [Aurora Serverless v2 容量](aurora-serverless-v2.how-it-works.md#aurora-serverless-v2.how-it-works.capacity)。  
如果您没有看到最小和最大 ACU 字段，请确保为写入器数据库实例选择了**无服务器**数据库实例类。

如果您最初使用预置数据库实例创建集群，则不指定最小和最大 ACU。在这种情况下，您可以在之后修改集群以添加该设置。您还可以向集群添加 Aurora Serverless v2 读取器数据库实例。您可以在该过程中指定容量范围。

在为集群指定容量范围之前，不能使用 Amazon CLI 或 RDS API 向集群添加任何 Aurora Serverless v2 数据库实例。如果您尝试添加 Aurora Serverless v2 数据库实例，会出现错误。在 Amazon CLI 或 RDS API 过程，用 `ServerlessV2ScalingConfiguration` 属性表示容量范围。

对于包含多个读取器数据库实例的集群，各个 Aurora Serverless v2 读取器数据库实例的失效转移优先级在该数据库实例如何扩展和缩减方面起着重要作用。在最初创建集群时无法指定优先级。向集群添加第二个或更多读取器数据库实例时，请记住此属性。有关更多信息，请参阅 [为 Aurora Serverless v2 读取器选择提升层](aurora-serverless-v2-administration.md#aurora-serverless-v2-choosing-promotion-tier)。

## 创建 Aurora Serverless v2 数据库集群
<a name="aurora-serverless-v2.create-cluster"></a>

您可以使用 Amazon Web Services 管理控制台、Amazon CLI 或 RDS API 创建 Aurora Serverless v2 数据库集群。

### 控制台
<a name="aurora-serverless-v2-create.console"></a>

**创建带有 Aurora Serverless v2 写入器的集群**

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

1. 在导航窗格中，选择 **Databases（数据库）**。

1. 选择**创建数据库**。在显示的页面上，选择以下选项：
   + 对于**引擎类型**，选择 **Aurora（MySQL 兼容）**或 **Aurora（PostgreSQL 兼容）**。
   + 对于**版本**，请选择 [支持 Aurora Serverless v2 的区域和 Aurora 数据库引擎](Concepts.Aurora_Fea_Regions_DB-eng.Feature.ServerlessV2.md) 支持的版本之一。

1. 对于**数据库实例类**，请选择 **Serverless v2**。

1. 对于**容量范围**，您可以接受默认范围。或者，您可以为最小和最大容量单位选择其他值。您可以从最小 0 ACU 到最大 256 ACU 中选择，增量为 0.5 ACU。

   有关 Aurora Serverless v2 容量单位的更多信息，请参阅 [Aurora Serverless v2 容量](aurora-serverless-v2.how-it-works.md#aurora-serverless-v2.how-it-works.capacity)和 [Aurora Serverless v2 的性能和扩缩](aurora-serverless-v2.setting-capacity.md)。

    根据您选择的引擎和版本，上限可能为 128 ACU，下限可能为 0.5 ACU，或两者并用。有关 Aurora 引擎和版本的每种组合的限制的详细信息，请参阅 [Aurora Serverless v2 容量](aurora-serverless-v2.how-it-works.md#aurora-serverless-v2.how-it-works.capacity)。  
![\[Aurora Serverless v2 的实例配置设置。\]](http://docs.amazonaws.cn/AmazonRDS/latest/AuroraUserGuide/images/serverless_v2_screencaps/serverless_v2_capacity_setting_incl_nonzero_minimum.png)

    选择 0 ACU 的最小容量可启用 Aurora Serverless v2 自动暂停和恢复功能。在这种情况下，您可以额外选择 Aurora Serverless v2 数据库实例在没有数据库连接的情况下等待多长时间才会自动暂停。有关自动暂停和恢复功能的信息，请参阅[针对 Aurora Serverless v2 缩减到零 ACU 从而自动暂停和恢复](aurora-serverless-v2-auto-pause.md)。  
![\[下限为 0 ACU 时的容量设置 Aurora Serverless v2。\]](http://docs.amazonaws.cn/AmazonRDS/latest/AuroraUserGuide/images/serverless_v2_screencaps/serverless_v2_capacity_setting_incl_zero_minimum.png)

1. 选择任何其他数据库集群设置，如[Aurora 数据库集群的设置](Aurora.CreateInstance.md#Aurora.CreateInstance.Settings)中所述。

1. 选择**创建数据库**以创建 Aurora 数据库集群，其中，将 Aurora Serverless v2 数据库实例作为写入器实例，也称为主数据库实例。

### CLI
<a name="aurora-serverless-v2-create.cli"></a>

要使用 Amazon CLI 创建与 Aurora Serverless v2 数据库实例兼容的数据库集群，请按照[创建 Amazon Aurora 数据库集群](Aurora.CreateInstance.md)中的 CLI 程序操作。在 `create-db-cluster` 命令中包含以下参数：
+ --region *AWS\$1Region\$1where\$1Aurora Serverless v2\$1instances\$1are\$1available*
+ --engine-version *serverless\$1v2\$1compatible\$1engine\$1version*
+ --serverless-v2-scaling-configuration MinCapacity=*minimum\$1capacity*,MaxCapacity=*maximum\$1capacity* 

以下示例显示如何创建 Aurora Serverless v2 数据库集群。

```
aws rds create-db-cluster \
    --db-cluster-identifier my-serverless-v2-cluster \
    --region eu-central-1 \
    --engine aurora-mysql \
    --engine-version 8.0.mysql_aurora.3.04.1 \
    --serverless-v2-scaling-configuration MinCapacity=1,MaxCapacity=4 \
    --master-username myuser \
    --manage-master-user-password
```

**注意**  
使用 Amazon CLI 创建 Aurora Serverless v2 数据库集群时，引擎模式在输出中显示为 `provisioned`，而不是 `serverless`。`serverless` 引擎模式是指 Aurora Serverless v1。

此示例指定了 `--manage-master-user-password` 选项，用于生成管理密码并在 Secrets Manager 中对其进行管理。有关更多信息，请参阅 [使用 Amazon Aurora 和 Amazon Secrets Manager 管理密码](rds-secrets-manager.md)。或者，您可以使用 `--master-password` 选项自行指定和管理密码。

有关的 Aurora Serverless v2 版本要求的信息，请参阅 [Aurora Serverless v2 的要求和限制](aurora-serverless-v2.requirements.md)。有关容量范围允许的数字以及这些数字代表的含义的信息，请参阅 [Aurora Serverless v2 容量](aurora-serverless-v2.how-it-works.md#aurora-serverless-v2.how-it-works.capacity)和 [Aurora Serverless v2 的性能和扩缩](aurora-serverless-v2.setting-capacity.md)。

要验证现有集群是否已指定了容量设置，请检查 `ServerlessV2ScalingConfiguration` 属性的 `describe-db-clusters` 命令的输出。该属性看上去类似于以下内容。

```
"ServerlessV2ScalingConfiguration": {
    "MinCapacity": 1.5,
    "MaxCapacity": 24.0
}
```

**提示**  
如果在创建集群时未指定最小和最大 ACU，则可以在以后使用 `modify-db-cluster` 命令来添加该设置。在此之前，您不能向集群添加任何 Aurora Serverless v2 数据库实例。如果您尝试添加 `db.serverless` 数据库实例，会出现错误。

### API
<a name="aurora-serverless-v2-create.api"></a>

要使用 RDS API 创建与 Aurora Serverless v2 数据库实例兼容的数据库集群，请按照[创建 Amazon Aurora 数据库集群](Aurora.CreateInstance.md)中的 API 程序操作。选择以下设置。确保您的 `CreateDBCluster` 操作包括以下参数：

```
EngineVersion serverless_v2_compatible_engine_version
ServerlessV2ScalingConfiguration with MinCapacity=minimum_capacity and MaxCapacity=maximum_capacity
```

有关的 Aurora Serverless v2 版本要求的信息，请参阅 [Aurora Serverless v2 的要求和限制](aurora-serverless-v2.requirements.md)。有关容量范围允许的数字以及这些数字代表的含义的信息，请参阅 [Aurora Serverless v2 容量](aurora-serverless-v2.how-it-works.md#aurora-serverless-v2.how-it-works.capacity)和 [Aurora Serverless v2 的性能和扩缩](aurora-serverless-v2.setting-capacity.md)。

要检查现有集群是否指定了容量设置，请检查 `ServerlessV2ScalingConfiguration` 属性的 `DescribeDBClusters` 操作。该属性看上去类似于以下内容。

```
"ServerlessV2ScalingConfiguration": {
    "MinCapacity": 1.5,
    "MaxCapacity": 24.0
}
```

**提示**  
如果在创建集群时没有指定最小和最大 ACU，则可以在以后使用 `ModifyDBCluster` 操作来添加该设置。在此之前，您不能向集群添加任何 Aurora Serverless v2 数据库实例。如果您尝试添加 `db.serverless` 数据库实例，会出现错误。

## 创建 Aurora Serverless v2 写入器数据库实例
<a name="aurora-serverless-v2-adding-writer"></a>

 尽管您在创建 Aurora 集群时指定了 Aurora Serverless v2 容量范围，但您可以为集群中的每个数据库实例选择是使用 Aurora Serverless v2 还是预调配。要立即开始在数据库集群中使用 Aurora Serverless v2，请添加使用 `db.serverless` 实例类的写入器数据库实例。在控制台中，您通常可以在创建数据库集群的工作流程中做出此选择。因此，此过程主要适用于通过 CLI 进行设置时。

### 控制台
<a name="aurora-serverless-v2-adding-writer.CON"></a>

使用 Amazon Web Services 管理控制台 创建数据库集群时，您可以同时指定写入器数据库实例的属性。为了让写入器数据库实例使用 Aurora Serverless v2，请选择 **Serverless**（无服务器）数据库实例类。

然后，您可以通过指定最小和最大 Aurora 容量单位（ACU）值来设置集群的容量范围。这些最小和最大值适用于集群中的每个 Aurora Serverless v2 数据库实例。有关该过程以及最小和最大容量设置的意义，请参阅[创建 Aurora Serverless v2 数据库集群](#aurora-serverless-v2.create-cluster)。

如果在首次创建集群时没有创建 Aurora Serverless v2 数据库实例，您可以在以后添加一个或多个 Aurora Serverless v2 数据库实例。为此，请按照[添加 Aurora Serverless v2 读取器](aurora-serverless-v2-administration.md#aurora-serverless-v2-adding-reader)和[将预置写入器或读取器转换为 Aurora Serverless v2](aurora-serverless-v2-administration.md#aurora-serverless-v2-converting-from-provisioned)中的过程进行操作。在将第一个 Aurora Serverless v2 数据库实例添加到集群时指定容量范围。您可以在以后按照 [为集群设置 Aurora Serverless v2 容量范围](aurora-serverless-v2-administration.md#aurora-serverless-v2-setting-acus) 中的步骤更改容量范围。

### CLI
<a name="aurora-serverless-v2-adding-writer.CLI"></a>

当您使用 Amazon CLI 创建 Aurora Serverless v2 数据库集群时，应使用 [create-db-instance](https://docs.amazonaws.cn/cli/latest/reference/rds/create-db-instance.html) 命令显式添加写入器数据库实例。包括以下参数：
+ `--db-instance-class db.serverless`

下面的示例演示如何创建 Aurora Serverless v2 写入器数据库实例。

```
aws rds create-db-instance \
    --db-cluster-identifier my-serverless-v2-cluster \
    --db-instance-identifier my-serverless-v2-instance \
    --db-instance-class db.serverless \
    --engine aurora-mysql
```