Ressourcen-AMIs berechnen - 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.

Ressourcen-AMIs berechnen

Standardmäßig verwenden AWS Batch verwaltete Computerumgebungen eine aktuelle, genehmigte Version des für Amazon ECS optimierten AMI für Rechenressourcen. Möglicherweise möchten Sie jedoch Ihr eigenes AMI erstellen, das Sie für Ihre verwalteten und nicht verwalteten Computerumgebungen verwenden können. Wenn Sie eines der folgenden Dinge benötigen, empfehlen wir Ihnen, Ihr eigenes AMI zu erstellen:

  • Erhöhung der Speichergröße Ihrer AMI-Root- oder Datenvolumes

  • Hinzufügen von Instance-Speichervolumes für unterstützte Amazon EC2 EC2-Instance-Typen

  • Anpassen des Amazon ECS-Container-Agenten

  • Anpassen von Docker

  • Konfiguration eines GPU-Workload-AMI, um Containern den Zugriff auf GPU-Hardware auf unterstützten Amazon EC2 EC2-Instance-Typen zu ermöglichen

Anmerkung

Nachdem eine Rechenumgebung erstellt wurde, werden die AMIs in der Rechenumgebung AWS Batch nicht aktualisiert. AWS Batch aktualisiert auch nicht die AMIs in Ihrer Rechenumgebung, wenn eine neuere Version des für Amazon ECS optimierten AMI verfügbar ist. Sie sind für die Verwaltung des Gastbetriebssystems verantwortlich. Dazu gehören alle Updates und Sicherheitspatches. Sie sind auch für jede zusätzliche Anwendungssoftware oder Hilfsprogramme verantwortlich, die Sie auf den Rechenressourcen installieren. Gehen Sie wie folgt vor, um ein neues AMI für Ihre AWS Batch Jobs zu verwenden:

  1. Erstellen Sie eine neue Datenverarbeitungsumgebung mit dem neuen AMI.

  2. Fügen Sie die Datenverarbeitungsumgebung einer vorhandenen Auftragswarteschlange hinzu.

  3. Entfernen Sie die alte Datenverarbeitungsumgebung aus Ihrer Auftragswarteschlange.

  4. Löschen Sie die alte Datenverarbeitungsumgebung.

Im April 2022 AWS Batch wurde erweiterte Unterstützung für die Aktualisierung von Computerumgebungen hinzugefügt. Weitere Informationen finden Sie unter Aktualisieren von Datenverarbeitungsumgebungen. Beachten Sie die folgenden Regeln, um die erweiterte Aktualisierung von Computing-Umgebungen zum Aktualisieren von AMIs zu verwenden:

  • Legen Sie entweder den Parameter service role (serviceRole) nicht fest oder legen Sie ihn auf die AWSServiceRoleForBatchdienstverknüpfte Rolle fest.

  • Setzen Sie den Parameter Allocation Strategy (allocationStrategy) auf BEST_FIT_PROGRESSIVESPOT_CAPACITY_OPTIMIZED, oderSPOT_PRICE_CAPACITY_OPTIMIZED.

  • Stellen Sie den Parameter Update auf die neueste Image-Version (updateToLatestImageVersion) auf eintrue.

  • Geben Sie keine AMI-ID in imageId, imageIdOverride(in ec2Configuration) oder in der Startvorlage (launchTemplate) an. Wenn Sie keine AMI-ID angeben, AWS Batch wählt das neueste Amazon ECS-optimierte AMI aus, das zum Zeitpunkt der Initiierung des Infrastruktur-Updates AWS Batch unterstützt wird. Alternativ können Sie die AMI-ID in den imageIdOverride Parametern imageId oder angeben. Sie können auch die Startvorlage angeben, die anhand der LaunchTemplate Eigenschaften identifiziert wird. Wenn Sie eine dieser Eigenschaften ändern, wird ein Infrastruktur-Update gestartet. Wenn die AMI-ID in der Startvorlage angegeben ist, kann die AMI-ID nicht durch die Angabe einer AMI-ID in den imageIdOverride Parametern imageId oder ersetzt werden. Die AMI-ID kann nur durch Angabe einer anderen Startvorlage ersetzt werden. Wenn die Version der Startvorlage auf $Default oder gesetzt ist$Latest, kann die AMI-ID ersetzt werden, indem entweder eine neue Standardversion für die Startvorlage festgelegt wird (if$Default) oder indem der Startvorlage eine neue Version hinzugefügt wird (if$Latest).

