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

Computing-Ressourcen-AMIs

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

  • Erhöhen der Speichergröße Ihrer AMI-Stamm- oder -Daten-Volumes

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

  • Anpassen des Amazon-ECS-Container-Agenten

  • Anpassen von Docker

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

Anmerkung

Nachdem eine Datenverarbeitungsumgebung erstellt wurde, aktualisiert die AMIs in der Datenverarbeitungsumgebung AWS Batch nicht. aktualisiert AWS Batch auch nicht die AMIs in Ihrer Datenverarbeitungsumgebung, 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 alle zusätzlichen Anwendungssoftware oder Dienstprogramme verantwortlich, die Sie auf den Rechenressourcen installieren. Gehen Sie wie folgt vor, um ein neues AMI für Ihre AWS Batch Aufträge 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 fügte AWS Batch erweiterte Unterstützung für die Aktualisierung von Computing-Umgebungen hinzu. 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 für die Servicerolle (serviceRole) nicht fest oder setzen Sie ihn auf die AWSServiceRoleForBatch serviceverknüpfte Rolle.

  • Legen Sie den Parameter für die Zuweisungsstrategie (allocationStrategy) auf BEST_FIT_PROGRESSIVESPOT_CAPACITY_OPTIMIZED, oder festSPOT_PRICE_CAPACITY_OPTIMIZED.

  • Setzen Sie das Update auf den Parameter für die neueste Image-Version (updateToLatestImageVersion). true

  • Geben Sie keine AMI-ID in imageId, imageIdOverride (in ec2Configuration) oder in der Startvorlage () anlaunchTemplate. Wenn Sie keine AMI-ID angeben, wählt das neueste Amazon-ECS-optimierte AMI AWS Batch aus, das zum Zeitpunkt der Initiierung des Infrastruktur-Updates AWS Batch unterstützt. Alternativ können Sie die AMI-ID in den imageIdOverride Parametern imageId oder angeben. Oder Sie können die Startvorlage angeben, die durch die LaunchTemplate Eigenschaften identifiziert wird. Wenn Sie eine dieser Eigenschaften ändern, wird eine Infrastrukturaktualisierung gestartet. Wenn die AMI-ID in der Startvorlage angegeben ist, kann die AMI-ID nicht durch 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 Startvorlagenversion auf $Default oder festgelegt ist$Latest, kann die AMI-ID ersetzt werden, indem entweder eine neue Standardversion für die Startvorlage festgelegt wird (wenn $Default) oder indem der Startvorlage eine neue Version hinzugefügt wird (wenn $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 version Einstellung in der Startvorlage (launchTemplate) auf $Latest oder gesetzt ist$Default, wird die neueste oder Standardversion der Startvorlage zum Zeitpunkt der Infrastrukturaktualisierung ausgewertet, auch wenn die nicht aktualisiert launchTemplate wurde.

AMI-Spezifikation für Rechenressourcen

Die grundlegende AMI-Spezifikation für AWS Batch Rechenressourcen besteht aus Folgendem:

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

    Parallele Aufträge mit mehreren Knoten können nur auf Rechenressourcen ausgeführt werden, die auf einer Amazon Linux-Instance mit dem installierten -ecs-initPaket gestartet wurden. Wir empfehlen Ihnen, beim Erstellen Ihrer Datenverarbeitungsumgebung das standardmäßige Amazon-ECS-optimierte AMI zu verwenden. Sie können dies tun, indem Sie kein benutzerdefiniertes AMI angeben. Weitere Informationen finden Sie unter Parallele Aufträge mit mehreren Knoten.

  • Der Amazon-ECS-Container-Agent. Wir empfehlen, dass Sie die neueste Version verwenden. Weitere Informationen finden Sie unter Installieren des Amazon-ECS-Container-Agenten im Entwicklerhandbuch für Amazon Elastic Container Service.

  • 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 Docker-Laufzeitabhängigkeiten. 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 geliefert und mit der entsprechenden Amazon-ECS-Agentenversion getestet wird, die Sie verwenden. Amazon ECS bietet ein Änderungsprotokoll für die Linux-Variante des Amazon-ECS-optimierten AMI auf GitHub. Weitere Informationen finden Sie unter Änderungsprotokoll.

Empfohlen

  • Ein Initialisierungs- und Nanny-Prozess zum Ausführen und Überwachen des Amazon-ECS-Agenten. Das Amazon-ECS-optimierte AMI verwendet den ecs-init Startvorgang und andere Betriebssysteme verwenden möglicherweise systemd. Weitere Informationen und Beispiele finden Sie unter Beispiel für Benutzerdatenkonfigurationsskripts für Container-Instances im Entwicklerhandbuch für Amazon Elastic Container Service . Weitere Informationen zu ecs-initfinden Sie im ecs-init Projekt auf GitHub. Für verwaltete Datenverarbeitungsumgebungen muss mindestens der Amazon-ECS-Agent beim Booten gestartet werden. Wenn der Amazon-ECS-Agent nicht auf Ihrer Rechenressource ausgeführt wird, kann er keine Aufträge von akzeptierenAWS Batch.

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