

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

# 应用扩缩策略
<a name="endpoint-auto-scaling-add-code-apply"></a>

注册模型并定义扩展策略后，将扩展策略应用到注册的模型。本节介绍如何使用 AWS Command Line Interface (AWS CLI) 或应用程序自动扩缩 API 应用扩展策略。

**Topics**
+ [应用目标跟踪扩展策略 (AWS CLI)](#endpoint-auto-scaling-add-code-apply-cli)
+ [应用扩展策略 (Application Auto Scaling API)](#endpoint-auto-scaling-add-code-apply-api)

## 应用目标跟踪扩展策略 (AWS CLI)
<a name="endpoint-auto-scaling-add-code-apply-cli"></a>

要将缩放策略应用于您的模型，请使用带有以下参数的[put-scaling-policy](https://docs.aws.amazon.com/cli/latest/reference/application-autoscaling/put-scaling-policy.html) AWS CLI 命令：
+ `--policy-name` – 扩展策略的名称。
+ `--policy-type` – 将该值设置为 `TargetTrackingScaling`。
+ `--resource-id` – 变体的资源标识符。对于该参数，资源类型为 `endpoint`，唯一标识符为变体的名称。例如 `endpoint/my-endpoint/variant/my-variant`。
+ `--service-namespace` – 将该值设置为 `sagemaker`。
+ `--scalable-dimension` – 将该值设置为 `sagemaker:variant:DesiredInstanceCount`。
+ `--target-tracking-scaling-policy-configuration`：模型要使用的目标跟踪扩展策略配置。

**Example**  
下面的示例将名为 `my-scaling-policy` 的目标跟踪扩展策略应用于在 `my-endpoint` 端点上运行的名为 `my-variant` 的变体。对于 `--target-tracking-scaling-policy-configuration` 选项，请指定之前创建的 `config.json` 文件。  

```
aws application-autoscaling put-scaling-policy \
  --policy-name my-scaling-policy \
  --policy-type TargetTrackingScaling \
  --resource-id endpoint/my-endpoint/variant/my-variant \
  --service-namespace sagemaker \
  --scalable-dimension sagemaker:variant:DesiredInstanceCount \
  --target-tracking-scaling-policy-configuration file://config.json
```

## 应用扩展策略 (Application Auto Scaling API)
<a name="endpoint-auto-scaling-add-code-apply-api"></a>

要使用 Application Auto Scaling API 将扩展策略应用于某个变体，请使用 [PutScalingPolicy](https://docs.aws.amazon.com/autoscaling/application/APIReference/API_PutScalingPolicy.html) Application Auto Scaling API 操作及以下参数：
+ `PolicyName` – 扩展策略的名称。
+ `ServiceNamespace` – 将该值设置为 `sagemaker`。
+ `ResourceID` – 变体的资源标识符。对于该参数，资源类型为 `endpoint`，唯一标识符为变体的名称。例如 `endpoint/my-endpoint/variant/my-variant`。
+ `ScalableDimension` – 将该值设置为 `sagemaker:variant:DesiredInstanceCount`。
+ `PolicyType` – 将该值设置为 `TargetTrackingScaling`。
+ `TargetTrackingScalingPolicyConfiguration` – 用于变体的目标跟踪扩展策略配置。

**Example**  
下面的示例将名为 `my-scaling-policy` 的目标跟踪扩展策略应用于在 `my-endpoint` 端点上运行的名为 `my-variant` 的变体。策略配置将每个实例的平均调用次数保持在 70 次。  

```
POST / HTTP/1.1
Host: application-autoscaling.us-east-2.amazonaws.com
Accept-Encoding: identity
X-Amz-Target: AnyScaleFrontendService.
X-Amz-Date: 20230506T182145Z
User-Agent: aws-cli/2.0.0 Python/3.7.5 Windows/10 botocore/2.0.0dev4
Content-Type: application/x-amz-json-1.1
Authorization: AUTHPARAMS

{
    "PolicyName": "my-scaling-policy",
    "ServiceNamespace": "sagemaker",
    "ResourceId": "endpoint/my-endpoint/variant/my-variant",
    "ScalableDimension": "sagemaker:variant:DesiredInstanceCount",
    "PolicyType": "TargetTrackingScaling",
    "TargetTrackingScalingPolicyConfiguration": {
        "TargetValue": 70.0,
        "PredefinedMetricSpecification":
        {
            "PredefinedMetricType": "SageMakerVariantInvocationsPerInstance"
        }
    }
}
```