

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

# 亚马逊 EC2 Auto Scaling 群组执行块
<a name="ec2-auto-scaling-block"></a>

EC2 Auto Scaling 组执行块允许您在多区域恢复过程中扩展 EC2 实例。您可以定义相对于您要离开的区域（来源和目的地）的容量百分比。

## 配置
<a name="ec2-auto-scaling-block-config"></a>

在配置 EC2 Auto Scaling 组执行块时，您需要输入与您的计划关联的特定区域的 EC2 Auto Scaling ARN。在计划执行期间，您应该 ARNs 在要扩大规模的每个区域中输入 EC2 Auto Scaling。

**重要**  
在配置执行块之前，请确保您具有正确的 IAM 策略。有关更多信息，请参阅 [EC2 Auto Scaling 执行区块示例策略](security_iam_region_switch_ec2_autoscaling.md)。

要配置 EC2 Auto Scaling 组执行块，请输入以下值：

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

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

1. **针对*区域的 EC2 Auto Scaling 组 ARN：输入您计划的每个区域***中 EC2 Auto Scaling 组的 ARN。

1. 与@@ **已激活区域容量相匹配的百分比：**输入 Auto Scaling 组中正在运行的实例数量的所需百分比，以匹配已激活的区域。

1. **容量监控方法：**选择以下方法之一来监控 EC2 Auto Scaling 组的容量：
   + **24 小时内采样的最大运行容量**：选择此选项可使用在 EC2 Auto Scaling 组配置中指定的**所需容量**值。此选项不会产生额外成本，但可能不如使用其他选项（ CloudWatch 指标）那么准确。

     在区域切换 API 中，此选项对应于指定 `sampledMaxInLast24Hours`。

     有关更多信息，请参阅 Amazon EC2 A [uto Scaling 用户指南中的为 Auto Scaling 组设置扩展限制](https://docs.aws.amazon.com/autoscaling/ec2/userguide/asg-capacity-limits.html)。
   + **24 小时内采样的最大运行容量 CloudWatch**：选择此选项可使用亚马逊 CloudWatch 中为 EC2 Auto Scaling 指定的指标。使用该选项可能更准确，但使用 CloudWatch 指标会产生额外费用。

     在区域切换 API 中，此选项对应于指定 `autoscalingMaxInLast24Hours`。

     要使用此选项，必须先为 Auto Scaling 群组启用群组指标。有关更多信息，请参阅 Amazon EC2 A [uto Scaling 用户指南中的启用 Auto Scaling 组指标](https://docs.aws.amazon.com/autoscaling/ec2/userguide/ec2-auto-scaling-metrics.html#as-enable-group-metrics)。

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

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

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

配置 EC2 Auto Scaling 执行块后，区域切换会确认只有一个源 Auto Scaling 组和一个目标 Auto Scaling 组。如果有多个 Auto Scaling 组，则执行块将在计划评估期间失败。目标容量定义为状态设置为 `InService` 的实例数量。有关更多信息，请参阅 [EC2 Auto Scaling 实例生命周期](https://docs.aws.amazon.com/autoscaling/ec2/userguide/ec2-auto-scaling-lifecycle.html)。

根据您为匹配的百分比指定的值（在配置 Auto Scaling 执行块时），区域切换计算目标 Auto Scaling 组的新所需容量。将新的所需容量与目标 Auto Scaling 组的所需容量进行比较。区域切换用来计算所需容量的公式如下：`ceil(percentToMatch * Source Auto Scaling group capacity)`，其中 ceil() 是一个将任何分数结果四舍五入的函数。如果目标 Auto Scaling 组的当前所需容量大于或等于区域切换计算的新 Auto Scaling 组的所需容量，则执行块将继续执行。请注意，区域切换不会缩小 Auto Scaling 组的容量。

当区域切换执行 Auto Scaling 区块时，区域切换会尝试扩大目标区域 Auto Scaling 组的容量以匹配所需的容量。然后，区域切换将等到目标区域的 Auto Scaling 组中请求的 Auto Scaling 组容量得到满足，然后区域切换才会继续执行计划的下一步操作。

**注意**  
执行此块会修改 Auto Scaling 组的最小和所需容量设置，如果您通过 infrastructure-as-code工具或其他自动化来管理这些值，则可能会导致配置偏差。确保您的配置管理流程将这些更改考虑在内，以防止意外回滚。

如果您使用的是一种 active/active 方法，则区域切换将使用其他已配置的区域作为来源。也就是说，如果某个区域处于停用状态，则区域切换将使用另一个活跃区域作为来源来匹配要扩展的百分比。

此块支持优雅和非优雅的执行模式。在区域切换进入计划的下一步之前，您可以通过指定目标区域中要匹配的最小计算容量百分比来配置非优雅执行。

## 在计划评估中评估的内容
<a name="ec2-auto-scaling-block-eval"></a>

当区域切换评估您的计划时，区域切换会对您的 EC2 Auto Scaling 组执行区块配置和权限执行几项关键检查。区域切换评估会验证 Auto Scaling 组是否存在于两个区域中，确保其配置正确且可访问，并记录每个区域中正在运行的实例数量。它还确认目标区域的 Auto Scaling 组中的最大容量足以处理与所需容量的指定比例匹配。

区域切换还可以验证计划的 IAM 角色是否具有 Auto Scaling 的正确权限。有关区域切换执行块所需权限的更多信息，请参阅[用于 ARC 中区域切换的基于身份的策略示例](security_iam_id-based-policy-examples-region-switch.md)。如果任何检查失败，区域切换将返回警告消息，您可以在控制台中查看这些消息。或者，您可以通过 EventBridge 或使用 API 操作来接收验证警告。