配置 Amazon ParallelCluster - Amazon ParallelCluster
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 Amazon Web Services 服务入门

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

配置 Amazon ParallelCluster

安装后Amazon ParallelCluster,完成以下配置步骤。

验证您的Amazon账户的角色包括运行所需的权限pclusterCLI。有关更多信息,请参阅 Amazon ParallelCluster用户策略示例

设置您的Amazon凭证。有关更多信息,请参阅配置Amazon CLI在里面Amazon 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]:

这些区域有:Amazon Web Services 区域集群的启动位置必须至少有一对 Amazon EC2 key pair。有关更多信息,请参阅适用于 Linux 实例的 Amazon EC2 用户指南中的 Amazon EC2 密钥对

$ pcluster configure --config cluster-config.yaml

配置向导会提示您输入创建集群所需的所有信息。使用时序列的细节会有所不同Amazon Batch作为调度器与使用相比Slurm.

Slurm

来自有效清单Amazon Web Services 区域标识符,选择要运行集群的区域。

注意

显示的区域列表基于您的账户分区,仅包括为您的账户启用的区域。有关为账户启用区域的更多信息,请参阅管理Amazon Web Services 区域在里面Amazon一般参考. 显示的示例来自Amazon全局分区。如果你的账户在Amazon GovCloud (US)分区,仅列出该分区中的区域 (gov-us-east-1gov-us-west-1)。同样,如果您的账户位于Amazon仅限中国分治cn-north-1cn-northwest-1如图所示。有关支持的区域的完整列表Amazon ParallelCluster,请参阅的支持区域Amazon ParallelCluster版本 3.

Allowed values for AWS Region 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 Amazon Web Services 区域 ID [ap-northeast-1]:

key pair 是从在所选区域注册到 Amazon EC2 的密钥对中选择的。选择key pair:

Allowed values for EC2 Key Pair Name: 1. your-key-1 2. your-key-2 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. ubuntu1804 4. ubuntu2004 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 大规模运行需要高级别实例间通信的应用程序Amazon不另外收取费用:

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 还是让Amazon ParallelCluster为您创建 VPC。如果您没有正确配置的 VPC,Amazon ParallelCluster可以为您创建一个新的角色。它要么将头节点和计算节点放在同一个公有子网中,要么只将头节点放在公有子网中,所有计算节点都在私有子网中。如果你让Amazon ParallelCluster创建 VPC,则必须决定是否所有节点都位于公有子网中。有关更多信息,请参阅 网络配置

如果您将集群配置为使用具有多个网络接口或网卡的实例类型,请参阅网络配置以满足其他联网要求。

可以达到一个地区允许的 VPC 数量的配额。一个区域的默认配额为五个 VPC。有关此配额以及如何请求提高配额的更多信息,请参阅VPC 和子网在里面Amazon VPC User Guide.

重要

创建的 VPCAmazon ParallelCluster默认情况下,请勿启用 VPC 流日志。利用 VPC 流日志您可以捕获有关传入和传出您的 VPC 中的网络接口的 IP 流量的信息。有关更多信息,请参阅 Amazon VPC 用户指南 中的 VPC 流日志

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。

如果你选择拥有Amazon ParallelCluster创建 VPC,记下 VPC ID 这样你就可以使用Amazon 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
Amazon Batch

来自有效清单Amazon Web Services 区域标识符,选择要运行集群的区域。

注意

显示的区域列表基于您的账户分区。它仅包含已为您账户启用的区域。有关为账户启用区域的更多信息,请参阅管理Amazon Web Services 区域在里面Amazon一般参考. 显示的示例来自Amazon全局分区。如果你的账户在Amazon GovCloud (US)分区,仅列出该分区中的区域 (gov-us-east-1gov-us-west-1)。同样,如果您的账户位于Amazon仅限中国分治cn-north-1cn-northwest-1如图所示。有关支持的区域的完整列表Amazon ParallelCluster,请参阅的支持区域Amazon ParallelCluster版本 3.

Allowed values for AWS Region 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 Region ID [us-east-1]:

key pair 是从所选区域在 Amazon EC2 注册的密钥对中选择的。选择key pair:

Allowed values for EC2 Key Pair Name: 1. your-key-1 2. your-key-2 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]:

选择队列配置。这些区域有:Amazon Batch调度器仅包含单个队列。输入计算节点集群的最大大小。这是以 vCPUs 来衡量的。

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

决定是使用现有 VPC 还是让Amazon ParallelCluster为你创建 VPC。如果您没有正确配置的 VPC,Amazon ParallelCluster可以创建一个新的角色。它要么在同一个公有子网中同时使用头节点和计算节点,要么只使用公有子网中的头节点,所有节点都在私有子网中。可以在一个区域中达到允许的 VPC 数量配额。VPC 的默认数量为五个。有关此配额以及如何请求提高配额的更多信息,请参阅VPC 和子网在里面Amazon VPC User Guide.

重要

创建的 VPCAmazon ParallelCluster默认情况下,请勿启用 VPC 流日志。利用 VPC 流日志您可以捕获有关传入和传出您的 VPC 中的网络接口的 IP 流量的信息。有关更多信息,请参阅 Amazon VPC 用户指南 中的 VPC 流日志

如果你让Amazon ParallelCluster创建 VPC,确保您决定是否所有节点都位于公有子网中。

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。

如果你选择拥有Amazon ParallelCluster创建 VPC,记下 VPC ID 这样你就可以使用Amazon CLI要么Amazon Web Services 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适用于该地区。默认 DHCP 选项集已经指定了所需的AmazonProvidedDNS. 如果要指定多台域名服务器,请参阅DHCP 选项集在里面Amazon VPC User Guide. 使用私有子网时,使用 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.2.1", "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 实例的更多信息,请参阅EC2 用户指南在里面适用于 Linux 实例的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 网络堆栈。堆栈的名称以 “parallelclusternetworking-” 开头,包含 “YYYYMMDDHHMSS” 格式的创建时间。您可以使用以下命令列出堆栈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,也可以使用Amazon CLI.

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