Aktualisierung von Rechenumgebungen - 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.

Aktualisierung von Rechenumgebungen

Nachdem Sie eine Rechenumgebung erstellt haben, die EC2 Ressourcen verwendet, können Sie viele Einstellungen der Rechenumgebung direkt aktualisieren. Das Ändern einiger Einstellungen erfordert jedoch, dass die Instanzen in der Rechenumgebung AWS Batch ersetzt werden.

Aktualisierung der AWS Fargate Rechenumgebungen

Für Rechenumgebungen, die Fargate-Ressourcen verwenden, können Sie Folgendes aktualisieren.

  • securityGroupIds

  • subnets

  • desiredvCpus

  • maxvCpus

  • minvCpus

AWS Batch hat zwei Aktualisierungsmechanismen. Das erste ist ein Skalierungsupdate, bei dem Instanzen zur Rechenumgebung hinzugefügt oder aus ihr entfernt werden. Das zweite ist ein Infrastruktur-Update, bei dem die Instanzen in der Rechenumgebung ersetzt werden. Ein Infrastruktur-Update dauert viel länger als ein Skalierungsupdate.

Wenn Sie Rechenumgebungen mit aktualisieren AWS Batch, führt das Ändern nur dieser Einstellungen zu einem Skalierungsupdate: desired vCPUs vCPUs (desiredvCpusmaxvCpus), maximum vCPUs (minvCpus), minimum (), service role (serviceRole) und state (state).

Anmerkung

Wenn Sie die desiredvCpus Einstellung aktualisieren, muss der Wert zwischen den maxvCpus Werten minvCpus und liegen.

Darüber hinaus muss der aktualisierte desiredvCpus Wert größer oder gleich dem aktuellen desiredvCpus Wert sein. Weitere Informationen finden Sie unter Fehlermeldung beim Aktualisieren der desiredvCpus Einstellung.

Wenn eine der folgenden Einstellungen in einem geändert wird UpdateComputeEnvironmentAPIAktion, AWS Batch initiiert ein Infrastruktur-Update. Ein Infrastruktur-Update erfordert, dass die Servicerolle auf AWSServiceRoleForBatch(Standard) gesetzt ist und dass die ZuweisungsstrategieBEST_FIT_PROGRESSIVE,SPOT_CAPACITY_OPTIMIZED, oder SPOT_PRICE_CAPACITY_OPTIMIZED lautet. BEST_FITwird nicht unterstützt. Mit Ausnahme der Servicerolle können alle Einstellungen, die für ein Skalierungsupdate geändert werden können, auch für ein Infrastruktur-Update geändert werden.

Anmerkung

Wir empfehlen, in den meisten Fällen die Option SPOT_CAPACITY_OPTIMIZED n SPOT_PRICE_CAPACITY_OPTIMIZED anstelle von n zu verwenden.

Während eines Infrastruktur-Updates ändert sich der Status der Rechenumgebung aufUPDATING. Neue Instanzen werden mit den aktualisierten Einstellungen gestartet. Neue Jobs sind für die neuen Instanzen geplant. Jobs, die derzeit ausgeführt werden, werden gemäß der Richtlinie für Infrastrukturaktualisierungen versandt. Weitere Informationen finden Sie unter UpdateComputeEnvironmentund UpdatePolicyin der AWS Batch APIReferenz.

Beachten Sie beim UpdatePolicy Datentyp die folgenden Szenarien:

Anmerkung

In diesen Szenarien gilt Folgendes. Wenn eine Instanz beendet wird, werden laufende Jobs gestoppt. Standardmäßig werden diese Jobs nicht erneut versucht. Um einen dieser Jobs nach dem Beenden einer Instance erneut zu versuchen, konfigurieren Sie eine Strategie zur Wiederholung von Aufträgen. Weitere Informationen finden Sie unter Automatisierte Auftragswiederholungen im AWS Batch -Benutzerhandbuch.

  • Wenn die terminateJobsOnUpdate Einstellung auf gesetzt isttrue, werden laufende Jobs während eines Infrastruktur-Updates beendet. Die jobExecutionTimeoutMinutes Einstellung wird ignoriert.

  • Wenn die terminateJobsOnUpdate Einstellung auf gesetzt istfalse, können Jobs nach dem Infrastruktur-Update für zusätzliche Zeit ausgeführt werden. Diese zusätzliche Zeit ist in der jobExecutionTimeoutMinutes Einstellung konfiguriert. Die jobExecutionTimeoutMinutes Standardeinstellung ist 30 Minuten.

Sobald Kapazität in der Rechenumgebung verfügbar wird, werden neue Instanzen mit den aktualisierten Einstellungen gestartet und Jobs auf den neuen Instanzen gestartet. Sobald alle Jobs auf Instanzen mit den alten Einstellungen abgeschlossen sind, werden die alten Instanzen beendet. Wenn Kapazität verfügbar wird, bedeutet dies, dass die gewünschte Anzahl vCPUs von mindestens so vielen vCPUs unter der Höchstzahl vCPUs liegt, wie es für den kleinsten Instance-Typ erforderlich ist.

Aktualisierungen der Infrastruktur

Ein Infrastruktur-Update ist erforderlich, um einige Einstellungen für eine Rechenumgebung zu ändern. Wenn eine der folgenden Einstellungen geändert wird, wird ein Infrastruktur-Update gestartet:

Wichtig

