Crie um Deadline Cloud Farm - Nuvem de prazos

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

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. 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.

  2. 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
  3. 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
  4. 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
  5. 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}" } } } ] }'
  6. 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
  7. 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
  8. Instale a interface de linha de comando do Deadline Cloud.

    pip install deadline
  9. 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
  10. (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

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.