

本文為英文版的機器翻譯版本，如內容有任何歧義或不一致之處，概以英文版為準。

# 更新使用自動擴展的端點
<a name="endpoint-scaling-update"></a>

當您更新端點時，Application Auto Scaling 會檢查在該端點上，是否有任何模型成為自動擴展的目標。如果更新作業將會針對做為自動擴展目標的任何模型，並更其執行個體類型，則更新會失敗。

在 中 AWS 管理主控台，您會看到警告，指出您必須先從自動擴展取消註冊模型，才能更新模型。如果您試著透過呼叫 [UpdateEndpoint](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_UpdateEndpoint.html) API 來更新端點，則呼叫會失敗。在您更新端點之前，請先呼叫 [DeregisterScalableTarget](https://docs.aws.amazon.com/autoscaling/application/APIReference/API_DeregisterScalableTarget.html) Application Auto Scaling API 動作，刪除針對該端點設定的所有擴展政策，然後再取消註冊變體為可擴展目標。在更新端點之後，您可以將更新的變體註冊為可擴展目標，然後連接擴展政策。

有一種例外狀況。如果您針對已設定自動擴展的變體，來變更其模型，則 Amazon SageMaker AI 自動擴展功能會允許更新。這是因為變更模型對效能的影響，通常不足以大到會改變擴展的動作。如果您真的針對已設定自動擴展的變體，來變更其模型，請確定對模型所進行的變更，不會造成對效能和擴展動作的重大影響。

當您更新套用自動擴展的 SageMaker AI 端點，請完成以下步驟：

**更新套用自動擴展的端點**

1. 呼叫 [DeregisterScalableTarget](https://docs.aws.amazon.com/autoscaling/application/APIReference/API_DeregisterScalableTarget.html)，將端點從可擴展的目標解除登錄。

1. 由於在進行更新操作時會封鎖自動擴展 (或是若您在上一個步驟中關閉了自動縮減)，因此您可能需要採取額外的預防措施，以便在更新期間增加端點的執行個體數目。若要這樣做，請呼叫 [UpdateEndpointWeightsAndCapacities](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_UpdateEndpointWeightsAndCapacities.html) 以更新端點所託管生產變體的執行個體數量。

1. 重複呼叫 [ DescribeEndpoint](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_DescribeEndpoint.html)，直到回應的 `EndpointStatus` 欄位的值是 `InService`。

1. 呼叫 [DescribeEndpointConfig](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_DescribeEndpointConfig.html) 以取得目前端點組態的值。

1. 呼叫 [ CreateEndpointConfig](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateEndpointConfig.html)，建立新的端點組態。對於您想要保留現有執行個體數量或加權的生產變體，請使用上一個步驟中對 [DescribeEndpointConfig](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_DescribeEndpointConfig.html) 呼叫所得回應的相同變體名稱。對於所有其他值，請使用在上一步中呼叫 [DescribeEndpointConfig](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_DescribeEndpointConfig.html) 時所取得回應的值。

1. 透過呼叫 [UpdateEndpoint](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_UpdateEndpoint.html) 來更新端點。將您在上一步中建立的端點組態指定為 `EndpointConfig` 欄位。如果要保留執行個體計數或加權等變體屬性，請將 `RetainAllVariantProperties` 參數值設定為 `True`。這會指定具有相同名稱的生產變體將使用最新版本 `DesiredInstanceCount` 進行更新，這是來自對 `DescribeEndpoint` 的呼叫所得的回應，而不管新 `EndpointConfig` 中 `InitialInstanceCount` 欄位值為何。

1. (選用) 透過呼叫 [RegisterScalableTarget](https://docs.aws.amazon.com/autoscaling/application/APIReference/API_RegisterScalableTarget.html) 和 [PutScalingPolicy](https://docs.aws.amazon.com/autoscaling/application/APIReference/API_PutScalingPolicy.html) 重新啟用自動擴展。

**注意**  
只有在因下列變更而更新端點時，才需要進行步驟 1 和 7：  
變更已設定自動擴展的生產變體的執行個體類型
移除已設定自動擴展的生產變體。