Aktualisierung von Computerumgebungen - 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 Computerumgebungen

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

Computerumgebungen, die Fargate-Ressourcen verwenden, unterstützen nur die Aktualisierung von Sicherheitsgruppen (securityGroupIds) und VPC-Subnetzen (subnets).

AWS Batchhat 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 aktualisierenAWS Batch, führt die Änderung nur dieser Einstellungen zu einem Skalierungsupdate: gewünschte vCPUs (desiredvCpus), maximale vCPUs (maxvCpus), minimale vCPUs (minvCpus), Service-Rolle (serviceRole) und Status (state).

Wenn eine der folgenden Einstellungen in einer UpdateComputeEnvironmentAPI-Aktion geändert wird,AWS Batch wird ein Infrastruktur-Update eingeleitet. Ein Infrastruktur-Update erfordert, dass die Servicerolle auf AWSServiceRoleForBatch(Standard) gesetzt ist und dass die Zuweisungsstrategie aufBEST_FIT_PROGRESSIVE oder gesetzt istSPOT_CAPACITY_OPTIMIZED. 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.

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. Aktuell ausgeführte Jobs werden gemäß der Infrastruktur-Aktualisierungsrichtlinie (updatePolicy) versendet, die in der UpdateComputeEnvironmentAPI-Aktion festgelegt ist. Wenn die Einstellung „Jobs bei Aktualisierung beenden“ auf gesetzt isttrue, werden die laufenden Jobs beendet und es kann sein, dass es in der aktualisierten Rechenumgebung erneut versucht wird.terminateJobsOnUpdate Ob das passiert, hängt von den Wiederholungseinstellungen für den Job ab. Standardmäßig werden Aufträge nicht wiederholt. Andernfalls können sie, wenn sie erneut versucht werden, ausgeführt werden, bis das im Timeout für die Jobausführung in Minuten (jobExecutionTimeoutMinutes) festgelegte Timeout abgelaufen ist. Standardmäßig sind es 30 Minuten. Sobald Kapazität in der Rechenumgebung verfügbar wird, werden neue Instances mit den aktualisierten Einstellungen gestartet und Jobs werden auf den neuen Instances gestartet. Wenn alle Jobs auf Instances mit den alten Einstellungen abgeschlossen sind, werden die alten Instances beendet. Kapazitätszuwachs bedeutet, dass die gewünschte Anzahl von vCPUs die maximale Anzahl von vCPUs um mindestens so viele vCPUs unterschreitet, wie für den kleinsten Instanztyp erforderlich sind.

Wenn eine der folgenden Einstellungen geändert wird, wird ein Infrastruktur-Update gestartet:
  • Die Allokationsstrategie (allocationStrategy, muss entwederBEST_FIT_PROGRESSIVE oder seinSPOT_CAPACITY_OPTIMIZED. Wenn die ursprüngliche Zuweisungsstrategie lautetBEST_FIT, werden Infrastrukturaktualisierungen nicht unterstützt.)

  • Gebotsprozentsatz (bidPercentage)

  • EC2-Konfiguration (ec2Configuration)

  • Schlüsselpaar (ec2KeyPair)

  • Bild-ID (imageId)

  • Instanzrolle (instanceRole)

  • Instanztypen (instanceTypes)

  • Vorlage starten (launchTemplate)

  • Praktikumsgruppe (placementGroup)

  • Sicherheitsgruppen (securityGroupIds)

  • VPC-Subnetze (subnets)

  • EC2-Tags (tags)

  • Der Typ der Rechenumgebung (type, kann einer vonEC2 oder seinSPOT)

  • ObAWS Batch während eines Infrastruktur-Updates auf das neueste AMI aktualisiert werden soll, das von unterstützt wirdupdateToLatestImageVersion

Aktualisierung der AMI-ID

Während eines Infrastrukturupdates kann sich die AMI-ID der Rechenumgebung ändern, je nachdem, ob AMIs in einer dieser drei Einstellungen angegeben sind. AMIs werden in derimageId (incomputeResources),imageIdOverride (inec2Configuration) oder der Startvorlage angegeben, die in angegeben istlaunchTemplate. Nehmen wir an, dass in keiner dieser Einstellungen AMI-IDs angegeben sind und dieupdateToLatestImageVersion Einstellung lautettrue. Für jedes Infrastruktur-Update verwendet das neueste für Amazon ECS optimierte AMI,AWS Batch das von unterstützt wird.

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 bereitstellte. Wenn Sie eine Rechenumgebung erstellen, ist die Priorität für die Auswahl einer AMI-ID zuerst die Startvorlage, dann dieimageId Einstellung und schließlich dieimageIdOverride Einstellung. Wenn die verwendete AMI-ID jedoch aus der Startvorlage stammt, wird durch die Aktualisierung derimageIdimageIdOverride Oder-Einstellungen 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 in der Standard- oder der neuesten Version der Startvorlage eine andere AMI-ID ausgewählt wird, wird sie im Update verwendet.

Wenn die Startvorlage nicht zur Auswahl der AMI-ID verwendet wurde, wird die AMI-ID verwendet, die in denimageIdOverride ParameternimageId oder angegeben ist. Wenn beide angegeben sind, wird die imimageIdOverride Parameter angegebene AMI-ID verwendet.

Angenommen, die Rechenumgebung verwendet eine durch dielaunchTemplate ParameterimageId,, oder angegebene AMI-IDimageIdOverride, und Sie möchten das neueste optimierte Amazon ECS-AMI verwenden, das von unterstützt wirdAWS Batch. Anschließend muss das Update die Einstellungen entfernen, die AMI-IDs bereitgestellt haben. Dazu istimageId nämlich die Angabe einer leeren Zeichenfolge für diesen Parameter erforderlich. Dazu istimageIdOverride nämlich die Angabe einer leeren Zeichenfolge für denec2Configuration Parameter erforderlich.

Wenn die AMI-ID aus der Startvorlage stammt, gibt es zwei Möglichkeiten, auf das neueste für Amazon ECS optimierte AMI zu wechseln, das von unterstützt wirdAWS Batch. Für das gibt es die folgenden Optionen:

  • Entfernen Sie die Startvorlage, indem Sie eine leere Zeichenfolge für denlaunchTemplateName ParameterlaunchTemplateId or angeben. Dadurch wird die gesamte Startvorlage entfernt und nicht nur die AMI-ID.

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