

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

# Configurazione e configurazione dell'host di lavoro
<a name="worker-host"></a>

Un worker host si riferisce a una macchina host che esegue un worker Deadline Cloud. Questa sezione spiega come configurare l'host di lavoro e configurarlo per esigenze specifiche. Ogni worker host esegue un programma chiamato *worker agent*. L'agente di lavoro è responsabile di:
+ Gestione del ciclo di vita del lavoratore.
+ Sincronizzazione del lavoro assegnato, dello stato di avanzamento e dei risultati.
+ Monitoraggio del lavoro in corso.
+ Inoltro dei log a destinazioni configurate.

Ti consigliamo di utilizzare l'agente di lavoro Deadline Cloud fornito. Il worker agent è open source e incoraggiamo la richiesta di funzionalità, ma puoi anche svilupparlo e personalizzarlo in base alle tue esigenze.

Per completare le attività descritte nelle seguenti sezioni, è necessario quanto segue:

------
#### [ Linux ]
+ Un'istanza Amazon Elastic Compute Cloud (Amazon EC2) Linux basata su Amazon Elastic Compute Cloud (Amazon EC2). Consigliamo Amazon Linux 2023.
+ `sudo`privilegi
+ Python 3.9 o versioni successive

------
#### [ Windows ]
+ Un'istanza Amazon Elastic Compute Cloud (Amazon EC2) Windows basata su Amazon Elastic Compute Cloud (Amazon EC2). Consigliamo. Windows Server 2022
+ Accesso dell'amministratore all'host del lavoratore
+ Python 3.9 o superiore installato per tutti gli utenti

------

## Creare e configurare un ambiente virtuale Python
<a name="python-virtual-env"></a>

Puoi creare un ambiente virtuale Python su Linux se hai installato Python 3.9 o versione successiva e lo hai inserito nel tuo. `PATH`

**Nota**  
SìWindows, i file dell'agente devono essere installati nella directory globale dei pacchetti del sito di Python. Gli ambienti virtuali Python non sono attualmente supportati.

**Per creare e attivare un ambiente virtuale Python**

1. Apri un terminale come `root` utente (o usa`sudo`/`su`).

1. Crea e attiva un ambiente virtuale Python.

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

## Installa l'agente di lavoro Deadline Cloud
<a name="install-worker-agent"></a>

Dopo aver configurato Python e creato un ambiente virtualeLinux, installa i pacchetti Python dell'agente di lavoro di Deadline Cloud.

### Per installare i pacchetti Python dell'agente di lavoro
<a name="w2aac23c17c19b5"></a>

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

1. Apri un terminale come `root` utente (o usa`sudo`/`su`).

1. Scarica e installa i pacchetti Deadline Cloud worker agent da PyPI:

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

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

1. Apri un prompt dei comandi o un terminale dell'amministratore. PowerShell

1. Scarica e installa i pacchetti Deadline Cloud worker agent da PyPI:

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

------

Quando il tuo Windows host di lavoro richiede nomi di percorso lunghi (più di 250 caratteri), devi abilitare i nomi di percorso lunghi come segue:

#### Per abilitare percorsi lunghi per gli host Windows di lavoro
<a name="long-path"></a>

