本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
更新使用自動擴展的端點
當您更新端點時,Application Auto Scaling 會檢查在該端點上,是否有任何模型成為自動擴展的目標。如果更新作業將會針對做為自動擴展目標的任何模型,並更其執行個體類型,則更新會失敗。
在 中AWS 管理主控台,您會看到警告,指出您必須先從自動擴展取消註冊模型,才能更新模型。如果您試著透過呼叫 UpdateEndpoint API 來更新端點,則呼叫會失敗。在您更新端點之前,請先呼叫 DeregisterScalableTarget Application Auto Scaling API 動作,刪除針對該端點設定的所有擴展政策,然後再取消註冊變體為可擴展目標。在更新端點之後,您可以將更新的變體註冊為可擴展目標,然後連接擴展政策。
有一種例外狀況。如果您針對已設定自動擴展的變體,來變更其模型,則 Amazon SageMaker AI 自動擴展功能會允許更新。這是因為變更模型對效能的影響,通常不足以大到會改變擴展的動作。如果您真的針對已設定自動擴展的變體,來變更其模型,請確定對模型所進行的變更,不會造成對效能和擴展動作的重大影響。
當您更新套用自動擴展的 SageMaker AI 端點,請完成以下步驟:
更新套用自動擴展的端點
-
呼叫 DeregisterScalableTarget,將端點從可擴展的目標解除登錄。
-
由於在進行更新操作時會封鎖自動擴展 (或是若您在上一個步驟中關閉了自動縮減),因此您可能需要採取額外的預防措施,以便在更新期間增加端點的執行個體數目。若要這樣做,請呼叫 UpdateEndpointWeightsAndCapacities 以更新端點所託管生產變體的執行個體數量。
-
重複呼叫 DescribeEndpoint,直到回應的
EndpointStatus欄位的值是InService。 -
呼叫 DescribeEndpointConfig 以取得目前端點組態的值。
-
呼叫 CreateEndpointConfig,建立新的端點組態。對於您想要保留現有執行個體數量或加權的生產變體,請使用上一個步驟中對 DescribeEndpointConfig 呼叫所得回應的相同變體名稱。對於所有其他值,請使用在上一步中呼叫 DescribeEndpointConfig 時所取得回應的值。
-
透過呼叫 UpdateEndpoint 來更新端點。將您在上一步中建立的端點組態指定為
EndpointConfig欄位。如果要保留執行個體計數或加權等變體屬性,請將RetainAllVariantProperties參數值設定為True。這會指定具有相同名稱的生產變體將使用最新版本DesiredInstanceCount進行更新,這是來自對DescribeEndpoint的呼叫所得的回應,而不管新EndpointConfig中InitialInstanceCount欄位值為何。 -
(選用) 透過呼叫 RegisterScalableTarget 和 PutScalingPolicy 重新啟用自動擴展。
注意
只有在因下列變更而更新端點時,才需要進行步驟 1 和 7:
-
變更已設定自動擴展的生產變體的執行個體類型
-
移除已設定自動擴展的生產變體。