

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

# Configuration et configuration de l'hôte de travail
<a name="worker-host"></a>

Un hôte de travail fait référence à une machine hôte qui exécute un serveur de travail Deadline Cloud. Cette section explique comment configurer l'hôte de travail et le configurer en fonction de vos besoins spécifiques. Chaque hôte de travail exécute un programme appelé *agent* de travail. L'agent des travailleurs est chargé de :
+ Gérer le cycle de vie des travailleurs.
+ Synchronisation du travail assigné, de son avancement et de ses résultats.
+ Surveillance du travail en cours.
+ Transfert des journaux vers des destinations configurées.

Nous vous recommandons d'utiliser l'agent de travail Deadline Cloud fourni. L'agent de travail est open source et nous encourageons les demandes de fonctionnalités, mais vous pouvez également les développer et les personnaliser en fonction de vos besoins.

Pour effectuer les tâches décrites dans les sections suivantes, vous avez besoin des éléments suivants :

------
#### [ Linux ]
+ Une Linux instance basée sur Amazon Elastic Compute Cloud (Amazon EC2). Nous recommandons Amazon Linux 2023.
+ `sudo`privilèges
+ Python 3.9 ou supérieur

------
#### [ Windows ]
+ Une Windows instance basée sur Amazon Elastic Compute Cloud (Amazon EC2). Nous recommandons Windows Server 2022
+ Accès administrateur à l'hôte du travailleur
+ Python 3.9 ou supérieur installé pour tous les utilisateurs

------

## Création et configuration d'un environnement virtuel Python
<a name="python-virtual-env"></a>

Vous pouvez créer un environnement virtuel Python Linux si vous avez installé Python 3.9 ou supérieur et que vous l'avez placé dans votre`PATH`.

**Note**  
ActivéWindows, les fichiers d'agent doivent être installés dans le répertoire global site-packages de Python. Les environnements virtuels Python ne sont actuellement pas pris en charge.

**Pour créer et activer un environnement virtuel Python**

1. Ouvrez un terminal en tant qu'`root`utilisateur (ou utilisez`sudo`/`su`).

1. Créez et activez un environnement virtuel Python.

   ```
   python3 -m venv /opt/deadline/worker
   source /opt/deadline/worker/bin/activate
   pip install --upgrade pip
   ```

## Installer l'agent de travail de Deadline Cloud
<a name="install-worker-agent"></a>

Après avoir configuré votre Python et créé un environnement virtuel sur celui-ciLinux, installez les packages Python de l'agent de travail Deadline Cloud.

### Pour installer les packages Python de l'agent de travail
<a name="w2aac23c17c19b5"></a>

------
#### [ Linux ]

1. Ouvrez un terminal en tant qu'`root`utilisateur (ou utilisez`sudo`/`su`).

1. Téléchargez et installez les packages d'agents de travail de Deadline Cloud depuis PyPI :

   ```
   /opt/deadline/worker/bin/python -m pip install deadline-cloud-worker-agent
   ```

------
#### [ Windows ]

1. Ouvrez une invite de commande ou un PowerShell terminal d'administrateur.

1. Téléchargez et installez les packages d'agents de travail de Deadline Cloud depuis PyPI :

   ```
   python -m pip install deadline-cloud-worker-agent
   ```

------

Lorsque votre hôte Windows de travail nécessite des noms de chemin longs (supérieurs à 250 caractères), vous devez activer les noms de chemin longs comme suit :

#### Pour activer les longs chemins pour les hôtes Windows de travail
<a name="long-path"></a>

1. Assurez-vous que la clé de registre à long chemin est activée. Pour plus d'informations, consultez la section [Configuration du registre pour activer les chemins des journaux](https://learn.microsoft.com/en-us/windows/win32/fileio/maximum-file-path-limitation?tabs=registry#registry-setting-to-enable-long-paths) sur le site Web de Microsoft.

1. Installez le Windows SDK pour les applications de bureau C\$1\$1 x86. Pour plus d'informations, consultez la section [WindowsSDK](https://developer.microsoft.com/en-us/windows/downloads/windows-sdk/) dans le centre de Windows développement.

1. Ouvrez l'emplacement d'installation de Python dans votre environnement où l'agent de travail est installé. La valeur par défaut est `C:\Program Files\Python311`. Il existe un fichier exécutable nommé`pythonservice.exe`.

