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

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

配置 Amazon ParallelCluster

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

验证您的 Amazon 账户是否具有包含运行 pcluster CLI 所需的权限的角色。有关更多信息,请参阅 Amazon ParallelCluster 实例和用户策略示例

设置您的 Amazon 凭证。有关更多信息,请参阅 Amazon CLI 用户指南 中的配置 Amazon CLI

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

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

$ pcluster configure

该配置向导会提示您输入所需的所有信息以创建集群。与使用 Slurm 相比,使用 Amazon Batch 作为调度器时序列的详细信息有所不同。有关集群配置的更多信息,请参阅配置

注意

从版本 2.11.5 开始,Amazon ParallelCluster 不支持使用 SGE 或 Torque 调度器。您可以在 2.11.4 及之前的版本中继续使用这些调度器,但它们没有资格获得 Amazon 服务和 Amazon 支持团队的未来更新或故障排除支持。

Slurm

从有效的 Amazon Web Services 区域 标识符列表中,选择要在其中运行集群的 Amazon Web Services 区域。

注意

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

Allowed values for the Amazon Web Services 区域 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]:

选择要用于集群的计划程序。

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

在 Amazon ParallelCluster 版本 2.6.0 中添加了对 alinux2 的支持。

输入计算节点集群的最小和最大大小。这是用实例数来衡量的。

Minimum cluster size (instances) [0]: Maximum cluster size (instances) [10]:

输入头节点和计算节点的实例类型。对于实例类型,您的账户实例限制足够大,足以满足您的要求。有关更多信息,请参阅 Amazon EC2 用户指南(适用于 Linux 实例)中的按需型实例限制

Master instance type [t2.micro]: Compute instance type [t2.micro]:

从向所选 Amazon Web Services 区域中的 Amazon EC2 注册的密钥对中选择密钥对。

Allowed values for EC2 Key Pair Name: 1. prod-uswest1-key 2. test-uswest1-key EC2 Key Pair Name [prod-uswest1-key]:

完成前面的步骤后,决定是使用现有 VPC 还是让 Amazon ParallelCluster 创建 VPC。如果没有正确配置的 VPC,Amazon ParallelCluster 可以创建新的 VPC。它将使用同一公有子网中的头节点和计算节点,或者仅使用公有子网中的头节点,所有节点都在私有子网中。可能会达到 Amazon Web Services 区域中 VPC 数量的限制。默认限制是每个 Amazon Web Services 区域五个 VPC。有关此限制以及如何请求提高限制的更多信息,请参阅 Amazon VPC 用户指南 中的 VPC 和子网

如果让 Amazon ParallelCluster 创建 VPC,则必须决定是否所有节点都应位于公有子网中。

重要

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

注意

如果您选择 1. Master in a public subnet and compute fleet in a private subnet,Amazon ParallelCluster 将会创建一个 NAT 网关,即使您指定了免费套餐资源,也会产生额外费用。

Automate VPC creation? (y/n) [n]: y Allowed values for Network Configuration: 1. Master in a public subnet and compute fleet in a private subnet 2. Master and compute fleet in the same public subnet Network Configuration [Master 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 区域。

Allowed values for Amazon Web Services 区域 ID: 1. ap-northeast-1 2. ap-northeast-2 3. ap-south-1 4. ap-southeast-1 5. ap-southeast-2 6. ca-central-1 7. eu-central-1 8. eu-north-1 9. eu-west-1 10. eu-west-2 11. eu-west-3 12. sa-east-1 13. us-east-1 14. us-east-2 15. us-west-1 16. us-west-2 Amazon Web Services 区域 ID [ap-northeast-1]:

选择要用于集群的计划程序。

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

当选择 awsbatch 作为计划程序时,alinux2 将用作操作系统。

输入计算节点集群的最小和最大大小。这是以 vCPU 来衡量的。

Minimum cluster size (vcpus) [0]: Maximum cluster size (vcpus) [10]:

输入头节点实例类型。使用 awsbatch 调度器时,计算节点使用的实例类型为 optimal

Master instance type [t2.micro]:

从向所选 Amazon Web Services 区域中的 Amazon EC2 注册的密钥对中选择 Amazon EC2 密钥对。

Allowed values for EC2 Key Pair Name: 1. prod-uswest1-key 2. test-uswest1-key EC2 Key Pair Name [prod-uswest1-key]:

决定是使用现有 VPC 还是让 Amazon ParallelCluster 创建 VPC。如果没有正确配置的 VPC,Amazon ParallelCluster 可以创建新的 VPC。它将使用同一公有子网中的头节点和计算节点,或者仅使用公有子网中的头节点,所有节点都在私有子网中。可能会达到 Amazon Web Services 区域中 VPC 数量的限制。默认的 VPC 数量为五个。有关此限制以及如何请求提高限制的更多信息,请参阅 Amazon VPC 用户指南 中的 VPC 和子网

重要

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

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

注意

如果您选择 1. Master in a public subnet and compute fleet in a private subnet,Amazon ParallelCluster 将会创建一个 NAT 网关,即使您指定了免费套餐资源,也会产生额外费用。

Automate VPC creation? (y/n) [n]: y Allowed values for Network Configuration: 1. Master in a public subnet and compute fleet in a private subnet 2. Master and compute fleet in the same public subnet Network Configuration [Master 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

完成上述步骤后,一个简单集群将启动到 VPC 中。VPC 使用支持公有 IP 地址的现有子网。该子网的路由表为 0.0.0.0/0 => igw-xxxxxx。请注意以下条件:

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

  • VPC 还应具有带适用于 Amazon Web Services 区域的正确 domain-name 的 DHCP 选项。默认 DHCP 选项集已经指定了所需的 AmazonProvidedDNS。如果指定多个域名服务器,请参阅 Amazon VPC 用户指南 中的 DHCP 选项集。使用私有子网时,请使用 NAT 网关或内部代理为计算节点启用 Web 访问。有关更多信息,请参阅 网络配置

但所有设置都包含有效值时,您可以通过运行创建命令来启动集群:

$ pcluster create mycluster

在集群达到“CREATE_COMPLETE”状态后,您可以使用常规 SSH 客户端设置连接到该集群。有关连接到 Amazon EC2 实例的更多信息,请参阅 Amazon EC2 用户指南(适用于 Linux 实例)中的 EC2 用户指南

要删除该集群,请运行以下命令。

$ pcluster delete --region us-east-1 mycluster

要删除 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

pcluster configure 创建的 VPC 不是在 CloudFormation 网络堆栈中创建的。您可以在控制台中或者通过使用 Amazon CLI,手动删除该 VPC。

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