View a markdown version of this page

Einrichtung und Konfiguration des Worker-Hosts - Deadline Cloud

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

Einrichtung und Konfiguration des Worker-Hosts

Ein Worker-Host bezieht sich auf einen Host-Computer, auf dem ein Deadline Cloud-Worker ausgeführt wird. In diesem Abschnitt wird erklärt, wie Sie den Worker-Host einrichten und für Ihre spezifischen Bedürfnisse konfigurieren. Jeder Worker-Host führt ein Programm aus, das als Worker Agent bezeichnet wird. Der Worker Agent ist verantwortlich für:

  • Verwaltung des Lebenszyklus des Arbeiters.

  • Synchronisieren der zugewiesenen Arbeit, ihres Fortschritts und ihrer Ergebnisse.

  • Überwachung der laufenden Arbeit.

  • Weiterleitung von Protokollen an konfigurierte Ziele.

Wir empfehlen, den mitgelieferten Deadline Cloud Worker Agent zu verwenden. Der Worker Agent ist Open Source und wir freuen uns über Anfragen nach Funktionen, aber Sie können ihn auch entwickeln und an Ihre Bedürfnisse anpassen.

Um die Aufgaben in den folgenden Abschnitten zu erledigen, benötigen Sie Folgendes:

Linux
  • Eine Linux basierte Amazon Elastic Compute Cloud (Amazon EC2) -Instance. Wir empfehlen Amazon Linux 2023.

  • sudoPrivilegien

  • Python 3.9 oder höher

Windows
  • Eine Windows basierte Amazon Elastic Compute Cloud (Amazon EC2) -Instanz. Wir empfehlenWindows Server 2022.

  • Administratorzugriff auf den Worker-Host

  • Python 3.9 oder höher ist für alle Benutzer installiert

Erstellen und konfigurieren Sie eine virtuelle Python-Umgebung

Sie können eine virtuelle Python-Umgebung erstellen, Linux wenn Sie Python 3.9 oder höher installiert und in Ihrem platziert habenPATH.

Anmerkung

AnWindows, Agentendateien müssen im globalen Site-Packages-Verzeichnis von Python installiert werden. Virtuelle Python-Umgebungen werden derzeit nicht unterstützt.

Um eine virtuelle Python-Umgebung zu erstellen und zu aktivieren
  1. Öffnen Sie ein Terminal als root Benutzer (oder verwenden Siesudo/su).

  2. Erstellen und aktivieren Sie eine virtuelle Python-Umgebung.

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

Installieren Sie den Deadline Cloud Worker Agent

Nachdem Sie Python eingerichtet und eine virtuelle Umgebung erstellt habenLinux, installieren Sie die Python-Pakete für den Deadline Cloud-Worker-Agenten.

Um die Worker-Agent-Python-Pakete zu installieren

Linux
  1. Öffnen Sie als root Benutzer ein Terminal (oder verwenden Siesudo/su).

  2. Laden Sie die Deadline Cloud Worker Agent-Pakete von PyPI herunter und installieren Sie sie:

    /opt/deadline/worker/bin/python -m pip install deadline-cloud-worker-agent
Windows
  1. Öffnen Sie eine Administrator-Eingabeaufforderung oder PowerShell ein Terminal.

  2. Laden Sie die Deadline Cloud Worker Agent-Pakete von PyPI herunter und installieren Sie sie:

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

Wenn Ihr Windows Worker-Host lange Pfadnamen (mehr als 250 Zeichen) benötigt, müssen Sie lange Pfadnamen wie folgt aktivieren:

  1. Stellen Sie sicher, dass der Long Path-Registrierungsschlüssel aktiviert ist. Weitere Informationen finden Sie unter Registrierungseinstellung zum Aktivieren von Protokollpfaden auf der Microsoft-Website.

  2. Installieren Sie das Windows SDK für Desktop C++ x86-Apps. Weitere Informationen finden Sie unter Windows SDK im Windows Dev Center.

  3. Öffnen Sie das Python-Installationsverzeichnis in Ihrer Umgebung, in der der Worker Agent installiert ist. Der Standardwert ist C:\Program Files\Python311. Es gibt eine ausführbare Datei mit dem Namenpythonservice.exe.

  4. Erstellen Sie eine neue Datei mit pythonservice.exe.manifest dem Namen am selben Speicherort. Fügen Sie Folgendes hinzu:

    <?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>
  5. Öffnen Sie eine Eingabeaufforderung und führen Sie den folgenden Befehl am Speicherort der von Ihnen erstellten Manifestdatei aus:

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

    Die Ausgabe sollte folgendermaßen oder ähnlich aussehen:

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

Der Worker kann jetzt auf lange Pfade zugreifen. Entfernen Sie zum Aufräumen die pythonservice.exe.manifest Datei und deinstallieren Sie das SDK.

Konfigurieren Sie den Deadline Cloud Worker Agent

