使用 AWS ParallelCluster 命令列界面設定和建立叢集 - AWS ParallelCluster

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

使用 AWS ParallelCluster 命令列界面設定和建立叢集

安裝之後 AWS ParallelCluster,請完成下列組態步驟。

確認 AWS 您的帳戶具有的角色包含執行 CLI pcluster 所需的許可。如需詳細資訊,請參閱AWS ParallelCluster pcluster使用者策略範例

設定您的 AWS 登入資料。如需詳細資訊,請參閱 AWS CLI 使用者指南中的設定 AWS CLI

$ aws configure AWS Access Key ID [None]: AKIAIOSFODNN7EXAMPLE AWS Secret Access Key [None]: wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY Default region name [us-east-1]: us-east-1 Default output format [None]:

啟動叢集 AWS 區域 的 必須至少有一個 Amazon EC2 金鑰對。如需詳細資訊,請參閱《Amazon Elastic Compute Cloud Linux 執行個體使用者指南》中的 Amazon Elastic Compute Cloud 金鑰對

使用 AWS ParallelCluster 命令列界面 (CLI) 時,您只需為建立或更新 AWS ParallelCluster 映像和叢集時建立 AWS 的資源付費。如需詳細資訊,請參閱AWS 所使用的 服務 AWS ParallelCluster

設定和建立您的第一個叢集

使用 pcluster configure CLI 命令啟動精靈來建立您的第一個叢集,以提示您提供設定和建立叢集所需的所有資訊。使用 AWS Batch 做為排程器時,與使用 時,序列的詳細資訊會有所不同Slurm。

Slum
$ pcluster configure --config config-file.yaml

從有效 AWS 區域 識別符清單中,選擇您要叢集執行 AWS 區域 的位置。

注意

AWS 區域 顯示的 清單是以您帳戶的分割區為基礎,且僅包含針對您的帳戶啟用 AWS 區域 的 。如需 AWS 區域 為您的帳戶啟用 的詳細資訊,請參閱《》中的管理 AWS 區域AWS 一般參考。顯示的範例來自 AWS 全域分割區。如果您的帳戶位於 AWS GovCloud (US) 分割區中,則只會列出該分割區 AWS 區域 中的 (gov-us-east-1gov-us-west-1)。同樣地,如果您的帳戶位於 AWS 中國分割區中,則只會顯示 cn-northwest-1 cn-north-1和 。如需 AWS 區域 支援的完整清單 AWS ParallelCluster,請參閱 的支援區域 AWS ParallelCluster

Allowed values for AWS 區域 ID: 1. af-south-1 2. ap-east-1 3. ap-northeast-1 4. ap-northeast-2 5. ap-south-1 6. ap-southeast-1 7. ap-southeast-2 8. ca-central-1 9. eu-central-1 10. eu-north-1 11. eu-south-1 12. eu-west-1 13. eu-west-2 14. eu-west-3 15. me-south-1 16. sa-east-1 17. us-east-1 18. us-east-2 19. us-west-1 20. us-west-2 AWS 區域 ID [ap-northeast-1]:

金鑰對是從在所選 中向 Amazon Elastic Compute Cloud 註冊的金鑰對中選取 AWS 區域。選擇金鑰對:

Allowed values for Amazon EC2 Key Pair Name: 1. your-key-1 2. your-key-2 Amazon EC2 Key Pair Name [your-key-1]:

選擇要與叢集搭配使用的排程器。

Allowed values for Scheduler: 1. slurm 2. awsbatch Scheduler [slurm]:

選擇作業系統。

Allowed values for Operating System: 1. alinux2 2. ubuntu2204 3. ubuntu2004 4. rhel8 Operating System [alinux2]:

選擇主機節點執行個體類型:

Head node instance type [t2.micro]:

選擇佇列組態。注意:無法為相同佇列中的多個運算資源指定執行個體類型。

Number of queues [1]: Name of queue 1 [queue1]: Number of compute resources for queue1 [1]: 2 Compute instance type for compute resource 1 in queue1 [t2.micro]: Maximum instance count [10]:

啟用 EFA 以執行需要大規模進行高階執行個體間通訊的應用程式 AWS ,無需額外費用:

Compute instance type for compute resource 2 in queue1 [t2.micro]: c5n.18xlarge Enable EFA on c5n.18xlarge (y/n) [y]: y Maximum instance count [10]: Placement Group name []:

完成上述步驟後,請決定要使用現有的 VPC 或讓 為您 AWS ParallelCluster 建立 VPC。如果您沒有正確設定的 VPC, AWS ParallelCluster 可以為您建立新的 VPC。它會同時將主機頭和運算節點放在相同的公有子網路中,或僅將主機節點放在公有子網路中,且所有運算節點都位於私有子網路中。如果您讓 AWS ParallelCluster 建立 VPC,則必須決定所有節點是否位於公有子網路中。如需詳細資訊,請參閱網路組態

如果您將叢集設定為使用具有多個網路介面或網路卡的執行個體類型,請參閱 網路組態 以取得其他聯網需求。

