

# 修改 Aurora Serverless v1 数据库集群
<a name="aurora-serverless.modifying"></a>

**重要**  
AWS 已[宣布 Aurora Serverless v1 的生命周期终止日期为：2025 年 3 月 31 日](https://repost.aws/questions/QUhcMVoChXRm2HLi8F-yih1g/announcement-support-for-aurora-s/announcement-support-for-aurora-serverless-v1-ending-soon)。所有在 2025 年 3 月 31 日之前未迁移的 Aurora Serverless v1 集群都将在维护时段内迁移到 Aurora Serverless v2。如果升级失败，Amazon Aurora 会在维护时段内将 Serverless v1 集群转换为具有等效引擎版本的预置集群。如果适用，Amazon Aurora 将在 Amazon RDS 扩展支持中注册转换后的预置集群。有关更多信息，请参阅 [Amazon Aurora 的 Amazon RDS 扩展支持](extended-support.md)。

在配置 Aurora Serverless v1 数据库集群后，您可以使用 AWS 管理控制台、AWS CLI 或 RDS API 修改某些属性。您可以修改的大多数属性与其他类型的 Aurora 集群相同。

以下是 Aurora Serverless v1 的最相关的更改。
+ [修改扩缩配置](#aurora-serverless.modifying.scaling)
+ [升级主要版本](#aurora-serverless.modifying.upgrade)
+ [从 Aurora Serverless v1 转换为预置](#aurora-serverless.modifying.convert)

## 修改 Aurora Serverless v1 数据库集群的扩缩配置。
<a name="aurora-serverless.modifying.scaling"></a>

可以设置数据库集群的最小容量和最大容量。每个容量单元等效于特定的计算和内存配置。Aurora Serverless 自动创建 CPU 使用率、连接和可用内存阈值的扩展规则。您还可以设置 Aurora Serverless 在无任何活动时是否暂停数据库，然后在活动再次开始时恢复。

您可以为扩展配置设置以下特定值：
+ **Minimum Aurora capacity unit (最小 Aurora 容量单元)** – Aurora Serverless 可以将容量减少到该容量单元。
+ **Maximum Aurora capacity unit (最大 Aurora 容量单元)** – Aurora Serverless 可以将容量增加到该容量单元。
+  **自动扩展超时和操作** - 此部分指定 Aurora Serverless 在超时之前等待多长时间以查找扩展点。它也指定当容量修改操作因找不到扩展点而超时时要执行的操作。Aurora 可以强制执行容量更改，尽快将容量设置为指定值。也可以回滚容量更改以取消此更改。有关更多信息，请参阅 [容量更改超时操作](aurora-serverless-v1.how-it-works.md#aurora-serverless.how-it-works.timeout-action)。
+ **不活动后暂停** - 使用可选的**集群空闲时将容量扩展到 0 ACU** 设置，可在数据库处于非活动状态时将数据库的处理容量扩展到零。当数据库流量恢复后，Aurora 将自动恢复处理容量并进行扩展以处理流量。

**注意**  
当您修改 Aurora Serverless 数据库集群的容量范围时，无论您是选择立即应用更改，还是在下一个计划维护时段内应用更改，更改都会立即发生。

### 控制台
<a name="aurora-serverless.modifying.scaling.CON"></a>

您可以使用AWS 管理控制台修改 Aurora 数据库集群的扩展配置。

**修改 Aurora Serverless v1 数据库集群**

1. 通过以下网址打开 Amazon RDS 控制台：[https://console.aws.amazon.com/rds/](https://console.aws.amazon.com/rds/)。

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

1. 选择要修改的 Aurora Serverless v1 数据库集群。

1. 对于**操作**，选择**修改集群**。

1. 在**容量设置**部分，修改扩展配置。

1. 选择**继续**。

1. 在**修改数据库集群**页面上，查看您所做的修改，然后选择何时应用这些修改。

1. 选择**修改集群**。

### AWS CLI
<a name="aurora-serverless.modifying.scaling.CLI"></a>

要使用 Aurora Serverless v1 修改 AWS CLI 数据库集群的扩展配置，请运行 [modify-db-cluster](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/rds/modify-db-cluster.html) AWS CLI 命令。指定 `--scaling-configuration` 选项来配置最小容量、最大容量以及无连接时的自动暂停。有效的容量值包括：
+ Aurora MySQL：`1`、`2`、`4`、`8`、`16`、`32`、`64`、`128` 和 `256`。
+ Aurora PostgreSQL：`2`、`4`、`8`、`16`、`32`、`64`、`192` 和 `384`。

在该示例中，您修改一个名为 *sample-cluster* 的 Aurora Serverless v1 数据库集群的扩展配置。

对于 Linux、macOS 或 Unix：

```
aws rds modify-db-cluster \
    --db-cluster-identifier sample-cluster \
    --scaling-configuration MinCapacity=8,MaxCapacity=64,SecondsUntilAutoPause=500,TimeoutAction='ForceApplyCapacityChange',AutoPause=true
```

对于：Windows

```
aws rds modify-db-cluster ^
    --db-cluster-identifier sample-cluster ^
    --scaling-configuration MinCapacity=8,MaxCapacity=64,SecondsUntilAutoPause=500,TimeoutAction='ForceApplyCapacityChange',AutoPause=true
```

### RDS API
<a name="aurora-serverless.modifying.scaling.API"></a>

您可以使用 [ModifyDBCluster](https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_ModifyDBCluster.html) API 操作修改 Aurora 数据库集群的扩展配置。指定 `ScalingConfiguration` 参数来配置最小容量、最大容量以及无连接时的自动暂停。有效的容量值包括：
+ Aurora MySQL：`1`、`2`、`4`、`8`、`16`、`32`、`64`、`128` 和 `256`。
+ Aurora PostgreSQL：`2`、`4`、`8`、`16`、`32`、`64`、`192` 和 `384`。

## 升级 Aurora Serverless v1 数据库集群的主要版本
<a name="aurora-serverless.modifying.upgrade"></a>

**重要**  
AWS 已[宣布 Aurora Serverless v1 的生命周期终止日期为：2025 年 3 月 31 日](https://repost.aws/questions/QUhcMVoChXRm2HLi8F-yih1g/announcement-support-for-aurora-s/announcement-support-for-aurora-serverless-v1-ending-soon)。所有在 2025 年 3 月 31 日之前未迁移的 Aurora Serverless v1 集群都将在维护时段内迁移到 Aurora Serverless v2。如果升级失败，Amazon Aurora 会在维护时段内将 Serverless v1 集群转换为具有等效引擎版本的预置集群。如果适用，Amazon Aurora 将在 Amazon RDS 扩展支持中注册转换后的预置集群。有关更多信息，请参阅 [Amazon Aurora 的 Amazon RDS 扩展支持](extended-support.md)。

您可以将与 PostgreSQL 11 兼容的 Aurora Serverless v1 数据库集群的主要版本升级到相应的 PostgreSQL 13 兼容版本。

### 控制台
<a name="aurora-serverless.modifying.upgrade.CON"></a>

您可以使用 AWS 管理控制台执行 Aurora Serverless v1 数据库集群的就地升级。

**升级 Aurora Serverless v1 数据库集群**

1. 通过以下网址打开 Amazon RDS 控制台：[https://console.aws.amazon.com/rds/](https://console.aws.amazon.com/rds/)。

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

1. 选择要升级的 Aurora Serverless v1 数据库集群。

1. 对于**操作**，选择**修改集群**。

1. 对于**版本**，请选择 Aurora PostgreSQL 版本 13 版本号。

   以下示例显示了从 Aurora PostgreSQL 11.16 到 13.9 的就地升级。  
![\[使用控制台升级 Aurora Serverless v1 数据库集群\]](http://docs.aws.amazon.com/zh_cn/AmazonRDS/latest/AuroraUserGuide/images/sv1-upgrade-apg11-to-13.png)

   如果您执行主要版本升级，请保持所有其他属性相同。要更改任何其他属性，请在升级完成后执行另一个**修改**操作。

1. 选择**继续**。

1. 在**修改数据库集群**页面上，查看您所做的修改，然后选择何时应用这些修改。

1. 选择**修改集群**。

### AWS CLI
<a name="aurora-serverless.modifying.upgrade.CLI"></a>

要执行从 PostgreSQL 11 兼容的 Aurora Serverless v1 数据库集群到 PostgreSQL 13 兼容的数据库集群的就地升级，请使用与 Aurora Serverless v1 兼容的 Aurora PostgreSQL 版本 13 版本号指定 `--engine-version` 参数。还包含 `--allow-major-version-upgrade` 参数。

在本例中，您是修改与 PostgreSQL 11 兼容的 Aurora Serverless v1 数据库集群（名为 `sample-cluster`）的主要版本。这样做可以就地升级到 PostgreSQL 13 兼容的 Aurora Serverless v1 数据库集群。

```
aws rds modify-db-cluster \
    --db-cluster-identifier sample-cluster \
    --engine-version 13.serverless_12 \
    --allow-major-version-upgrade
```

对于：Windows

```
aws rds modify-db-cluster ^
    --db-cluster-identifier sample-cluster ^
    --engine-version 13.serverless_12 ^
    --allow-major-version-upgrade
```

### RDS API
<a name="aurora-serverless.modifying.upgrade.API"></a>

要执行从 PostgreSQL 11 兼容的 Aurora Serverless v1 数据库集群到 PostgreSQL 13 兼容的数据库集群的就地升级，请使用与 Aurora Serverless v1 兼容的 Aurora PostgreSQL 版本 13 版本号指定 `EngineVersion` 参数。还包含 `AllowMajorVersionUpgrade` 参数。

## 将 Aurora Serverless v1 数据库集群转换为预调配
<a name="aurora-serverless.modifying.convert"></a>

可以将 Aurora Serverless v1 数据库集群转换为预调配的数据库集群。要执行转换，请使用 AWS CLI 或 Amazon RDS API 将数据库实例类更改为**预置**。使用下面的步骤修改数据库实例类。

以下示例演示如何使用 AWS CLI 将 Aurora Serverless v1 数据库集群转换为预置集群。

### AWS CLI
<a name="aurora-serverless.modifying.convert.CLI"></a>

要将 Aurora Serverless v1 数据库集群转换为预调配集群，请运行 [modify-db-cluster](https://docs.aws.amazon.com/cli/latest/reference/rds/modify-db-cluster.html) AWS CLI 命令。

以下参数为必需参数：
+ `--db-cluster-identifier` – 您要转换为预调配的 Aurora Serverless v1 数据库集群。
+ `--engine-mode` – 使用值 `provisioned`。
+ `--allow-engine-mode-change`
+ `--db-cluster-instance-class` – 根据 Aurora Serverless v1 数据库集群的容量为预调配的数据库集群选择数据库实例类。

在此示例中，您将转换名为 `sample-cluster` 的 Aurora Serverless v1 数据库集群并使用 `db.r5.xlarge` 数据库实例类。

对于 Linux、macOS 或 Unix：

```
aws rds modify-db-cluster \
--db-cluster-identifier sample-cluster \
--engine-mode provisioned \
--allow-engine-mode-change \
--db-cluster-instance-class db.r5.xlarge
```

对于：Windows

```
aws rds modify-db-cluster ^
--db-cluster-identifier sample-cluster ^
--engine-mode provisioned ^
--allow-engine-mode-change ^
--db-cluster-instance-class db.r5.xlarge
```

以下示例演示如何使用 Amazon RDS API 将 Aurora Serverless v1 数据库集群转换为预置集群。

### RDS API
<a name="aurora-serverless.modifying.convert.API"></a>

要将 Aurora Serverless v1 数据库集群转换为预调配的集群，请使用 [ModifyDBCluster](https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_ModifyDBCluster.html) API 操作。

以下参数为必需参数：
+ `DBClusterIdentifier` – 您要转换为预调配的 Aurora Serverless v1 数据库集群。
+ `EngineMode` – 使用值 `provisioned`。
+ `AllowEngineModeChange`
+ `DBClusterInstanceClass` – 根据 Aurora Serverless v1 数据库集群的容量为预调配的数据库集群选择数据库实例类。

## 从 Aurora Serverless v1 数据库集群转换为预置集群时的注意事项
<a name="aurora-serverless.modifying.considerations"></a>

将 Aurora Serverless v1 数据库集群转换为预置集群时，以下注意事项适用：
+ 您可以将此转换用作将数据库集群从 Aurora Serverless v1 升级到 Aurora Serverless v2 的一部分。有关更多信息，请参阅 [从 Aurora Serverless v1 集群升级到 Aurora Serverless v2](aurora-serverless-v2.upgrade.md#aurora-serverless-v2.upgrade-from-serverless-v1-procedure)。
+ 转换过程在数据库集群中创建读取器数据库集群，将读取器实例提升为写入器实例，然后删除原始 Aurora Serverless v1 实例。转换数据库集群时，无法同时执行任何其他修改，例如更改数据库引擎版本或数据库集群参数组。转换操作将立即应用，无法撤消。
+ 在转换过程中，会拍摄数据库集群的备份数据库集群快照，以防出现错误。数据库集群快照的标识符格式为 `pre-modify-engine-mode-DB_cluster_identifier-timestamp`。
+ Aurora 为预调配的数据库集群使用当前默认的数据库次要引擎版本。
+ 如果您没有为转换后的数据库集群提供数据库实例类，Aurora 会根据原始 Aurora Serverless v1 数据库集群的最大容量推荐一个数据库实例类。下表中显示了推荐的容量到实例类映射。    
[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_cn/AmazonRDS/latest/AuroraUserGuide/aurora-serverless.modifying.html)

**注意**  
根据您选择的数据库实例类和数据库使用情况，您可能看到预调配数据库集群的成本与 Aurora Serverless v1 相比不同。  
如果您将 Aurora Serverless v1 数据库集群转换为可突增（db.t\$1）数据库实例类，则使用数据库集群可能会产生额外费用。有关更多信息，请参阅 [数据库实例类类型](Concepts.DBInstanceClass.Types.md)。