View a markdown version of this page

Führen Sie blue/green Updates für Rechenumgebungen 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 blue/green Updates für Rechenumgebungen durch

Ein blue/green Update ist eine Aktualisierungsstrategie, die Ausfallzeiten und Risiken reduziert, indem neben Ihrer vorhandenen Computerumgebung (blau) eine neue Rechenumgebung (grün) eingerichtet wird. Dieser Ansatz ermöglicht es Ihnen, Workloads schrittweise auf die neue Umgebung umzustellen und gleichzeitig die bestehende Umgebung betriebsbereit zu halten. Blue/green Updates bieten den sichersten Aktualisierungspfad und funktionieren mit allen Servicerollentypen und Zuweisungsstrategien.

-Übersicht

Blue/green Updates bieten mehrere Vorteile, weshalb sie sich ideal für Produktionsumgebungen eignen. Sie sorgen für keine Ausfallzeiten, da Ihre Workloads während des Aktualisierungsvorgangs kontinuierlich ausgeführt werden. Dieser Ansatz ermöglicht einfache Rollback-Funktionen, sodass Sie bei Problemen schnell zur ursprünglichen Umgebung zurückkehren können. Sie können eine Strategie für den schrittweisen Übergang implementieren und die Leistung der neuen Umgebung überprüfen, bevor Sie Ihre Produktionsworkloads vollständig umstellen. Diese Methode bietet auch eine hervorragende Risikominderung, da die ursprüngliche Umgebung unverändert und betriebsbereit bleibt, bis Sie sie entfernen.

Wenn blue/green Updates erforderlich sind

In den folgenden Situationen müssen Sie blue/green Updates verwenden:

  • Wenn Ihre Rechenumgebung eine BEST_FIT Zuweisungsstrategie verwendet (unterstützt keine Infrastrukturaktualisierungen).

  • Wenn Ihre Computerumgebung die AWSServiceRoleForBatch serviceverknüpfte Rolle nicht verwendet.

  • Wenn Sie zwischen verschiedenen Servicerollentypen wechseln müssen.

Wir empfehlen blue/green Updates für Produktionsumgebungen, in denen es für Ihre Workloads entscheidend ist, dass keine Ausfallzeiten auftreten. Dieser Ansatz eignet sich gut, wenn Sie vor der Umstellung von Produktionsworkloads neue Konfigurationen testen müssen, um sicherzustellen, dass die Änderungen Ihren Leistungs- und Zuverlässigkeitsanforderungen entsprechen. Wählen Sie blue/green Updates, wenn ein schnelles Rollback für Ihren Betrieb wichtig ist, insbesondere wenn Sie benutzerdefinierte AMIs mit erheblichen Änderungen aktualisieren. Diese Methode eignet sich auch ideal, wenn Sie Leistungsmerkmale und Verhalten überprüfen möchten, bevor Sie sich vollständig auf Änderungen festlegen, um Vertrauen in Ihren Aktualisierungsprozess zu schaffen.

Voraussetzungen

Bevor Sie ein blue/green Update durchführen, stellen Sie sicher, dass Sie über Folgendes verfügen:

  • Entsprechende IAM-Berechtigungen zum Erstellen und Verwalten von Rechenumgebungen.

  • Zugriff zum Anzeigen und Ändern der Einstellungen für die Auftragswarteschlange.

  • Strategien zur Auftragswiederholung, die für Ihre Jobdefinitionen konfiguriert wurden, um potenzielle Fehler während des Übergangs zu bewältigen. Weitere Informationen finden Sie unter Automatisierte Auftragswiederholungen.

  • Die AMI-ID für die neue Rechenumgebung. Das kann entweder sein:

    • Eine aktuelle, genehmigte Version des für Amazon ECS optimierten AMI (wird standardmäßig verwendet).

    • Ein benutzerdefiniertes AMI, das die AMI-Spezifikation der Amazon ECS-Container-Instance erfüllt. Wenn Sie ein benutzerdefiniertes AMI verwenden, können Sie es auf eine der folgenden Arten angeben:

      • Verwenden Sie das Image-ID-Override-Feld in der EC2-Konfiguration.

      • Geben Sie es in einer Startvorlage an.

      Weitere Hinweise zum Erstellen benutzerdefinierter AMIs finden Sie unterTutorial: Ein Rechenressourcen-AMI erstellen.

Bevor Sie die neue Umgebung erstellen, müssen Sie die Konfiguration Ihrer vorhandenen Computerumgebung aufzeichnen. Sie können dies tun, indem Sie entweder die AWS-Managementkonsole oder die verwenden AWS CLI.

Anmerkung

In den folgenden Verfahren wird detailliert beschrieben, wie Sie ein blue/green Update durchführen, das nur das AMI ändert. Sie können andere Einstellungen für die neue Umgebung aktualisieren.

Wichtig

Wenn Sie die alte (blaue) Rechenumgebung entfernen, schlagen alle derzeit auf diesen Instances ausgeführten Jobs fehl, da die Instanzen beendet werden. Konfigurieren Sie in Ihren Jobdefinitionen Strategien für die Wiederholung von Aufträgen, um diese Fehler automatisch zu behandeln. Weitere Informationen finden Sie unter Automatisierte Auftragswiederholungen.

Sobald Sie sich mit der neuen Umgebung vertraut gemacht haben:

  1. Bearbeiten Sie die Auftragswarteschlange, um die alte Computerumgebung zu entfernen.

  2. Warten Sie, bis alle laufenden Jobs in der alten Umgebung abgeschlossen sind.

  3. Löschen Sie die alte Datenverarbeitungsumgebung.

