应用扩缩策略
注册模型并定义扩展策略后,将扩展策略应用于已注册的模型。要应用扩展策略,您可以使用 Amazon CLI 或 Application Auto Scaling API。
应用扩展策略 (Amazon CLI)
要将扩展策略应用于模型,请使用具有以下参数的 put-scaling-policy
Amazon CLI 命令:
-
--policy-name
– 扩展策略的名称。 -
--policy-type
– 将该值设置为TargetTrackingScaling
。 -
--resource-id
– 变体的资源标识符。对于该参数,资源类型为endpoint
,唯一标识符为变体的名称。例如endpoint/MyEndpoint/variant/MyVariant
。 -
--service-namespace
– 将该值设置为sagemaker
。 -
--scalable-dimension
– 将该值设置为sagemaker:variant:DesiredInstanceCount
。 -
--target-tracking-scaling-policy-configuration
– 用于模型的目标跟踪扩展策略配置。
以下示例与 Application Auto Scaling 结合使用,将名为 myscalablepolicy
的目标跟踪扩展策略应用于名为 myscalablevariant
的模型(变体)。策略配置保存在一个名为 config.json
的文件中。
aws application-autoscaling put-scaling-policy \ --policy-name myscalablepolicy \ --policy-type TargetTrackingScaling \ --resource-id endpoint/MyEndpoint/variant/MyVariant \ --service-namespace sagemaker \ --scalable-dimension sagemaker:variant:DesiredInstanceCount \ --target-tracking-scaling-policy-configuration file://config.json
应用扩展策略 (Application Auto Scaling API)
要使用 Application Auto Scaling API 将扩展策略应用于某个变体,请使用 PutScalingPolicy
Application Auto Scaling API 操作及以下参数:
-
PolicyName
– 扩展策略的名称。 -
ServiceNamespace
– 将该值设置为sagemaker
。 -
ResourceID
– 变体的资源标识符。对于该参数,资源类型为endpoint
,唯一标识符为变体的名称。例如,endpoint/MyEndpoint/variant/MyVariant
。 -
ScalableDimension
– 将该值设置为sagemaker:variant:DesiredInstanceCount
。 -
PolicyType
– 将该值设置为TargetTrackingScaling
。 -
TargetTrackingScalingPolicyConfiguration
– 用于变体的目标跟踪扩展策略配置。
以下示例使用 Application Auto Scaling,将名为 myscalablepolicy
的目标跟踪扩展策略应用于名为 myscalablevariant
的变体。它基于 SageMakerVariantInvocationsPerInstance
预定义指标使用策略配置。
POST / HTTP/1.1 Host: autoscaling.us-east-2.amazonaws.com Accept-Encoding: identity X-Amz-Target: AnyScaleFrontendService. X-Amz-Date: 20160506T182145Z User-Agent: aws-cli/1.10.23 Python/2.7.11 Darwin/15.4.0 botocore/1.4.8 Content-Type: application/x-amz-json-1.1 Authorization: AUTHPARAMS { "PolicyName": "myscalablepolicy", "ServiceNamespace": "sagemaker", "ResourceId": "endpoint/MyEndpoint/variant/MyVariant", "ScalableDimension": "sagemaker:variant:DesiredInstanceCount", "PolicyType": "TargetTrackingScaling", "TargetTrackingScalingPolicyConfiguration": { "TargetValue": 70.0, "PredefinedMetricSpecification": { "PredefinedMetricType": "SageMakerVariantInvocationsPerInstance" } } }