

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

# Instalação e configuração do host de trabalho
<a name="worker-host"></a>

Um host de trabalho se refere a uma máquina host que executa um funcionário do Deadline Cloud. Esta seção explica como configurar o host de trabalho e configurá-lo de acordo com suas necessidades específicas. Cada host de trabalho executa um programa chamado *agente* de trabalho. O agente do trabalhador é responsável por:
+ Gerenciando o ciclo de vida do trabalhador.
+ Sincronizando o trabalho atribuído, seu progresso e resultados.
+ Monitorando o trabalho em execução.
+ Encaminhando registros para destinos configurados.

Recomendamos que você use o agente de trabalho do Deadline Cloud fornecido. O agente de trabalho é de código aberto e incentivamos solicitações de recursos, mas você também pode desenvolver e personalizar para atender às suas necessidades.

Para concluir as tarefas nas seções a seguir, você precisa do seguinte:

------
#### [ Linux ]
+ Uma instância Linux baseada no Amazon Elastic Compute Cloud (Amazon EC2). Recomendamos o Amazon Linux 2023.
+ `sudo`privilégios
+ Python 3.9 ou posterior

------
#### [ Windows ]
+ Uma instância Windows baseada no Amazon Elastic Compute Cloud (Amazon EC2). Nós recomendamosWindows Server 2022.
+ Acesso do administrador ao host do trabalhador
+ Python 3.9 ou superior instalado para todos os usuários

------

## Crie e configure um ambiente virtual Python
<a name="python-virtual-env"></a>

Você pode criar um ambiente virtual Python Linux se tiver instalado o Python 3.9 ou superior e o colocado no seu. `PATH`

**nota**  
AtivadoWindows, os arquivos do agente devem ser instalados no diretório global de pacotes de sites do Python. Atualmente, não há suporte para ambientes virtuais Python.

**Para criar e ativar um ambiente virtual Python**

1. Abra um terminal como `root` usuário (ou use`sudo`/`su`).

1. Crie e ative um ambiente virtual Python.

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

## Instale o agente Deadline Cloud Worker
<a name="install-worker-agent"></a>

Depois de configurar seu Python e criar um ambiente virtualLinux, instale os pacotes Python do agente Deadline Cloud Worker.

### Para instalar os pacotes Python do agente de trabalho
<a name="w2aac23c17c19b5"></a>

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

1. Abra um terminal como `root` usuário (ou use`sudo`/`su`).

1. Baixe e instale os pacotes do agente Deadline Cloud Worker do PyPI:

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

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

1. Abra um prompt de comando ou PowerShell terminal do administrador.

1. Baixe e instale os pacotes do agente Deadline Cloud Worker do PyPI:

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

------

Quando seu host de Windows trabalho exige nomes de caminhos longos (maiores que 250 caracteres), você deve habilitar nomes de caminhos longos da seguinte forma:

#### Para habilitar caminhos longos para anfitriões de Windows trabalhadores
<a name="long-path"></a>

