View a markdown version of this page

Infrastruktur-Updates durchführen - 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.

Infrastruktur-Updates durchführen

Infrastruktur-Updates ersetzen die Instanzen in Ihrer Rechenumgebung durch neue Instanzen mit aktualisierten Einstellungen. Diese Aktualisierungsstrategie dauert länger als die Skalierung von Updates und erfordert spezielle Einstellungen für die Servicerolle und die Zuweisungsstrategie. Infrastruktur-Updates bieten eine Möglichkeit, grundlegende Konfigurationen der Computerumgebung zu ändern und gleichzeitig die Serviceverfügbarkeit aufrechtzuerhalten.

Wichtig

Infrastrukturaktualisierungen erfordern die AWSServiceRoleForBatch dienstbezogene Rolle und eine Zuweisungsstrategie von BEST_FIT_PROGRESSIVEBEST_FIT_PROGRESSIVE_ORDERED,, SPOT_CAPACITY_OPTIMIZEDSPOT_PRICE_CAPACITY_OPTIMIZED, oderSPOT_CAPACITY_OPTIMIZED_PRIORITIZED. Wenn Ihre Umgebung diese Anforderungen nicht erfüllt, verwenden Sie stattdessen blue/green Updates.

Änderungen, die Infrastruktur-Updates auslösen

AWS Batch Führt ein Infrastruktur-Update durch, wenn Sie eine der folgenden Einstellungen ändern. Infrastrukturaktualisierungen finden auch statt, wenn Sie diese Einstellungen zusammen mit den Einstellungen für Skalierungsupdates ändern.

Die folgenden Einstellungen lösen Infrastrukturaktualisierungen aus:

Konfiguration berechnen

  • allocationStrategy— Legt fest, wie Instanztypen AWS Batch ausgewählt werden.

  • instanceTypes— Gibt an, welche EC2-Instance-Typen verwendet werden sollen.

  • bidPercentage— Maximaler Prozentsatz des On-Demand Preises für Spot-Instances.

  • type— Umgebungstyp (EC2oderSPOT) berechnen.

AMI und Startkonfiguration

  • imageId— Spezifisches AMI, das für Instances verwendet werden soll.

  • ec2Configuration— EC2-Konfiguration einschließlich. imageIdOverride

  • launchTemplate— Einstellungen für die EC2-Startvorlage.

  • ec2KeyPair— SSH-Schlüsselpaar für den Instanzzugriff.

  • updateToLatestImageVersion— Einstellung für automatische AMI-Updates.

Netzwerk und Sicherheit

  • subnets— VPC-Subnetze, in denen Instances gestartet werden (für EC2-Rechenumgebungen).

  • securityGroupIds— Sicherheitsgruppen für Instances (für EC2-Rechenumgebungen).

  • placementGroup— Konfiguration der EC2-Platzierungsgruppe.

Andere Einstellungen

  • instanceRole— IAM-Rolle für EC2-Instances.

  • tags— Auf EC2-Instances angewendete Tags.

Wichtig

Wenn Sie die Einstellungen für das Infrastruktur-Update zusammen mit den Einstellungen für das Skalierungsupdate (wie desiredvCpusmaxvCpus, oderminvCpus) ändern, AWS Batch führt ein Infrastruktur-Update durch. Infrastrukturaktualisierungen dauern länger als Skalierungsupdates.

AMI-Auswahl bei Infrastruktur-Updates

Während eines Infrastruktur-Updates kann sich die AMI-ID der Rechenumgebung ändern, je nachdem, ob AMIs in einer dieser drei Einstellungen angegeben sind. AMIs werden in imageId (incomputeResources), imageIdOverride (inec2Configuration) oder in der unter angegebenen Startvorlage angegebenlaunchTemplate. Angenommen, in keiner dieser Einstellungen sind AMI-IDs angegeben, und die updateToLatestImageVersion Einstellung lautettrue. Dann 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 Rechenumgebung 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 die verwendete AMI-ID jedoch aus der Startvorlage stammt, wird durch das Aktualisieren 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 lautet$Latest, wird die Standard- oder 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 für das 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 Parameter,imageIdOverride, oder angegeben wird, und Sie möchten das neueste Amazon ECS-optimierte AMI verwenden, das von unterstützt wird AWS Batch. Dann muss das Update die Einstellungen entfernen, die die AMI-IDs bereitgestellt haben. Dazu muss imageId nämlich 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 zum neuesten Amazon ECS-optimierten AMI wechseln, das auf eine der folgenden Arten unterstützt wird: AWS Batch

  • 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 in der aktualisierten Version der Startvorlage keine AMI-ID angegeben ist, muss der updateToLatestImageVersion Parameter auf gesetzt werdentrue.

Bearbeitung von Aufträgen bei Aktualisierungen

