

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

# 建立客戶受管機群
<a name="create-a-cmf"></a>

若要建立客戶受管機群 (CMF)，請完成下列步驟。

------
#### [ Deadline Cloud console ]

**使用截止日期雲端主控台建立客戶受管機群** 

1. 開啟截止日期雲端[主控台](https://console.aws.amazon.com/deadlinecloud/home)。

1. 選取**陣列**。可用的陣列清單隨即顯示。

1. 選取您要使用的**陣列**名稱。

1. 選取**機群**索引標籤，然後選擇**建立機群**。

1. 輸入機群**的名稱**。

1. （選用） 輸入機群的**描述**。

1. 針對**機群類型**選取**客戶受**管。

1. 選取機群的服務存取權。

   1. 我們建議為每個機群使用**建立和使用新的服務角色選項，**以獲得更精細的許可控制。預設會選取此選項。

   1. 您也可以選取**選擇服務角色，以使用現有的服務角色**。

1. 檢閱您的選擇，然後選擇**下一步**。

1. 為您的機群選取**作業系統**。機群的所有工作者都必須擁有通用的作業系統。

1. 選取**主機 CPU 架構**。

1. 選取最小和最大 vCPU 和記憶體 **硬體功能**，以滿足機群的工作負載需求。

1. 選取 Auto Scaling 類型。如需詳細資訊，請參閱[使用 EventBridge 來處理 Auto Scaling 事件](https://docs.aws.amazon.com/autoscaling/ec2/userguide/automating-ec2-auto-scaling-with-eventbridge.html)。
   + **無擴展**：您正在建立內部部署機群，並希望退出截止 Cloud Auto Scaling。
   + **擴展建議**：您正在建立 Amazon Elastic Compute Cloud (Amazon EC2) 機群。

1. （選用） 選取箭頭以展開新增功能區段。

1. （選用） 選取**新增 GPU 功能 - 選用**的核取方塊，然後輸入最小和最大 GPUs 和記憶體。

1. 檢閱您的選擇，然後選擇**下一步**。

1. （選用） 定義自訂工作者功能，然後選擇**下一步**。

1. 使用下拉式清單，選取要與機群建立關聯的一或多個**佇列**。
**注意**  
我們建議僅將機群與位於相同信任界限的佇列建立關聯。此建議可確保相同工作者上執行任務之間的強大安全界限。

1. 檢閱佇列關聯，然後選擇**下一步**。

1. （選用） 對於預設 Conda 佇列環境，我們將為您的佇列建立環境，以安裝任務請求的 conda 套件。
**注意**  
conda 佇列環境用於安裝任務請求的 conda 套件。一般而言，您應該取消勾選與 CMFs相關聯的佇列上的 conda 佇列環境，因為 CMFs 預設不會安裝必要的 conda 命令。

1. （選用） 將標籤新增至 CMF。如需詳細資訊，請參閱[標記您的 AWS 資源](https://docs.aws.amazon.com/tag-editor/latest/userguide/tagging.html)。

1. 檢閱您的機群組態並進行任何變更，然後選擇**建立機群**。

1. 選取**機群**索引標籤，然後記下**機群 ID**。

------
#### [ AWS CLI ]

**使用 AWS CLI 建立客戶受管機群**

1. 開啟終端機。

1. 在新編輯器`fleet-trust-policy.json`中建立 。

   1. 新增下列 IAM 政策，將 *ITALICIZED* 文字取代為您的帳戶 AWS ID 和截止日期雲端陣列 ID。

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

****  

      ```
      {
          "Version":"2012-10-17",		 	 	 
          "Statement": [
              {
                  "Effect": "Allow",
                  "Principal": {
                      "Service": "credentials.deadline.amazonaws.com"
                  },
                  "Action": "sts:AssumeRole",
                  "Condition": {
                      "StringEquals": {
                          "aws:SourceAccount": "111122223333"
                      },
                      "ArnEquals": {
                          "aws:SourceArn": "arn:aws:deadline:*:111122223333:farm/FARM_ID"
                      }
                  }
              }
          ]
      }
      ```

------

   1. 儲存您的變更。

1. 建立 `fleet-policy.json`。

   1. 新增下列 IAM 政策。

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

****  

      ```
      {
          "Version":"2012-10-17",		 	 	 
          "Statement": [
              {
                  "Effect": "Allow",
                  "Action": [
                      "deadline:AssumeFleetRoleForWorker",
                      "deadline:UpdateWorker",
                      "deadline:DeleteWorker",
                      "deadline:UpdateWorkerSchedule",
                      "deadline:BatchGetJobEntity",
                      "deadline:AssumeQueueRoleForWorker"
                  ],
                  "Resource": "arn:aws:deadline:*:111122223333:*",
                  "Condition": {
                      "StringEquals": {
                          "aws:PrincipalAccount": "${aws:ResourceAccount}"
                      }
                  }
              },
              {
                  "Effect": "Allow",
                  "Action": [
                      "logs:CreateLogStream"
                  ],
                  "Resource": "arn:aws:logs:*:*:*://deadline/*",
                  "Condition": {
                      "StringEquals": {
                          "aws:PrincipalAccount": "${aws:ResourceAccount}"
                      }
                  }
              },
              {
                  "Effect": "Allow",
                  "Action": [
                      "logs:PutLogEvents",
                      "logs:GetLogEvents"
                  ],
                  "Resource": "arn:aws:logs:*:*:*:/aws/deadline/*",
                  "Condition": {
                      "StringEquals": {
                          "aws:PrincipalAccount": "${aws:ResourceAccount}"
                      }
                  }
              }
          ]
      }
      ```

------

   1. 儲存您的變更。

1. 為機群中的工作者新增要使用的 IAM 角色。

   ```
   aws iam create-role --role-name FleetWorkerRoleName --assume-role-policy-document file://fleet-trust-policy.json
   aws iam put-role-policy --role-name FleetWorkerRoleName --policy-name FleetWorkerPolicy --policy-document file://fleet-policy.json
   ```

1. 建立 `create-fleet-request.json`。

   1. 新增下列 IAM 政策，將 ITALICIZED 文字取代為您的 CMF 值。
**注意**  
您可以在 中找到 *ROLE\$1ARN*`create-cmf-fleet.json`。  
對於 *OS\$1FAMILY*，您必須選擇其中一個 `linux`、 `macos`或 `windows`。

      ```
      {
          "farmId": "FARM_ID",
          "displayName": "FLEET_NAME",
          "description": "FLEET_DESCRIPTION",
          "roleArn": "ROLE_ARN",
          "minWorkerCount": 0,
          "maxWorkerCount": 10,
          "configuration": {
              "customerManaged": {
                  "mode": "NO_SCALING",
                  "workerCapabilities": {
                      "vCpuCount": {
                          "min": 1,
                          "max": 4
                      },
                      "memoryMiB": {
                          "min": 1024,
                          "max": 4096
                      },
                      "osFamily": "OS_FAMILY",
                      "cpuArchitectureType": "x86_64",
                  },
              },
          }
      }
      ```

   1. 儲存您的變更。

1. 建立您的機群。

   ```
   aws deadline create-fleet --cli-input-json file://create-fleet-request.json
   ```

------