更新使用自動擴展的端點 - Amazon SageMaker AI

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

更新使用自動擴展的端點

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

在 中AWS 管理主控台,您會看到警告,指出您必須先從自動擴展取消註冊模型,才能更新模型。如果您試著透過呼叫 UpdateEndpoint API 來更新端點,則呼叫會失敗。在您更新端點之前,請先呼叫 DeregisterScalableTarget Application Auto Scaling API 動作,刪除針對該端點設定的所有擴展政策,然後再取消註冊變體為可擴展目標。在更新端點之後,您可以將更新的變體註冊為可擴展目標,然後連接擴展政策。

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

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

更新套用自動擴展的端點
  1. 呼叫 DeregisterScalableTarget,將端點從可擴展的目標解除登錄。

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

  3. 重複呼叫 DescribeEndpoint,直到回應的 EndpointStatus 欄位的值是 InService

  4. 呼叫 DescribeEndpointConfig 以取得目前端點組態的值。

  5. 呼叫 CreateEndpointConfig,建立新的端點組態。對於您想要保留現有執行個體數量或加權的生產變體,請使用上一個步驟中對 DescribeEndpointConfig 呼叫所得回應的相同變體名稱。對於所有其他值,請使用在上一步中呼叫 DescribeEndpointConfig 時所取得回應的值。

  6. 透過呼叫 UpdateEndpoint 來更新端點。將您在上一步中建立的端點組態指定為 EndpointConfig 欄位。如果要保留執行個體計數或加權等變體屬性,請將 RetainAllVariantProperties 參數值設定為 True。這會指定具有相同名稱的生產變體將使用最新版本 DesiredInstanceCount 進行更新,這是來自對 DescribeEndpoint 的呼叫所得的回應,而不管新 EndpointConfigInitialInstanceCount 欄位值為何。

  7. (選用) 透過呼叫 RegisterScalableTargetPutScalingPolicy 重新啟用自動擴展。

注意

只有在因下列變更而更新端點時,才需要進行步驟 1 和 7:

  • 變更已設定自動擴展的生產變體的執行個體類型

  • 移除已設定自動擴展的生產變體。