1. Assicurati che la chiave di registro a percorso lungo sia abilitata. Per ulteriori informazioni, vedere [Impostazione del registro per abilitare i percorsi di registro](https://learn.microsoft.com/en-us/windows/win32/fileio/maximum-file-path-limitation?tabs=registry#registry-setting-to-enable-long-paths) sul sito Web di Microsoft.

1. Installa l'WindowsSDK per le app desktop C\$1\$1 x86. Per ulteriori informazioni, consulta [WindowsSDK](https://developer.microsoft.com/en-us/windows/downloads/windows-sdk/) nel Dev Center. Windows

1. Apri la posizione di installazione di Python nell'ambiente in cui è installato l'agente di lavoro. Il valore predefinito è `C:\Program Files\Python311`. Esiste un file eseguibile denominato`pythonservice.exe`.

1. Crea un nuovo file chiamato `pythonservice.exe.manifest` nella stessa posizione. Aggiungi quanto segue: 

   ```
   <?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. Apri un prompt dei comandi ed esegui il comando seguente nella posizione del file manifesto che hai creato:

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

   Verrà visualizzato un output simile al seguente:

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

Il lavoratore è ora in grado di accedere a percorsi lunghi. Per eseguire la pulizia, rimuovi il `pythonservice.exe.manifest` file e disinstalla l'SDK.

## Configura l'agente di lavoro Deadline Cloud
<a name="worker-agent-config"></a>

Puoi configurare le impostazioni dell'agente Deadline Cloud Worker in tre modi. Ti consigliamo di utilizzare la configurazione del sistema operativo eseguendo lo `install-deadline-worker` strumento.

L'agente di lavoro non supporta l'esecuzione come utente di dominio su Windows. Per eseguire un processo come utente di dominio, è possibile specificare un account utente di dominio quando si configura un utente in coda per l'esecuzione dei lavori. Per ulteriori informazioni, consulta il passaggio 7 delle [code di Deadline Cloud](https://docs.aws.amazon.com/deadline-cloud/latest/userguide/queues.html) nella Guida per l'utente di *AWS Deadline* Cloud.

**Argomenti della riga di comando**: puoi specificare gli argomenti quando esegui l'agente di lavoro Deadline Cloud dalla riga di comando. Alcune impostazioni di configurazione non sono disponibili tramite gli argomenti della riga di comando. Per visualizzare tutti gli argomenti disponibili nella riga di comando, digitare`deadline-worker-agent --help`. 

**Variabili di ambiente**: puoi configurare l'agente di lavoro di Deadline Cloud impostando la variabile di ambiente che inizia con`DEADLINE_WORKER_`. Ad esempio, per visualizzare tutti gli argomenti disponibili della riga di comando, puoi utilizzare `export DEADLINE_WORKER_VERBOSE=true` per impostare l'output del worker agent su verboso. Per ulteriori esempi e informazioni, vedere `/etc/amazon/deadline/worker.toml.example` on Linux or `C:\ProgramData\Amazon\Deadline\Config\worker.toml.example` onWindows.

**File di configurazione**: quando si installa il worker agent, viene creato un file di configurazione che si trova in `/etc/amazon/deadline/worker.toml` on Linux o `C:\ProgramData\Amazon\Deadline\Config\worker.toml` onWindows. Il worker agent carica questo file di configurazione all'avvio. È possibile utilizzare il file di configurazione di esempio (`/etc/amazon/deadline/worker.toml.example`Linux`C:\ProgramData\Amazon\Deadline\Config\worker.toml.example`acceso o attivatoWindows) per personalizzare il file di configurazione del worker agent predefinito in base alle proprie esigenze specifiche. 

Infine, ti consigliamo di abilitare lo spegnimento automatico per l'agente di lavoro *dopo* che il software è stato distribuito e ha funzionato come previsto. Ciò consente alla flotta di lavoratori di espandersi quando necessario e di spegnersi al termine di un lavoro. La scalabilità automatica aiuta a garantire l'utilizzo solo delle risorse necessarie. Per consentire la chiusura di un'istanza avviata dal gruppo auto scaling, è necessario aggiungerla `shutdown_on_stop=true` al file di `worker.toml` configurazione.

**Per abilitare lo spegnimento automatico**

Come utente: **root**
+ Installa l'agente di lavoro con i parametri**--allow-shutdown**.

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

  Inserisci:

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

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

  Inserisci:

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

------

## Crea utenti e gruppi di lavoro
<a name="create-job-user-and-group"></a>

Questa sezione descrive la relazione utente e di gruppo richiesta tra l'utente agente e quella `jobRunAsUser` definita nelle code.

Il worker agent di Deadline Cloud deve funzionare come utente dedicato specifico dell'agente sull'host. È necessario configurare la `jobRunAsUser` proprietà delle code di Deadline Cloud in modo che i lavoratori eseguano i lavori in coda come utenti e gruppi specifici del sistema operativo. Questa configurazione significa che puoi controllare le autorizzazioni condivise del file system dei tuoi lavori. Fornisce inoltre un importante limite di sicurezza tra i lavori e l'utente worker agent.

**Linuxutenti e gruppi di lavoro**

Per configurare un utente Worker Agent locale e `jobRunAsUser` assicurarsi di soddisfare i seguenti requisiti. Se si utilizza un Linux Pluggable Authentication Module (PAM) come Active Directory o LDAP, la procedura potrebbe essere diversa.

L'utente del worker agent e il `jobRunAsUser` gruppo condiviso vengono impostati al momento dell'installazione del worker agent. Le impostazioni predefinite sono `deadline-worker-agent` e`deadline-job-users`, ma è possibile modificarle quando si installa il worker agent.

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

I comandi devono essere eseguiti come utente root. 
+ Ciascuno `jobRunAsUser` dovrebbe avere un gruppo primario corrispondente. La creazione di un utente con il `adduser` comando di solito crea un gruppo primario corrispondente.

  ```
  adduser -r -m jobRunAsUser
  ```
+ Il gruppo principale di `jobRunAsUser` è un gruppo secondario per l'utente del worker agent. Il gruppo condiviso consente all'agente di lavoro di rendere disponibili i file al lavoro mentre è in esecuzione. 

  ```
  usermod -a -G jobRunAsUser deadline-worker-agent
  ```
+ `jobRunAsUser`Deve essere un membro del gruppo di lavoro condiviso.

  ```
  usermod -a -G deadline-job-users jobRunAsUser
  ```
+ Non `jobRunAsUser` deve appartenere al gruppo principale dell'utente del worker agent. I file sensibili scritti dal worker agent sono di proprietà del gruppo principale dell'agente. Se a `jobRunAsUser` fa parte di questo gruppo, i file del worker agent possono essere accessibili ai job in esecuzione sul worker.
+ L'impostazione predefinita Regione AWS deve corrispondere alla regione dell'azienda agricola a cui appartiene il lavoratore. Questo dovrebbe essere applicato a tutti gli `jobRunAsUser` account del lavoratore.

  ```
  sudo -u jobRunAsUser aws configure set default.region aws-region
  ```
+ L'utente del worker agent deve essere in grado di eseguire `sudo` comandi come`jobRunAsUser`. Esegui il comando seguente per aprire un editor e creare una nuova regola sudoers:

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

  Aggiungi quanto segue al file:

  ```
  # 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
  ```

Il diagramma seguente illustra la relazione tra l'utente agente e `jobRunAsUser` gli utenti e i gruppi per le code associate alla flotta.

![\[Un'illustrazione della relazione tra agente-utente e utenti in coda. jobRunAsUser\]](http://docs.aws.amazon.com/it_it/deadline-cloud/latest/developerguide/images/worker_users_and_groups.png)


**Utenti Windows**

Per utilizzare un Windows utente come`jobRunAsUser`, deve soddisfare i seguenti requisiti:
+ Tutti gli `jobRunAsUser` utenti della coda devono esistere.
+ Le loro password devono corrispondere al valore del segreto specificato nel campo della coda. `JobRunAsUser` Per istruzioni, consulta il passaggio 7 delle [code di Deadline Cloud](https://docs.aws.amazon.com/deadline-cloud/latest/userguide/queues.html) nella Guida per l'utente di *AWS Deadline* Cloud.
+  L'utente-agente deve essere in grado di accedere come tali utenti.

## Protezione dell'host di lavoro
<a name="securing-worker-host"></a>

Quando configuri il tuo worker host, segui le migliori pratiche di sicurezza per proteggere le informazioni sensibili e mantenere controlli di accesso adeguati.

### Configurazione delle autorizzazioni per le cartelle di registro
<a name="configuring-log-folder-permissions"></a>

L'agente di lavoro scrive file di registro che possono contenere informazioni riservate provenienti dagli script di configurazione dell'host e dall'esecuzione del lavoro. Il `install-deadline-worker` comando crea la directory di log con autorizzazioni sicure. Se è necessario creare la directory manualmente prima dell'installazione, utilizzare le seguenti procedure per abbinare le autorizzazioni utilizzate dalle flotte gestite dai servizi:

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

**Per configurare le autorizzazioni della directory di registro su Linux**

1. Crea la directory dei log:

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

1. Imposta il proprietario e il gruppo come utente worker agent:

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

1. Imposta le autorizzazioni su 750:

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

   Queste autorizzazioni assicurano che solo l'utente e il gruppo worker agent possano accedere ai file di registro, impedendo agli utenti del lavoro e ad altri utenti non autorizzati di leggere informazioni potenzialmente sensibili.

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

**Per configurare le autorizzazioni della directory di registro su Windows**

1. Aprire un PowerShell terminale per amministratori.

1. Crea la directory dei log:

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

1. Configura con restrizioni ACLs per consentire solo l'utente del worker agent e gli amministratori:

   ```
   $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
   ```

   Questi comandi limitano l'accesso alla directory dei log solo all'utente del worker agent e al gruppo Administrators, impedendo agli utenti del job e ad altri utenti non autorizzati di leggere informazioni potenzialmente riservate.

------