Konfigurieren Sie mithilfe der Aktualisierungsrichtlinie, wie laufende Jobs während eines Infrastruktur-Updates behandelt werden. Wenn Sie festlegenterminateJobsOnUpdate=true, werden laufende Jobs sofort beendet, die jobExecutionTimeoutMinutes Einstellung wird ignoriert und das Update wird fortgesetzt, sobald Instanzen ersetzt werden können. Wenn Sie festlegenterminateJobsOnUpdate=false, werden ausgeführte Jobs für den angegebenen Timeout-Zeitraum mit einem Standard-Timeout von 30 Minuten fortgesetzt. Jobs werden beendet, wenn sie das Timeout überschreiten.

Anmerkung

Um Aufträge, die während einer Aktualisierung beendet wurden, erneut auszuführen, konfigurieren Sie eine Strategie zur Auftragswiederholung. Weitere Informationen finden Sie unter Automatisierte Auftragswiederholungen.

Performing infrastructure updates using the AWS-Managementkonsole
Anmerkung

Informationen zur Aktualisierung auf die neueste AMI-Version in der Konsole finden Sie unter. AMI-Versionen werden aktualisiert

  1. Öffnen Sie die AWS Batch Konsole unter https://console.aws.amazon.com/batch/.

  2. Wählen Sie im Navigationsbereich Umgebungen und dann die Registerkarte Computerumgebungen aus.

  3. Wählen Sie auf der Registerkarte Rechenumgebungen die Option neben der Computerumgebung aus, die aktualisiert werden soll. Sie müssen eine Rechenumgebung auswählen, bevor die Optionen im Menü „Aktionen“ verfügbar sind.

  4. Wählen Sie Aktionen und dann Bearbeiten.

  5. Konfigurieren Sie im Abschnitt Verhalten aktualisieren, wie laufende Jobs behandelt werden:

    • Wählen Sie AMI auf neueste Version aktualisieren, um das AMI auf die neueste Version zu aktualisieren.

    • Wählen Sie Jobs sofort bei Aktualisierung beenden, um Jobs zu beenden, wenn der Aktualisierungsvorgang ausgeführt wird.

    • Geben Sie für Timeout bei der Auftragsausführung die Anzahl der Minuten ein, die gewartet werden soll, bevor der Aktualisierungsvorgang gestartet wird.

  6. Ändern Sie eine oder mehrere der Einstellungen, für die ein Infrastruktur-Update erforderlich ist. Beispiel:

    • Rolle „Instanz“

    • Verwenden Sie EC2-Spot-Instances

    • Zulässige Instanztypen

    • Platzierungsgruppe

    • EC2 key pair

    • EC2-Konfiguration

    • Startvorlagen

    • Subnets

    • Sicherheitsgruppen

  7. Wählen Sie Änderungen speichern aus.

  8. Überwachen Sie den Status der Computerumgebung. Die Umgebung wird UPDATING während des Aktualisierungsvorgangs angezeigt.

Performing infrastructure updates using the AWS CLI

Verwenden Sie den update-compute-environment Befehl, wenn Sie eine oder mehrere der Einstellungen ändern, für die Infrastrukturaktualisierungen erforderlich sind. Bei den folgenden drei Beispielen handelt es sich um gängige Infrastrukturoperationen.

  • In diesem Beispiel werden die Instance-Typen aktualisiert und die Aktualisierungsrichtlinie konfiguriert:

    aws batch update-compute-environment \ --compute-environment your-compute-environment-name \ --compute-resources instanceTypes=default_x86_64 \ --update-policy terminateJobsOnUpdate=false,jobExecutionTimeoutMinutes=30
  • In diesem Beispiel werden die VPC-Subnetze und Sicherheitsgruppen aktualisiert:

    aws batch update-compute-environment \ --compute-environment your-compute-environment-name \ --compute-resources subnets=subnet-abcd1234,subnet-efgh5678 securityGroupIds=sg-abcd1234 \ --update-policy terminateJobsOnUpdate=true
  • Dieses Beispiel ermöglicht automatische Updates für das neueste Amazon ECS-optimierte AMI:

    aws batch update-compute-environment \ --compute-environment your-compute-environment-name \ --compute-resources updateToLatestImageVersion=true \ --update-policy terminateJobsOnUpdate=false,jobExecutionTimeoutMinutes=60

Überwachung von Infrastruktur-Updates

Überwachen Sie Ihre Infrastrukturaktualisierungen mithilfe der AWS Batch Konsole, um zu beobachtenUPDATING, wie sich der Status der Rechenumgebung zu ändert. Überwachen Sie den Fortschritt beim Austausch von Instanzen und suchen Sie nach fehlgeschlagenen Updates. Das Update ist erfolgreich, sobald der Status der Computerumgebung erreicht istVAILD. Sie können es auch verwenden CloudWatch , um Ereignisse beim Beenden von Instanzen zu verfolgen und den Jobstatus während des Updates zu überwachen. Verwenden Sie mit dem describe-compute-environments Befehl den AWS CLI, um den Status zu überprüfen und Ereignisse im Instanzlebenszyklus zu überwachen.