更新或删除使用 auto Scaling 的终端节点 - Amazon SageMaker

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

更新或删除使用 auto Scaling 的终端节点

更新使用 auto Scaling 的终端节点

更新端点时,Application Auto Scaling 会检查该端点上的任何模型是否是自动缩放的目标。如果更新会更改任何 auto Scaling 目标模型的实例类型,则更新将失败。

在中 AWS Management Console,您会看到一条警告,提示您必须先从 auto Scaling 中取消注册模型,然后才能对其进行更新。如果您尝试通过调用 UpdateEndpointAPI 来更新终端节点,则调用将失败。在更新终端节点之前,请删除为其配置的所有扩展策略,并通过调用 App DeregisterScalableTargetlication Auto Scaling API 操作将该变体取消注册为可扩展目标。更新终端节点后,您可以将更新的变体注册为可扩展目标并附加扩展策略。

有一个例外。如果您更改配置为自动缩放的变体的模型,Amazon SageMaker auto scaling 将允许更新。这是因为更改模型对性能的影响通常不足以改变缩放行为。如果您确实为配置为 auto Scaling 的变体更新了模型,请确保对模型的更改不会对性能和缩放行为产生显著影响。

更新应用了 auto Scaling 的 SageMaker 终端节点时,请完成以下步骤:

更新应用了 auto Scaling 的端点
  1. 通过调DeregisterScalableTarget用取消将终端节点注册为可扩展目标。

  2. 由于在更新操作进行期间(或者如果您在上一步中关闭了自动缩放),因此您可能需要采取额外的预防措施,在更新期间增加终端节点的实例数量。为此,请调用更新终端节点上托管的生产变体的实例计数UpdateEndpointWeightsAndCapacities

  3. DescribeEndpoint重复调用,直到响应EndpointStatus字段的值为InService

  4. DescribeEndpointConfig用获取当前端点配置的值。

  5. 通过调用创建新的端点配置 CreateEndpointConfig。对于要保留现有实例数量或权重的生产变体,请使用与上一步调用的响应相同的变体名称。 DescribeEndpointConfig对于所有其他值,请使用您在上一步 DescribeEndpointConfig中调用时得到的值作为响应。

  6. 通过调用 UpdateEndpoint 更新终端节点。指定在上一步中创建的终端节点配置作为 EndpointConfig 字段。如果要保留变体属性(如实例计数或权重),请将 RetainAllVariantProperties 参数的值设置为 True。这会指定具有相同名称的生产变体将使用从调用 DescribeEndpoint 得到的响应中的最新 DesiredInstanceCount 进行更新,而不考虑新 EndpointConfigInitialInstanceCount 字段的值。

  7. (可选)通过调用RegisterScalableTargetPutScalingPolicy重新激活自动缩放。

注意

只有在使用以下更改更新终端节点时,才需要步骤 1 和 7:

  • 更改配置了 auto scaling 的生产变体的实例类型

  • 移除配置了 auto scaling 的生产变体。

删除为自动缩放配置的终端节点

如果您删除端点,Application Auto Scaling 会检查该端点上的任何模型是否是自动缩放的目标。如果您有权取消注册模型,Application Auto Scaling 会取消注册这些模型为可扩展目标,并且不会通知您。如果您使用的自定义权限策略不提供操作权限,则必须先请求访问此DeregisterScalableTarget操作,然后才能删除终端节点。

注意

作为 IAM 用户,如果其他用户在终端节点上为某个变体配置了 auto scaling,则您可能没有足够的权限删除该终端节点。