Wenn diese Regeln befolgt werden, führt jedes Update, das ein Infrastruktur-Update startet, dazu, dass die AMI-ID erneut ausgewählt wird. Wenn die versionEinstellung in der Startvorlage (launchTemplate) auf $Latest oder gesetzt ist$Default, wird die neueste Version oder Standardversion der Startvorlage zum Zeitpunkt des Infrastruktur-Updates ausgewertet, auch wenn sie launchTemplatenicht aktualisiert wurde.

AMI-Spezifikation für Rechenressourcen

Die grundlegende AMI-Spezifikation für AWS Batch Rechenressourcen besteht aus den folgenden Komponenten:

Erforderlich

  • Eine moderne Linux-Distribution, auf der mindestens Version 3.10 des Linux-Kernels auf einem AMI vom Typ HVM-Virtualisierung ausgeführt wird. Windows-Container werden nicht unterstützt.

    Wichtig

    parallel Jobs mit mehreren Knoten können nur auf Rechenressourcen ausgeführt werden, die auf einer Amazon Linux-Instance mit dem installierten ecs-init Paket gestartet wurden. Wir empfehlen, dass Sie bei der Erstellung Ihrer Datenverarbeitungsumgebung das standardmäßige, für Amazon ECS optimierte AMI verwenden. Sie können dies tun, indem Sie kein benutzerdefiniertes AMI angeben. Weitere Informationen finden Sie unter parallel Jobs mit mehreren Knoten.

  • Der Amazon ECS-Containeragent. Wir empfehlen, dass Sie die neueste Version verwenden. Weitere Informationen finden Sie unter Installation des Amazon ECS Container Agent im Amazon Elastic Container Service Developer Guide.

  • Der awslogs Protokolltreiber muss als verfügbarer Protokolltreiber mit der ECS_AVAILABLE_LOGGING_DRIVERS Umgebungsvariablen angegeben werden, wenn der Amazon ECS-Container-Agent gestartet wird. Weitere Informationen finden Sie unter Amazon ECS Container Agent Configuration im Entwicklerhandbuch zum Amazon Elastic Container Service.

  • Ein Docker-Daemon, auf dem mindestens Version 1.9 ausgeführt wird, und alle Abhängigkeiten von der Docker-Laufzeit. Weitere Informationen finden Sie unter Check runtime dependencies (Prüfen der Laufzeitabhängigkeiten) in der Docker-Dokumentation.

    Anmerkung

    Wir empfehlen die Docker-Version, die mit der entsprechenden Amazon ECS-Agentenversion, die Sie verwenden, geliefert wird und mit dieser getestet wurde. Amazon ECS stellt ein Changelog für die Linux-Variante des Amazon ECS-optimierten AMI on bereit. GitHub Weitere Informationen finden Sie unter Änderungsprotokoll.

Empfohlen

  • Ein Initialisierungs- und Nanny-Prozess zum Ausführen und Überwachen des Amazon ECS-Agenten. Das für Amazon ECS optimierte AMI verwendet den ecs-init Upstart-Prozess, und andere Betriebssysteme verwenden systemd ihn möglicherweise. Weitere Informationen und Beispiele finden Sie unter Beispielskripte zur Konfiguration von Benutzerdaten für Container-Instances im Amazon Elastic Container Service Developer Guide. Weitere Informationen zu ecs-init finden Sie im ecs-initProjekt unter GitHub. Für verwaltete Rechenumgebungen muss der Amazon ECS-Agent mindestens beim Booten gestartet werden. Wenn der Amazon ECS-Agent nicht auf Ihrer Rechenressource läuft, kann er keine Jobs von annehmen AWS Batch.

Das für Amazon ECS optimierte AMI ist mit diesen Anforderungen und Empfehlungen vorkonfiguriert. Wir empfehlen, dass Sie das für Amazon ECS optimierte AMI oder ein Amazon Linux AMI mit dem ecs-init Paket verwenden, das für Ihre Rechenressourcen installiert ist. Wählen Sie ein anderes AMI, wenn Ihre Anwendung ein bestimmtes Betriebssystem oder eine Docker-Version benötigt, die in diesen AMIs noch nicht verfügbar ist. Weitere Informationen finden Sie unter Amazon ECS-Optimized AMI im Amazon Elastic Container Service Developer Guide.