本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
更新使用自动扩展的终端节点
更新使用自动扩展的终端节点
当您更新终端节点时,Application Auto Scaling 会检查该终端节点上的任何模型是否为自动扩展的目标。如果更新将更改作为自动扩展目标的任何模型的实例类型,则更新将失败。
在 AWS 管理控制台中,您会看到一条警告,指示您必须从自动扩展中取消注册模型,然后才能对其进行更新。如果您尝试通过调用 UpdateEndpoint
API 来更新终端节点,则调用将失败。在更新终端节点之前,通过调用 DeleteScalingPolicy Application Auto Scaling API 操作来删除为其配置的任何扩展策略,然后调用 DeregisterScalableTarget 取消注册变体为可扩展目标。在您更新终端节点后,可以将变体注册为可扩展目标,并将自动扩展策略附加到更新后的变体中。
有一个例外。如果您更改为自动缩放而配置的变体的模型,Amazon SageMaker 自动扩展会允许更新。这是因为更改模型通常不会影响足够的性能来更改自动扩展行为。如果您确实要更新为自动扩展而配置的变体的模型,请确保对模型的更改不会显著影响性能和自动扩展行为。
更新应用了自动扩展的 SageMaker 终端节点时,请完成以下步骤:
更新应用了自动扩展的终端节点
-
由于在进行更新操作期间(或者如果您在上一步中关闭了自动扩展)会阻止自动扩展,因此,您可能需要采取额外的预防措施,以便在更新期间增加终端节点的实例数量。为此,请通过调用
UpdateEndpointWeightsAndCapacities
,为该终端节点上托管的生产变体增加实例数量。 -
重复调用
DescribeEndpoint
,直到响应的EndpointStatus
字段的值为InService
。 -
调用
DescribeEndpointConfig
来获取当前终端节点配置值。 -
通过调用
CreateEndpointConfig
创建新的终端节点配置。 对于要保留现有实例计数或权重的生产变体,请使用在上一步中调用DescribeEndpointConfig
的响应中的相同变体名称。对于所有其他值,请使用在上一步骤中调用DescribeEndpointConfig
时作为响应获取的值。 -
通过调用
UpdateEndpoint
更新终端节点。 将您在上一步中创建的终端节点配置指定为EndpointConfig
字段。如果要保留变体属性(如实例计数或权重),请将RetainAllVariantProperties
参数的值设置为True
。 这指定具有相同名称的生产变体将使用从对DesiredInstanceCount
的调用响应中的最新DescribeEndpoint
进行更新,而不考虑新InitialInstanceCount
中的EndpointConfig
字段的值。 -
(可选)通过调用 RegisterScalableTarget 重新启用自动扩展功能。
只有在使用以下更改更新终端节点时,才需要步骤 1 和 7:
-
更改配置了自动扩展的生产变体的实例类型。
-
删除配置了自动扩展的生产变体。
删除为自动扩展配置的终端节点
如果您删除终端节点,Application Auto Scaling 会检查该终端节点上的任何模型是否为自动扩展的目标。如果您有权取消注册模型,Application Auto Scaling 会取消注册这些模型为可扩展目标而不通知您。如果您使用不提供 DeleteScalingPolicy 和 操作的权限的自定义权限策略,则必须删除自动扩展策略并取消注册可扩展目标,然后再删除终端节点。DeregisterScalableTarget
您是 IAM 用户,如果另一个 IAM 用户为终端节点上的变体配置了自动扩展,则您可能没有足够的权限删除该终端节点。