Sie können die Einstellungen für den Deadline Cloud-Worker-Agenten auf drei Arten konfigurieren. Wir empfehlen Ihnen, das Betriebssystem-Setup zu verwenden, indem Sie das install-deadline-worker Tool ausführen.

Befehlszeilenargumente — Sie können Argumente angeben, wenn Sie den Deadline Cloud Worker Agent über die Befehlszeile ausführen. Einige Konfigurationseinstellungen sind nicht über Befehlszeilenargumente verfügbar. Um alle verfügbaren Befehlszeilenargumente anzuzeigen, geben Sie eindeadline-worker-agent --help.

Umgebungsvariablen — Sie können den Deadline Cloud-Worker-Agenten konfigurieren, indem Sie die Umgebungsvariable festlegen, die mit beginntDEADLINE_WORKER_. Um beispielsweise alle verfügbaren Befehlszeilenargumente zu sehen, können export DEADLINE_WORKER_VERBOSE=true Sie die Ausgabe des Worker-Agenten auf ausführlich setzen. Weitere Beispiele und Informationen finden Sie unter /etc/amazon/deadline/worker.toml.example on Linux oder C:\ProgramData\Amazon\Deadline\Config\worker.toml.example onWindows.

Konfigurationsdatei — Wenn Sie den Worker Agent installieren, erstellt er eine Konfigurationsdatei, die sich unter /etc/amazon/deadline/worker.toml on Linux oder C:\ProgramData\Amazon\Deadline\Config\worker.toml on befindetWindows. Der Worker Agent lädt diese Konfigurationsdatei, wenn er startet. Sie können die Beispielkonfigurationsdatei (/etc/amazon/deadline/worker.toml.exampleon Linux oder C:\ProgramData\Amazon\Deadline\Config\worker.toml.example onWindows) verwenden, um die Standard-Worker-Agent-Konfigurationsdatei an Ihre speziellen Bedürfnisse anzupassen.

Schließlich empfehlen wir Ihnen, das automatische Herunterfahren für den Worker Agent zu aktivieren, nachdem Ihre Software bereitgestellt wurde und erwartungsgemäß funktioniert. Auf diese Weise kann die Mitarbeiterflotte bei Bedarf skaliert und heruntergefahren werden, wenn ein Job abgeschlossen ist. Die automatische Skalierung hilft sicherzustellen, dass Sie nur die benötigten Ressourcen verwenden. Damit eine von der Auto Scaling-Gruppe gestartete Instance heruntergefahren werden kann, müssen Sie der worker.toml Konfigurationsdatei etwas hinzufügenshutdown_on_stop=true.

Um das automatische Herunterfahren zu aktivieren

Als root Benutzer:

  • Installieren Sie den Worker Agent mit Parametern--allow-shutdown.

    Linux

    Geben Sie ein:

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

    Geben Sie ein:

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

Jobbenutzer und Gruppen erstellen

In diesem Abschnitt wird die erforderliche Benutzer- und Gruppenbeziehung zwischen dem Agentenbenutzer und den in Ihren Warteschlangen jobRunAsUser definierten Benutzern beschrieben.

Der Deadline Cloud-Worker-Agent sollte als dedizierter, agentenspezifischer Benutzer auf dem Host ausgeführt werden. Sie sollten die jobRunAsUser Eigenschaft von Deadline Cloud-Warteschlangen so konfigurieren, dass Worker die Warteschlangenjobs als ein bestimmter Betriebssystembenutzer und eine bestimmte Betriebssystemgruppe ausführen. Diese Konfiguration bedeutet, dass Sie die gemeinsamen Dateisystemberechtigungen kontrollieren können, die Ihre Jobs haben. Sie bietet auch eine wichtige Sicherheitsgrenze zwischen Ihren Jobs und dem Worker-Agent-Benutzer.

LinuxJobbenutzer und Gruppen

Um einen lokalen Worker Agent-Benutzer einzurichtenjobRunAsUser, stellen Sie sicher, dass Sie die folgenden Anforderungen erfüllen. Wenn Sie ein Linux Pluggable Authentication Module (PAM) wie Active Directory oder LDAP verwenden, ist Ihr Verfahren möglicherweise anders.

Der Worker Agent-Benutzer und die gemeinsam genutzte jobRunAsUser Gruppe werden bei der Installation des Worker Agents festgelegt. Die Standardwerte sind deadline-worker-agent unddeadline-job-users, aber Sie können sie ändern, wenn Sie den Worker Agent installieren.

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

