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

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

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

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

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

設定您的 AWS 憑證。如需詳細資訊,請參閱 使用者指南中的設定 AWS CLIAWS 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 configureCLI命令來啟動精靈,以提示您設定和建立叢集所需的所有資訊,藉此建立第一個叢集。使用 AWS Batch 做為排程器時,序列的詳細資訊與使用 時不同 Slurm.

Slurm
$ 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還是讓 VPC 為您 AWS ParallelCluster 建立 。如果您沒有正確設定的 VPC, AWS ParallelCluster 可以為您建立新的 。它會同時將主機頭和運算節點放在相同的公有子網路中,或僅將主機節點放在公有子網路中,且所有運算節點都位於私有子網路中。如果您讓 AWS ParallelCluster 建立 VPC,則必須決定所有節點是否都位於公有子網路中。如需詳細資訊,請參閱網路組態

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

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

重要

VPCs 根據預設 AWS ParallelCluster , 建立的 不會啟用 VPC Flow Logs。VPC 流程日誌可讓您擷取往返 中網路介面之 IP 流量的相關資訊VPCs。如需詳細資訊,請參閱 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]:

金鑰對是從在所選 EC2中向 Amazon 註冊的金鑰對中選取 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 排程器僅包含單一佇列。輸入運算節點叢集的大小上限。這是在 中測量vCPUs。

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

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

重要

VPCs 根據預設 AWS ParallelCluster , 建立的 不會啟用 VPC Flow Logs。VPC 流程日誌可讓您擷取往返 中網路介面之 IP 流量的相關資訊VPCs。如需詳細資訊,請參閱 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必須具有 domain-name 的正確DHCP選項 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

刪除叢集後,您可以透過刪除網路堆疊來VPC刪除 中的 CloudFormation 網路資源。堆疊的名稱以「平行叢集網路」開頭,包含「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

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

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