1. Certifique-se de que a chave de registro de caminho longo esteja habilitada. Para obter mais informações, consulte [Configuração do registro para habilitar caminhos de log](https://learn.microsoft.com/en-us/windows/win32/fileio/maximum-file-path-limitation?tabs=registry#registry-setting-to-enable-long-paths) no site da Microsoft.

1. Instale o Windows SDK para aplicativos C\$1\$1 x86 para desktop. Para obter mais informações, consulte [WindowsSDK](https://developer.microsoft.com/en-us/windows/downloads/windows-sdk/) no Windows Dev Center.

1. Abra o local de instalação do Python em seu ambiente em que o agente de trabalho está instalado. O padrão é `C:\Program Files\Python311`. Há um arquivo executável chamado`pythonservice.exe`.

1. Crie um novo arquivo chamado `pythonservice.exe.manifest` no mesmo local. Adicione o seguinte: 

   ```
   <?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. Abra um prompt de comando e execute o comando a seguir no local do arquivo de manifesto que você criou:

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

   Você deve ver uma saída semelhante a:

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

O trabalhador agora pode acessar caminhos longos. Para limpar, remova o `pythonservice.exe.manifest` arquivo e desinstale o SDK.

## Configurar o agente Deadline Cloud Worker
<a name="worker-agent-config"></a>

Você pode definir as configurações do agente Deadline Cloud Worker de três maneiras. Recomendamos que você use a configuração do sistema operacional executando a `install-deadline-worker` ferramenta.

O agente de trabalho não oferece suporte à execução como usuário de domínio no Windows. Para executar um trabalho como usuário de domínio, você pode especificar uma conta de usuário de domínio ao configurar um usuário de fila para executar trabalhos. Para obter mais informações, consulte a etapa 7 em [Filas do Deadline Cloud](https://docs.aws.amazon.com/deadline-cloud/latest/userguide/queues.html) no *Guia do usuário do AWS Deadline Cloud*.

**Argumentos da linha de comando** — Você pode especificar argumentos ao executar o agente de trabalho do Deadline Cloud na linha de comando. Algumas configurações não estão disponíveis por meio de argumentos de linha de comando. Para ver todos os argumentos de linha de comando disponíveis, digite`deadline-worker-agent --help`. 

**Variáveis de ambiente** — Você pode configurar o agente de trabalho do Deadline Cloud definindo a variável de ambiente começando com`DEADLINE_WORKER_`. Por exemplo, para ver todos os argumentos de linha de comando disponíveis, você pode usar `export DEADLINE_WORKER_VERBOSE=true` para definir a saída do agente de trabalho como detalhada. Para obter mais exemplos e informações, consulte `/etc/amazon/deadline/worker.toml.example` on Linux or `C:\ProgramData\Amazon\Deadline\Config\worker.toml.example` onWindows.

**Arquivo de configuração** — Quando você instala o agente de trabalho, ele cria um arquivo de configuração localizado em `/etc/amazon/deadline/worker.toml` on Linux ou `C:\ProgramData\Amazon\Deadline\Config\worker.toml` onWindows. O agente de trabalho carrega esse arquivo de configuração quando ele é iniciado. Você pode usar o arquivo de configuração de exemplo (`/etc/amazon/deadline/worker.toml.example`ativado Linux ou `C:\ProgramData\Amazon\Deadline\Config\worker.toml.example` ativadoWindows) para adaptar o arquivo de configuração padrão do agente de trabalho às suas necessidades específicas. 

Por fim, recomendamos que você ative o desligamento automático do agente de trabalho *depois* que o software for implantado e funcionar conforme o esperado. Isso permite que a frota de trabalhadores aumente quando necessário e seja encerrada quando um trabalho for concluído. O escalonamento automático ajuda a garantir que você esteja usando apenas os recursos necessários. Para permitir que uma instância iniciada pelo grupo de auto scaling seja encerrada, você deve adicioná-la `shutdown_on_stop=true` ao arquivo de `worker.toml` configuração.

**Para ativar o desligamento automático**

Como **root** usuário:
+ Instale o agente de trabalho com parâmetros**--allow-shutdown**.

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

  Insira:

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

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

  Insira:

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

------

## Crie usuários e grupos de trabalho
<a name="create-job-user-and-group"></a>

Esta seção descreve o relacionamento necessário de usuário e grupo entre o usuário do agente e o `jobRunAsUser` definido em suas filas.

O agente do Deadline Cloud Worker deve ser executado como um usuário dedicado específico do agente no host. Você deve configurar a `jobRunAsUser` propriedade das filas do Deadline Cloud para que os trabalhadores executem os trabalhos de fila como um usuário e grupo específicos do sistema operacional. Essa configuração significa que você pode controlar as permissões compartilhadas do sistema de arquivos que seus trabalhos têm. Ele também fornece um importante limite de segurança entre seus trabalhos e o usuário do agente de trabalho.

**Linuxusuários e grupos de trabalho**

Para configurar um usuário de agente de trabalho local e `jobRunAsUser` garantir que você atenda aos seguintes requisitos. Se você estiver usando um Linux Pluggable Authentication Module (PAM), como Active Directory ou LDAP, seu procedimento pode ser diferente.

O usuário do agente de trabalho e o `jobRunAsUser` grupo compartilhado são definidos quando você instala o agente de trabalho. Os padrões são `deadline-worker-agent` e`deadline-job-users`, mas você pode alterá-los ao instalar o agente de trabalho.

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

Os comandos devem ser executados como usuário root. 
+ Cada um `jobRunAsUser` deve ter um grupo primário correspondente. Criar um usuário com o `adduser` comando geralmente cria um grupo primário correspondente.

  ```
  adduser -r -m jobRunAsUser
  ```
+ O grupo primário do `jobRunAsUser` é um grupo secundário para o usuário do agente de trabalho. O grupo compartilhado permite que o agente de trabalho disponibilize arquivos para a tarefa enquanto ela está sendo executada. 

  ```
  usermod -a -G jobRunAsUser deadline-worker-agent
  ```
+ `jobRunAsUser`Deve ser membro do grupo de trabalho compartilhado.

  ```
  usermod -a -G deadline-job-users jobRunAsUser
  ```
+ Eles não `jobRunAsUser` devem pertencer ao grupo principal do usuário do agente de trabalho. Arquivos confidenciais gravados pelo agente de trabalho pertencem ao grupo principal do agente. Se `jobRunAsUser` a fizer parte desse grupo, os arquivos do agente de trabalho poderão estar acessíveis aos trabalhos em execução no trabalhador.
+ O padrão Região da AWS deve corresponder à região da fazenda à qual o trabalhador pertence. Isso deve ser aplicado a todas as `jobRunAsUser` contas do trabalhador.

  ```
  sudo -u jobRunAsUser aws configure set default.region aws-region
  ```
+ O usuário do agente de trabalho deve ser capaz de executar `sudo` comandos como `jobRunAsUser` o. Execute o comando a seguir para abrir um editor e criar uma nova regra sudoers:

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

  Adicione o seguinte ao arquivo:

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

O diagrama a seguir ilustra a relação entre o usuário agente e os `jobRunAsUser` usuários e grupos das filas associadas à frota.

![\[Uma ilustração da relação entre agentes-usuários e os que estão jobRunAsUser nas filas.\]](http://docs.aws.amazon.com/pt_br/deadline-cloud/latest/developerguide/images/worker_users_and_groups.png)


**Usuários do Windows**

Para usar um Windows usuário como o`jobRunAsUser`, ele deve atender aos seguintes requisitos:
+ Todos os `jobRunAsUser` usuários da fila devem existir.
+ Suas senhas devem corresponder ao valor do segredo especificado no `JobRunAsUser` campo da fila. Para obter instruções, consulte a etapa 7 em [Filas do Deadline Cloud](https://docs.aws.amazon.com/deadline-cloud/latest/userguide/queues.html) no *Guia do usuário do AWS Deadline Cloud*.
+  O usuário-agente deve ser capaz de fazer login como esses usuários.

## Protegendo seu host de trabalho
<a name="securing-worker-host"></a>

Ao configurar seu host de trabalho, siga as melhores práticas de segurança para proteger informações confidenciais e manter os controles de acesso adequados.

### Configurando as permissões da pasta de registro
<a name="configuring-log-folder-permissions"></a>

O agente de trabalho grava arquivos de log que podem conter informações confidenciais dos scripts de configuração do host e da execução do trabalho. O `install-deadline-worker` comando cria o diretório de log com permissões seguras. Se você precisar criar o diretório manualmente antes da instalação, use os procedimentos a seguir para combinar as permissões usadas pelas frotas gerenciadas por serviços:

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

**Para configurar as permissões do diretório de registros em Linux**

1. Crie o diretório de log:

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

1. Defina o proprietário e o grupo como o usuário do agente de trabalho:

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

1. Defina as permissões para 750:

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

   Essas permissões garantem que somente o usuário e o grupo do agente de trabalho possam acessar os arquivos de log, impedindo que usuários do trabalho e outros usuários não autorizados leiam informações potencialmente confidenciais.

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

**Para configurar as permissões do diretório de registros em Windows**

1. Abra um PowerShell terminal de administrador.

1. Crie o diretório de log:

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

1. Configure ACLs restrito para permitir somente o usuário do agente de trabalho e os administradores:

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

   Esses comandos restringem o acesso ao diretório de log somente ao usuário do agente de trabalho e ao grupo Administradores, impedindo que usuários do trabalho e outros usuários não autorizados leiam informações potencialmente confidenciais.

------