

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

# 更新 SageMaker HyperPod 叢集組態
<a name="sagemaker-hyperpod-eks-operate-cli-command-update-cluster"></a>

執行 [update-cluster](https://docs.aws.amazon.com/cli/latest/reference/sagemaker/update-cluster.html) 以更新叢集的組態。

**注意**  
重要考量：  
您無法在建立叢集之後變更 HyperPod 叢集相關聯的 EKS 叢集資訊。
如果叢集上執行深層運作狀態檢查，此 API 將無法如預期運作。您可能會遇到錯誤訊息，指出正在進行深層運作狀態檢查。若要更新叢集，您應該等到深層運作狀態檢查完成。

1. 建立 JSON 格式的 [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_UpdateCluster.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_UpdateCluster.html) API 請求檔案。確保您指定要更新的正確叢集名稱和執行個體群組名稱。對於每個執行個體群組，您可以變更執行個體類型、執行個體數量、生命週期組態進入點指令碼，以及指令碼的路徑。
**注意**  
您可以使用 `UpdateCluster` 從 SageMaker HyperPod 叢集縮減規模或移除整個執行個體群組。如需如何縮減或刪除執行個體群組的其他指示，請參閱 [縮減 SageMaker HyperPod 叢集](smcluster-scale-down.md)。

   1. 針對 `ClusterName`，指定您要更新的叢集名稱。

   1. 針對 `InstanceGroupName`

      1. 若要更新現有的執行個體群組，請指定您要更新的執行個體群組名稱。

      1. 若要新增執行個體群組，請指定叢集中不存在的新名稱。

   1. 針對 `InstanceType`

      1. 若要更新現有的執行個體群組，您必須符合您最初指定給群組的執行個體類型。

      1. 若要新增執行個體群組，請指定您要透過其設定群組的執行個體類型。

      對於使用 `InstanceRequirements`而非 的執行個體群組`InstanceType`，您可以從`InstanceTypes`清單中新增或移除執行個體類型。不過，您無法移除在其上執行作用中節點的執行個體類型。更新現有執行個體群組`InstanceRequirements`時，您也無法在 `InstanceType` 和 之間切換。 `InstanceType`和 `InstanceRequirements` 是互斥的。

   1. 針對 `InstanceCount`

      1. 若要更新現有的執行個體群組，請指定對應至所需執行個體數量的整數。您可以提供更高或更低的值 (降至 0)，以擴展或縮減執行個體群組。

      1. 若要新增執行個體群組，請指定大於或等於 1 的整數。

   1. 對於 `LifeCycleConfig`，您可以變更 `SourceS3Uri` 和 `OnCreate` 的值，因為您想要更新執行個體群組。

   1. 針對 `ExecutionRole`

      1. 如需更新現有的執行個體群組，請繼續使用您在叢集建立期間連接的相同 IAM 角色。

      1. 如需新增執行個體群組，請指定您要連接的 IAM 角色。

   1. 針對 `ThreadsPerCore`

      1. 如需更新現有的執行個體群組，請繼續使用您在叢集建立期間指定的相同值。

      1. 如需新增執行個體群組，您可以從每個執行個體類型的允許選項中選擇任何值。如需詳細資訊，請搜尋執行個體類型，並參閱參考表中的**每個核心的有效執行緒數**欄，此參考表位於《Amazon EC2 使用者指南》**的[每個執行個體類型的 CPU 核心數和每個 CPU 核心的執行緒數](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/cpu-options-supported-instances-values.html)中。

   1. 針對 `OnStartDeepHealthChecks`，新增 `InstanceStress` 和 `InstanceConnectivity` 以啟用 [深層運作狀態檢查](sagemaker-hyperpod-eks-resiliency-deep-health-checks.md)。

   1. 針對 `NodeRecovery`，指定 `Automatic` 以啟用自動節點復原。當運作狀態監控代理程式發現問題時，SageMaker HyperPod 會取代或重新啟動執行個體 (節點)。

   下列程式碼片段是您可以使用的 JSON 請求檔案範本。如需此 API 請求語法和參數的詳細資訊，請參閱 [UpdateCluster](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_UpdateCluster.html) API 參考。

   ```
   // update_cluster.json
   {
       // Required
       "ClusterName": "{{name-of-cluster-to-update}}",
       // Required
       "InstanceGroups": [{
           "InstanceGroupName": {{"string"}},
           "InstanceType": {{"string"}},
           "InstanceCount": {{number}},
           "LifeCycleConfig": {
               "SourceS3Uri": {{"string"}},
               "OnCreate": {{"string"}}
           },
           "ExecutionRole": {{"string"}},
           "ThreadsPerCore": {{number}},
           "OnStartDeepHealthChecks": [
               {{"InstanceStress", "InstanceConnectivity"}}
           ]
       }],
       "NodeRecovery": "{{Automatic}}"
   }
   ```

1. 執行下列 `update-cluster` 命令以提交請求。

   ```
   aws sagemaker update-cluster \
       --cli-input-json {{file://complete/path/to/update_cluster.json}}
   ```