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

Eine blue/green Aktualisierung ist eine Aktualisierungsstrategie, die Ausfallzeiten und Risiken reduziert, indem neben Ihrer bestehenden Computerumgebung (blau) eine neue Rechenumgebung (grün) erstellt 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

Blaue/grüne 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 schrittweise Übergangsstrategie 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 Computerumgebung eine BEST_FIT Zuweisungsstrategie verwendet (unterstützt keine Infrastrukturaktualisierungen)

  • Wenn Ihre Computerumgebung die AWSServiceRoleForBatchserviceverknüpfte Rolle nicht verwendet

  • Wenn Sie zwischen verschiedenen Servicerollentypen wechseln müssen

Blue/green updates are particularly recommended for production environments where zero downtime is critical for your workloads. This approach works well when you need to test new configurations before transitioning production workloads, ensuring that changes meet your performance and reliability requirements. Choose blue/greenUpdates, wenn die Möglichkeit eines schnellen Rollbacks für Ihren Betrieb wichtig ist, insbesondere wenn Sie benutzerdefinierte Aktualisierungen AMIs mit wesentlichen Änderungen vornehmen. Diese Methode ist auch ideal, wenn Sie Leistungsmerkmale und Verhalten überprüfen möchten, bevor Sie Änderungen vollständig vornehmen, sodass Sie sich auf Ihren Aktualisierungsprozess verlassen können.

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 Computerumgebungen

  • Zugriff zum Anzeigen und Ändern der Einstellungen für die Job-Warteschlange

  • Strategien zur Wiederholung von Job, die für Ihre Jobdefinitionen konfiguriert wurden, um potenzielle Fehler während der Umstellung zu beheben. Weitere Informationen finden Sie unter Automatisierte Auftragswiederholversuche.

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

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

    • Ein benutzerdefiniertes AMI, das die AMI-Spezifikation für Amazon ECS-Container-Instances 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 Informationen zum Erstellen benutzerdefinierter Elemente AMIs finden Sie unterTutorial: Erstellen Sie ein Compute-Ressourcen-AMI.

Bevor Sie die neue Umgebung erstellen, müssen Sie die Konfiguration Ihrer vorhandenen Computerumgebung aufzeichnen. Sie können dies entweder mit AWS Management Console oder mit dem tun AWS CLI.

Anmerkung

In den folgenden Verfahren wird detailliert beschrieben, wie ein blue/green Update durchgeführt wird, 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 ausgeführten Jobs auf diesen Instanzen fehl, da die Instanzen beendet werden. Konfigurieren Sie Strategien zur Wiederholung von Jobs in Ihren Jobdefinitionen, um diese Fehler automatisch zu behandeln. Weitere Informationen finden Sie unter Automatisierte Auftragswiederholversuche.

Sobald Sie sich mit der neuen Umgebung vertraut gemacht haben:

  1. Bearbeiten Sie die Job-Warteschlange, um die alte Rechenumgebung 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 Management Console
  1. Klonen Sie Ihre aktuelle Computerumgebung

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

    2. Wählen Sie Ihre bestehende Rechenumgebung aus.

    3. Wählen Sie „Aktionen“ und dann „Klonen“.

    4. Geben Sie unter Name einen eindeutigen Namen für Ihre neue Rechenumgebung 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 im Image-Typ und die 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 bestehenden Umgebung kopiert werden.

    10. Wählen Sie Rechenumgebung erstellen aus.

    11. Warten Sie, bis der Status der neuen Rechenumgebung erreicht istVALID.

  2. Ändern Sie die Reihenfolge der Job-Warteschleifen

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

    2. Wählen Sie die Job-Warteschlange aus, die Ihrer vorhandenen Computerumgebung zugeordnet ist.

    3. Wählen Sie Bearbeiten aus.

    4. Fügen Sie unter Connected Compute-Umgebung die neue Rechenumgebung hinzu:

      • Fügen Sie die neue Rechenumgebung mit einer höheren Ordnungsnummer als die bestehende Umgebung hinzu, um den Workload umzustellen.

      • Sobald Sie sich vergewissert haben, dass die neue Umgebung ordnungsgemäß funktioniert, können Sie sie zur primären Umgebung machen, indem Sie ihr eine niedrigere Bestellnummer zuweisen.

    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 mit der neuen Umgebung vertraut sind:

      1. Bearbeiten Sie die Job-Warteschlange, um die alte Rechenumgebung 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

    Wenn alle Jobs in der alten Umgebung abgeschlossen sind, deaktivieren Sie sie und löschen Sie sie dann:

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