Performing blue/green updates using the AWS-Managementkonsole
  1. Klonen Sie Ihre aktuelle Computerumgebung

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

    2. Wählen Sie die Option neben Ihrer vorhandenen Computerumgebung aus. Sie müssen eine Computerumgebung auswählen, bevor die Optionen im Menü „Aktionen“ verfügbar sind.

    3. Wählen Sie Aktionen und dann Klonen.

    4. Geben Sie unter Name einen eindeutigen Namen für Ihre neue Computerumgebung ein.

    5. Wählen Sie Weiter aus.

    6. Aktualisieren Sie im Abschnitt Instanzkonfiguration die AMI-Einstellungen:

      1. Erweitern Sie Additional configuration (Zusätzliche Konfiguration).

      2. Geben Sie für die EC2-Konfiguration den neuen AMI-Typ unter Image-Typ und AMI-ID im Feld Image-ID-Override an.

    7. Wählen Sie Weiter aus.

    8. Wählen Sie für die Netzwerkkonfiguration Weiter aus.

    9. Überprüfen Sie die anderen Einstellungen, die automatisch aus Ihrer vorhandenen Umgebung kopiert werden.

    10. Wählen Sie Computerumgebung erstellen aus.

    11. Warten Sie, bis der neue Status der Computerumgebung erreicht istVALID.

  2. Ändern Sie die Reihenfolge der Job-Warteschlangen

    1. Wählen Sie im Navigationsbereich Job-Warteschlangen aus.

    2. Wählen Sie die Jobwarteschlange aus, die Ihrer vorhandenen Computerumgebung zugeordnet ist.

    3. Wählen Sie Bearbeiten aus.

    4. Fügen Sie unter Verbundene Computerumgebung die neue Rechenumgebung hinzu:

      • Fügen Sie die neue Rechenumgebung mit einer höheren Ordnungsnummer als die bestehende Umgebung hinzu, um die Arbeitslast zu übertragen.

      • Sobald Sie überprüft haben, dass die neue Umgebung ordnungsgemäß funktioniert, können Sie sie zur primären Umgebung machen, indem Sie ihr eine niedrigere Ordnungsnummer geben.

    5. Wählen Sie „Auftragswarteschlange aktualisieren“.

  3. Bereinigen

    1. Überwachen Sie die Auftragsausführung in der neuen Umgebung, um sicherzustellen, dass alles wie erwartet funktioniert.

    2. Sobald Sie sich mit der neuen Umgebung vertraut gemacht haben:

      1. Bearbeiten Sie die Auftragswarteschlange, um die alte Computerumgebung zu entfernen.

      2. Warten Sie, bis alle laufenden Jobs in der alten Umgebung abgeschlossen sind.

      3. Löschen Sie die alte Datenverarbeitungsumgebung.

Performing blue/green updates using the AWS CLI
  1. Verwenden Sie den folgenden Befehl AWS CLI, um die Konfiguration mit dem abzurufen:

    aws batch describe-compute-environments \ --compute-environments your-compute-environment-name

    Speichern Sie die Ausgabe als Referenz, wenn Sie die neue Umgebung erstellen.

  2. Erstellen Sie eine neue Rechenumgebung mit der Konfiguration aus Ihrer vorhandenen Umgebung, jedoch mit dem neuen AMI. Hier ist ein Beispiel für eine Befehlsstruktur:

    Ersetzen Sie die Beispielwerte durch Ihre tatsächliche Konfiguration aus dem vorherigen Schritt:

    cat <<EOF > ./blue-green-compute-environment.json { "computeEnvironmentName": "your-new-compute-environment-name", "type": "MANAGED", "state": "ENABLED", "computeResources": { "instanceRole": "arn:aws:iam::012345678901:instance-profile/ecsInstanceRole", "type": "EC2", "minvCpus": 2, "desiredvCpus": 2, "maxvCpus": 256, "instanceTypes": [ "optimal" ], "allocationStrategy": "BEST_FIT_PROGRESSIVE", "ec2Configuration": [ { "imageType": "ECS_AL2023", "imageIdOverride": "ami-0abcdef1234567890" } ], "subnets": [, "subnet-0abcdef1234567890" ], "securityGroupIds": [ "sg-0abcdef1234567890" ] } } EOF
    $ aws batch create-compute-environment --cli-input-json file://./blue-green-compute-environment.json
  3. Warten Sie, bis die neue Umgebung verfügbar ist:

    aws batch describe-compute-environments \ --compute-environments your-new-compute-environment-name \ --query 'computeEnvironments[].status'
  4. Fügen Sie die neue Rechenumgebung zu Ihrer Job-Warteschlange hinzu:

    aws batch update-job-queue \ --job-queue your-job-queue \ --compute-environment-order order=1,computeEnvironment=your-existing-environment \ order=2,computeEnvironment=your-new-compute-environment-name
  5. Führen Sie nach der Überprüfung erneut ein Update durch, um die neue Umgebung zur primären Umgebung zu machen:

    aws batch update-job-queue \ --job-queue your-job-queue \ --compute-environment-order order=1,computeEnvironment=your-new-compute-environment-name

    Nachdem alle Jobs in der alten Umgebung abgeschlossen sind, deaktivieren Sie sie und löschen Sie sie anschließend:

    aws batch update-compute-environment \ --compute-environment your-existing-environment \ --state DISABLED
    aws batch delete-compute-environment \ --compute-environment your-existing-environment