使用 AWS ParallelCluster 命令行界面配置和創建集群 - AWS ParallelCluster

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

使用 AWS ParallelCluster 命令行界面配置和創建集群

安裝之後 AWS ParallelCluster,請完成下列設定步驟。

確認您的 AWS 帳戶具有包含執行 pcluster CLI 所需權限的角色。如需詳細資訊,請參閱 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 key pair。如需詳細資訊,請參閱 Amazon 彈性運算雲端 Linux 執行個體使用者指南中的 Amazon 彈性運算雲端金鑰對

使用命 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-north-1cn-northwest-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]:

key pair 是從所選取的 Amazon 彈性運算雲端註冊的金鑰配對中選取的 AWS 區域。選擇 key pair:

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. centos7 3. ubuntu2204 4. ubuntu2004 5. 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,則必須決定是否所有節點都位於公用子網路中。如需詳細資訊,請參閱 網路組態

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

有可能達到您的配額,以達到 AWS 區域. 預設配額為五個 VPC (用於 AWS 區域. 如需有關此配額以及如何申請增加的詳細資訊,請參閱 Amazon VPC 使用者指南中的 VPC 和子網路

重要

依預設,由建立的 VPC AWS ParallelCluster 不會啟用 VPC 流程記錄。VPC 流程記錄可讓您擷取 VPC 中進出網路介面的 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-north-1cn-northwest-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 註冊的 key pair 中選取的 AWS 區域。選擇 key pair:

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]:

決定要使用現有的 VPC 還是讓您 AWS ParallelCluster 建立 VPC。如果您沒有適當設定的 VPC, AWS ParallelCluster 可以建立一個新的 VPC。它可以同時使用相同公有子網路中的頭節點和計算節點,或者只使用公有子網路中的頭節點,其中包含私有子網路中的所有節點。您可以根據區域允許的 VPC 數量達到配額。VPC 的預設數目為五。如需有關此配額以及如何申請增加的詳細資訊,請參閱 Amazon VPC 使用者指南中的 VPC 和子網路

重要

依預設,由建立的 VPC AWS ParallelCluster 不會啟用 VPC 流程記錄。VPC 流程記錄可讓您擷取 VPC 中進出網路介面的 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 端也必須具有正確domain-name的 DHCP 選項。 AWS 區域預設 DHCP 選項集已指定必要 AmazonProvidedDNS。如果指定多個網域名稱伺服器,請參閱 Amazon VPC 使用者指南中的 DHCP 選項集。使用私有子網路時,請使用 NAT 閘道或內部 Proxy 來啟用運算節點的 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 網路資源。堆疊的名稱以「平行叢集網路」開頭,並以「YYYYMMDHDHMMSS」格式包含建立時間。您可以使用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