

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

# 自动扩缩策略概览
<a name="endpoint-auto-scaling-policy"></a>

要使用自动扩缩，您需要定义一个扩展策略，根据实际工作负载为生产变体添加和删除实例数量。

要在工作负载发生变化时自动扩缩，有两个选择：目标跟踪和步骤扩展策略。

在大多数情况下，我们建议使用目标跟踪扩展策略。通过目标跟踪，您可以选择 Amazon CloudWatch 指标和目标值。Auto Scaling 创建和管理扩展策略的 CloudWatch 警报，并根据指标和目标值计算缩放调整。该策略会根据需要增加或删除实例数量，以使指标保持在或接近指定的目标值。例如，使用具有目标值为 70 的预定义 `InvocationsPerInstance` 指标的扩展策略可以将 `InvocationsPerInstance` 保持在或接近 70。有关更多信息，请参阅《Application Auto Scaling 用户指南》中的[目标跟踪扩展策略](https://docs.aws.amazon.com/autoscaling/application/userguide/application-auto-scaling-target-tracking.html)。

当您需要高级配置时，您可以使用步进扩展，如指定要在什么条件下部署多少个实例。例如，如果要使端点能够从零个活动实例横向扩展，则必须使用步进扩展。有关步进扩缩策略及其工作原理的概述，请参阅《Application Auto Scaling 用户指南》**中的[步进扩缩策略](https://docs.aws.amazon.com/autoscaling/application/userguide/application-auto-scaling-step-scaling-policies.html)。

要创建目标跟踪扩缩策略，您需要指定以下内容：
+ **指标**-要跟踪的 CloudWatch 指标，例如每个实例的平均调用次数。
+ **目标值**：指标的目标值，例如每个实例每分钟调用 70 次。

您可以使用预定义的指标或自定义指标，创建目标跟踪扩展策略。预定义指标是在枚举中定义的，因此您可以在代码中按名称指定该指标或在 SageMaker AI 控制台中使用。或者，您也可以使用 AWS CLI 或应用程序自动扩缩 API，根据预定义或自定义指标应用目标跟踪扩展策略。

请注意，扩展活动之间要有冷却时间，以防止容量急剧波动。您可以选择为扩缩策略配置冷却时间。

有关自动扩缩关键概念的更多信息，请参阅下一节。

## 基于计划的扩展
<a name="scheduled-scaling"></a>

您还可以创建计划操作，在特定时间执行扩展活动。您可以创建仅缩放一次或按循环计划缩放的计划操作。在计划的操作运行后，您的扩展策略可以继续根据工作负载的变化来决定是否进行动态扩展。只能通过 AWS CLI 或 Application Auto Scaling API 管理定时扩展。有关更多信息，请参阅《Application Auto Scaling 用户指南》**中的[计划扩展](https://docs.aws.amazon.com/autoscaling/application/userguide/application-auto-scaling-step-scaling-policies.html)。

## 最小和最大扩展限制
<a name="endpoint-auto-scaling-target-capacity"></a>

配置自动扩缩时，您必须在创建扩展策略前指定扩展限制。您可以分别设置最小值和最大值的限制。

最小值必须至少为 1，并且等于或小于最大值的指定值。

最大值必须等于或大于为最小值指定的值。 SageMaker AI auto scaling 不会对该值施加限制。

要确定典型流量所需的扩展限制，请使用模型的预期流量速率测试自动扩缩配置。

如果变体的流量变为零， SageMaker AI 会自动缩放到指定的最小实例数。在这种情况下， SageMaker AI 会发出值为零的指标。

有三个选项可用于指定最小和最大容量：

1. 使用管理控制台更新**最小实例数**和**最大实例数**设置。

1. 运行[register-scalable-target](https://docs.aws.amazon.com/cli/latest/reference/application-autoscaling/register-scalable-target.html)命令时，使用 AWS CLI `--min-capacity`并包括和`--max-capacity`选项。

1. 调用 [RegisterScalableTarget](https://docs.aws.amazon.com/autoscaling/application/APIReference/API_RegisterScalableTarget.html)API 并指定`MinCapacity`和`MaxCapacity`参数。

**提示**  
您可以通过增大最小值来手动横向扩展，或通过减小最大值来手动横向缩减。

## 冷却时间
<a name="endpoint-auto-scaling-target-cooldown"></a>

当模型横向缩减（减少容量）或横向扩展（增加容量）时，*冷却时间*用于防止过度扩展。为此，它会减慢随后的扩展活动，直到期限结束。具体来说，它会阻止删除横向缩减请求中的实例，并限制创建横向扩展请求中的实例。更多信息，请参阅[《应用程序自动扩缩用户指南》](https://docs.aws.amazon.com/autoscaling/application/userguide/target-tracking-scaling-policy-overview.html#target-tracking-cooldown)中的*定义冷却时间*。

您可以在扩展策略中配置冷却时间。

如果未指定横向缩减或横向扩展冷却时间，扩展策略将使用默认值，即各为 300 秒。

如果在测试扩展配置时，添加或删除实例的速度过快，请考虑增加此值。如果模型的流量峰值很大，或者为一个变量定义了多个扩展策略，则可能会出现这种情况。

如果无法快速添加实例以处理增加的流量，请考虑减小此值。

## 相关资源
<a name="auto-scaling-related-resources"></a>

有关配置自动扩缩的更多信息，请参阅以下资源：
+ *AWS CLI Command Reference* 的 [application-autoscaling](https://docs.aws.amazon.com/cli/latest/reference/application-autoscaling) 部分
+ [Application Auto Scaling API 参考](https://docs.aws.amazon.com/autoscaling/application/APIReference/)
+ [Application Auto Scaling 用户指南](https://docs.aws.amazon.com/autoscaling/application/userguide/)

**注意**  
SageMaker AI 最近推出了基于实时推理端点的新推理功能。您可以使用终端节点配置创建 A SageMaker I 终端节点，该端点配置定义了终端节点的实例类型和初始实例数。然后，创建一个推理组件，它是一个 SageMaker AI 托管对象，可用于将模型部署到终端节点。有关扩展推理组件的信息，请参阅博客[上的 [SageMaker AI 添加了新的推理功能以帮助降低基础模型部署成本和延迟](https://aws.amazon.com/blogs/aws/amazon-sagemaker-adds-new-inference-capabilities-to-help-reduce-foundation-model-deployment-costs-and-latency/)，以及使用 SageMaker AI 的最新功能将模型部署成本平均降低 50%](https://aws.amazon.com/blogs/machine-learning/reduce-model-deployment-costs-by-50-on-average-using-sagemakers-latest-features/)。 AWS 