Die Rechenumgebung muss die AWSServiceRoleForBatchserviceverknüpfte Rolle verwenden, um Änderungen vorzunehmen, die ein Infrastruktur-Update erfordern.

Wenn die Rechenumgebung eine dienstverknüpfte Rolle verwendet, kann sie nicht geändert werden, sodass sie eine reguläre IAM Rolle verwendet. Ebenso kann die Rechenumgebung, wenn sie eine reguläre IAM Rolle hat, nicht so geändert werden, dass sie eine dienstbezogene Rolle verwendet. Daher können Sie Infrastrukturaktualisierungen nur in Computerumgebungen durchführen, die mithilfe einer dienstbezogenen Rolle erstellt wurden.

  • Die Zuweisungsstrategie (allocationStrategy, muss entweder BEST_FIT_PROGRESSIVESPOT_CAPACITY_OPTIMIZED, oder SPOT_PRICE_CAPACITY_OPTIMIZED lauten. Wenn die ursprüngliche Zuweisungsstrategie lautetBEST_FIT, werden Infrastrukturaktualisierungen nicht unterstützt.)

    Anmerkung

    Wir empfehlen, in den meisten Fällen die Option SPOT_CAPACITY_OPTIMIZED n SPOT_PRICE_CAPACITY_OPTIMIZED anstelle von n zu verwenden.

  • Prozentsatz des Gebots (bidPercentage)

  • EC2Konfiguration (ec2Configuration)

  • Schlüsselpaar (ec2KeyPair)

  • Bild-ID (imageId)

  • Instanzrolle (instanceRole)

  • Instanztypen (instanceTypes)

  • Vorlage starten (launchTemplate)

  • Platzierungsgruppe (placementGroup)

  • Sicherheitsgruppen (securityGroupIds)

  • VPCSubnetze () subnets

  • EC2Schlagworte () tags

  • Typ der Rechenumgebung (type, kann einer von EC2 oder seinSPOT)

  • Gibt an, ob AWS Batch während eines Infrastruktur-Updates auf AMI die neueste Version aktualisiert werden soll, die von unterstützt wird updateToLatestImageVersion

Die AMI ID wird aktualisiert

Während eines Infrastruktur-Updates kann sich die AMI ID der Rechenumgebung ändern, je nachdem, ob AMIs sie in einer dieser drei Einstellungen angegeben ist. AMIssind in der imageId (incomputeResources), imageIdOverride (inec2Configuration) oder der unter angegebenen Startvorlage angegebenlaunchTemplate. Nehmen wir an, dass in keiner dieser Einstellungen angegeben AMI IDs sind und die updateToLatestImageVersion Einstellung isttrue. Anschließend wird die neueste Version von Amazon ECS Optimized, die von AMI unterstützt AWS Batch wird, für jedes Infrastruktur-Update verwendet.

Wenn in mindestens einer dieser Einstellungen eine AMI ID angegeben ist, hängt das Update davon ab, welche Einstellung die vor dem Update verwendete AMI ID bereitgestellt hat. Wenn Sie eine Rechenumgebung erstellen, ist die Priorität bei der Auswahl einer AMI ID zunächst die Startvorlage, dann die imageId Einstellung und schließlich die imageIdOverride Einstellung. Wenn die verwendete AMI ID jedoch aus der Startvorlage stammt, wird durch die Aktualisierung der imageIdOverride Einstellungen imageId oder die AMI ID nicht aktualisiert. Die einzige Möglichkeit, eine aus der Startvorlage ausgewählte AMI ID zu aktualisieren, besteht darin, die Startvorlage zu aktualisieren. Wenn der Versionsparameter der Startvorlage $Default oder ist$Latest, wird die Standard- oder neueste Version der angegebenen Startvorlage ausgewertet. Wenn standardmäßig eine andere AMI ID ausgewählt ist oder die neueste Version der Startvorlage ausgewählt ist, wird diese AMI ID im Update verwendet.

Wenn die Startvorlage nicht zur Auswahl der AMI ID verwendet wurde, wird die AMI ID verwendet, die in den imageIdOverride Parametern imageId oder angegeben ist. Wenn beide angegeben sind, wird die im imageIdOverride Parameter angegebene AMI ID verwendet.

Angenommen, die Rechenumgebung verwendet eine AMI IDimageId, die durch die launchTemplate ParameterimageIdOverride, oder angegeben wird, und Sie möchten die neueste von Amazon ECS optimierte Version verwenden, die von AMI unterstützt wird AWS Batch. Anschließend muss das Update die bereitgestellten Einstellungen entfernen AMIIDs. Denn imageId dazu muss eine leere Zeichenfolge für diesen Parameter angegeben werden. Denn imageIdOverride dazu muss eine leere Zeichenfolge für den ec2Configuration Parameter angegeben werden.

Wenn die AMI ID aus der Startvorlage stammt, können Sie zur neuesten AWS Batch von Amazon ECS optimierten Version wechselnAMI, die auf eine der folgenden Arten unterstützt wird:

  • Entfernen Sie die Startvorlage, indem Sie eine leere Zeichenfolge für den launchTemplateName Parameter launchTemplateId oder angeben. Dadurch wird die gesamte Startvorlage entfernt und nicht nur die AMI ID.

  • Wenn die aktualisierte Version der Startvorlage keine AMI ID angibt, muss der updateToLatestImageVersion Parameter auf gesetzt werdentrue.