在 AWS PCS 中建立運算節點群組 - AWS PCS

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

在 AWS PCS 中建立運算節點群組

本主題提供可用選項的概觀,並說明在 AWS 平行運算服務 (AWS PCS) 中建立運算節點群組時應考量的事項。如果這是您第一次建立運算節點群組 in AWS PCS,建議您遵循 中的教學課程AWS 平行運算服務入門。本教學課程可協助您建立運作中的 HPC 系統,而不會擴展到所有可用的選項和系統架構。

必要條件

  • 有足夠的服務配額,可在您的 中啟動所需數量的 EC2 執行個體 AWS 區域。您可以使用 AWS Management Console來檢查和請求增加您的服務配額。

  • 符合VPC 網路需求的現有 AWS PCS 和子網路 (Word)。我們建議您在部署叢集以供生產使用之前,先徹底了解這些要求。如需詳細資訊,請參閱AWS PCS VPC和子網路需求和考量。您也可以使用 a CloudFormation 範本建立 VPC 和子網路。為 HPC 範本 AWS 提供 CloudFormation 配方。如需詳細資訊,請參閱 aws-hpc-recipes on GitHub。

  • IAM呼叫 AWS PCS 動作和存取節點群組執行個體所需任何其他 AWS 資源之許可的 API RegisterComputeNodeGroupInstance 執行個體設定檔。如需詳細資訊,請參閱AWS Parallel Computing Service 的 IAM 執行個體描述檔

  • 節點群組執行個體的啟動範本。如需詳細資訊,請參閱將 Amazon EC2 啟動範本與 AWS PCS 搭配使用

  • 若要建立使用 Amazon EC2 Spot 執行個體的運算節點群組,您必須在您的 中具有 AWSServiceRoleForEC2Spot 服務連結角色 AWS 帳戶。如需詳細資訊,請參閱Amazon EC2 Spot 角色 for AWS PCS

在 AWS PCS 中建立運算節點群組

您可以使用 AWS Management Console 或 建立運算節點群組 AWS CLI。

AWS Management Console
使用主控台建立運算節點群組
  1. 開啟 AWS PCS 主控台

  2. 選取您要建立運算節點群組的叢集。導覽至運算節點群組,然後選擇建立

  3. 運算節點群組設定區段中,為您的節點群組提供名稱。名稱只能包含區分大小寫的英數字元和連字號。它必須以字母字元開頭,且長度不得超過 25 個字元。名稱在叢集中必須是唯一的。

  4. 運算組態下,輸入或選取這些值:

    1. EC2 啟動範本 – 選取要用於此節點群組的自訂啟動範本。啟動範本可用來自訂網路設定,例如子網路和安全群組、監控組態和執行個體層級儲存。如果您沒有準備好啟動範本,請參閱 以將 Amazon EC2 啟動範本與 AWS PCS 搭配使用了解如何建立範本。

      重要

      AWS PCS 會為每個運算節點群組建立受管啟動範本。這些名稱為 pcs-identifier-do-not-delete。當您建立或更新運算節點群組時,請勿選取這些節點群組,否則節點群組將無法正常運作。

    2. EC2 啟動範本版本 – 您必須選取自訂啟動範本的版本。如果您稍後變更版本,則必須更新運算節點群組,以偵測啟動範本中的變更。如需詳細資訊,請參閱更新計 AWS PCS算節點群組

    3. AMI ID – 如果您的啟動範本不包含 AMI ID,或者如果您想要覆寫啟動範本中的值,請在此處提供 AMI ID。請注意,用於節點群組的 AMI 必須與 AWS PCS 相容。您也可以選取由 提供的 AMI 範例 AWS。如需此主題的詳細資訊,請參閱 Amazon Machine Images (AMIs) for AWS PCS

    4. IAM 執行個體設定檔 – 選擇節點群組的執行個體設定檔。執行個體設定檔會授予執行個體許可,以安全地存取 AWS 資源和服務。如果您沒有準備好,請參閱 以AWS Parallel Computing Service 的 IAM 執行個體描述檔了解如何建立。

    5. 子網路 – 在部署 VPC 叢集的 AWS PCS 中選擇一或多個子網路。如果您選擇多個子網路,則節點之間無法使用 EFA 通訊,而不同子網路中節點之間的通訊可能會增加延遲。請確定您在此處指定的子網路符合您在 EC2 啟動範本中定義的任何子網路。

    6. 執行個體 – 選擇一或多個執行個體類型,以滿足節點群組中的擴展請求。所有執行個體類型都必須具有相同的處理器架構 (x86_64 或 arm64) 和 vCPUs 數量。如果執行個體具有 GPUs,則所有執行個體類型都必須具有相同的 GPUs 數量。

    7. 擴展組態 – 指定節點群組的執行個體數目下限和上限。您可以定義靜態組態,其中有固定數量的節點正在執行,或動態組態,其中最多可以執行節點的計數上限。對於靜態組態,將最小值和最大值設定為相同,大於零個數字。對於動態組態,請將最小執行個體設定為零,最大執行個體設定為大於零的數字。 AWS PCS 不支援混合靜態和動態執行個體的運算節點群組。

  5. (選用) 在其他設定下,指定下列項目:

    1. 購買選項 – 在 Spot 和隨需執行個體之間選取 。

    2. 配置策略 – 如果您已選取 Spot 購買選項,您可以指定在節點群組中啟動執行個體時,如何選擇 Spot 容量集區。如需詳細資訊,請參閱 Amazon Elastic Compute Cloud 使用者指南中的 Spot 執行個體的配置策略。如果您已選取隨需購買選項,此選項就不會生效。

  6. (選用) 在 中 Slurm 自訂設定區段,提供下列值:

    1. 權重 – 此值會設定群組中節點的優先順序,以用於排程。權重較低的節點具有更高的優先順序,而且單位是任意的。如需詳細資訊,請參閱 中的權重 Slurm 文件中)。

    2. 實際記憶體 – 此值會設定節點群組中節點上實際記憶體的大小 (以 GB 為單位)。其旨在與叢集中的 CR_CPU_Memory選項搭配使用 Slurm AWS PCS 中的組態。如需詳細資訊,請參閱 中的 RealMemory Slurm 文件中)。

  7. (選用) 在標籤下,將任何標籤新增至運算節點群組。

  8. 選擇建立運算節點群組狀態欄位顯示 Creating ,而 AWS PCS 佈建節點群組。這可能需要幾分鐘的時間。

