

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

# 创建由客户管理的车队
<a name="create-a-cmf"></a>

要创建客户管理的队列 (CMF)，请完成以下步骤。

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

**使用 Deadline Cloud 控制台创建客户管理的舰队** 

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)。
   + **不扩展**：你正在创建本地队列，想选择退出 Deadline Cloud Auto Scaling。
   + **扩展建议**：您正在创建亚马逊弹性计算云 (Amazon EC2) 队列。

1. （可选）选择箭头以展开添加功能部分。

1. （可选）选中 “**添加 GPU 功能-可选**” 复选框，然后输入最小值 GPUs 和最大值以及内存。

1. 查看您的选择，然后选择 “**下一步**”。

1. （可选）定义自定义工作人员权能，然后选择**下一步**。

1. 使用下拉列表选择一个或多个要与**队列**关联的队列。
**注意**  
我们建议仅将队列与处于相同信任边界的队列相关联。此建议可确保在同一工作器上运行作业之间保持牢固的安全边界。

1. 查看队列关联，然后选择**下一步**。

1. （可选）对于默认 Conda 队列环境，我们将为您的队列创建一个环境，该环境将安装作业请求的 conda 软件包。
**注意**  
conda 队列环境用于安装作业请求的 conda 软件包。通常，您应该取消选中与之关联的队列上的 conda 队列环境， CMFs 因为默认情况下 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 和 Deadline Cloud Farm 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 策略，用您的 CMF 值替换斜体文本。
**注意**  
你可以在*ROLE\$1ARN*里面找到`create-cmf-fleet.json`。  
对于*OS\$1FAMILY*，您必须从`macos`或中选择一个`windows`。`linux`

      ```
      {
          "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
   ```

------