您可以達到 中允許的 VPCs 數量配額 AWS 區域。預設配額為 VPCs AWS 區域。如需此配額以及如何請求增加的詳細資訊,請參閱《Amazon VPC 使用者指南》中的 VPC 和子網路

重要

根據預設, 建立VPCs AWS ParallelCluster 不會啟用 VPC 流程日誌。VPC 流程日誌可讓您擷取往返 VPCs 網路介面之 IP 流量的相關資訊。如需詳細資訊,請參閱「Amazon VPC 使用者指南」中的 VPC 流程日誌

如果您讓 AWS ParallelCluster 建立 VPC,請確定您是否決定所有節點都位於公有子網路中。

注意

如果您選擇 1. Head node in a public subnet and compute fleet in a private subnet, AWS ParallelCluster 會建立會產生額外費用的 NAT 閘道,即使您指定免費層資源也一樣。

Automate VPC creation? (y/n) [n]: y Allowed values for Availability Zone: 1. us-east-1a 2. us-east-1b 3. us-east-1c 4. us-east-1d 5. us-east-1e 6. us-east-1f Availability Zone [us-east-1a]: Allowed values for Network Configuration: 1. Head node in a public subnet and compute fleet in a private subnet 2. Head node and compute fleet in the same public subnet Network Configuration [Head node in a public subnet and compute fleet in a private subnet]: 1 Beginning VPC creation. Please do not leave the terminal until the creation is finalized

如果您未建立新的 VPC,則必須選取現有的 VPC。

如果您選擇 AWS ParallelCluster 建立 VPC,請記下 VPC ID,以便稍後使用 AWS CLI 將其刪除。

Automate VPC creation? (y/n) [n]: n Allowed values for VPC ID: # id name number_of_subnets --- --------------------- --------------------------------- ------------------- 1 vpc-0b4ad9c4678d3c7ad ParallelClusterVPC-20200118031893 2 2 vpc-0e87c753286f37eef ParallelClusterVPC-20191118233938 5 VPC ID [vpc-0b4ad9c4678d3c7ad]: 1

選取 VPC 之後,決定是否要使用現有的子網路或是建立新的子網路。

Automate Subnet creation? (y/n) [y]: y
Creating CloudFormation stack... Do not leave the terminal until the process has finished
AWS Batch
$ pcluster configure --config config-file.yaml

從有效 AWS 區域 識別符清單中,選擇您要叢集執行 AWS 區域 的位置。

注意

AWS 區域 顯示的 清單取決於您帳戶的分割區。它只包含為您的帳戶啟用 AWS 區域 的 。如需 AWS 區域 為您的帳戶啟用 的詳細資訊,請參閱《》中的管理 AWS 區域AWS 一般參考。顯示的範例來自 AWS 全域分割區。如果您的帳戶位於 AWS GovCloud (US) 分割區中,則只會列出該分割區 AWS 區域 中的 (gov-us-east-1gov-us-west-1)。同樣地,如果您的帳戶位於 AWS 中國分割區中,則只會顯示 cn-northwest-1 cn-north-1和 。如需 AWS 區域 支援的完整清單 AWS ParallelCluster,請參閱 的支援區域 AWS ParallelCluster

Allowed values for AWS 區域 ID: 1. af-south-1 2. ap-east-1 3. ap-northeast-1 4. ap-northeast-2 5. ap-south-1 6. ap-southeast-1 7. ap-southeast-2 8. ca-central-1 9. eu-central-1 10. eu-north-1 11. eu-south-1 12. eu-west-1 13. eu-west-2 14. eu-west-3 15. me-south-1 16. sa-east-1 17. us-east-1 18. us-east-2 19. us-west-1 20. us-west-2 AWS 區域 ID [us-east-1]:

金鑰對是從在所選 中向 Amazon EC2 註冊的金鑰對中選取 AWS 區域。選擇金鑰對:

Allowed values for Amazon EC2 Key Pair Name: 1. your-key-1 2. your-key-2 Amazon EC2 Key Pair Name [your-key-1]:

選擇要與叢集搭配使用的排程器。

Allowed values for Scheduler: 1. slurm 2. awsbatch Scheduler [slurm]: 2

當選取 awsbatch 做為排程器時,alinux2 會用作為作業系統。輸入頭部節點執行個體類型:

Head node instance type [t2.micro]:

選擇佇列組態。 AWS Batch 排程器僅包含單一佇列。已輸入運算節點叢集的大小上限。這是以 vCPU 為單位測量而得。

Number of queues [1]: Name of queue 1 [queue1]: Maximum vCPU [10]:

決定是否使用現有的 VPCs或讓 為您 AWS ParallelCluster 建立 VPCs。如果您沒有適當設定的 VPC, AWS ParallelCluster 可以建立一個新的 VPC。它在相同的公有子網路中使用主節點和運算節點,或僅使用公有子網路中的主節點,而私有子網路中的所有節點。您可以達到 區域中允許的 VPCs 數量配額。VPC 的預設數目為五。如需此配額以及如何請求增加的詳細資訊,請參閱《Amazon VPC 使用者指南》中的 VPC 和子網路

重要

