

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

# 在 AWS PCS 中建立運算節點群組
<a name="getting-started_create-cng"></a>

 運算節點群組是 AWS PCS 啟動和管理的運算節點 (EC2 執行個體） 虛擬集合。當您定義運算節點群組時，您可以指定常見的特徵，例如 EC2 執行個體類型、執行個體數量下限和上限、目標 VPC 子網路、偏好的購買選項，以及自訂啟動組態。 AWS PCS 會根據這些設定，有效率地啟動、管理和終止運算節點群組中的運算節點。示範叢集使用運算節點群組來提供登入節點以供使用者存取，並使用個別的運算節點群組來處理任務。下列主題說明在叢集中設定這些運算節點群組的程序。

**Topics**
+ [建立 AWS PCS 的執行個體描述檔](getting-started_create-cng_instance-profile.md)
+ [建立 AWS PCS 的啟動範本](getting-started_create-cng_launch-templates.md)
+ [在 AWS PCS 中建立登入節點的運算節點群組](getting-started_create-cng_login-nodes.md)
+ [建立運算節點群組以在 AWS PCS 中執行運算任務](getting-started_create-cng_workers.md)

# 建立 AWS PCS 的執行個體描述檔
<a name="getting-started_create-cng_instance-profile"></a>

運算節點群組在建立時需要執行個體描述檔。如果使用 AWS 管理主控台 為 Amazon EC2 建立角色，則主控台會自動建立執行個體描述檔，並將其命名為與角色相同的名稱。如需詳細資訊，請參閱*AWS Identity and Access Management 《 使用者指南*》中的[使用執行個體描述](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_use_switch-role-ec2_instance-profiles.html)檔。

 在下列程序中，您可以使用 AWS 管理主控台 為 Amazon EC2 建立角色，該角色也會為您的運算節點群組建立執行個體描述檔。

**建立角色和執行個體描述檔**
+ 導覽至 [IAM 主控台](https://console.aws.amazon.com/iam)。
+ 在 **Access management** (存取管理) 下，請選擇 **Policies** (政策)。
  + 選擇 **Create policy** (建立政策)。
  + 在**指定許可**下，針對**政策編輯器**，選擇 **JSON**。
  + 將文字編輯器的內容取代為以下內容：

------
#### [ JSON ]

****  

    ```
    {
        "Version":"2012-10-17",		 	 	 
        "Statement": [
            {
                "Action": [
                    "pcs:RegisterComputeNodeGroupInstance"
                ],
                "Resource": "*",
                "Effect": "Allow"
            }
        ]
    }
    ```

------
  + 選擇**下一步**。
  + 在**檢閱和建立**下，針對**政策名稱**輸入 `AWSPCS-getstarted-policy`。
  + 選擇**建立政策**。
+ 在 **Access management** (存取管理) 下，請選擇 **Roles** (角色)。
+ 選擇建**立角色**。
+ 在**選取信任的實體**下：
  + 針對**信任的實體類型**，選取**AWS 服務**
  + 在**使用案例**下，選取 **EC2**。
    + 然後，在**選擇指定服務的使用案例**下，選擇 **EC2**。
  + 選擇**下一步**。
+ 在**新增許可**下：
  + 在**許可政策**中，搜尋 **AWSPCS-getstarted-policy**。
  + 勾選 **AWSPCS-getstarted-policy** 旁的方塊，將其新增至角色。
  + 在**許可政策**中，搜尋 **AmazonSSMManagedInstanceCore**。
  + 勾選 **AmazonSSMManagedInstanceCore** 旁的方塊，將其新增至角色。
  + 選擇**下一步**。
+ 在**名稱下，檢閱和建立**：
  + 在**角色詳細資訊**下：
    + 在**角色名稱**中，輸入 `AWSPCS-getstarted-role`。
  + 選擇建**立角色**。

# 建立 AWS PCS 的啟動範本
<a name="getting-started_create-cng_launch-templates"></a>

 當您建立運算節點群組時，您會提供 EC2 啟動範本，供 AWS PCS 用來設定其啟動的 EC2 執行個體。這包括設定，例如在執行個體啟動時執行的安全群組和指令碼。

 在此步驟中，一個 CloudFormation 範本將用於建立兩個 EC2 啟動範本。一個範本將用於建立登入節點，另一個則用於建立運算節點。兩者之間的主要區別在於，登入節點可以設定為允許傳入 SSH 存取。

## 存取 CloudFormation 範本
<a name="getting-started_create-cng_launch-templates_get-cfn-template"></a>

 使用以下 URL 下載 CloudFormation 範本，然後在[CloudFormation 主控台](https://console.aws.amazon.com/cloudformation/home#/stacks/create)中上傳範本以建立新的 CloudFormation 堆疊。如需詳細資訊，請參閱*AWS CloudFormation 《 使用者指南*》中的[使用 CloudFormation 主控台](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/cfn-using-console.html)。

```
https://aws-hpc-recipes.s3.amazonaws.com/main/recipes/pcs/getting_started/assets/pcs-lt-efs-fsxl.yaml
```

## 使用 CloudFormation 範本建立 EC2 啟動範本
<a name="getting-started_create-cng_launch-templates_use-cfn-template"></a>

 使用下列程序在 CloudFormation 主控台中完成 CloudFormation 範本 
+ 在**提供堆疊名稱**下：
  + 在**堆疊名稱**下，輸入 `getstarted-lt`。
+ 在**參數**下：
  + 在**安全性**下
    + 針對 **VpcSecurityGroupId**，選取叢集 VPC `default`中名為 的安全群組。
    + 針對 **ClusterSecurityGroupId**，選取名為 的群組 `cluster-getstarted-sg`
    + 針對 **SshSecurityGroupId**，選取名為 的群組 `inbound-ssh-getstarted-sg`
    + 對於 **SshKeyName**，選取您偏好的 SSH 金鑰對。
  + **檔案系統**下
    + 對於 **EfsFilesystemId**，輸入您在教學中稍早建立的 EFS 檔案系統中的檔案系統 ID。
    + 對於 **FSxLustreFilesystemId**，輸入您在教學中稍早建立的 FSx for Lustre 檔案系統的檔案系統 ID。
    + 針對 **FSxLustreFilesystemMountName**，輸入相同 FSx for Lustre 檔案系統的掛載名稱。
+ 選擇**下一步**，然後再次選擇**下一步**。
+ 選擇**提交**。

 監控 CloudFormation 堆疊的狀態。當它到達`CREATE_COMPLETE`啟動範本時，即可使用。

**注意**  
若要查看 CloudFormation 範本建立的所有資源，請開啟 [CloudFormation 主控台](https://console.aws.amazon.com/cloudformation)。選擇 `getstarted-lt` 堆疊，然後選擇 **Resources** (資源) 索引標籤。

# 在 AWS PCS 中建立登入節點的運算節點群組
<a name="getting-started_create-cng_login-nodes"></a>

 運算節點群組是 AWS PCS 啟動和管理的運算節點 (EC2 執行個體） 虛擬集合。當您定義運算節點群組時，您可以指定常見的特徵，例如 EC2 執行個體類型、執行個體數量下限和上限、目標 VPC 子網路、偏好的購買選項，以及自訂啟動組態。 AWS PCS 會根據這些設定，有效率地啟動、管理和終止運算節點群組中的運算節點。

 在此步驟中，您將啟動靜態運算節點群組，以互動方式存取叢集。您可以使用 SSH 或 Amazon EC2 Systems Manager (SSM) 登入，然後執行 shell 命令和管理 Slurm 任務。

**建立運算節點群組**
+ 開啟 [AWS PCS 主控台](https://console.aws.amazon.com/pcs)並導覽至**叢集**。
+ 選取名為 的叢集 `get-started`
+ 導覽至**運算節點群組**，然後選擇**建立**。
+ 在**運算節點群組設定**區段中，提供下列項目：
  + **運算節點群組名稱** – 輸入 `login`。
+ 在**運算組態**下，輸入或選取這些值：
  + **EC2 啟動範本** – 選擇名稱為 的啟動範本 `login-getstarted-lt`
  + **IAM 執行個體描述檔** – 選擇名為 的執行個體描述檔 `AWSPCS-getstarted-role`
  + **子網路** – 選取名稱以 開頭的子網路`hpc-networking:PublicSubnetA`。
  + **執行個體** – 選取 `c6i.xlarge`。
  + **擴展組態** – 針對**最小執行個體計數**，輸入 `1`。針對**執行個體計數上限**，輸入 `1`。
+ 在**其他設定**下，指定下列項目：
  + **AMI ID** – 選取您要使用的 AMI，其名稱格式如下：

    ```
    aws-pcs-sample_ami-amzn2-platform-slurm-version
    ```

    如需範例 AMIs的詳細資訊，請參閱 [搭配 AWS PCS 使用範例 Amazon Machine Image AMIs)](working-with_ami_samples.md)。
+ 選擇**建立運算節點群組**。

 **狀態**欄位會顯示正在佈建運算節點群組時的**建立**。您可以在教學課程中繼續下一個步驟。

# 建立運算節點群組以在 AWS PCS 中執行運算任務
<a name="getting-started_create-cng_workers"></a>

 在此步驟中，您將啟動可彈性擴展的運算節點群組，以執行提交至叢集的任務。

**建立運算節點群組**
+ 開啟 [AWS PCS 主控台](https://console.aws.amazon.com/pcs)並導覽至**叢集**。
+ 選取名為 的叢集 `get-started`
+ 導覽至**運算節點群組**，然後選擇**建立**。
+ 在**運算節點群組設定**區段中，提供下列項目：
  + **運算節點群組名稱** – 輸入 `compute-1`。
+ 在**運算組態**下，輸入或選取這些值：
  + **EC2 啟動範本** – 選擇名稱為 的啟動範本 `compute-getstarted-lt`
  + **IAM 執行個體描述檔** – 選擇名為 的執行個體描述檔 `AWSPCS-getstarted-role`
  + **子網路** – 選取名稱以 開頭的子網路`hpc-networking:PrivateSubnetA`。
  + **執行個體** – 選取 `c6i.xlarge`。
  + **擴展組態** – 針對**最小執行個體計數**，輸入 `0`。針對**執行個體計數上限**，輸入 `4`。
+ 在**其他設定**下，指定下列項目：
  + **AMI ID** – 選取您要使用的 AMI，其名稱格式如下：

    ```
    aws-pcs-sample_ami-amzn2-platform-slurm-version
    ```

    如需範例 AMIs的詳細資訊，請參閱 [搭配 AWS PCS 使用範例 Amazon Machine Image AMIs)](working-with_ami_samples.md)。
+ 選擇**建立運算節點群組**。

 **狀態**欄位會顯示正在佈建運算節點群組時的**建立**。

**重要**  
 等待**狀態**欄位顯示**作用中**，然後再繼續本教學課程的下一個步驟。