1. Créez un nouveau fichier appelé `pythonservice.exe.manifest` au même endroit. Ajoutez ce qui suit : 

   ```
   <?xml version="1.0" encoding="UTF-8" standalone="yes"?>
   <assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0">
     <assemblyIdentity type="win32" name="pythonservice" processorArchitecture="x86" version="1.0.0.0"/>
     <application xmlns="urn:schemas-microsoft-com:asm.v3">
       <windowsSettings>
         <longPathAware xmlns="http://schemas.microsoft.com/SMI/2016/WindowsSettings">true</longPathAware>
       </windowsSettings>
     </application>
   </assembly>
   ```

1. Ouvrez une invite de commande et exécutez la commande suivante à l'emplacement du fichier manifeste que vous avez créé :

   ```
   "C:\Program Files (x86)\Windows Kits\10\bin\10.0.26100.0\x86\mt.exe" -manifest pythonservice.exe.manifest -outputresource:pythonservice.exe;#1
   ```

   Vous devez voir des résultats similaires à ce qui suit :

   ```
   Microsoft (R) Manifest Tool
   Copyright (c) Microsoft Corporation.
   All rights reserved.
   ```

Le travailleur peut désormais accéder à de longs trajets. Pour nettoyer, supprimez le `pythonservice.exe.manifest` fichier et désinstallez le SDK.

## Configuration de l'agent de travail Deadline Cloud
<a name="worker-agent-config"></a>

Vous pouvez configurer les paramètres de l'agent de travail de Deadline Cloud de trois manières. Nous vous recommandons d'utiliser la configuration du système d'exploitation en exécutant l'`install-deadline-worker`outil.