Befehle sollten als Root-Benutzer ausgeführt werden.

  • Jeder jobRunAsUser sollte eine passende Primärgruppe haben. Wenn Sie einen Benutzer mit dem adduser Befehl erstellen, wird normalerweise eine passende Primärgruppe erstellt.

    adduser -r -m jobRunAsUser
  • Die primäre Gruppe von jobRunAsUser ist eine sekundäre Gruppe für den Worker-Agent-Benutzer. Die gemeinsam genutzte Gruppe ermöglicht es dem Worker Agent, Dateien für den Job verfügbar zu machen, während er ausgeführt wird.

    usermod -a -G jobRunAsUser deadline-worker-agent
  • Der jobRunAsUser muss Mitglied der gemeinsamen Auftragsgruppe sein.

    usermod -a -G deadline-job-users jobRunAsUser
  • Der jobRunAsUser darf nicht zur primären Gruppe des Worker Agent-Benutzers gehören. Vertrauliche Dateien, die vom Worker Agent geschrieben wurden, gehören der primären Gruppe des Agenten. Wenn a zu dieser Gruppe jobRunAsUser gehört, können Jobs, die auf dem Worker ausgeführt werden, auf die Worker-Agent-Dateien zugreifen.

  • Die Standardeinstellung AWS-Region muss der Region der Farm entsprechen, zu der der Worker gehört. Wenden Sie diese Einstellung auf alle jobRunAsUser Konten des Workers an.

    sudo -u jobRunAsUser aws configure set default.region aws-region
  • Der Worker-Agent-Benutzer muss in der Lage sein, sudo Befehle als auszuführenjobRunAsUser. Führen Sie den folgenden Befehl aus, um einen Editor zum Erstellen einer neuen Sudoers-Regel zu öffnen:

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

    Fügen Sie der Datei Folgendes hinzu:

    # 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

Das folgende Diagramm veranschaulicht die Beziehung zwischen dem Agent-Benutzer und den jobRunAsUser Benutzern und Gruppen für Warteschlangen, die der Flotte zugeordnet sind.

Eine Veranschaulichung der Beziehung zwischen Agent-Benutzern und den jobRunAsUser On-Queues.

Windows-Benutzer

Um einen Windows Benutzer als Benutzer verwenden zu könnenjobRunAsUser, muss er die folgenden Anforderungen erfüllen:

  • Alle jobRunAsUser Warteschlangenbenutzer müssen existieren.

  • Ihre Passwörter müssen mit dem Wert des Geheimnisses übereinstimmen, das im JobRunAsUser Feld ihrer Warteschlange angegeben ist. Eine Anleitung finden Sie in Schritt 7 unter Deadline Cloud-Warteschlangen im AWS Deadline Cloud-Benutzerhandbuch.

  • Der Agent-Benutzer muss sich unter diesen Benutzern anmelden können.

Sicherung Ihres Worker-Hosts

Halten Sie sich bei der Einrichtung Ihres Worker-Hosts an die bewährten Sicherheitsmethoden, um vertrauliche Informationen zu schützen und angemessene Zugriffskontrollen aufrechtzuerhalten.

Konfiguration der Berechtigungen für Protokollordner

Der Worker Agent schreibt Protokolldateien, die vertrauliche Informationen aus den Host-Konfigurationsskripten und der Auftragsausführung enthalten können. Der install-deadline-worker Befehl erstellt das Protokollverzeichnis mit sicheren Berechtigungen. Wenn Sie das Verzeichnis vor der Installation manuell erstellen müssen, gehen Sie wie folgt vor, um die Berechtigungen abzugleichen, die von Diensten verwaltete Flotten verwendet werden:

Linux
So konfigurieren Sie die Protokollverzeichnisberechtigungen für Linux
  1. Erstellen Sie das Protokollverzeichnis:

    sudo mkdir -p /var/log/amazon/deadline
  2. Stellen Sie den Besitzer und die Gruppe auf den Worker Agent-Benutzer ein:

    sudo chown -R deadline-worker-agent:deadline-worker-agent /var/log/amazon/deadline
  3. Stellen Sie die Berechtigungen auf 750 ein:

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

    Diese Berechtigungen stellen sicher, dass nur der Worker-Agent-Benutzer und die Gruppe auf die Protokolldateien zugreifen können, sodass Jobbenutzer und andere nicht autorisierte Benutzer potenziell vertrauliche Informationen nicht lesen können.

Windows
So konfigurieren Sie die Berechtigungen für das Protokollverzeichnis Windows
  1. Öffnen Sie ein PowerShell Administrator-Terminal.

  2. Erstellen Sie das Protokollverzeichnis:

    New-Item -ItemType Directory -Force -Path "$env:PROGRAMDATA\Amazon\Deadline\Logs"
  3. Konfigurieren Sie eingeschränkte ACLs so, dass nur der Worker Agent-Benutzer und Administratoren Folgendes zulassen:

    $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

    Diese Befehle beschränken den Zugriff auf das Protokollverzeichnis nur auf den Worker-Agent-Benutzer und die Administratorgruppe und verhindern so, dass Jobbenutzer und andere nicht autorisierte Benutzer potenziell vertrauliche Informationen lesen können.