

# 为 Amazon ECS 服务自动扩缩创建目标跟踪扩缩策略
<a name="target-tracking-create-policy"></a>

创建目标跟踪扩缩策略，让 Amazon ECS 自动增加或减少服务中的所需任务数。目标跟踪是根据目标指标值进行的。

## 控制台
<a name="target-tracking-create-policy-aws-console"></a>

1. 除了用于创建和更新服务的标准 IAM 权限之外，您还需要额外权限。有关更多信息，请参阅 [Amazon ECS 服务自动扩缩所需的 IAM 权限](auto-scaling-IAM.md)。

1. 请确定要用于策略的指标。可供使用的指标如下：
   +  **ECSServiceAverageCPUUtilization**：服务应使用的平均 CPU 使用率。
   + **ECSServiceAverageMemoryUtilization**：服务应使用的平均内存使用率。
   + **ALBRequestCountPerTarget**：任务理想情况下应接收的平均每分钟请求数。

1. 在 [https://console.aws.amazon.com/ecs/v2](https://console.aws.amazon.com/ecs/v2) 打开控制台。

1. 在 **Clusters**（集群）页面上，选择集群。

1. 在“集群详细信息”页面，找到**服务**部分，然后选择服务。

   此时系统会显示服务详细信息页面。

1. 选择**设置任务数**。

1. 在 **Amazon ECS 服务任务计数**下，选择**使用自动扩缩**。

   此时将显示**任务计数部分**。

   1. 对于**最小任务数**，输入供服务自动扩缩使用的任务数的下限。所需计数不会低于此计数。

   1. 对于**最大值**，输入供服务自动扩缩使用的任务数的上限。所需计数不会高于此计数。

   1. 选择**保存**。

      此时将显示策略页面。

1. 选择**创建扩缩策略**。

   此时将显示**创建策略**页面。

1. 对于**扩展策略类型**，选择**目标跟踪**。

1. 对于 **Policy name**（策略名称），请输入策略的名称。

1. 对于**指标类型**，从选项列表中选择指标。

1. 在**目标利用率**中，输入 Amazon ECS 应保留的任务百分比的目标值。服务自动扩缩可横向扩展您的容量直到平均利用率达到目标利用率，或直到达到您指定的最大任务数。

1. 在**其他设置**下，执行以下操作

   1. 对于**横向缩减冷却时间**，请输入在一个横向缩减活动完成之后、另一个横向缩减活动开始之前的时长（以秒为单位）。

   1. 对于**横向扩展冷却时间**，请输入等待先前的横向扩展活动生效的时长（以秒为单位）。

   1. 要仅创建横向扩展策略，请选择**禁用横向缩减**。

1. 选择**创建扩缩策略**。

## AWS CLI
<a name="target-tracking-create-policy-aws-cli"></a>

1. 使用 [register-scalable-target](https://docs.aws.amazon.com/cli/latest/reference/application-autoscaling/register-scalable-target.html) 命令将 Amazon ECS 服务注册为可扩展目标。

1. 使用 [put-scaling-policy](https://docs.aws.amazon.com/cli/latest/reference/application-autoscaling/put-scaling-policy.html) 命令创建扩展策略。