Tutorial: Erstellen Sie eine parallel Jobdefinition mit mehreren Knoten auf Amazon-Ressourcen EC2 - AWS Batch

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.

Tutorial: Erstellen Sie eine parallel Jobdefinition mit mehreren Knoten auf Amazon-Ressourcen EC2

Um eine parallel Jobdefinition mit mehreren Knoten auf Amazon Elastic Compute Cloud (AmazonEC2) -Ressourcen zu erstellen.

Anmerkung

Informationen zum Erstellen einer Auftragsdefinition mit einem Knoten finden Sie unter. Tutorial: Erstellen Sie eine Jobdefinition mit einem Knoten auf Amazon-Ressourcen EC2

So erstellen Sie eine parallel Jobdefinition mit mehreren Knoten auf EC2 Amazon-Ressourcen:
  1. Öffnen Sie die AWS Batch Konsole unter. https://console.aws.amazon.com/batch/

  2. Wählen Sie in der Navigationsleiste die aus, die Sie verwenden AWS-Region möchten.

  3. Wählen Sie im Navigationsbereich die Option Jobdefinitionen aus.

  4. Wählen Sie Create (Erstellen) aus.

  5. Wählen Sie als Orchestrierungstyp Amazon Elastic Compute Cloud (AmazonEC2).

  6. Aktivieren Sie für Multi-Node-Parallel aktivieren die Option Multi-Node-Parallel.

  7. Geben Sie unter Name einen eindeutigen Namen für Ihre Jobdefinition ein. Der Name kann bis zu 128 Zeichen lang sein und Groß- und Kleinbuchstaben, Zahlen, Bindestriche (-) und Unterstriche (_) enthalten.

  8. (Optional) Geben Sie für das Ausführungstimeout die maximale Anzahl von Sekunden an, für die Auftragsversuche ausgeführt werden sollen. Wenn ein Versuch die Timeoutdauer überschreitet, wird der Versuch gestoppt und erhält einen FAILED Status. Weitere Informationen finden Sie unter Timeouts bei der Job.

  9. (Optional) Aktivieren Sie die Zeitplanungspriorität. Geben Sie einen Wert für die Planungspriorität zwischen 0 und 100 ein. Höheren Werten wird eine höhere Priorität gegenüber niedrigeren Werten eingeräumt.

  10. (Optional) Geben Sie für Auftragsversuche ein, wie oft AWS Batch versucht wird, den Job in den RUNNABLE Status zu versetzen. Geben Sie eine Zahl zwischen 1 und 10 ein.

  11. (Optional) Wählen Sie unter Bedingungen für die Wiederholungsstrategie die Option Beim Beenden bewerten hinzufügen aus. Geben Sie mindestens einen Parameterwert ein und wählen Sie dann eine Aktion aus. Für jeden Satz von Bedingungen muss Aktion entweder auf Wiederholen oder Beenden gesetzt werden. Diese Aktionen bedeuten Folgendes:

    • Wiederholen — AWS Batch Wiederholt die Versuche, bis die von Ihnen angegebene Anzahl von Auftragsversuchen erreicht ist.

    • Beenden — AWS Batch beendet die Wiederholung des Jobs.

    Wichtig

    Wenn Sie „Beim Beenden bewerten hinzufügen“ wählen, müssen Sie mindestens einen Parameter konfigurieren und entweder eine Aktion auswählen oder „Beim Beenden auswerten entfernen“ wählen.

  12. (Optional) Erweitern Sie „Tags“ und wählen Sie dann „Tag hinzufügen“, um der Ressource Tags hinzuzufügen. Geben Sie einen Schlüssel und einen optionalen Wert ein und wählen Sie dann Tag hinzufügen aus. Sie können auch Tags weitergeben aktivieren, um Tags aus dem Job und der Jobdefinition an die ECS Amazon-Aufgabe weiterzugeben.

  13. Wählen Sie „Nächste Seite“.

  14. Geben Sie unter Number of Nodes (Anzahl von Knoten) die Gesamtanzahl von Knoten ein, die für Ihren Auftrag verwendet werden sollen.

  15. Unter Main node (Hauptknoten) geben Sie den für den Hauptknoten zu verwendenden Knotenindex ein. Der standardmäßige Hauptknotenindex lautet 0.

  16. Wählen Sie für Instance-Typ einen Instance-Typ aus.

    Anmerkung

    Der von Ihnen gewählte Instance-Typ gilt für alle Knoten.

  17. Wählen Sie für Parameter die Option Parameter hinzufügen aus, um Platzhalter für die Parametersetzung als Schlüssel - und optionale Wertepaare hinzuzufügen.

  18. Gehen Sie im Abschnitt Knotenbereiche wie folgt vor:

    1. Wählen Sie Knotenbereich hinzufügen aus. Dadurch wird ein Abschnitt „Knotenbereich“ erstellt.

    2. Legen Sie unter Target nodes (Zielknoten) mit der Notation range_start:range_end den Bereich für Ihre Knotengruppe fest.

      Sie können bis zu fünf Knotenbereiche für die Knoten erstellen, die Sie für Ihren Job angegeben haben. Knotenbereiche verwenden den Indexwert für einen Knoten und der Knotenindex beginnt bei 0. Stellen Sie sicher, dass der Indexwert für das Bereichsende Ihrer letzten Knotengruppe um eins unter der von Ihnen angegebenen Anzahl von Knoten liegt. Nehmen wir beispielsweise an, Sie haben 10 Knoten angegeben und möchten eine einzelne Knotengruppe verwenden. Dann ist Ihr Endbereich 9.

    3. Wählen Sie für Bild Docker Bild, das Sie für Ihre Arbeit verwenden möchten. Standardmäßig sind Bilder im Docker Hub Die Registrierung ist verfügbar. Sie können auch andere Repositorys mit repository-url/image:tag angeben. Der Name kann bis zu 225 Zeichen lang sein. Er kann Groß- und Kleinbuchstaben, Zahlen, Bindestriche (-), Unterstriche (_), Doppelpunkte (:), Schrägstriche (/) und Zahlenzeichen (#) enthalten. Dieser Parameter ist dem Abschnitt Create a container von Docker Remote und dem Parameter von zugeordnet. Image API IMAGEdocker run

      Anmerkung

      Docker Die Image-Architektur muss mit der Prozessorarchitektur der Rechenressourcen übereinstimmen, für die sie geplant sind. Zum Beispiel Arm basiert Docker Bilder können nur ausgeführt werden auf Arm basierte Rechenressourcen.

      • Bilder in ECR öffentlichen Amazon Repositorys verwenden die vollständigen registry/repository[:tag] oder die registry/repository[@digest] Namenskonventionen (z. B.public.ecr.aws/registry_alias/my-web-app:latest).

      • Bilder in ECR Amazon-Repositorys verwenden die vollständige registry/repository[:tag] Namenskonvention. Beispiel: aws_account_id.dkr.ecr.region.amazonaws.com/my-web-app:latest

      • Bilder in offiziellen Repositorien auf Docker Hub verwenden Sie einen einzigen Namen (z. B. ubuntu odermongo).

      • Bilder in anderen Repositorien auf Docker Hub sind mit einem Organisationsnamen qualifiziert (z. B.amazon/amazon-ecs-agent).

      • Image in anderen Online-Repositorys sind durch einen Domain-Namen zusätzlich qualifiziert (z. B. quay.io/assemblyline/ubuntu).

    4. Wählen Sie für Befehlssyntax Bash oder JSON.

    5. Geben Sie unter Befehl den Befehl an, der an den Container übergeben werden soll. Bei einfachen Befehlen können Sie den Befehl wie in einer Befehlszeile auf der durch Leerzeichen getrennten Registerkarte eingeben. Vergewissern Sie sich dann, dass JSON Das Ergebnis ist korrekt. Das JSON Ergebnis wird an die übergeben Docker daemon. Für kompliziertere Befehle (z. B. mit Sonderzeichen) können Sie zur JSONRegisterkarte wechseln und dort das entsprechende String-Array-Äquivalent eingeben.

      Dieser Parameter entspricht Cmd dem Abschnitt Create a container von Docker Remote API und dem COMMAND Parameter to docker run. Für weitere Informationen über Docker CMDParameter finden Sie unter https://docs.docker.com/engine/reference/builder/ #cmd.

      Anmerkung

      Sie können Standardwerte für die Parameterersetzung und Platzhalter in Ihrem Befehl verwenden. Weitere Informationen finden Sie unter Parameter.

    6. Geben Sie für die Anzahl an vCPUs, die für vCPUs den Container reserviert werden sollen. Dieser Parameter ist dem CpuShares Abschnitt Create a container von Docker Remote API und der --cpu-shares Option to docker runzugeordnet. Jedes V CPU entspricht 1.024 AktienCPU. Sie müssen mindestens ein V CPU angeben.

    7. Geben Sie unter Arbeitsspeicher die Arbeitsspeichergrenze (in MiB) für die Präsentation an den Container des Auftrags an. Wenn Ihr Container versucht, den hier angegebenen Speicher zu überschreiten, wird der Container gestoppt. Dieser Parameter ist dem Memory Abschnitt Create a container von Docker Remote API und der --memory Option to docker runzugeordnet. Sie müssen mindestens 4 MB Arbeitsspeicher für einen Auftrag festlegen.

      Anmerkung

      Um Ihre Ressourcennutzung zu maximieren, können Sie Ihren Jobs so viel Speicher wie möglich für einen bestimmten Instance-Typ zur Verfügung stellen. Weitere Informationen finden Sie unter Speicherverwaltung für Rechenressourcen.

    8. (Optional) Geben Sie unter Anzahl von GPUs die Anzahl GPUs Ihrer Job-Nutzungen an. Der Job wird auf einem Container mit der angegebenen Anzahl von Containern ausgeführtGPUs, die an diesen Container angeheftet sind.

    9. (Optional) Für die Rolle Job können Sie eine IAM Rolle angeben, die dem Container in Ihrem Job Berechtigungen zur Verwendung von erteilt AWS APIs. Diese Funktion verwendet ECS IAM Amazon-Rollen für Aufgabenfunktionen. Weitere Informationen, einschließlich der Voraussetzungen für die Konfiguration, finden Sie unter IAMRollen für Aufgaben im Amazon Elastic Container Service Developer Guide.

      Anmerkung

      Für Jobs, die auf Fargate-Ressourcen ausgeführt werden, ist eine Jobrolle erforderlich.

      Anmerkung

      Hier werden nur Rollen angezeigt, für die die Amazon Elastic Container Service Task Role Vertrauensstellung besteht. Weitere Informationen zum Erstellen einer IAM Rolle für Ihre AWS Batch Jobs finden Sie unter Creating an IAM Role and Policy for your Tasks im Amazon Elastic Container Service Developer Guide.

    10. (Optional) Geben Sie für die Ausführungsrolle eine IAM Rolle an, die den ECS Amazon-Containeragenten die Erlaubnis erteilt, in Ihrem Namen AWS API Anrufe zu tätigen. Diese Funktion verwendet ECS IAM Amazon-Rollen für Aufgabenfunktionen. Weitere Informationen finden Sie unter Amazon ECS Task Execution IAM Roles im Amazon Elastic Container Service Developer Guide.

  19. (Optional) Erweitern Sie Zusätzliche Konfiguration:

    1. Wählen Sie für Umgebungsvariablen die Option Umgebungsvariable hinzufügen aus, um Umgebungsvariablen als Name-Wert-Paare hinzuzufügen. Diese Variablen werden an den Container übergeben.

    2. Für die Job-Rollenkonfiguration können Sie eine IAM Rolle angeben, die dem Container in Ihrem Job Berechtigungen zur Verwendung von gewährt AWS APIs. Diese Funktion verwendet ECS IAM Amazon-Rollen für Aufgabenfunktionen. Weitere Informationen, einschließlich der Voraussetzungen für die Konfiguration, finden Sie unter IAMRollen für Aufgaben im Amazon Elastic Container Service Developer Guide.

      Anmerkung

      Für Jobs, die auf Fargate-Ressourcen ausgeführt werden, ist eine Jobrolle erforderlich.

      Anmerkung

      Hier werden nur Rollen angezeigt, für die die Amazon Elastic Container Service Task Role Vertrauensstellung besteht. Weitere Informationen zum Erstellen einer IAM Rolle für Ihre AWS Batch Jobs finden Sie unter Creating an IAM Role and Policy for your Tasks im Amazon Elastic Container Service Developer Guide.

    3. Geben Sie für die Ausführungsrolle eine IAM Rolle an, die den ECS Amazon-Containeragenten die Erlaubnis erteilt, in Ihrem Namen AWS API Anrufe zu tätigen. Diese Funktion verwendet ECS IAM Amazon-Rollen für Aufgabenfunktionen. Weitere Informationen finden Sie unter Amazon ECS Task Execution IAM Roles im Amazon Elastic Container Service Developer Guide.

  20. Im Abschnitt Sicherheitskonfiguration:

    1. (Optional) Um dem Container Ihres Jobs erhöhte Rechte auf der Host-Instance zu gewähren (ähnlich wie dem root Benutzer), aktivieren Sie Privilegiert. Dieser Parameter entspricht Privileged dem Abschnitt Create a container von Docker Remote API und der --privileged Option to docker run.

    2. (Optional) Geben Sie unter Benutzer den Benutzernamen ein, der im Container verwendet werden soll. Dieser Parameter ist dem User Abschnitt Create a container von Docker Remote API und der --user Option to docker runzugeordnet.

    3. (Optional) Wählen Sie unter Secrets die Option Add secret aus, um Secrets als Name-Wert-Paare hinzuzufügen. Diese Geheimnisse werden im Container offengelegt. Weitere Informationen finden Sie unter LogConfiguration: secretOptions.

  21. Im Abschnitt zur Linux-Konfiguration:

    1. Aktivieren Sie die Option Schreibgeschütztes Dateisystem aktivieren, um den Schreibzugriff auf das Volume zu unterbinden.

    2. (Optional) Schalten Sie „Aktivieren“ ein init Prozess, um einen init Prozess innerhalb des Containers auszuführen. Dieser Prozess leitet Signale weiter und verarbeitet Prozesse.

    3. Geben Sie für Größe des gemeinsamen Speichers die Größe (in MiB) des /dev/shm Volumes ein.

    4. Geben Sie für Max. Swap-Größe die Gesamtmenge an Swap-Speicher (in MiB) ein, die der Container verwenden kann.

    5. Geben Sie für Swappiness einen Wert zwischen 0 und 100 ein, um das Swappiness-Verhalten des Containers anzugeben. Wenn Sie keinen Wert angeben und Swapping aktiviert ist, ist der Standardwert 60. Weitere Informationen finden Sie unter:Swappiness. LinuxParameters

    6. (Optional) Wählen Sie für Geräte die Option Gerät hinzufügen, um ein Gerät hinzuzufügen:

      1. Geben Sie für Container path (Container-Pfad) den Pfad in der Container-Instance an, um das der Host-Instance zugeordnete Gerät zugänglich zu machen. Wenn Sie dieses Feld leer lassen, wird der Hostpfad im Container verwendet.

      2. Geben Sie für Host path (Host-Pfad) den Pfad eines Geräts in der Host-Instance an.

      3. Wählen Sie unter Berechtigungen eine oder mehrere Berechtigungen aus, die auf das Gerät angewendet werden sollen. Die verfügbaren Berechtigungen sind READWRITE, und MKNOD.

  22. (Optional) Wählen Sie für Bereitstellungspunkte die Option Konfiguration für Bereitstellungspunkte hinzufügen aus, um Bereitstellungspunkte für Datenvolumes hinzuzufügen. Sie müssen das Quellvolume und den Containerpfad angeben. Diese Einhängepunkte werden an die übergeben Docker Daemon auf einer Container-Instance. Sie können sich auch dafür entscheiden, das Volume schreibgeschützt zu machen.

  23. (Optional) Wählen Sie für die Ulimits-Konfiguration die Option Ulimit hinzufügen aus, um einen ulimits Wert für den Container hinzuzufügen. Geben Sie die Werte Name, Soft Limit und Hard Limit ein und wählen Sie dann Add ulimit aus.

  24. (Optional) Wählen Sie für die Volumes-Konfiguration die Option Volume hinzufügen aus, um eine Liste von Volumes zu erstellen, die an den Container übergeben werden sollen. Geben Sie den Namen und den Quellpfad für das Volume ein und wählen Sie dann Volume hinzufügen. Sie können sich auch dafür entscheiden, „Aktivieren“ zu aktivieren EFS.

  25. (Optional) Wählen Sie für Tmpfs Add tmpfs aus, um einen Mount hinzuzufügen. tmpfs

  26. (Optional) Gehen Sie im Abschnitt zur Konfiguration der Protokollierung wie folgt vor:

    1. Wählen Sie unter Protokolltreiber den Protokolltreiber aus, den Sie verwenden möchten. Weitere Informationen zu den verfügbaren Protokolltreibern finden Sie unter LogConfiguration: logDriver.

      Anmerkung

      Standardmäßig wird der awslogs Protokolltreiber verwendet.

    2. Wählen Sie unter Optionen die Option Hinzufügen aus, um eine Option hinzuzufügen. Geben Sie ein Name-Wert-Paar ein und wählen Sie dann Option hinzufügen.

    3. Wählen Sie für Geheimnisse die Option Geheimnis hinzufügen aus. Geben Sie ein Name-Wert-Paar ein und wählen Sie dann Geheimnis hinzufügen, um ein Geheimnis hinzuzufügen.

  27. Wählen Sie Nächste Seite.

  28. Lesen Sie zur Überprüfung der Jobdefinition die Konfigurationsschritte. Wenn Sie Änderungen vornehmen müssen, wählen Sie Edit (Bearbeiten). Wenn Sie fertig sind, wählen Sie Jobdefinition erstellen.