AMIs für Rechenressourcen - 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.

AMIs für Rechenressourcen

Standardmäßig verwendenAWS Batch verwaltete Datenverarbeitungsumgebungen eine aktuelle, genehmigte Version des für Amazon ECS optimierte AMI für Computing-Ressourcen. Möglicherweise möchten Sie jedoch Ihr eigenes AMI erstellen, um es für Ihre verwalteten und nicht verwalteten Rechenumgebungen zu verwenden. Wenn Sie eines der folgenden Elemente benötigen, empfehlen wir Ihnen, Ihr eigenes AMI zu erstellen:

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

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

  • Anpassen des Amazon-ECS-Container-Agenten

  • Docker anpassen

  • 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 Datenverarbeitungsumgebung erstellt wurde, führtAWS Batch kein Upgrade für die AMIs in der Datenverarbeitungsumgebung durch. AWS Batchaktualisiert auch nicht die AMIs in Ihrer Datenverarbeitungsumgebung auch nicht, wenn eine neuere Version des für Amazon ECS optimierte AMI verfügbar ist. Sie sind für die Verwaltung des Gastbetriebssystems verantwortlich. Dies beinhaltet alle Updates und Sicherheitspatches. Sie sind auch für jegliche zusätzlichen Anwendungssoftware bzw. Dienstprogramme verantwortlich, die Sie auf den Datenverarbeitungsressourcen installieren. Um ein neues AMI fürAWS Batch -Aufträge zu verwenden, führen Sie folgende Schritte aus:

  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 Aktualisierung von Computerumgebungen. Beachten Sie die folgenden Regeln, um die erweiterte Aktualisierung von Computing-Umgebungen zum Aktualisieren von AMIs zu verwenden:

  • Stellen Sie entweder den Parameter service role (serviceRole) nicht oder setzen Sie ihn auf die AWSServiceRoleForBatchserviceverknüpfte Rolle.

  • Setzen Sie den Parameter Allokationsstrategie (allocationStrategy) aufBEST_FIT_PROGRESSIVE oderSPOT_CAPACITY_OPTIMIZED.

  • Stellen Sie den Parameter Update auf neueste Imageversion (updateToLatestImageVersion) auftrue.

  • 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 für Amazon ECS optimierte AMI aus, das das von zum Zeitpunkt der Initiierung des Infrastruktur-UpdatesAWS Batch unterstützt. Alternativ können Sie die AMI-ID in denimageIdOverride ParameternimageId oder angeben. Sie können auch die Startvorlage angeben, die durch dieLaunchTemplate Eigenschaften identifiziert wird. Das Ändern einer dieser Eigenschaften startet ein Infrastruktur-Update. Wenn die AMI-ID in der Startvorlage angegeben ist, kann die AMI-ID nicht durch die Angabe einer AMI-ID in denimageIdOverride ParameternimageId 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 (falls$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 versionEinstellung in der Startvorlage (launchTemplate) auf$Latest oder gesetzt ist$Default, wird die neueste oder Standardversion der Startvorlage zum Zeitpunkt des Infrastruktur-Updates überprüft, auch wenn sie launchTemplatenicht aktualisiert wurde.

AMI-Spezifikation für Rechenressourcen

Die grundlegende Spezifikation fürAWS Batch Computing-Ressourcen besteht aus den folgenden Komponenten:

Erforderlich

  • Eine moderne Linux-Distribution, die mindestens Version 3.10 des Linux-Kernels auf einem AMI vom HVM-Virtualisierungstyp ausführt. 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 installiertenecs-init Paket gestartet wurden. Wir empfehlen Ihnen, das für Amazon ECS optimierte AMI zu verwenden, wenn Sie Ihre Datenverarbeitungsumgebung erstellen. Sie können dies tun, indem Sie kein benutzerdefiniertes AMI nicht angeben. Weitere Informationen finden Sie unter parallel Jobs mit mehreren Knoten.

  • Der Amazon-ECS-Container-Agenten. Wir empfehlen, die neueste Version zu verwenden. Weitere Informationen finden Sie unter Installieren des Amazon-ECS-Container-Agenten im Entwicklerhandbuch zum Amazon Elastic Container Service.

  • Derawslogs Protokolltreiber muss als verfügbarer Protokolltreiber mit derECS_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, der mindestens Version 1.9 und alle Docker-Laufzeitabhängigkeiten ausführt. 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 von Ihnen verwendeten Amazon-ECS-Agenten-Version geliefert und getestet wurde. Weitere Informationen finden Sie unter Amazon ECS Container Agent Versionen im Entwicklerhandbuch zum Amazon Elastic Container Service.

Empfohlen

  • Ein Initialisierungs- und Nanny-Prozess zum Ausführen und Überwachen des Amazon-ECS-Agenten. Das für Amazon ECS optimierte AMI verwendet denecs-init Upstart-Prozess, den andere Betriebssysteme möglicherweise verwendensystemd. Weitere Informationen und Beispiele finden Sie unter Beispielskripts für die Konfiguration von Benutzerdaten für Container-Instances im Amazon Elastic Container Service Developer Guide. Weitere Informationenecs-init finden Sie im ecs-initProjekt unter GitHub. In verwalteten Computerumgebungen muss der Amazon ECS-Agent mindestens beim Systemstart gestartet werden. Wenn der Amazon ECS-Agent nicht auf Ihrer Rechenressource läuft, kann er keine Aufträge von annehmenAWS 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 demecs-init Paket verwenden, das für Ihre Rechenressourcen installiert ist. Wählen Sie ein anderes AMI aus, wenn für Ihre Anwendung wird ein bestimmtes Betriebssystem oder eine in diesen AMIs noch nicht verfügbare Docker-Version benötigt. Weitere Informationen finden Sie unter Amazon ECS-optimiertes AMI im Entwicklerhandbuch zum Amazon Elastic Container Service.