

# 管理 Aurora Serverless v2 数据库集群
<a name="aurora-serverless-v2-administration"></a>

借助 Aurora Serverless v2，您的集群可以与预置集群互换。Aurora Serverless v2 属性应用于数据库集群中的一个或多个数据库实例。因此，创建集群、修改集群、创建和恢复快照等过程基本上与其他类型的 Aurora 集群相同。有关管理 Aurora 集群和数据库实例的一般过程，请参阅[管理 Amazon Aurora 数据库集群](CHAP_Aurora.md)。

在接下来的主题中，您可以了解包含 Aurora Serverless v2 数据库实例的集群的管理注意事项。

**Topics**
+ [为集群设置 Aurora Serverless v2 容量范围](#aurora-serverless-v2-setting-acus)
+ [检查 Aurora Serverless v2 的容量范围](#aurora-serverless-v2-checking-capacity)
+ [添加 Aurora Serverless v2 读取器](#aurora-serverless-v2-adding-reader)
+ [将预置写入器或读取器转换为 Aurora Serverless v2](#aurora-serverless-v2-converting-from-provisioned)
+ [将 Aurora Serverless v2 写入器或读取器转换为预置](#aurora-serverless-v2-converting-to-provisioned)
+ [暂停 Aurora Serverless v2 数据库实例](#pause-when-inactive)
+ [为 Aurora Serverless v2 读取器选择提升层](#aurora-serverless-v2-choosing-promotion-tier)
+ [将 TLS/SSL 与 Aurora Serverless v2 结合使用](#aurora-serverless-v2.tls)
+ [查看 Aurora Serverless v2 写入器和读取器](#aurora-serverless-v2.viewing)
+ [Aurora Serverless v2 的日志记录](#aurora-serverless-v2.logging)

## 为集群设置 Aurora Serverless v2 容量范围
<a name="aurora-serverless-v2-setting-acus"></a>

要修改包含 Aurora Serverless v2 数据库实例的集群或数据库实例本身的配置参数或其他设置，请遵循与预置集群相同的常规过程。有关更多信息，请参阅 [修改 Amazon Aurora 数据库集群](Aurora.Modifying.md)。

Aurora Serverless v2 所特有的最重要设置是容量范围。为 Aurora 集群设置最小和最大 Aurora 容量单位（ACU）值后，无需主动调整集群中的 Aurora Serverless v2 数据库实例容量。Aurora 为您执行调整。此设置在集群级别进行管理。相同的最小和最大 ACU 值适用于集群中的每个 Aurora Serverless v2 数据库实例。

可以设置以下特定值：
+ **最小 ACU** – Aurora Serverless v2 数据库实例可以将容量减少到这个数量的 ACU。
+ **最大 ACU** – Aurora Serverless v2 数据库实例可以将容量增大到这个数量的 ACU。

Aurora Serverless v2 的可用容量范围同时是数据库引擎版本和平台版本的函数。更新的数据库引擎版本支持最大 256 ACU 容量和/或最小 0 ACU 容量。有关各种数据库引擎版本的容量范围，请参阅 [Aurora Serverless v2 容量](aurora-serverless-v2.how-it-works.md#aurora-serverless-v2.how-it-works.capacity)。

 有关通过将最小容量设置为 0 ACU 来启用自动暂停和恢复功能的信息，请参阅[针对 Aurora Serverless v2 缩减到零 ACU 从而自动暂停和恢复](aurora-serverless-v2-auto-pause.md)。

 有关确保 Aurora Serverless v2 数据库集群可以纵向扩展到 256 ACU 的更多信息，请参阅[升级 Aurora Serverless v2 数据库集群以支持扩展到 256 ACU](#setting-256-acus)。

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

在 Aurora Serverless v2 中，在不修改容量范围的情况下，您无法直接设置当前容量，因为容量会根据工作负载在指定的范围内动态调整。不过，您可以通过以下方式间接影响容量：
+ **调整最小容量** – 在工作负载较轻时，暂时降低最小容量以减少基准容量。
+ **临时暂停扩展** – 要将容量固定在特定值，请设置相同的最小和最大容量。
+ **主动扩展以应对突发使用量** – 如果您预计会有突发的工作负载，请预先增加最低容量，以便在有大量活动时保持较高的基准。

有关容量范围的影响以及如何监控和微调容量范围的详细信息，请参阅[适用于 Aurora Serverless v2 的重要 Amazon CloudWatch 指标](aurora-serverless-v2.setting-capacity.md#aurora-serverless-v2.viewing.monitoring)和[Aurora Serverless v2 的性能和扩缩](aurora-serverless-v2.setting-capacity.md)。您的目标是确保集群的最大容量足够大，可以应对工作负载峰值，而且最低容量足够低，可以在集群不忙碌时最大限度地降低成本。

假设您根据监控情况确定集群的 ACU 范围应该更大、更小、更宽或更窄。您可以使用 AWS 管理控制台、AWS CLI 或 Amazon RDS API 将 Aurora 集群的容量设置为特定范围的 ACU。此容量范围适用于集群中的每个 Aurora Serverless v2 数据库实例。

例如，假设您的集群的容量范围为 1-16 ACU，并包含两个 Aurora Serverless v2 数据库实例。然后，集群作为一个整体消耗介于 2 ACU（空闲时）和 32 ACU（充分利用时）之间的某个容量。如果您将容量范围改为 8 至 40.5 ACU，那么现在整个集群在空闲时将消耗 16 ACU，在充分利用时消耗多达 81 ACU。

Aurora 会根据容量范围内的最大 ACU 值自动设置 Aurora Serverless v2 数据库实例的某些参数值。有关此类参数的列表，请参阅 [Aurora Serverless v2 的最大连接数](aurora-serverless-v2.setting-capacity.md#aurora-serverless-v2.max-connections)。对于依赖此类计算的静态参数，重启数据库实例时会再次计算该值。因此，您可以在更改容量范围后重启数据库实例来更新此类参数的值。要检查是否需要重启数据库实例以实现此类参数更改，请检查数据库实例的 `ParameterApplyStatus` 属性。值为 `pending-reboot` 表示重新启动会对某些参数值应用更改。

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

您可以使用 AWS 管理控制台 为包含 Aurora Serverless v2 数据库实例的集群设置容量范围。

使用控制台时，您可以在将第一个 Aurora Serverless v2 数据库实例添加到该集群时设置集群的容量范围。创建集群时，如果您为写入器数据库实例选择 **Serverless v2**（无服务器 v2）数据库实例类，可以设置容量范围。或者，在将 Aurora Serverless v2 读取器数据库实例添加到集群时，如果您选择 **Serverless**（无服务器）数据库实例类，可以设置容量范围。或者，将集群中现有的预置数据库实例转换为 **Serverless**（无服务器）数据库实例类时，可以设置容量范围。有关这些过程的完整版本，请参阅[创建 Aurora Serverless v2 写入器数据库实例](aurora-serverless-v2.create.md#aurora-serverless-v2-adding-writer)、[添加 Aurora Serverless v2 读取器](#aurora-serverless-v2-adding-reader)和[将预置写入器或读取器转换为 Aurora Serverless v2](#aurora-serverless-v2-converting-from-provisioned)。

您在集群级别设置的所有容量范围都适用于集群中的所有 Aurora Serverless v2 数据库实例。下图显示了一个具有多个 Aurora Serverless v2 读取器数据库实例的集群。每个实例都有完全相同的容量范围，即 2-64 ACU。

![\[具有多个 Aurora Serverless v2 读取器数据库实例的集群\]](http://docs.aws.amazon.com/zh_cn/AmazonRDS/latest/AuroraUserGuide/images/serverless_v2_screencaps/serverless_v2_capacity_settings_identical_all_instances_in_tree_view.png)


**修改 Aurora Serverless v2 集群的容量范围**

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

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

1. 从列表中选择包含 Aurora Serverless v2 数据库实例的集群。该集群必须已包含至少一个 Aurora Serverless v2 数据库实例。否则，Aurora 不会显示 **Capacity range**（容量范围）部分。

1. 对于 **Actions**（操作），选择 **Modify**（修改）。

1. 在 **Capacity range**（容量范围）部分，选择以下选项：

   1. 在 **Minimum ACUs**（最小 ACU）中输入一个值。控制台会显示允许的值范围。可以从 0 到 256 ACU 中选择一个最小容量。可以从 1 到 256 ACU 中选择一个最大容量。您能够以 0.5 ACU 为增量调整容量值。可用容量范围同时取决于数据库引擎版本和平台版本。

   1. 在 **Maximum ACUs**（最大 ACU）中输入一个值。此值必须大于或等于 **Minimum ACUs**（最小 ACU）。控制台会显示允许的值范围。下图显示了该选项。  
![\[修改数据库集群容量。\]](http://docs.aws.amazon.com/zh_cn/AmazonRDS/latest/AuroraUserGuide/images/sv2_capacity_settings_256_acus.png)

1. 选择 **Continue**（继续）。此时将显示 **Summary of modifications**（修改摘要）页面。

1. 选择**立即应用**。

   容量修改会立即发生，无论您是选择立即应用更改，还是在下一个计划维护时段内应用更改。

1. 选择 **Modify cluster**（修改集群）以接受修改摘要。您还可以选择 **Back**（上一步）以修改更改，或选择 **Cancel**（取消）以放弃更改。

### AWS CLI
<a name="aurora-serverless-v2.setting-capacity.cli"></a>

使用 AWS CLI，运行 [modify-db-cluster](https://docs.aws.amazon.com/cli/latest/reference/rds/modify-db-cluster.html) AWS CLI 命令，设置打算使用 Aurora Serverless v2 数据库实例的集群的容量。指定 `--serverless-v2-scaling-configuration` 选项。集群可能已经包含一个或多个 Aurora Serverless v2 数据库实例，或者您可以稍后添加数据库实例。`MinCapacity` 和 `MaxCapacity` 字段的有效值包括如下项：
+ `0`、`0.5`、`1`、`1.5`、`2` 等等，增量为 0.5，最大 256。最小 ACU 值为 0 仅适用于支持自动暂停功能的 Aurora 版本。

最大可用容量同时取决于数据库引擎版本和平台版本。

在此示例中，将一个名为 `sample-cluster` 的 Aurora 数据库集群的 ACU 范围设置为至少 `48.5`，最大值为 64。

```
aws rds modify-db-cluster --db-cluster-identifier sample-cluster \
  --serverless-v2-scaling-configuration MinCapacity=48.5,MaxCapacity=64
```

容量修改会立即发生，无论您是选择立即应用更改，还是在下一个计划维护时段内应用更改。

完成之后，您可以向集群中添加 Aurora Serverless v2 数据库实例，每个新数据库实例可以在 48.5 至 64 ACU 之间扩缩。新的容量范围也适用于集群中已存在的任何 Aurora Serverless v2 数据库实例。如有必要，数据库实例会扩展或缩减，以便处于新的容量范围内。

有关使用 CLI 设置容量范围的其他示例，请参阅[选择 Aurora 集群的 Aurora Serverless v2 容量范围](aurora-serverless-v2.setting-capacity.md#aurora-serverless-v2-examples-setting-capacity-range-for-cluster)。

要使用 Aurora Serverless 修改 AWS CLI 数据库集群的扩展配置，请运行 [modify-db-cluster](https://docs.aws.amazon.com/cli/latest/reference/rds/modify-db-cluster.html) AWS CLI 命令。指定 `--serverless-v2-scaling-configuration` 选项以配置最小容量和最大容量。有效的容量值包括：
+ Aurora MySQL：`0`、`0.5`、`1`、`1.5`、`2` 等等，增量为 0.5 ACU，最大 `256`。
+ Aurora PostgreSQL：`0`、`0.5`、`1`、`1.5`、`2` 等等，增量为 0.5 ACU，最大 `256`。
+  最小 ACU 值为 0 仅适用于支持自动暂停功能的 Aurora 版本。

在以下示例中，修改名为 `sample-cluster` 的集群中名为 `sample-instance` 的 Aurora Serverless v2 数据库实例的扩缩配置。

对于 Linux、macOS 或 Unix：

```
aws rds modify-db-cluster --db-cluster-identifier sample-cluster \
--serverless-v2-scaling-configuration MinCapacity=8,MaxCapacity=64
```

对于：Windows

```
aws rds modify-db-cluster --db-cluster-identifier sample-cluster ^
--serverless-v2-scaling-configuration MinCapacity=8,MaxCapacity=64
```

### RDS API
<a name="aurora-serverless-v2.setting-capacity.api"></a>

您可以使用 [ModifyDBCluster](https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_ModifyDBCluster.html) API 操作设置 Aurora 数据库实例的容量。指定 `ServerlessV2ScalingConfiguration` 参数。`MinCapacity` 和 `MaxCapacity` 字段的有效值包括如下项：
+ `0`、`0.5`、`1`、`1.5`、`2` 等等，增量为 0.5，最大 256。最小 ACU 值为 0 仅适用于支持自动暂停功能的 Aurora 版本。

您可以使用 [ModifyDBCluster](https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_ModifyDBCluster.html) API 操作修改包含 Aurora Serverless v2 数据库实例的集群的扩缩配置。指定 `ServerlessV2ScalingConfiguration` 参数以配置最小容量和最大容量。有效的容量值包括：
+ Aurora MySQL：`0`、`0.5`、`1`、`1.5`、`2` 等等，增量为 0.5 ACU，最大 `256`。
+ Aurora PostgreSQL：`0`、`0.5`、`1`、`1.5`、`2` 等等，增量为 0.5 ACU，最大 `256`。
+  最小 ACU 值为 0 仅适用于支持自动暂停功能的 Aurora 版本。

最大可用容量同时取决于数据库引擎版本和平台版本。

容量修改会立即发生，无论您是选择立即应用更改，还是在下一个计划维护时段内应用更改。

### 升级 Aurora Serverless v2 数据库集群以支持扩展到 256 ACU
<a name="setting-256-acus"></a>

在某些情况下，当您尝试将 Aurora Serverless v2 数据库集群扩展到超过 128 ACU 的容量时，您会收到一条错误消息。该错误消息会告诉您哪些实例与新的扩展范围不兼容。这突显了容量范围、数据库引擎版本和平台版本之间的重要关系。

无法扩展到超过 128 ACU 可能是由于以下两个原因之一：
+ 较旧的数据库引擎版本：将数据库引擎版本升级到支持 256 ACU 的版本。有关更多信息，请参阅 [Aurora Serverless v2 容量](aurora-serverless-v2.how-it-works.md#aurora-serverless-v2.how-it-works.capacity)。
+ 平台版本较旧：升级 Aurora Serverless v2 数据库集群的平台。您可以通过下列方式之一来执行该操作：
  + 停止和重新启动数据库集群。当集群重新启动时，它将在最新的平台版本上运行，该版本可能能够达到更高的 ACU 最大值。

    但是，停止和启动数据库集群会导致一些停机时间，通常是几分钟。有关更多信息，请参阅 [停止和启动 Amazon Aurora 数据库集群](aurora-cluster-stop-start.md)。
  + 使用蓝绿部署。有关更多信息，请参阅 [Amazon Aurora 蓝绿部署概述](blue-green-deployments-overview.md)。

    1. 创建蓝绿部署。有关更多信息，请参阅 [在 Amazon Aurora 中创建蓝绿部署](blue-green-deployments-creating.md)。

    1. 确认您可以将暂存（绿色）环境的最大容量设置为 256 ACU。

    1. 切换至绿色环境。有关更多信息，请参阅 [切换 Amazon Aurora 中的蓝绿部署](blue-green-deployments-switching.md)。

    1. 删除原始数据库集群。
**注意**  
如果您在 AWS Secrets Manager 中维护数据库凭证，则无法使用蓝绿部署。  
Aurora Global Database 不支持蓝绿部署。

## 检查 Aurora Serverless v2 的容量范围
<a name="aurora-serverless-v2-checking-capacity"></a>

 在检查 Aurora Serverless v2 集群的容量范围过程中，您需要先设置容量范围。如果尚未执行此操作，请按照[为集群设置 Aurora Serverless v2 容量范围](#aurora-serverless-v2-setting-acus)中的步骤进行操作。

 您在集群级别设置的所有容量范围都适用于集群中的所有 Aurora Serverless v2 数据库实例。下图显示了一个具有多个 Aurora Serverless v2 数据库实例的集群。每个实例都有完全相同的容量范围。

![\[多个 Aurora Serverless v2 数据库实例的集群详细信息。\]](http://docs.aws.amazon.com/zh_cn/AmazonRDS/latest/AuroraUserGuide/images/serverless_v2_screencaps/serverless_v2_capacity_settings_identical_all_instances_in_tree_view.png)


 您也可以查看集群中的任意 Aurora Serverless v2 数据库实例的详细信息页面。**Configuration**（配置）选项卡会显示数据库实例的容量范围。

![\[数据库实例配置用户界面的“实例类型”部分\]](http://docs.aws.amazon.com/zh_cn/AmazonRDS/latest/AuroraUserGuide/images/serverless_v2_screencaps/serverless_v2_capacity_settings_shown_for_serverless_instance.png)


 您还可以在集群的 **Modify**（修改）页面上查看该集群的当前容量范围。此时，您可以更改容量范围。有关设置或更改容量范围的所有方法，请参阅[为集群设置 Aurora Serverless v2 容量范围](#aurora-serverless-v2-setting-acus)。

### 检查 Aurora 集群的当前容量范围
<a name="aurora-serverless-v2-examples-checking-cluster-capacity-range"></a>

 您可以通过检查集群的 `ServerlessV2ScalingConfiguration` 属性来查看为集群中的 Aurora Serverless v2 数据库实例配置的容量范围。以下 AWS CLI 示例显示的集群最小容量为 0.5 个 Aurora 容量单位（ACU），最大容量为 16 ACU。

```
$ aws rds describe-db-clusters --db-cluster-identifier serverless-v2-64-acu-cluster \
  --query 'DBClusters[*].[ServerlessV2ScalingConfiguration]'
[
    [
        {
            "MinCapacity": 0.5,
            "MaxCapacity": 16.0
        }
    ]
]
```

## 添加 Aurora Serverless v2 读取器
<a name="aurora-serverless-v2-adding-reader"></a>

 要向集群添加 Aurora Serverless v2 读取器数据库实例，请遵循与[将 Aurora 副本添加到数据库集群](aurora-replicas-adding.md)中相同的常规过程。选择新数据库实例的 **Serverless v2**（无服务器 v2）实例类。

 如果读取器数据库实例是集群中的第一个 Aurora Serverless v2 数据库实例，您还可以选择容量范围。此设置适用于此读取器数据库实例以及您添加到集群的任何其他 Aurora Serverless v2 数据库实例。每个 Aurora Serverless v2 数据库实例可以在最小和最大 ACU 值之间进行扩缩。

 如果集群中已存在任何其他 Aurora Serverless v2 实例，则**添加读取器**对话框将显示该集群的当前容量范围。在这种情况下，您将无法更改容量。下图显示了当前集群容量的报告。

![\[Aurora Serverless v2 的实例配置用户界面。\]](http://docs.aws.amazon.com/zh_cn/AmazonRDS/latest/AuroraUserGuide/images/serverless_v2_screencaps/serverless_v2_capacity_settings_settable_for_add_reader_modify_instance.png)


 如果您已经将任何 Aurora Serverless v2 数据库实例添加到集群中，则添加另一个 Aurora Serverless v2 读取器数据库实例会显示当前的容量范围。下图显示了这些只读控件。

![\[显示在添加读取器界面中的 Aurora Serverless v2 的容量设置。\]](http://docs.aws.amazon.com/zh_cn/AmazonRDS/latest/AuroraUserGuide/images/serverless_v2_screencaps/serverless_v2_capacity_settings_fixed_for_add_reader_modify_instance.png)


 如果要更改集群的容量范围，请按照中[为集群设置 Aurora Serverless v2 容量范围](#aurora-serverless-v2-setting-acus)的步骤进行操作。

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

 有关查看集群当前容量范围的其他方法，请参阅[检查 Aurora Serverless v2 的容量范围](#aurora-serverless-v2-checking-capacity)。

## 将预置写入器或读取器转换为 Aurora Serverless v2
<a name="aurora-serverless-v2-converting-from-provisioned"></a>

 您可以将预置数据库实例转换为使用 Aurora Serverless v2。为此，请按照[修改数据库集群中的数据库实例](Aurora.Modifying.md#Aurora.Modifying.Instance)中的步骤操作。集群必须满足 [Aurora Serverless v2 的要求和限制](aurora-serverless-v2.requirements.md)中的要求。例如，Aurora Serverless v2 数据库实例要求集群运行某些最低引擎版本。

 假设您正在转换运行中的预置集群以利用 Aurora Serverless v2。在这种情况下，您可以在转换过程中的第一步将数据库实例转换为 Aurora Serverless v2，从而更大限度地减少停机时间。有关完整过程，请参阅[从预置集群切换到 Aurora Serverless v2](aurora-serverless-v2.upgrade.md#aurora-serverless-v2.switch-from-provisioned)。

 如果您转换的数据库实例是集群中的第一个 Aurora Serverless v2 数据库实例，您可以在执行 **Modify**（修改）操作时为集群选择容量范围。此容量范围适用于您添加到集群中的每个 Aurora Serverless v2 数据库实例。下图显示了用于指定最小和最大 Aurora 容量单位（ACU）的页面。

![\[实例配置用户界面\]](http://docs.aws.amazon.com/zh_cn/AmazonRDS/latest/AuroraUserGuide/images/serverless_v2_screencaps/serverless_v2_capacity_settings_settable_for_add_reader_modify_instance.png)


 有关容量范围意义的详细信息，请参阅 [Aurora Serverless v2 容量](aurora-serverless-v2.how-it-works.md#aurora-serverless-v2.how-it-works.capacity)。

 如果集群已包含一个或多个 Aurora Serverless v2 数据库实例，您可以在执行 **Modify**（修改）操作时查看现有的容量范围。下图显示了该信息面板的示例。

![\[容量范围信息面板\]](http://docs.aws.amazon.com/zh_cn/AmazonRDS/latest/AuroraUserGuide/images/serverless_v2_screencaps/serverless_v2_capacity_settings_fixed_for_add_reader_modify_instance.png)


 如果要在添加多个 Aurora Serverless v2 数据库实例之后更改集群的容量范围，请按照[为集群设置 Aurora Serverless v2 容量范围](#aurora-serverless-v2-setting-acus)中的步骤进行操作。

## 将 Aurora Serverless v2 写入器或读取器转换为预置
<a name="aurora-serverless-v2-converting-to-provisioned"></a>

 您可以将 Aurora Serverless v2 数据库实例转换为预置数据库实例。为此，请按照[修改数据库集群中的数据库实例](Aurora.Modifying.md#Aurora.Modifying.Instance)中的步骤操作。选择除 **Serverless**（无服务器）之外的其他数据库实例类。

 如果需要的容量比 Aurora Serverless v2 数据库实例的最大 Aurora 容量单位（ACU）提供的容量更大，您可以将 Aurora Serverless v2 数据库实例转换为预置实例。例如，最大的 db.r5 和 db.r6g 数据库实例类的内存容量比 Aurora Serverless v2 数据库实例可扩展的容量更大。

**提示**  
 一些较旧的数据库实例类（例如 db.r3 和 db.t2）不适用于您与 Aurora Serverless v2 配合使用的 Aurora 版本。要查看在将 Aurora Serverless v2 数据库实例转换为预置实例时可以使用哪些数据库实例类，请参阅[数据库实例类支持的数据库引擎](Concepts.DBInstanceClass.SupportAurora.md)。

 如果要将集群的写入器数据库实例从 Aurora Serverless v2 转换为预置实例，您可以按照与[从预置集群切换到 Aurora Serverless v2](aurora-serverless-v2.upgrade.md#aurora-serverless-v2.switch-from-provisioned)中相反的步骤进行操作。将集群中的其中一个读取器数据库实例从 Aurora Serverless v2 切换为预置。然后执行失效转移以使预置的数据库实例放入写入器。

 即使从集群中移除所有 Aurora Serverless v2 数据库实例，之前为集群指定的任何容量范围会保持不变。如果要更改容量范围，您可以修改集群，如[为集群设置 Aurora Serverless v2 容量范围](#aurora-serverless-v2-setting-acus)中所述。

## 暂停 Aurora Serverless v2 数据库实例
<a name="pause-when-inactive"></a>

 您可以将 Aurora 集群配置为自动暂停和恢复其 Aurora Serverless v2 数据库实例。有关更多信息，请参阅 [针对 Aurora Serverless v2 缩减到零 ACU 从而自动暂停和恢复](aurora-serverless-v2-auto-pause.md)。

## 为 Aurora Serverless v2 读取器选择提升层
<a name="aurora-serverless-v2-choosing-promotion-tier"></a>

 对于包含多个 Aurora Serverless v2 数据库实例或预置实例和 Aurora Serverless v2 数据库实例混用的集群，请注意每个 Aurora Serverless v2 数据库实例的提升层设置。此设置控制的 Aurora Serverless v2 数据库实例行为比预置数据库实例更多。

 在 AWS 管理控制台中的**创建数据库**、**修改实例**和**添加读取器**页面上，使用**其他配置**下的**失效转移优先级**选项来指定此设置。您可以在 **Databases**（数据库）页面上可选的 **Priority tier**（优先级层）中看到现有数据库实例的这个属性。您还可以在数据库集群或数据库实例的详细信息页面上看到此属性。

 对于预置的数据库实例，0—15 层的选择仅决定在失效转移操作期间 Aurora 选择将读取器数据库实例提升为写入器的顺序。对于 Aurora Serverless v2 读取器数据库实例，层号还决定了数据库实例是扩展以匹配写入器数据库实例的容量，还是根据自己的工作负载单独扩展。第 0 层或第 1 层中的 Aurora Serverless v2 读取器数据库实例保持至少与写入器数据库实例同样高的最小容量。这样，它们就可以准备好在发生失效转移的情况下接管写入器数据库实例。如果写入器数据库实例是预置数据库实例，Aurora 会估算等效的 Aurora Serverless v2 容量。它使用该估计值作为 Aurora Serverless v2 读取器数据库实例的最小容量。

 Aurora Serverless v2第 2-15 层中的 读取器数据库实例对其最小容量没有这样的限制。当它们处于空闲状态时，它们可以缩减到集群的容量范围中指定的最小 Aurora 容量单位（ACU）值。

 以下 Linux AWS CLI 示例显示了如何检查集群中所有数据库实例的提升层。对于写入器数据库实例，最后一个字段包含 `True` 值，对于所有读取器数据库实例，该字段包含 `False` 值。

```
$ aws rds describe-db-clusters --db-cluster-identifier promotion-tier-demo \
  --query 'DBClusters[*].DBClusterMembers[*].[PromotionTier,DBInstanceIdentifier,IsClusterWriter]' \
  --output text

1   instance-192  True
1   tier-01-4840  False
10  tier-10-7425  False
15  tier-15-6694  False
```

 以下 Linux AWS CLI 示例显示了如何更改集群中特定数据库实例的提升层。这些命令首先使用新的提升层修改数据库实例。然后，他们等待数据库实例再次变为可用，接着确认数据库实例的新提升层。

```
$ aws rds modify-db-instance --db-instance-identifier instance-192 --promotion-tier 0
$ aws rds wait db-instance-available --db-instance-identifier instance-192
$ aws rds describe-db-instances --db-instance-identifier instance-192 \
  --query '*[].[PromotionTier]' --output text
0
```

 有关为不同使用案例指定提升层销级别的更多指导，请参阅 [Aurora Serverless v2 扩缩](aurora-serverless-v2.how-it-works.md#aurora-serverless-v2.how-it-works.scaling)。

## 将 TLS/SSL 与 Aurora Serverless v2 结合使用
<a name="aurora-serverless-v2.tls"></a>

 Aurora Serverless v2 可以使用传输层安全性/安全套接字层（TLS/SSL）协议来加密客户端和 Aurora Serverless v2 数据库实例之间的通信。它支持 TLS/SSL 1.0、1.1 和 1.2 版本。有关将 TLS/SSL 与 Aurora 结合使用的一般信息，请参阅[与 Aurora MySQL 数据库集群的 TLS 连接](AuroraMySQL.Security.md#AuroraMySQL.Security.SSL)。

 要了解有关使用 MySQL 客户端连接到 Aurora MySQL 数据库的更多信息，请参阅[连接到运行 MySQL 数据库引擎的数据库实例](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_ConnectToInstance.html)。

 Aurora Serverless v2 支持 MySQL 客户端（`mysql`）和 PostgreSQL 客户端（`psql`）可用的所有 TLS/SSL 模式，包括下表中列出的模式。


|  TLS/SSL 模式的说明  |  mysql  |  psql  | 
| --- | --- | --- | 
|   不使用 TLS/SSL 进行连接。  |   DISABLED   |   disable   | 
|   首先尝试使用 TLS/SSL 进行连接，但如有必要，请回退到非 SSL。  |   PREFERRED   |   首选（默认）   | 
|   使用 TLS/SSL 强制执行。  |   REQUIRED   |   require   | 
|   强制 TLS/SSL 并验证证书颁发机构（CA）。  |   VERIFY\$1CA   |   verify-ca   | 
|   强制执行 TLS/SSL，验证 CA 并验证 CA 主机名。  |   VERIFY\$1IDENTITY   |   verify-full   | 

 Aurora Serverless v2 使用通配符证书。如果您在使用 TLS/SSL 时指定“验证 CA”或“验证 CA 和 CA 主机名”选项，请首先从 Amazon Trust Services 下载 [Amazon root CA 1 信任存储](https://www.amazontrust.com/repository/AmazonRootCA1.pem)。完成此操作后，您可以在客户端命令中识别此 PEM 格式的文件。要使用 PostgreSQL 客户端执行此操作，请执行以下操作。

对于 Linux、macOS 或 Unix：

```
psql 'host=endpoint user=user sslmode=require sslrootcert=amazon-root-CA-1.pem dbname=db-name'
```

 要了解有关通过 Postgres 客户端使用 Aurora PostgreSQL 数据库的更多信息，请参阅[连接到运行 PostgreSQL 数据库引擎的数据库实例](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_ConnectToPostgreSQLInstance.html)。

 有关更多连接到 Aurora 数据库集群的一般信息，请参阅 [连接到 Amazon Aurora 数据库集群](Aurora.Connecting.md)。

### 支持的用于 Aurora Serverless v2 数据库集群连接的密码套件
<a name="aurora-serverless-v2.tls.cipher-suites"></a>

通过使用可配置的密码套件，您可以更好地控制数据库连接的安全性。您可以指定想要允许保护客户端与数据库的 TLS/SSL 连接的密码套件列表。使用可配置的密码套件，您现在可以控制数据库服务器接受的连接加密。这样做可以防止使用不安全或不再使用的密码。

Aurora Serverless v2基于 Aurora MySQL 的 数据库集群支持与 Aurora MySQL 预配的数据库集群相同的密码套件。有关这些密码套件的信息，请参阅[配置密码套件以连接到 Aurora MySQL 数据库集群](AuroraMySQL.Security.md#AuroraMySQL.Security.SSL.ConfiguringCipherSuites)。

Aurora Serverless v2基于 Aurora PostgreSQL 的 数据库集群支持与 Aurora PostgreSQL 预配的数据库集群相同的密码套件。有关这些密码套件的信息，请参阅[配置密码套件以连接到 Aurora PostgreSQL 数据库集群](AuroraPostgreSQL.Security.md#AuroraPostgreSQL.Security.SSL.ConfiguringCipherSuites)。

## 查看 Aurora Serverless v2 写入器和读取器
<a name="aurora-serverless-v2.viewing"></a>

 您可以使用查看预置数据库实例的相同方式来查看 Aurora Serverless v2 数据库实例的详细信息。为此，请按照[查看 Amazon Aurora 数据库集群](accessing-monitoring.md#Aurora.Viewing)中的常规过程进行操作。一个集群可能包含所有 Aurora Serverless v2 数据库实例、所有预置数据库实例或这两类中的一部分实例。

 在创建一个或多个 Aurora Serverless v2 数据库实例后，您可以查看哪些数据库实例是 **Serverless**（无服务器）类型，哪些是 **Instance**（实例）类型。您还可以查看 Aurora Serverless v2 数据库实例可以使用的最小和最大 Aurora 容量单位（ACU）。每个 ACU 是处理器（CPU）和内存（RAM）容量的组合。此容量范围适用于集群中的每个 Aurora Serverless v2 数据库实例。有关检查集群或集群中的任何 Aurora Serverless v2 数据库实例的容量范围的过程，请参阅[检查 Aurora Serverless v2 的容量范围](#aurora-serverless-v2-checking-capacity)。

 在 AWS 管理控制台 中，在 **Databases**（数据库）页面中的 **Size**（大小）栏下面标记 Aurora Serverless v2 数据库实例。预置数据库实例显示数据库实例类的名称，例如 r6g.xlarge。Aurora Serverless 数据库实例为数据库实例类显示**无服务器**，以及数据库实例的最小和最大容量。例如，您可能会看到**无服务器 v2（4-64 ACU）**或**无服务器 v2（1-40 ACU）**。

 您可以在控制台中每个 Aurora Serverless v2 数据库实例的 **Configuration**（配置）选项卡上找到相同信息。例如，您可能会看到如下所示的 **Instance type**（实例类型）部分。在这里，**Instance type**（实例类型）值为 **Serverless v2**（无服务器 v2），**Minimum capacity**（最小容量）值为 **2 ACU (4 GiB)**，**Maximum capacity**（最大容量）值为 **64 ACU (128 GiB)**。

![\[数据库实例配置用户界面的“实例类型”部分\]](http://docs.aws.amazon.com/zh_cn/AmazonRDS/latest/AuroraUserGuide/images/serverless_v2_screencaps/serverless_v2_capacity_settings_shown_for_serverless_instance.png)


 您可以监控每个 Aurora Serverless v2 数据库实例的容量随时间推移发生的变化。这样，您可以检查每个数据库实例消耗的最小、最大和平均 ACU。您还可以查看数据库实例距离其最小容量或最大容量有多近。要在 AWS 管理控制台 中查看此类详细信息，请查看数据库实例的 **Monitoring**（监控）选项卡上的 Amazon CloudWatch 指标图形。有关要查看的指标以及如何解读指标的信息，请参阅[适用于 Aurora Serverless v2 的重要 Amazon CloudWatch 指标](aurora-serverless-v2.setting-capacity.md#aurora-serverless-v2.viewing.monitoring)。

## Aurora Serverless v2 的日志记录
<a name="aurora-serverless-v2.logging"></a>

 要启用数据库日志记录，请使用自定义参数组中的配置参数指定要启用的日志。

 对于 Aurora MySQL，您可以启用以下日志。


|  Aurora MySQL  |  描述  | 
| --- | --- | 
|   `general_log`   |   创建常规日志。设置为 1 以开启。默认为关闭 (0)。  | 
|   `log_queries_not_using_indexes`   |   将任何查询记录到不使用索引的慢速查询日志中。默认为关闭 (0)。设置为 1 以开启此日志。  | 
|   `long_query_time`   |   防止快速运行的查询记录在慢速查询日志中。可以设置为 0 到 31536000 之间的浮动值。默认值为 0（不活动）。  | 
|   `server_audit_events`   |   要在日志中捕获的事件列表。支持的值有 `CONNECT`、`QUERY`、`QUERY_DCL`、`QUERY_DDL`、`QUERY_DML` 和 `TABLE`。  | 
|   `server_audit_logging`   |   设置为 1 以打开服务器审核日志记录。如果启用此选项，则可以通过在 `server_audit_events` 参数中列出审核事件来指定要发送到 CloudWatch 的审计事件。  | 
|   `slow_query_log`   |   创建慢速查询日志。设置为 1 以打开慢速查询日志。默认为关闭 (0)。  | 

 有关更多信息，请参阅 [在 Amazon Aurora MySQL 数据库集群中使用高级审计](AuroraMySQL.Auditing.md)。

 对于 Aurora PostgreSQL，您可以对 Aurora Serverless v2 数据库实例启用以下日志。


|  Aurora PostgreSQL  |  说明  | 
| --- | --- | 
|   `log_connections`   |   记录每个成功的连接。  | 
|   `log_disconnections`   |   记录会话结束，包括持续时间。  | 
|   `log_lock_waits`   |   默认值为 0（关闭）。设置为 1 以记录锁定等待。  | 
|   `log_min_duration_statement`   |   语句在记录前运行的最短持续时间（以毫秒为单位）。  | 
|   `log_min_messages`   |  设置记录的消息级别。支持的值为 debug5、debug4、debug3、debug2、debug1、info、notice、warning、error、log、fatal、panic。将性能数据记录到 postgres 日志，将值设置为 debug1。 | 
|   `log_temp_files`   |   记录指定千字节 (kB) 以上的临时文件的使用情况。  | 
|   `log_statement`   |   控制被记录的特定 SQL 语句。支持的值有 `none`、`ddl`、`mod` 和 `all`。默认为 `none`。  | 

**Topics**
+ [使用 Amazon CloudWatch 进行日志记录](#aurora-serverless-v2.how-it-works.logging)
+ [在 Amazon CloudWatch 中查看 Aurora Serverless v2 日志](#aurora-serverless-v2.logging.monitoring)
+ [Amazon CloudWatch 所含的监控功能](#aurora-serverless-v2.how-it-works.logging.monitoring)
+ [监控 Aurora Serverless v2 暂停和恢复活动](#autopause-logging-instance-log)

### 使用 Amazon CloudWatch 进行日志记录
<a name="aurora-serverless-v2.how-it-works.logging"></a>

 使用 [Aurora Serverless v2 的日志记录](#aurora-serverless-v2.logging)中的步骤选择要打开哪些数据库日志之后，您可以选择将哪些日志上传（“发布”）到 Amazon CloudWatch。

 您可以使用 Amazon CloudWatch 来分析日志数据、创建警报和查看指标。默认情况下，Aurora Serverless v2 的错误日志已启用并自动上传到 CloudWatch。您还可以将其他日志从 Aurora Serverless v2 数据库实例上传到 CloudWatch。

 然后，使用 AWS 管理控制台中的 **Log exports**（日志导出）设置，或 AWS CLI 中的 `--enable-cloudwatch-logs-exports` 选项，选择将哪些日志上载到 CloudWatch。

 您可以选择将哪些 Aurora Serverless v2 日志上传到 CloudWatch。有关更多信息，请参阅 [在 Amazon Aurora MySQL 数据库集群中使用高级审计](AuroraMySQL.Auditing.md)。

 与任何类型的 Aurora 数据库集群一样，您无法修改默认数据库集群参数组。相反，您是根据数据库集群和引擎类型的默认参数来创建自己的数据库集群参数组。建议您在创建 Aurora Serverless v2 数据库集群之前创建您的自定义数据库集群参数组，以便在控制台上创建数据库时可以选择该参数组。

**注意**  
 对于 Aurora Serverless v2，您可以同时创建数据库集群和数据库参数组。这与 Aurora Serverless v1 形成对比，在此版本中，您只能创建数据库集群参数组。

### 在 Amazon CloudWatch 中查看 Aurora Serverless v2 日志
<a name="aurora-serverless-v2.logging.monitoring"></a>

 使用 [使用 Amazon CloudWatch 进行日志记录](#aurora-serverless-v2.how-it-works.logging)中的步骤选择要打开哪些数据库日志之后，您可以查看日志的内容。

 有关将 CloudWatch 与 Aurora MySQL 和 Aurora PostgreSQL 日志配合使用的更多信息，请参阅[在 Amazon CloudWatch 中监控日志事件](AuroraMySQL.Integrating.CloudWatch.md#AuroraMySQL.Integrating.CloudWatch.Monitor)和[将 Aurora PostgreSQL 日志发布到 Amazon CloudWatch Logs](AuroraPostgreSQL.CloudWatch.md)。

**要查看 Aurora Serverless v2 数据库集群的日志**

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

1.  选择您的 AWS 区域。

1.  选择 **Log groups**（日志组）。

1.  从列表中选择 Aurora Serverless v2 数据库集群日志。日志命名模式如下所示。

   ```
   /aws/rds/cluster/cluster-name/log_type
   ```

**注意**  
 对于 Aurora MySQL 兼容的 Aurora Serverless v2 数据库集群，即使没有错误，错误日志也包括缓冲池扩展事件。

### Amazon CloudWatch 所含的监控功能
<a name="aurora-serverless-v2.how-it-works.logging.monitoring"></a>

 对于 Aurora Serverless v2，您可以使用 CloudWatch 来监控集群中的所有 Aurora Serverless v2 数据库实例的容量和使用率。您可以查看实例级指标，以便检查在每个 Aurora Serverless v2 数据库实例扩展和缩减时的容量。您还可以将与容量相关的指标与其他指标进行比较，以了解工作负载的变化如何影响资源消耗。例如，您可以将 `ServerlessDatabaseCapacity` 与 `DatabaseUsedMemory`、`DatabaseConnections` 和 `DMLThroughput` 进行比较，以评估数据库集群在运营期间的响应情况。有关适用于 Aurora Serverless v2 与容量相关的指标的详细信息，请参阅 [适用于 Aurora Serverless v2 的重要 Amazon CloudWatch 指标](aurora-serverless-v2.setting-capacity.md#aurora-serverless-v2.viewing.monitoring)。

**监控 Aurora Serverless v2 数据库集群的容量**

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

1.  选择 **Metrics**（指标）。所有可用指标在控制台中显示为卡片，按服务名称进行分组。

1.  选择 **RDS**。

1.  （可选）使用 **Search**（搜索）框以查找对 Aurora Serverless v2 特别重要的指标：`ServerlessDatabaseCapacity`、`ACUUtilization`、`CPUUtilization` 和 `FreeableMemory`。

 建议您使用与容量相关的指标设置 CloudWatch 控制面板来监控 Aurora Serverless v2 数据库集群容量。要了解操作方法，请参阅[使用 CloudWatch 构建仪表板](https://docs.aws.amazon.com/autoscaling/application/userguide/monitoring-cloudwatch.html)。

 要了解有关将 Amazon CloudWatch 与 Amazon Aurora 结合使用的更多信息，请参阅 [将 Amazon Aurora MySQL 日志发布到 Amazon CloudWatch Logs](AuroraMySQL.Integrating.CloudWatch.md)。

### 监控 Aurora Serverless v2 暂停和恢复活动
<a name="autopause-logging-instance-log"></a>

 对于启用了自动暂停功能的 Aurora Serverless v2 数据库实例，Aurora 会写一个单独的日志文件。Aurora 每隔 10 分钟在日志中写入实例未暂停。Aurora 最多保留其中七个日志，且每天轮换。当前日志文件命名为 `instance.log`，较旧的日志使用模式 `instance.YYYY-MM-DD.N.log` 命名。

 默认情况下，对于启用了自动暂停功能的 Aurora Serverless v2 数据库实例，此日志处于启用状态。您可以使用 AWS CLI 或 RDSP API 在 AWS 管理控制台中查看此日志的内容。目前，您无法将此日志上传到 CloudWatch。

 [数据库实例事件](USER_Events.Messages.md#USER_Events.Messages.instance)中列出的事件提供了暂停和恢复活动的简要概述，例如：
+  实例何时开始暂停，以及何时完成暂停。
+  实例何时开始恢复，以及何时完成恢复。
+  实例尝试暂停但由于某些情况而无法暂停的情况。

 `instance.log` 提供了有关 Aurora Serverless v2 实例可能暂停或可能无法暂停的原因的更详细信息。

 该日志可能指出实例恢复是出于以下不同原因：
+  **用户活动**：数据库连接请求。这可能来自交互式客户端会话、RDS 数据 API 调用或从实例下载日志的请求。
+  **后台活动**：一个广泛的类别，包括 Aurora 恢复实例的所有原因。例如，当连接读取器实例的请求导致写入器实例恢复时，读取器的日志指出是由于用户活动，而写入器的日志则将该恢复请求归类为后台活动。除了用户连接请求原因之外，有关其他导致 Aurora 恢复实例的原因，请参阅[恢复自动暂停的 Aurora Serverless v2 实例](aurora-serverless-v2-auto-pause.md#auto-pause-waking)。

 当 Aurora 不知道有任何情况会阻止实例在自动暂停间隔到期时暂停时，它会定期向日志写入一条信息性消息。对于只有一个数据库实例的集群，日志包含以下消息：

```
[INFO] No auto-pause blockers registered since time
```

 对于具有多个数据库实例的集群，消息略有不同。这是因为写入器可能由于任何读取器实例上的活动而无法暂停。如果读取器上的活动在写入器的自动暂停间隔到期之前完成，则写入器可以在预期的时间暂停。

```
[INFO] No auto-pause blockers registered since time.
Database might be required to maintain compute capacity for high availability.
```

 如果暂停操作已启动，但在实例完成暂停之前新的数据库连接请求到达，则日志将包含以下消息：

```
[INFO] Unable to pause database due to a new database activity
```

 如果 Aurora 发现任何肯定会阻止实例暂停的情况，则日志将包含以下消息，其中列出了所有这些情况：

```
[INFO] Auto-pause blockers registered since time: list_of_conditions
```

 这样，Aurora 就不会阻止您结合自动暂停功能开启复制、零 ETL 集成、Aurora Global Database 等。当使用此类功能可能会阻止自动暂停生效时，日志会通知您。

 以下是 Aurora Serverless v2 实例可能超过自动暂停超时间隔但无法暂停的原因：
+  **自动暂停超时前的数据库活动**：数据库实例在超时间隔到期之前收到了连接请求。
+  **全局数据库成员**：如果数据库集群是 Aurora Global Database 的一部分，则集群中的 Aurora Serverless v2 实例不会暂停。一个集群可以从独立集群变成全局数据库集群。因此，以前自动暂停的实例可能会停止暂停，并在日志中报告此原因。集群成为全局数据库的成员后，除非您明确将其分离，否则它不会恢复为独立集群。即使您分离了所有辅助集群，主集群仍被视为全局数据库的一部分。
+  **配置的复制功能**：写入器数据库实例启用了特定于引擎的复制，要么是 MySQL 的二进制日志复制，要么是 PostgreSQL 的逻辑复制。这种情况也可能是由于使用了另一项需要开启复制的 Aurora 功能造成的，例如零 ETL 集成或数据库活动流（DAS）。
+  **持续备份延迟**：如果 Aurora 存储系统尚未完成应用直到当前时间点的存储更改，则写入器实例在其完成之前不会暂停。这种情况只影响写入器实例，且影响时间预计相对较短。
+  **服务或客户维护操作**：如果维护操作开始，则在该操作完成之前，数据库实例不会再次暂停。这种情况包括可能由您或 Aurora 启动的各种操作，例如升级、克隆、更改配置设置、下载日志文件等。当您请求删除一个实例时，也会发生此事件，作为删除机制的一部分，Aurora 会短暂恢复该实例。
+  **临时通信问题**：如果 Aurora 无法确定扩展配置当前的最小容量设置是否为零 ACU，则不会暂停实例。这应当是一种非常罕见的情况。