

本文属于机器翻译版本。若本译文内容与英语原文存在差异，则一律以英文原文为准。

# Aurora 无服务器扩展执行区块
<a name="aurora-serverless-scaling-block"></a>

**类别：**数据库扩展

在区域切换期间，您的目标 Aurora Serverless 集群的 ACU（Aurora 容量单位）设置可能远低于吸收生产流量所需的设置。Aurora Serverless Scaling 执行区块会根据源集群的实际使用情况自动计算出正确的最小和最大 ACU 容量并将其应用于目标集群，从而确保您的无服务器数据库能够在不受限制或连接失败的情况下处理传入的工作负载。

## 主要优势
<a name="aurora-serverless-scaling-block-benefits"></a>
+ **Usage-based 容量计算：Region Switch不依赖静态配置，**而是根据源集群在过去 24 小时内的实际峰值利用率推导出目标容量，根据实际流量模式为您提供合适的容量规模。
+ **Cross-engine-type 情报：**无论您的源是无服务器、预置还是混合配置，区域交换机都知道如何将源容量转换为目标无服务器集群的相应ACU设置。
+ **Percentage-based 针对主动-主动架构进行扩展：**将目标百分比配置为高于 100%（例如 200%），其中目标必须吸收来自两个区域的总流量。

## 何时使用
<a name="aurora-serverless-scaling-block-when"></a>
+ **Active-passive 使用无服务器待机模式：**您的目标区域以最低的 ACU 运行无服务器集群，需要在接收生产流量之前扩大规模。
+ **Active-active 故障转移：**两个区域都提供流量，在切换期间，其余区域必须处理组合负载——使用高于 100% 的目标百分比。
+ **Mixed-engine 全球数据库：**您的源区域使用预置实例，但您的目标使用无服务器——区域交换机自动处理容量转换。

### Aurora 无服务器扩展与替代方案相比如何
<a name="aurora-serverless-scaling-block-comparison"></a>

如果没有这个执行块，客户必须在切换流量之前手动计算 ACU 要求并修改集群设置，这是一个复杂且容易出错的过程，尤其是在源和目标使用不同的引擎类型时。


|  | 方法 | 优点 | 缺点 | 
| --- | --- | --- | --- | 
| 1 | Aurora 无服务器扩展区块  | 根据实际使用情况自动计算，处理跨引擎转换，基于百分比的控制，与计划编排集成 | 仅向上扩展；修改可能会偏离 iAc 的 ACU 设置 | 
| 2 | 手动 ACU 调整  | 完全控制 | 需要在压力下计算 ACU 等效值；速度慢；容易出错 | 
| 3 | 脚本式自动化  | 可自定义 | 必须复制跨引擎翻译逻辑；没有计划评估；维护负担 | 
| 4 | Pre-provisioning （最大 ACU 始终处于高位） | 没有故障转移延迟 | 昂贵；打败了无服务器的成本效益；在备用区域浪费 | 

当您需要自动化的、具有使用感知能力的容量扩展来处理跨引擎 ACU 转换的复杂性时，Aurora Serverless Scaling 区块是正确的选择。

## 工作原理
<a name="aurora-serverless-scaling-block-how"></a>

配置 Aurora Serverless Scaling 执行区块后，区域交换机确认指定的全局数据库中有一个源集群和一个目标集群。目标容量根据源群集类型确定：
+ **源代码是无服务器：**
  + 最小 ACU = 源集群在过去 24 小时内观测到的峰值 ACU 利用率（`ServerlessDatabaseCapacity` CloudWatch 指标）
  + 最大 ACU = 过去 24 小时内源集群最大 ACU 的峰值
+ **源已配置：**
  + 将源集群的 EC2 实例内存映射到等效的 ACU（以 GiB ÷ 2 为单位的实例内存）
  + 将最大 ACU 设置为 256
+ **源是混合的（已配置 \+ 无服务器）：**
  + 最小 ACU = 预置实例 ACU 等效值的最大值和 24 小时内观察到的无服务器 ACU 利用率
  + 最大 ACU = 256

然后，区域切换应用目标百分比来计算最终值：

```
destination min ACU = round_to_nearest_0.5(targetPercent × source min ACU)
destination max ACU = round_to_nearest_0.5(targetPercent × source max ACU)
```

如果目标集群的当前容量已经达到或高于计算出的目标，则区域切换将在不进行更改的情况下完成该步骤。区域切换不会缩小集群容量。当目标群集不是 Serverless 时，该区块作为空操作成功完成。

对于主动-活跃计划，区域切换使用其他配置的区域作为来源。如果禁用某个区域，则区域切换将使用另一个活跃区域作为来源来计算扩展百分比。

**注意**  
执行此区块会修改 Aurora Serverless 集群的最小和最大 ACU 容量设置，如果您通过基础设施即代码工具或其他自动化来管理这些值，则可能会导致配置偏差。确保您的配置管理流程将这些更改考虑在内，以防止意外回滚。

## 配置
<a name="aurora-serverless-scaling-block-config"></a>

配置 Aurora Serverless Scaling 执行区块时，您需要输入 Aurora 全球数据库的全局集群标识符，以及计划执行期间要向上扩展的每个区域的数据库集群 ARN。

**重要**  
在配置执行区块之前，请确保计划的执行角色具有正确的 IAM 策略。有关更多信息，请参阅 [Aurora 无服务器扩展执行区块示例策略](security_iam_region_switch_aurora_serverless_scaling.md)。

要配置 Aurora 无服务器扩展执行块，请输入以下值：

1. **步骤名称：**输入名称。

1. **步骤描述（可选）：**输入步骤的描述。

1. **Aurora 全球数据库集群名称：**输入全局集群标识符。

1. ***区域的集群 ARN*：**输入要在计划的每个区域中使用的数据库集群 ARN。

1. **目标百分比（可选）：**输入要将目标集群扩展到的派生源容量的百分比。默认值为 100。对于主动-活跃计划，考虑使用更高的值（例如 200%）来考虑合并流量。

1. **超时：**输入超时值。

然后，选择**保存步骤**。

## 相关资源
<a name="aurora-serverless-scaling-block-resources"></a>
+ [Aurora 无服务器扩展执行区块示例策略](security_iam_region_switch_aurora_serverless_scaling.md)
+ [https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/aurora-serverless-v2-administration.html](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/aurora-serverless-v2-administration.html)在《*亚马逊 Aurora 用户指南》中管理 Aurora 无服务器 v2 容量 *