AWS Sagemaker 推理端点无法通过自动缩放进行缩放

AWS Sagemaker inference endpoint doesn't scale in with autoscaling

我有一个 AWS Sagemaker 推理端点,它启用了 SageMakerVariantInvocationsPerInstance 目标指标的自动缩放。当我向端点发送大量请求时,实例数正确地扩展到最大实例数。但是在我停止发送请求后,实例数不会缩减为 1,即最小实例数。我等了好几个小时。这种行为有原因吗?

谢谢

AutoScaling 需要触发 cloudwatch 警报才能缩减。Sagemaker 在没有 activity 时不会推送 0 值指标(它只是不会推送任何内容)。这会导致警报被放入数据不足,并且当您的工作负载突然结束时不会触发自动缩放比例。

解决方法是:

  1. 使用 cloudwatch 指标数学 FILL() 函数为您的规模制定一个步进扩展策略。这样您就可以告诉 CloudWatch“如果没有数据,在评估警报时假装这是指标值。这只是由于目标跟踪会为您创建警报(并且 AutoScaling 会定期重新创建它们,因此如果您进行手动更改,它们将被删除)
  2. 已计划每天晚上将大小重新设置为 1
  3. 确保流量在一段时间内持续处于低水平