L'agent Worker ne prend pas en charge l'exécution en tant qu'utilisateur de domaine sous Windows. Pour exécuter une tâche en tant qu'utilisateur de domaine, vous pouvez spécifier un compte d'utilisateur de domaine lorsque vous configurez un utilisateur de file d'attente pour exécuter des tâches. Pour plus d'informations, consultez l'étape 7 de la section [Files d'attente de Deadline Cloud](https://docs.aws.amazon.com/deadline-cloud/latest/userguide/queues.html) dans le *guide de l'utilisateur de AWS Deadline Cloud*.

**Arguments de ligne de commande** — Vous pouvez spécifier des arguments lorsque vous exécutez l'agent de travail Deadline Cloud depuis la ligne de commande. Certains paramètres de configuration ne sont pas disponibles via les arguments de ligne de commande. Pour voir tous les arguments de ligne de commande disponibles, entrez`deadline-worker-agent --help`. 

**Variables d'environnement** — Vous pouvez configurer l'agent de travail de Deadline Cloud en définissant une variable d'environnement commençant par`DEADLINE_WORKER_`. Par exemple, pour voir tous les arguments de ligne de commande disponibles, vous pouvez utiliser `export DEADLINE_WORKER_VERBOSE=true` pour définir la sortie de l'agent de travail sur détaillée. Pour plus d'exemples et d'informations, voir `/etc/amazon/deadline/worker.toml.example` sur Linux ou `C:\ProgramData\Amazon\Deadline\Config\worker.toml.example` surWindows.

**Fichier de configuration** : lorsque vous installez l'agent de travail, celui-ci crée un fichier de configuration situé à l'emplacement `/etc/amazon/deadline/worker.toml` activé Linux ou `C:\ProgramData\Amazon\Deadline\Config\worker.toml` activéWindows. L'agent de travail charge ce fichier de configuration au démarrage. Vous pouvez utiliser l'exemple de fichier de configuration (`/etc/amazon/deadline/worker.toml.example`activé Linux ou `C:\ProgramData\Amazon\Deadline\Config\worker.toml.example` activéWindows) pour adapter le fichier de configuration de l'agent de travail par défaut à vos besoins spécifiques. 

Enfin, nous vous recommandons d'activer l'arrêt automatique de l'agent de travail une *fois* que votre logiciel est déployé et fonctionne comme prévu. Cela permet au parc de travailleurs d'augmenter en cas de besoin et de s'arrêter une fois le travail terminé. La mise à l'échelle automatique permet de s'assurer que vous n'utilisez que les ressources nécessaires. Pour permettre à une instance démarrée par le groupe auto scaling de s'arrêter, vous devez l'ajouter `shutdown_on_stop=true` au fichier `worker.toml` de configuration.

**Pour activer l'arrêt automatique**

En tant qu'**root**utilisateur :
+ Installez l'agent de travail avec des paramètres**--allow-shutdown**.

------
#### [ Linux ]

  Entrez :

  ```
  /opt/deadline/worker/bin/install-deadline-worker \
    --farm-id FARM_ID \
    --fleet-id FLEET_ID \
    --region REGION \
    --allow-shutdown
  ```

------
#### [ Windows ]

  Entrez :

  ```
  install-deadline-worker ^
    --farm-id FARM_ID ^
    --fleet-id FLEET_ID ^
    --region REGION ^
    --allow-shutdown
  ```

------

## Création de groupes et d'utilisateurs de tâches
<a name="create-job-user-and-group"></a>

Cette section décrit la relation utilisateur/groupe requise entre l'utilisateur agent et les utilisateurs `jobRunAsUser` définis dans vos files d'attente.

L'agent de travail de Deadline Cloud doit s'exécuter en tant qu'utilisateur dédié spécifique à l'agent sur l'hôte. Vous devez configurer la `jobRunAsUser` propriété des files d'attente de Deadline Cloud afin que les utilisateurs exécutent les tâches de file d'attente en tant qu'utilisateur et groupe de système d'exploitation spécifiques. Cette configuration signifie que vous pouvez contrôler les autorisations de système de fichiers partagés dont disposent vos tâches. Il constitue également une limite de sécurité importante entre vos tâches et l'utilisateur de l'agent de travail.

**Linuxutilisateurs et groupes d'emplois**

Pour configurer un utilisateur d'agent de travail local et `jobRunAsUser` vérifier que vous répondez aux exigences suivantes. Si vous utilisez un module d'authentification enfichable (PAM) Linux tel qu'Active Directory ou LDAP, votre procédure peut être différente.

L'utilisateur de l'agent de travail et le `jobRunAsUser` groupe partagé sont définis lorsque vous installez l'agent de travail. Les valeurs par défaut sont `deadline-worker-agent` et`deadline-job-users`, mais vous pouvez les modifier lorsque vous installez le Worker Agent.

```
install-deadline-worker \
    --user AGENT_USER_NAME \
    --group JOB_USERS_GROUP
```

Les commandes doivent être exécutées en tant qu'utilisateur root. 
+ Chacun `jobRunAsUser` doit avoir un groupe principal correspondant. La création d'un utilisateur à l'aide de la `adduser` commande crée généralement un groupe principal correspondant.

  ```
  adduser -r -m jobRunAsUser
  ```
+ Le groupe principal de `jobRunAsUser` est un groupe secondaire pour l'utilisateur de l'agent de travail. Le groupe partagé permet à l'agent de travail de mettre des fichiers à la disposition de la tâche pendant son exécution. 

  ```
  usermod -a -G jobRunAsUser deadline-worker-agent
  ```
+ `jobRunAsUser`Il doit être membre du groupe de tâches partagé.

  ```
  usermod -a -G deadline-job-users jobRunAsUser
  ```
+ Le ne `jobRunAsUser` doit pas appartenir au groupe principal de l'utilisateur de l'agent de travail. Les fichiers sensibles écrits par l'agent de travail appartiennent au groupe principal de l'agent. Si a `jobRunAsUser` fait partie de ce groupe, les fichiers de l'agent de travail peuvent être accessibles aux tâches exécutées sur le travailleur.
+ La valeur par défaut Région AWS doit correspondre à la région de la ferme à laquelle appartient le travailleur. Cela doit être appliqué à tous les `jobRunAsUser` comptes du travailleur.

  ```
  sudo -u jobRunAsUser aws configure set default.region aws-region
  ```
+ L'utilisateur de l'agent de travail doit être capable d'exécuter `sudo` des commandes en tant que`jobRunAsUser`. Exécutez la commande suivante pour ouvrir un éditeur afin de créer une nouvelle règle sudoers :

  ```
  visudo -f /etc/sudoers.d/deadline-worker-job-user
  ```

  Ajoutez ce qui suit au fichier :

  ```
  # Allows the Deadline Cloud worker agent OS user to run commands
   # as the queue OS user without requiring a password.
  deadline-worker-agent ALL=(jobRunAsUser) NOPASSWD:ALL
  ```

Le schéma suivant illustre la relation entre l'utilisateur de l'agent et les `jobRunAsUser` utilisateurs et groupes pour les files d'attente associées à la flotte.

![\[Une illustration de la relation entre les agent-utilisateurs et les jobRunAsUser files d'attente.\]](http://docs.aws.amazon.com/fr_fr/deadline-cloud/latest/developerguide/images/worker_users_and_groups.png)


**Utilisateurs Windows**

Pour utiliser un Windows utilisateur en tant que`jobRunAsUser`, celui-ci doit répondre aux exigences suivantes :
+ Tous les `jobRunAsUser` utilisateurs de la file d'attente doivent exister.
+ Leurs mots de passe doivent correspondre à la valeur du secret spécifiée dans le `JobRunAsUser` champ de leur file d'attente. Pour obtenir des instructions, reportez-vous à l'étape 7 de la section [Files d'attente de Deadline Cloud](https://docs.aws.amazon.com/deadline-cloud/latest/userguide/queues.html) dans le *guide de l'utilisateur de AWS Deadline Cloud*.
+  L'agent-utilisateur doit être en mesure de se connecter sous le nom de ces utilisateurs.

## Sécurisation de l'hôte de votre travailleur
<a name="securing-worker-host"></a>

Lorsque vous configurez votre hôte professionnel, suivez les meilleures pratiques de sécurité pour protéger les informations sensibles et maintenir des contrôles d'accès appropriés.

### Configuration des autorisations relatives aux dossiers journaux
<a name="configuring-log-folder-permissions"></a>

L'agent de travail écrit des fichiers journaux qui peuvent contenir des informations sensibles provenant des scripts de configuration de l'hôte et de l'exécution des tâches. La `install-deadline-worker` commande crée le répertoire des journaux avec des autorisations sécurisées. Si vous devez créer le répertoire manuellement avant l'installation, suivez les procédures suivantes pour faire correspondre les autorisations utilisées par les flottes gérées par les services :

------
#### [ Linux ]

**Pour configurer les autorisations du répertoire des journaux sur Linux**

1. Créez le répertoire des journaux :

   ```
   sudo mkdir -p /var/log/amazon/deadline
   ```

1. Définissez le propriétaire et le groupe comme utilisateur de l'agent de travail :

   ```
   sudo chown -R deadline-worker:deadline-worker /var/log/amazon/deadline
   ```

1. Définissez les autorisations sur 750 :

   ```
   sudo chmod -R 750 /var/log/amazon/deadline
   ```

   Ces autorisations garantissent que seuls l'utilisateur et le groupe de l'agent de travail peuvent accéder aux fichiers journaux, empêchant ainsi les utilisateurs des tâches et autres utilisateurs non autorisés de lire des informations potentiellement sensibles.

------
#### [ Windows ]

**Pour configurer les autorisations du répertoire des journaux sur Windows**

1. Ouvrez un PowerShell terminal d'administration.

1. Créez le répertoire des journaux :

   ```
   New-Item -ItemType Directory -Force -Path "$env:PROGRAMDATA\Amazon\Deadline\Logs"
   ```

1. Configuration restreinte ACLs pour autoriser uniquement l'utilisateur de l'agent de travail et les administrateurs :

   ```
   $acl = Get-Acl "$env:PROGRAMDATA\Amazon\Deadline\Logs"
   $acl.SetAccessRuleProtection($true, $false)
   $acl.Access | ForEach-Object { $acl.RemoveAccessRule($_) }
   $agentRule = New-Object System.Security.AccessControl.FileSystemAccessRule("deadline-worker", "FullControl", "ContainerInherit,ObjectInherit", "None", "Allow")
   $adminRule = New-Object System.Security.AccessControl.FileSystemAccessRule("Administrators", "FullControl", "ContainerInherit,ObjectInherit", "None", "Allow")
   $acl.AddAccessRule($agentRule)
   $acl.AddAccessRule($adminRule)
   Set-Acl "$env:PROGRAMDATA\Amazon\Deadline\Logs" $acl
   ```

   Ces commandes limitent l'accès au répertoire des journaux uniquement à l'utilisateur de l'agent de travail et au groupe des administrateurs, empêchant ainsi les utilisateurs des tâches et autres utilisateurs non autorisés de lire des informations potentiellement sensibles.

------