Aktualisieren von Datenverarbeitungsumgebungen - 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.

Aktualisieren von Datenverarbeitungsumgebungen

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

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

  • securityGroupIds

  • subnets

  • desiredvCpus

  • maxvCpus

  • minvCpus

AWS Batch verfügt über zwei Aktualisierungsmechanismen. Die erste ist eine Skalierungsaktualisierung, bei der Instances der Datenverarbeitungsumgebung hinzugefügt oder daraus entfernt werden. Die zweite ist eine Infrastrukturaktualisierung, bei der die Instances in der Datenverarbeitungsumgebung ersetzt werden. Ein Infrastruktur-Update dauert viel länger als ein Skalierungs-Update.

Wenn Sie Datenverarbeitungsumgebungen mit aktualisierenAWS Batch, führt das Ändern nur dieser Einstellungen zu einer Skalierungsaktualisierung: gewünschte vCPUs (desiredvCpus), maximale vCPUs (maxvCpus), minimale vCPUs (minvCpus), Servicerolle (serviceRole) und Status (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 einer UpdateComputeEnvironment API-Aktion geändert wird, AWS Batch initiiert eine Infrastrukturaktualisierung. Ein Infrastruktur-Update erfordert, dass die Servicerolle auf AWSServiceRoleForBatch (Standard) gesetzt ist und dass die Zuweisungsstrategie BEST_FIT_PROGRESSIVESPOT_CAPACITY_OPTIMIZED, oder istSPOT_PRICE_CAPACITY_OPTIMIZED. BEST_FIT wird nicht unterstützt. Mit Ausnahme der Servicerolle können alle Einstellungen, die für ein Skalierungs-Update geändert werden können, auch für ein Infrastruktur-Update geändert werden.

Anmerkung

Wir empfehlen, in den meisten SPOT_PRICE_CAPACITY_OPTIMIZED Instances anstelle von SPOT_CAPACITY_OPTIMIZEDn zu verwenden.

Während einer Infrastrukturaktualisierung ändert sich der Status der Datenverarbeitungsumgebung in UPDATING. Neue Instances werden mit den aktualisierten Einstellungen gestartet. Neue Aufträge werden für die neuen Instances geplant. Aufträge, die derzeit ausgeführt werden, werden gemäß der Infrastruktur-Aktualisierungsrichtlinie versendet. Weitere Informationen finden Sie unter UpdateComputeEnvironment und UpdatePolicy in der AWS Batch-API-Referenz.

Berücksichtigen Sie im UpdatePolicy Datentyp die folgenden Szenarien:

Anmerkung

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

  • Wenn die terminateJobsOnUpdate Einstellung auf festgelegt isttrue, werden laufende Aufträge während einer Infrastrukturaktualisierung beendet. Die jobExecutionTimeoutMinutes Einstellung wird ignoriert.

  • Wenn die terminateJobsOnUpdate Einstellung auf festgelegt istfalse, können Aufträge nach dem Infrastruktur-Update noch länger ausgeführt werden. Diese zusätzliche Zeit wird in der -jobExecutionTimeoutMinutesEinstellung konfiguriert. Standardmäßig ist die jobExecutionTimeoutMinutes Einstellung 30 Minuten.

Sobald Kapazität in der Datenverarbeitungsumgebung verfügbar ist, werden neue Instances mit den aktualisierten Einstellungen gestartet und Aufträge werden auf den neuen Instances gestartet. Da alle Aufträge auf Instances mit den alten Einstellungen abgeschlossen werden, werden die alten Instances beendet. Welche Kapazität verfügbar wird, bedeutet, dass die gewünschte Anzahl von vCPUs um mindestens so viele vCPUs unter der maximalen Anzahl von vCPUs liegt, wie für den kleinsten Instance-Typ erforderlich.

Infrastruktur-Updates

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

Wichtig

Die Datenverarbeitungsumgebung muss die AWSServiceRoleForBatch serviceverknüpfte Rolle verwenden, um Änderungen vorzunehmen, die eine Infrastrukturaktualisierung erfordern.

Wenn die Datenverarbeitungsumgebung eine serviceverknüpfte Rolle verwendet, kann sie nicht geändert werden, um eine reguläre IAM-Rolle zu verwenden. Ebenso kann die Datenverarbeitungsumgebung nicht geändert werden, um eine serviceverknüpfte Rolle zu verwenden, wenn sie über eine reguläre IAM-Rolle verfügt. Daher können Sie Infrastrukturaktualisierungen nur für Datenverarbeitungsumgebungen durchführen, die mithilfe einer serviceverknüpften Rolle erstellt wurden.

  • Zuweisungsstrategie (allocationStrategy, muss entweder BEST_FIT_PROGRESSIVE, SPOT_CAPACITY_OPTIMIZEDoder seinSPOT_PRICE_CAPACITY_OPTIMIZED. Wenn die ursprüngliche Zuweisungsstrategie lautetBEST_FIT, werden Infrastruktur-Updates nicht unterstützt.)

    Anmerkung

    Wir empfehlen, in den meisten SPOT_PRICE_CAPACITY_OPTIMIZED Instances anstelle von SPOT_CAPACITY_OPTIMIZEDn zu verwenden.

  • Bid-Prozentsatz (bidPercentage)

  • EC2-Konfiguration (ec2Configuration)

  • Schlüsselpaar (ec2KeyPair)

  • Image-ID (imageId)

  • Instance-Rolle (instanceRole)

  • Instance-Typen (instanceTypes)

  • Startvorlage (launchTemplate)

  • Platzierungsgruppe (placementGroup)

  • Sicherheitsgruppen (securityGroupIds)

  • VPC-Subnetze (subnets)

  • EC2-Tags (tags)

  • Datenverarbeitungsumgebungstyp (type, kann einer von EC2 oder seinSPOT)

  • Ob auf das neueste AMI aktualisiert werden soll, das von AWS Batch während eines Infrastruktur-Updates unterstützt wird updateToLatestImageVersion

Aktualisieren der AMI-ID

Während einer Infrastrukturaktualisierung kann sich die AMI-ID der Datenverarbeitungsumgebung ändern, je nachdem, ob AMIs in einer dieser drei Einstellungen angegeben sind. AMIs werden in der imageId (in computeResources), imageIdOverride (in ec2Configuration) oder der in angegebenen Startvorlage angegebenlaunchTemplate. Angenommen, in einer dieser Einstellungen sind keine AMI-IDs angegeben und die updateToLatestImageVersion Einstellung ist true. Anschließend wird das neueste Amazon-ECS-optimierte AMI, das von 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 AMI-ID bereitgestellt hat, die vor dem Update verwendet wurde. Wenn Sie eine Datenverarbeitungsumgebung erstellen, ist die Priorität für die Auswahl einer AMI-ID zuerst die Startvorlage, dann die imageId Einstellung und schließlich die imageIdOverride Einstellung. Wenn jedoch die verwendete AMI-ID aus der Startvorlage stammt, wird die AMI-ID durch das Aktualisieren der imageIdOverride Einstellungen imageId oder 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 Standardversion oder die neueste Version der angegebenen Startvorlage ausgewertet. Wenn standardmäßig eine andere AMI-ID oder die neueste Version der Startvorlage ausgewählt ist, wird diese AMI-ID bei der Aktualisierung 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 Datenverarbeitungsumgebung verwendet eine AMI-IDimageIdOverride, die durch die launchTemplate Parameter imageId, oder angegeben wird, und Sie möchten das neueste Amazon-ECS-optimierte AMI verwenden, das von unterstützt wirdAWS Batch. Anschließend muss das Update die Einstellungen entfernen, die AMI-IDs bereitgestellt haben. Für erfordert dies imageIddie Angabe einer leeren Zeichenfolge für diesen Parameter. Für erfordert dies imageIdOverridedie Angabe einer leeren Zeichenfolge für den -ec2ConfigurationParameter.

Wenn die AMI-ID aus der Startvorlage stammt, können Sie zum neuesten Amazon-ECS-optimierten AMI wechseln, das AWS Batch von 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.