建議的下一個步驟
  • 將節點群組新增至佇列 in AWS PCS,使其能夠處理任務。

AWS CLI
使用 建立運算節點群組 AWS CLI

使用下列命令建立佇列。執行命令之前,請執行下列替換:

  1. Replace (取代) region的 ID, AWS 區域 以在 中建立叢集,例如 us-east-1

  2. Replace (取代) my-cluster 使用叢集的名稱或 clusterId

  3. Replace (取代) my-node-group運算節點群組的名稱。此名稱僅能使用英數字元 (區分大小寫) 和連字號。它必須以字母字元開頭,且長度不得超過 25 個字元。名稱在叢集中必須是唯一的。

  4. Replace (取代) subnet-ExampleID1 使用叢集 IDs 中的一或多個子網路 VPC。

  5. Replace (取代) lt-ExampleID1 自訂啟動範本的 ID。如果您沒有準備好,請參閱 以將 Amazon EC2 啟動範本與 AWS PCS 搭配使用了解如何建立。

    重要

    AWS PCS 會為每個運算節點群組建立受管啟動範本。這些名稱為 pcs-identifier-do-not-delete。當您建立或更新運算節點群組時,請勿選取這些節點群組,否則節點群組將無法正常運作。

  6. Replace (取代) launch-template-version 特定啟動範本版本。 AWS PCS 會將您的節點群組與該啟動範本的特定版本建立關聯。

  7. Replace (取代) arn:InstanceProfile使用 ARN 執行個體設定檔的 IAM。如果您沒有準備好,請參閱 將 Amazon EC2 啟動範本與 AWS PCS 搭配使用 以取得指引。

  8. Replace (取代) min-instances 以及 max-instances 整數值。您可以定義靜態組態,其中有固定數量的節點正在執行,或動態組態,其中最多可以執行節點的計數上限。對於靜態組態,將最小值和最大值設定為相同,大於零個數字。對於動態組態,將最小執行個體設定為零,將最大執行個體設定為大於零的數字。 AWS PCS 不支援混合靜態和動態執行個體的運算節點群組。

  9. Replace (取代) t3.large 另一個執行個體類型。您可以指定instanceType設定清單來新增更多執行個體類型。例如 --instance-configs instanceType=c6i.16xlarge,instanceType=c6a.16xlarge。 所有執行個體類型都必須具有相同的處理器架構 (x86_64 或 arm64) 和 vCPUs 數量。如果執行個體具有 GPUs,則所有執行個體類型都必須具有相同的 GPUs 數目。

aws pcs create-compute-node-group --region region \ --cluster-identifier my-cluster \ --compute-node-group-name my-node-group \ --subnet-ids subnet-ExampleID1 \ --custom-launch-template id=lt-ExampleID1,version='launch-template-version' \ --iam-instance-profile arn=arn:InstanceProfile \ --scaling-config minInstanceCount=min-instances,maxInstanceCount=max-instance \ --instance-configs instanceType=t3.large

有幾個選用的組態設定可以新增至create-compute-node-group命令。

  • 您可以指定自訂啟動範本--amiId是否不包含 AMI 的參考,或是您想要覆寫該值。請注意,用於節點群組的 AMI 必須與 AWS PCS 相容。您也可以選取 提供的 AMI 範例 AWS。如需此主題的詳細資訊,請參閱 Amazon Machine Images (AMIs) for AWS PCS

  • 您可以使用 在隨需 (ONDEMAND) 和 Spot (SPOT) 執行個體之間進行選取--purchase-option。隨需為預設值。如果您選擇 Spot 執行個體,您也可以使用 --allocation-strategy 定義 AWS PCS 在節點群組中啟動執行個體時如何選擇 Spot 容量集區。如需詳細資訊,請參閱 Amazon Elastic Compute Cloud 使用者指南中的 Spot 執行個體的配置策略

  • 可以提供 Slurm 節點群組中節點的組態選項,使用 --slurm-configuration。您可以設定權重 (排程優先順序) 和實際記憶體。權重較低的節點具有較高的優先順序,且單位是任意的。如需詳細資訊,請參閱 中的權重 Slurm 文件中)。實際記憶體會設定節點群組中節點上實際記憶體的大小 (以 GB 為單位)。它旨在與 中叢集 in AWS PCS CR_CPU_Memory的選項搭配使用 Slurm 組態。如需詳細資訊,請參閱 中的 RealMemory Slurm 文件中)。

重要

建立運算節點群組可能需要幾分鐘的時間。

您可以使用下列命令查詢節點群組的狀態。在節點群組的狀態達到 之前,您將無法將節點群組與佇列建立關聯ACTIVE

aws pcs get-compute-node-group --region region \ --cluster-identifier my-cluster \ --compute-node-group-identifier my-node-group