Paso 1: Cree una granja de Deadline Cloud - AWS Nube de plazos

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

Paso 1: Cree una granja de Deadline Cloud

Para crear tu granja de desarrolladores y poner en cola los recursos en AWS Deadline Cloud, usa el AWS Command Line Interface (AWS CLI), tal y como se muestra en el siguiente procedimiento. También crearás un rol AWS Identity and Access Management (IAM) y una flota gestionada por el cliente (CMF) y asociarás la flota a tu cola. A continuación, puede configurar la granja AWS CLI y confirmar que está configurada y funcionando según lo especificado.

Puedes usar esta granja para explorar las funciones de Deadline Cloud y, a continuación, desarrollar y probar nuevas cargas de trabajo, personalizaciones e integraciones de canalizaciones.

Para crear una granja
  1. Instale y configure el AWS Command Line Interface (AWS CLI), si aún no lo ha hecho. Para obtener información, consulte Instalar o actualizar a la última versión de AWS CLI.

  2. Cree un nombre para su granja y añada ese nombre a~/.bashrc. Esto hará que esté disponible para otras sesiones terminales.

    echo "DEV_FARM_NAME=DeveloperFarm" >> ~/.bashrc source ~/.bashrc
  3. Cree el recurso de granja y añada su ID de granja a~/.bashrc.

    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. Cree el recurso de cola y añada su ID de cola a ~/.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. Cree un rol de IAM para la flota. Esta función proporciona a los trabajadores anfitriones de su flota las credenciales de seguridad necesarias para ejecutar los trabajos desde su lista de espera.

    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. Cree la flota gestionada por el cliente (CMF) y añada su ID de flota 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. Asegúrese de poder acceder a Deadline Cloud.

    pip install deadline
  8. Asocia el CMF a tu cola.

    aws deadline create-queue-fleet-association \ --farm-id $DEV_FARM_ID \ --queue-id $DEV_QUEUE_ID \ --fleet-id $DEV_CMF_ID
  9. Para establecer la granja predeterminada en el ID de granja y la cola en el ID de cola que creó anteriormente, utilice el siguiente comando.

    deadline config set defaults.farm_id $DEV_FARM_ID deadline config set defaults.queue_id $DEV_QUEUE_ID
  10. (Opcional) Para confirmar que la granja está configurada de acuerdo con sus especificaciones, utilice los siguientes comandos:

    • Enumere todas las granjas: deadline farm list

    • Listar todas las colas de la granja predeterminada: deadline queue list

    • Listar todas las flotas de la granja predeterminada: deadline fleet list

    • Obtenga la granja predeterminada: deadline farm get

    • Obtenga la cola predeterminada: deadline queue get

    • Obtenga todas las flotas asociadas a la cola predeterminada: deadline fleet get