

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

# 使用 AWS ParallelCluster 命令列界面設定和建立叢集
<a name="install-v3-configuring"></a>

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

1. 確認 AWS 您的帳戶具有的角色包含執行 CLI [`pcluster`](pcluster-v3.md) 所需的許可。如需詳細資訊，請參閱[AWS ParallelCluster 範例`pcluster`使用者政策](iam-roles-in-parallelcluster-v3.md#iam-roles-in-parallelcluster-v3-example-user-policies)。

1. 設定您的 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 region name [us-east-1]: us-east-1
   Default output format [None]:
   ```

1. 啟動 AWS 區域 叢集的 必須至少有一個 Amazon EC2 金鑰對。如需詳細資訊，請參閱《[Amazon Elastic Compute Cloud Linux 執行個體使用者指南》中的 Amazon Elastic Compute Cloud 金鑰對](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-key-pairs.html)。 **

當您使用 AWS ParallelCluster 命令列界面 (CLI) 時，您只需為建立或更新 AWS ParallelCluster 映像和叢集時建立 AWS 的資源付費。如需詳細資訊，請參閱[AWS 使用的 服務 AWS ParallelCluster](aws-services-v3.md)。

## 設定和建立您的第一個叢集
<a name="install-v3-configuring-create"></a>

若要建立您的第一個叢集，請使用 `pcluster configure` CLI 命令啟動精靈，提示您輸入設定和建立叢集所需的所有資訊。相較於使用 ，使用 AWS Batch 做為排程器時，序列的詳細資訊會有所不同Slurm。

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

```
$  pcluster configure --config cluster-config.yaml
```

從有效 AWS 區域 識別符清單中，選擇您要叢集執行 AWS 區域 的位置。

**注意**  
 AWS 區域 顯示的 清單是以您帳戶的分割區為基礎，且僅包含為您的帳戶啟用 AWS 區域 的 。如需 AWS 區域 為您的帳戶啟用 的詳細資訊，請參閱《》中的[管理 AWS 區域](https://docs.aws.amazon.com/general/latest/gr/rande-manage.html)*AWS 一般參考*。顯示的範例來自 AWS 全域分割區。如果您的帳戶位於 AWS GovCloud (US) 分割區中，則只會列出該分割區 AWS 區域 中的 (`gov-us-east-1` 和 `gov-us-west-1`)。同樣地，如果您的帳戶位於 AWS 中國分割區中，則只會顯示 `cn-northwest-1` `cn-north-1`和 。如需 支援的完整清單 AWS 區域 AWS ParallelCluster，請參閱 [支援 AWS 區域 AWS ParallelCluster](supported-regions.md)。

```
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. ap-southeast-3
9. ap-southeast-5
10. ap-southeast-7
11. ca-central-1
12. eu-central-1
13. eu-north-1
14. eu-south-1
15. eu-west-1
16. eu-west-2
17. eu-west-3
18. il-central-1
19. me-south-1
20. sa-east-1
21. us-east-1
22. us-east-2
23. us-west-1
24. 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. alinux2023
3. ubuntu2404
4. ubuntu2204
6. rhel8
7. rhel9
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 ，無需額外費用：
+ 選擇[支援 Elastic Fabric Adapter (EFA) ](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/efa.html#efa-instance-types)的執行個體類型。
+ 啟用 [EFA](efa-v3.md)。
+ 指定現有的[置放群組](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/placement-groups.html)名稱。如果您將其保留空白， 會為您 AWS ParallelCluster 建立一個。

```
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，則必須決定所有節點是否位於公有子網路中。如需詳細資訊，請參閱[網路組態](network-configuration-v3.md)。

如果您將叢集設定為使用具有多個網路介面或網路卡的執行個體類型，請參閱 [網路組態](network-configuration-v3.md) 以取得其他聯網需求。

您可以達到 中允許的 VPCs 數量配額 AWS 區域。預設配額為 VPCs AWS 區域。如需此配額以及如何請求增加的詳細資訊，請參閱《*Amazon* [VPC 使用者指南》中的 VPC 和子網路](https://docs.aws.amazon.com/vpc/latest/userguide/amazon-vpc-limits.html#vpc-limits-vpcs-subnets)。

**重要**  
根據預設， 建立的 VPCs AWS ParallelCluster 不會啟用 VPC 流程日誌。VPC 流程日誌可讓您擷取往返 VPCs 中網路介面之 IP 流量的相關資訊。如需詳細資訊，請參閱「Amazon VPC 使用者指南」**中的 [VPC 流程日誌](https://docs.aws.amazon.com/vpc/latest/userguide/flow-logs.html)。

如果您讓 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 cluster-config.yaml
```

從有效 AWS 區域 識別符清單中，選擇您要叢集執行 AWS 區域 的位置。

**注意**  
 AWS 區域 顯示的 清單取決於您帳戶的分割區。它只包含為您的帳戶 AWS 區域 啟用的 。如需 AWS 區域 為您的帳戶啟用 的詳細資訊，請參閱《》中的[管理 AWS 區域](https://docs.aws.amazon.com/general/latest/gr/rande-manage.html)*AWS 一般參考*。顯示的範例來自 AWS 全域分割區。如果您的帳戶位於 AWS GovCloud (US) 分割區中，則只會列出該分割區 AWS 區域 中的 (`gov-us-east-1` 和 `gov-us-west-1`)。同樣地，如果您的帳戶位於 AWS 中國分割區中，則只會顯示 `cn-northwest-1` `cn-north-1`和 。如需 AWS 區域 支援的完整清單 AWS ParallelCluster，請參閱 [支援 AWS 區域 AWS ParallelCluster](supported-regions.md)。

```
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. ap-southeast-3
9. ap-southeast-5
10. ap-southeast-7
11. ca-central-1
12. eu-central-1
13. eu-north-1
14. eu-south-1
15. eu-west-1
16. eu-west-2
17. eu-west-3
18. il-central-1
19. me-south-1
20. sa-east-1
21. us-east-1
22. us-east-2
23. us-west-1
24. us-west-2
AWS 區域 ID [us-east-1]:
```

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

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

決定要使用現有的 VPCs或讓 為您 AWS ParallelCluster 建立 VPCs。如果您沒有適當設定的 VPC， AWS ParallelCluster 可以建立一個新的 VPC。它在相同的公有子網路中同時使用前端節點和運算節點，或僅使用公有子網路中具有私有子網路中所有節點的前端節點。您可以達到區域中允許的 VPCs 數量配額。VPC 的預設數目為五。如需此配額以及如何請求增加的詳細資訊，請參閱《*Amazon* [VPC 使用者指南》中的 VPC 和子網路](https://docs.aws.amazon.com/vpc/latest/userguide/amazon-vpc-limits.html#vpc-limits-vpcs-subnets)。

**重要**  
根據預設， 建立的 VPCs AWS ParallelCluster 不會啟用 VPC 流程日誌。VPC 流程日誌可讓您擷取往返 VPCs 中網路介面之 IP 流量的相關資訊。如需詳細資訊，請參閱「Amazon VPC 使用者指南」**中的 [VPC 流程日誌](https://docs.aws.amazon.com/vpc/latest/userguide/flow-logs.html)。

如果您讓 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 管理主控台 將其刪除。

```
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 也必須具有 DHCP 選項，且`domain-name`適用於 AWS 區域。預設 DHCP 選項集已指定必要 AmazonProvidedDNS。如果指定多個網域名稱伺服器，請參閱《*Amazon VPC 使用者指南*》中的 [DHCP 選項集](https://docs.aws.amazon.com/vpc/latest/userguide/VPC_DHCP_Options.html)。使用私有子網路時，請使用 NAT 閘道或內部代理來啟用運算節點的 Web 存取。如需詳細資訊，請參閱[網路組態](network-configuration-v3.md)。

當所有設定都包含有效值時，您可以執行建立命令來啟動叢集。

```
$ 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.15.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 使用者指南](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EC2_GetStarted.html#ec2-connect-to-instance-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
```

刪除叢集之後，您可以透過刪除 CloudFormation 網路堆疊來刪除 VPC 中的網路資源。堆疊的名稱開頭為「parallelclusternetworking-」，並包含「YYYYMMDDHHMMSS」格式的建立時間。您可以使用 [https://docs.aws.amazon.com/goto/aws-cli/cloudformation-2010-05-15/ListStacks](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"
```

 您可以使用 [https://docs.aws.amazon.com/goto/aws-cli/cloudformation-2010-05-15/DeleteStack](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-v3.md)建立的 VPC *不會*在 CloudFormation 網路堆疊中建立。您可以在 主控台或使用 手動刪除該 VPC AWS CLI。

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