Führen Sie Infrastruktur-Updates durch - 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.

Führen Sie Infrastruktur-Updates durch

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

Wichtig

Für Infrastrukturaktualisierungen sind die AWSServiceRoleForBatchdienstbezogene Rolle und eine Zuweisungsstrategie von BEST_FIT_PROGRESSIVESPOT_CAPACITY_OPTIMIZED, oder SPOT_PRICE_CAPACITY_OPTIMIZED erforderlich. Wenn Ihre Umgebung diese Anforderungen nicht erfüllt, verwenden Sie stattdessen blue/green Updates.

Änderungen, die Infrastrukturaktualisierungen auslösen

AWS Batch Führt ein Infrastruktur-Update durch, wenn Sie eine der folgenden Einstellungen ändern. Infrastrukturaktualisierungen erfolgen auch, wenn Sie diese Einstellungen zusammen mit den Einstellungen für das Skalieren von Updates ä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— Typ der Rechenumgebung (EC2oderSPOT).

AMI und Startkonfiguration

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

  • ec2Configuration— EC2 Konfiguration einschließlichimageIdOverride.

  • launchTemplate— Vorlageneinstellungen EC2 starten.

  • ec2KeyPair— SSH-Schlüsselpaar für 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 Instanzen (für EC2 Rechenumgebungen).

  • placementGroup— Konfiguration der EC2 Platzierungsgruppe.

Andere Einstellungen

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

  • tags— Auf EC2 Instanzen angewendete Tags.

Wichtig

Wenn Sie Einstellungen für Infrastrukturupdates zusammen mit Einstellungen für Skalierungsupdates (wiedesiredvCpus, maxvCpus oderminvCpus) ändern, wird ein AWS Batch Infrastruktur-Update durchgeführt. Infrastrukturaktualisierungen dauern länger als Skalierungsaktualisierungen.

AMI-Auswahl bei Infrastruktur-Updates

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. AMIs sind in der imageId (incomputeResources), imageIdOverride (inec2Configuration) oder der unter angegebenen Startvorlage angegebenlaunchTemplate. Nehmen wir an, dass in keiner dieser Einstellungen AMI angegeben IDs sind und die updateToLatestImageVersion Einstellung isttrue. 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 vor dem Update verwendete AMI-ID bereitgestellt hat. 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 imageId imageIdOverride 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 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 das neueste für Amazon ECS optimierte AMI verwenden, das von unterstützt wird AWS Batch. Anschließend muss das Update die Einstellungen entfernen, die AMI bereitgestellt haben IDs. 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 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 die aktualisierte Version der Startvorlage keine AMI-ID angibt, muss der updateToLatestImageVersion Parameter auf gesetzt werdentrue.

Auftragsabwicklung bei Updates

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 laufende Jobs für den angegebenen Timeout-Zeitraum mit einem Standard-Timeout von 30 Minuten fortgesetzt, und Jobs werden beendet, wenn sie das Timeout überschreiten.

Anmerkung

Um Jobs zu wiederholen, die während eines Updates beendet wurden, konfigurieren Sie eine Strategie zur Wiederholung von Aufträgen. Weitere Informationen finden Sie unter Automatisierte Auftragswiederholversuche.

Performing infrastructure updates using the AWS Management Console
  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 Rechenumgebungen aus.

  3. Wählen Sie die Rechenumgebung aus, die aktualisiert werden soll.

  4. Wählen Sie Aktionen und dann Bearbeiten.

  5. Konfigurieren Sie im Abschnitt Aktualisierungsverhalten, 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 beim Update beenden, um Jobs zu beenden, wenn der Aktualisierungsprozess ausgeführt wird.

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

  6. Ändern Sie eine oder mehrere Einstellungen, für die Infrastrukturupdates erforderlich sind. Beispiel:

    • Rolle der Instanz

    • Verwenden Sie EC2 Spot-Instances

    • Zulässige Instance-Typen

    • Platzierungsgruppe

    • EC2 Schlüsselpaar

    • EC2 Konfiguration

    • Startvorlagen

    • Subnets

    • Sicherheitsgruppen

  7. Wählen Sie Änderungen speichern aus.

  8. Überwachen Sie den Status der Rechenumgebung. 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 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 Instanztypen 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 auf das neueste für 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 Infrastruktur-Updates mithilfe der AWS Batch Konsole, um zu beobachten, wie sich der Status der Rechenumgebung ändertUPDATING, überwachen Sie den Fortschritt beim Austausch von Instanzen und suchen Sie nach fehlgeschlagenen Updates. Das Update ist erfolgreich, sobald der Status der Rechenumgebung 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. Mit dem können Sie den describe-compute-environments Befehl verwenden AWS CLI, um den Status zu überprüfen und Ereignisse im Instanzlebenszyklus zu überwachen.