根據預設, 建立VPCs AWS ParallelCluster 不會啟用 VPC 流程日誌。VPC 流程日誌可讓您擷取往返 VPCs 網路介面之 IP 流量的相關資訊。如需詳細資訊,請參閱「Amazon VPC 使用者指南」中的 VPC 流程日誌

如果您讓 AWS ParallelCluster 建立 VPC,請確定您是否決定所有節點都位於公有子網路中。

注意

如果您選擇 1. Head node in a public subnet and compute fleet in a private subnet, AWS ParallelCluster 會建立會產生額外費用的 NAT 閘道,即使您指定免費層資源也一樣。

Automate VPC creation? (y/n) [n]: y Allowed values for Availability Zone: 1. us-east-1a 2. us-east-1b 3. us-east-1c 4. us-east-1d 5. us-east-1e 6. us-east-1f Availability Zone [us-east-1a]: Allowed values for Network Configuration: 1. Head node in a public subnet and compute fleet in a private subnet 2. Head node and compute fleet in the same public subnet Network Configuration [Head node in a public subnet and compute fleet in a private subnet]: *1* Beginning VPC creation. Please do not leave the terminal until the creation is finalized

如果您未建立新的 VPC,則必須選取現有的 VPC。

如果您選擇 AWS ParallelCluster 建立 VPC,請記下 VPC ID,以便您稍後使用 AWS CLI 或 AWS Management Console 將其刪除。

Automate VPC creation? (y/n) [n]: n Allowed values for VPC ID: # id name number_of_subnets --- --------------------- --------------------------------- ------------------- 1 vpc-0b4ad9c4678d3c7ad ParallelClusterVPC-20200118031893 2 2 vpc-0e87c753286f37eef ParallelClusterVPC-20191118233938 5 VPC ID [vpc-0b4ad9c4678d3c7ad]: 1

選取 VPC 之後,請務必決定是否使用現有的子網路或建立新的子網路。

Automate Subnet creation? (y/n) [y]: y
Creating CloudFormation stack... Do not leave the terminal until the process has finished

當您完成上述步驟時,簡單的叢集會啟動至 VPC。VPC 使用支援公有 IP 地址的現有子網路。子網路的路由表為 0.0.0.0/0 => igw-xxxxxx。請注意下列條件:

  • VPC 必須具有 DNS Resolution = yesDNS Hostnames = yes

  • VPC 也必須具有 DHCP 選項,且domain-name適用於 AWS 區域。預設 DHCP 選項集已指定必要 AmazonProvidedDNS。如果指定多個網域名稱伺服器,請參閱《Amazon VPC 使用者指南》中的 DHCP 選項集。使用私有子網路時,請使用 NAT 閘道或內部代理來啟用運算節點的 Web 存取。如需詳細資訊,請參閱網路組態

當所有設定都包含有效值時,您可以執行建立命令來啟動叢集。

$ pcluster create-cluster --cluster-name test-cluster --cluster-configuration cluster-config.yaml { "cluster": { "clusterName": "test-cluster", "cloudformationStackStatus": "CREATE_IN_PROGRESS", "cloudformationStackArn": "arn:aws:cloudformation:eu-west-1:xxx:stack/test-cluster/abcdef0-f678-890a-5abc-021345abcdef", "region": "eu-west-1", "version": "3.7.0", "clusterStatus": "CREATE_IN_PROGRESS" }, "validationMessages": [] }

遵循叢集進度:

$ pcluster describe-cluster --cluster-name test-cluster

$ pcluster list-clusters --query 'clusters[?clusterName==`test-cluster`]'

叢集達到 "clusterStatus": "CREATE_COMPLETE" 狀態後,您可以使用一般 SSH 用戶端設定來連線至叢集。如需連線至 Amazon EC2 執行個體的詳細資訊,請參閱《Amazon EC2 使用者指南》中的 Amazon EC2 使用者指南。或者,您可以透過 連接叢集

$ pcluster ssh --cluster-name test-cluster -i ~/path/to/keyfile.pem

若要刪除叢集,請執行下列命令。

$ pcluster delete-cluster --region us-east-1 --cluster-name test-cluster

刪除叢集後,您可以透過刪除 CloudFormation 網路堆疊來刪除 VPC 中的網路資源。堆疊的名稱以「平行叢集網路」開頭,並包含「YYYYMMDDHHMMSS」格式的建立時間。您可以使用 list-stacks命令列出堆疊。

$ aws --region us-east-1 cloudformation list-stacks \ --stack-status-filter "CREATE_COMPLETE" \ --query "StackSummaries[].StackName" | \ grep -e "parallelclusternetworking-" "parallelclusternetworking-pubpriv-20191029205804"

您可以使用 delete-stack命令刪除堆疊。

$ aws --region us-east-1 cloudformation delete-stack \ --stack-name parallelclusternetworking-pubpriv-20191029205804

為您pcluster configure建立的 VPC 不會在 CloudFormation 網路堆疊中建立。您可以在 主控台或使用 手動刪除該 VPC AWS CLI。

$ aws --region us-east-1 Amazon EC2 delete-vpc --vpc-id vpc-0b4ad9c4678d3c7ad