

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
<a name="blue-green-updates"></a>

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
<a name="blue-green-overview"></a>

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
<a name="blue-green-when-required"></a>

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.

### Wann blue/green Updates empfohlen werden
<a name="blue-green-when-recommended"></a>

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
<a name="blue-green-prerequisites"></a>

Bevor Sie ein blue/green Update durchführen, stellen Sie sicher, dass Sie über Folgendes verfügen:
+ Entsprechende [ IAM-Berechtigungen ](IAM_policies.md) 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](job_retries.md).
+ 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 unter[Tutorial: Ein Rechenressourcen-AMI erstellen](create-batch-ami.md).

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](job_retries.md).  
Sobald Sie sich mit der neuen Umgebung vertraut gemacht haben:  
Bearbeiten Sie die Auftragswarteschlange, um die alte Computerumgebung zu entfernen.
Warten Sie, bis alle laufenden Jobs in der alten Umgebung abgeschlossen sind.
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/](https://console.aws.amazon.com/batch/).

   1. 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.

   1. Wählen Sie ** Aktionen ** und dann ** Klonen**.

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

   1. Wählen Sie **Weiter** aus.

   1. Aktualisieren Sie im ** Abschnitt ** Instanzkonfiguration die AMI-Einstellungen:

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

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

   1. Wählen Sie **Weiter** aus.

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

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

   1. Wählen Sie Computerumgebung ** erstellen aus**.

   1. Warten Sie, bis der neue Status der Computerumgebung erreicht ist`VALID`.

1. Ändern Sie die Reihenfolge der Job-Warteschlangen

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

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

   1. Wählen Sie **Bearbeiten** aus.

   1. 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.

   1. Wählen Sie „Auftragswarteschlange ** aktualisieren**“.

1. Bereinigen

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

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

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

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

      1. 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.

1. 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
   ```

1. Warten Sie, bis die neue Umgebung verfügbar ist:

   ```
   aws batch describe-compute-environments \
     --compute-environments {{your-new-compute-environment-name}} \
     --query 'computeEnvironments[].status'
   ```

1. 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}}
   ```

1. 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}}
   ```

------