

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

# Crie um Deadline Cloud Farm
<a name="create-a-farm"></a>

Para criar seu farm de desenvolvedores e enfileirar recursos no AWS Deadline Cloud, use o AWS Command Line Interface (AWS CLI), conforme mostrado no procedimento a seguir. Você também criará uma função AWS Identity and Access Management (IAM) e uma frota gerenciada pelo cliente (CMF) e associará a frota à sua fila. Em seguida, você pode configurar AWS CLI e confirmar se sua fazenda está configurada e funcionando conforme especificado.

Você pode usar essa fazenda para explorar os recursos do Deadline Cloud e, em seguida, desenvolver e testar novas cargas de trabalho, personalizações e integrações de pipeline. 

**Para criar uma fazenda**

1. [Abra uma AWS CloudShell sessão](https://console.aws.amazon.com/cloudshell/home?region=us-west-2). Você usará a CloudShell janela para inserir os comandos AWS Command Line Interface (AWS CLI) para executar os exemplos deste tutorial. Mantenha a CloudShell janela aberta à medida que avança.

1. Crie um nome para sua fazenda e adicione esse nome à`~/.bashrc`. Isso o disponibilizará para outras sessões do terminal.

   ```
   echo "DEV_FARM_NAME=DeveloperFarm" >> ~/.bashrc
   source ~/.bashrc
   ```

1. Crie o recurso da fazenda e adicione seu ID da fazenda `~/.bashrc` a.

   ```
   aws deadline create-farm \
       --display-name "$DEV_FARM_NAME"
   
   echo "DEV_FARM_ID=\$(aws deadline list-farms \
           --query \"farms[?displayName=='\$DEV_FARM_NAME'].farmId \
           | [0]\" --output text)" >> ~/.bashrc
   source ~/.bashrc
   ```

1. Crie o recurso de fila e adicione seu ID de fila ao `~/.bashrc.`

   ```
   aws deadline create-queue \
       --farm-id $DEV_FARM_ID \
       --display-name "$DEV_FARM_NAME Queue" \
       --job-run-as-user '{"posix": {"user": "job-user", "group": "job-group"}, "runAs":"QUEUE_CONFIGURED_USER"}'
   
   echo "DEV_QUEUE_ID=\$(aws deadline list-queues \
           --farm-id \$DEV_FARM_ID \
           --query \"queues[?displayName=='\$DEV_FARM_NAME Queue'].queueId \
           | [0]\" --output text)" >> ~/.bashrc
   source ~/.bashrc
   ```

1. Crie uma função do IAM para a frota. Essa função fornece aos anfitriões de trabalhadores em sua frota as credenciais de segurança necessárias para executar trabalhos em sua fila.

   ```
   aws iam create-role \
       --role-name "${DEV_FARM_NAME}FleetRole" \
       --assume-role-policy-document \
           '{
               "Version": "2012-10-17",		 	 	 
               "Statement": [
                   {
                       "Effect": "Allow",
                       "Principal": {
                           "Service": "credentials.deadline.amazonaws.com"
                       },
                       "Action": "sts:AssumeRole"
                   }
               ]
           }'
   aws iam put-role-policy \
       --role-name "${DEV_FARM_NAME}FleetRole" \
       --policy-name WorkerPermissions \
       --policy-document \
           '{
               "Version": "2012-10-17",		 	 	 
               "Statement": [
                   {
                       "Effect": "Allow",
                       "Action": [
                           "deadline:AssumeFleetRoleForWorker",
                           "deadline:UpdateWorker",
                           "deadline:DeleteWorker",
                           "deadline:UpdateWorkerSchedule",
                           "deadline:BatchGetJobEntity",
                           "deadline:AssumeQueueRoleForWorker"
                       ],
                       "Resource": "*",
                       "Condition": {
                           "StringEquals": {
                               "aws:PrincipalAccount": "${aws:ResourceAccount}"
                           }
                       }
                   },
                   {
                       "Effect": "Allow",
                       "Action": [
                           "logs:CreateLogStream"
                       ],
                       "Resource": "arn:aws:logs:*:*:*:/aws/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. Crie a frota gerenciada pelo cliente (CMF) e adicione sua ID de frota a. `~/.bashrc`

   ```
   FLEET_ROLE_ARN="arn:aws:iam::$(aws sts get-caller-identity \
           --query "Account" --output text):role/${DEV_FARM_NAME}FleetRole"
   aws deadline create-fleet \
       --farm-id $DEV_FARM_ID \
       --display-name "$DEV_FARM_NAME CMF" \
       --role-arn $FLEET_ROLE_ARN \
       --max-worker-count 5 \
       --configuration \
           '{
               "customerManaged": {
                   "mode": "NO_SCALING",
                   "workerCapabilities": {
                       "vCpuCount": {"min": 1},
                       "memoryMiB": {"min": 512},
                       "osFamily": "linux",
                       "cpuArchitectureType": "x86_64"
                   }
               }
           }'
   
   echo "DEV_CMF_ID=\$(aws deadline list-fleets \
           --farm-id \$DEV_FARM_ID \
           --query \"fleets[?displayName=='\$DEV_FARM_NAME CMF'].fleetId \
           | [0]\" --output text)" >> ~/.bashrc
   source ~/.bashrc
   ```

1. Associe o CMF à sua fila.

   ```
   aws deadline create-queue-fleet-association \
       --farm-id $DEV_FARM_ID \
       --queue-id $DEV_QUEUE_ID \
       --fleet-id $DEV_CMF_ID
   ```

1. Instale a interface de linha de comando do Deadline Cloud.

   ```
   pip install deadline
   ```

1. Para definir a fazenda padrão como a ID da fazenda e a fila como a ID da fila que você criou anteriormente, use o comando a seguir.

   ```
   deadline config set defaults.farm_id $DEV_FARM_ID
   deadline config set defaults.queue_id $DEV_QUEUE_ID
   ```

1. (Opcional) Para confirmar se sua fazenda está configurada de acordo com suas especificações, use os seguintes comandos:
   + Listar todas as fazendas — **deadline farm list**
   + Listar todas as filas na fazenda padrão — **deadline queue list**
   + Listar todas as frotas na fazenda padrão — **deadline fleet list**
   + Obtenha a fazenda padrão — **deadline farm get**
   + Obtenha a fila padrão — **deadline queue get**
   + Obtenha todas as frotas associadas à fila padrão — **deadline fleet get**

## Próximas etapas
<a name="gs-create-farm-next"></a>

Depois de criar sua fazenda, você pode executar o agente Deadline Cloud Worker nos hosts da sua frota para processar trabalhos. Consulte [Execute o agente Deadline Cloud Worker](run-worker.md).