

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

# 正在配置 AWS ParallelCluster
<a name="getting-started-configuring-parallelcluster"></a>

安装后 AWS ParallelCluster，完成以下配置步骤。

验证您的 AWS 账户是否具有包含运行 [`pcluster`](pcluster.md) CLI 所需的权限的角色。有关更多信息，请参阅 [AWS ParallelCluster 实例和用户策略示例](iam.md#example-parallelcluser-policies)。

设置您的 AWS 凭证。有关更多信息，请参阅 *AWS CLI 用户指南* 中的[配置 AWS CLI](https://docs.aws.amazon.com/cli/latest/userguide/cli-chap-configure.html)。

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

集群的启动 AWS 区域 位置必须至少有一个 Amazon EC2 密钥对。有关更多信息，请参阅《[亚马逊* EC2 用户指南》中的亚马逊 EC2 *密钥对](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-key-pairs.html)。

```
$ pcluster configure
```

该配置向导会提示您输入所需的所有信息以创建集群。 AWS Batch 用作调度器时序列的细节与使用时序列的细节不同 Slurm。 有关集群配置的更多信息，请参阅[配置](configuration.md)。

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

------
#### [ Slurm ]

从有效 AWS 区域 标识符列表中，选择您希望集群运行 AWS 区域 的位置。

**注意**  
 AWS 区域 显示的列表基于您的账户分区，仅包括为您的账户启 AWS 区域 用的分区。有关为您的账户启 AWS 区域 用的更多信息，请参阅 AWS 区域中的[管理*AWS 一般参考*](https://docs.aws.amazon.com/general/latest/gr/rande-manage.html)。显示的示例来自 AWS 全局分区。如果您的账户在 AWS GovCloud (US) 分区中，则只会列出该分区 AWS 区域 中的账户（`gov-us-east-1`和`gov-us-west-1`）。同样，如果您的账户位于 AWS 中国分区，则`cn-north-1`仅显示`cn-northwest-1`和。有关 AWS 区域 支持的完整列表 AWS ParallelCluster，请参阅[支持的区域](supported-regions.md)。

```
Allowed values for the 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]:
```

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

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

**注意**  
在 2.6.0 AWS ParallelCluster 版本中添加`alinux2`了对 Support 的支持。

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

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

输入头节点和计算节点的实例类型。对于实例类型，您的账户实例限制足够大，足以满足您的要求。有关更多信息，请参阅 *Amazon EC2 用户指南*中的[按需实例限制](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-on-demand-instances.html#ec2-on-demand-instances-limits)。

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

密钥对是从选定的 Amazon EC2 注册的密钥对中选择的 AWS 区域。

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

完成前面的步骤后，决定是使用现有 VPC 还是让你 AWS ParallelCluster 创建 VPC。如果您没有正确配置的 VPC， AWS ParallelCluster 可以创建一个新的 VPC。它将使用同一公有子网中的头节点和计算节点，或者仅使用公有子网中的头节点，所有节点都在私有子网中。可以达到你对a VPCs 中的数量的限制 AWS 区域。每个的默认限制 VPCs 为五个 AWS 区域。有关此限制以及如何请求提高限制的更多信息，请参阅 *Amazon VPC 用户指南* 中的 [VPC 和子网](https://docs.aws.amazon.com/vpc/latest/userguide/amazon-vpc-limits.html#vpc-limits-vpcs-subnets)。

如果您允许 AWS ParallelCluster 创建 VPC，则必须决定是否所有节点都应位于公有子网中。

**重要**  
VPCs 创建者默认情况下 AWS ParallelCluster 不启用 VPC 流日志。VPC 流日志使您能够捕获有关进出您的网络接口的 IP 流量的信息 VPCs。有关更多信息，请参阅《Amazon VPC 用户指南》**中的 [VPC 流日志](https://docs.aws.amazon.com/vpc/latest/userguide/flow-logs.html)。

**注意**  
如果您选择 `1. Master in a public subnet and compute fleet in a private subnet`， AWS 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。

如果您选择 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 ]

从有效 AWS 区域 标识符列表中，选择您希望集群运行 AWS 区域 的位置。

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

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

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

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

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

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

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

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

Amazon EC2 密钥对是从选定的 Amazon 注册的密钥对 EC2 中选出的 AWS 区域。

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

决定是使用现有 VPCs 还是让自己 AWS ParallelCluster VPCs 创建。如果您没有正确配置的 VPC， AWS ParallelCluster 可以创建一个新的 VPC。它将使用同一公有子网中的头节点和计算节点，或者仅使用公有子网中的头节点，所有节点都在私有子网中。可以达到你对a VPCs 中的数量的限制 AWS 区域。默认数字 VPCs 为五。有关此限制以及如何请求提高限制的更多信息，请参阅 *Amazon VPC 用户指南* 中的 [VPC 和子网](https://docs.aws.amazon.com/vpc/latest/userguide/amazon-vpc-limits.html#vpc-limits-vpcs-subnets)。

**重要**  
VPCs 创建者默认情况下 AWS ParallelCluster 不启用 VPC 流日志。VPC 流日志使您能够捕获有关进出您的网络接口的 IP 流量的信息 VPCs。有关更多信息，请参阅《Amazon VPC 用户指南》**中的 [VPC 流日志](https://docs.aws.amazon.com/vpc/latest/userguide/flow-logs.html)。

如果您允许 AWS ParallelCluster 创建 VPC，请决定是否所有节点都应位于公有子网中。

**注意**  
如果您选择 `1. Master in a public subnet and compute fleet in a private subnet`， AWS 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。

如果您选择 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
```

------

完成上述步骤后，一个简单集群将启动到 VPC 中。VPC 使用支持公有 IP 地址的现有子网。该子网的路由表为 `0.0.0.0/0 => igw-xxxxxx`。请注意以下条件：
+ VPC 必须具有 `DNS Resolution = yes` 和 `DNS Hostnames = yes`。
+ VPC 还应具有带适用于 AWS 区域的正确 `domain-name` 的 DHCP 选项。默认 DHCP 选项集已经指定了所需的 AmazonProvidedDNS。 如果指定多个域名服务器，请参阅 *Amazon VPC 用户指南*中的 [DHCP 选项集](https://docs.aws.amazon.com/vpc/latest/userguide/VPC_DHCP_Options.html)。使用私有子网时，请使用 NAT 网关或内部代理为计算节点启用 Web 访问。有关更多信息，请参阅 [网络配置](networking.md)。

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

```
$ pcluster create mycluster
```

在集群达到“CREATE\$1COMPLETE”状态后，您可以使用常规 SSH 客户端设置连接到该集群。有关连接亚马逊 EC2 实例的更多信息，请参阅*亚马逊[EC2 用户指南](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EC2_GetStarted.html#ec2-connect-to-instance-linux)中的 EC2 用户指南*。

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

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

要删除 VPC 中的网络资源，您可以删除 CloudFormation 网络堆栈。堆栈名称以” 开头parallelclusternetworking-“并包含 “YYYYMMDDHHMSS” 格式的创建时间。您可以使用 [list-stacks](https://docs.aws.amazon.com/goto/aws-cli/cloudformation-2010-05-15/ListStacks) 命令列出堆栈。

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

可以使用 [delete-stack](https://docs.aws.amazon.com/goto/aws-cli/cloudformation-2010-05-15/DeleteStack) 命令删除堆栈。

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

为您[`pcluster configure`](pcluster.configure.md)创建的 VPC 不是在 CloudFormation 网络堆栈中创建的。您可以在控制台中或者通过使用 AWS CLI，手动删除该 VPC。

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