

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.

# Verwendung der Blue/Green Neptune-Lösung zur Durchführung von blaugrünen Updates
<a name="neptune-BG-deployments"></a>

Amazon-Neptune-Engine-Upgrades können Anwendungsausfallzeiten erfordern, da die Datenbank nicht verfügbar ist, während Updates installiert und verifiziert werden. Dies gilt unabhängig davon, ob die Updates manuell oder automatisch initiiert werden.

Neptune bietet eine Blue/Green Bereitstellungslösung, die Sie mithilfe eines CloudFormation Stacks ausführen können und die solche Ausfallzeiten erheblich reduziert. Die Lösung erstellt eine grüne Staging-Umgebung, die mit Ihrer blauen Produktionsumgebung synchronisiert ist. Anschließend können Sie diese Staging-Umgebung mit einem kleineren oder größeren Upgrade der Engine-Version, einer Änderung des Diagrammdatenmodells oder einer Aktualisierung des Betriebssystems zu aktualisieren und das Ergebnis zu testen. Anschließend können Sie sie schnell und mit sehr geringen Ausfallzeiten zu Ihrer Produktionsumgebung machen.

Die Blue/Green Neptun-Lösung durchläuft zwei Phasen, wie in diesem Diagramm dargestellt:

![\[Übersichtsdiagramm für die Blau/Grün–Bereitstellung\]](http://docs.aws.amazon.com/de_de/neptune/latest/userguide/images/BG-flow.png)


**Phase 1 erstellt einen grünen, mit Ihrem Produktionscluster identischen DB-Cluster**

Die Lösung erstellt einen DB-Cluster mit einer eindeutigen blue/green Bereitstellungs-ID und derselben Clustertopologie wie Ihr Produktionscluster. Das bedeutet, dass dieser Cluster dieselbe Zahl von DB-Instances mit denselben Größen, dieselben Parametergruppen und dieselben Konfigurationen wie der (blaue) Produktions-DB-Cluster besitzt. Der Unterschied besteht darin, dass er auf eine Engine-Zielversion aktualisiert wurde, die höher als die aktuelle (blaue) Engine-Version sein muss. Sie können eine Neben- und eine Haupt-Engine-Version für das Ziel angeben. Wenn notwendig, führt die Lösung alle nötigen Zwischenaktualisierungen durch, um die angegebene Engine-Zielversion zu erreichen. Dieser neue Cluster bildet die grüne Staging-Umgebung.

**Phase 2 richtet eine kontinuierliche Datensynchronisierung ein**

Nach der vollständigen Vorbereitung der grünen Umgebung richtet die Lösung mithilfe von Neptune-Streams eine kontinuierliche Replikation zwischen dem Quell-Cluster (blau) und dem Ziel-Cluster (grün) ein. Wenn der Replikationsunterschied zwischen ihnen null erreicht, ist die Staging-Umgebung bereit für Tests. An diesem Punkt müssen Sie Schreibvorgänge zum blauen Cluster anhalten, um weitere Verzögerungen bei der Replikation zu vermeiden.

Ihre Engine-Zielversion kann neue Features oder Abhängigkeiten besitzen, die sich auf Ihre Anwendungen auswirken. Auf den Seiten für die Engine-Zielversion und die dazwischenliegenden Engine-Versionen unter [Engine-Versionen](engine-releases.md) finden Sie Informationen zu den Änderungen seit Ihrer aktuellen Engine-Version. Sie sollten Integrationstests durchführen oder Ihre Anwendungen manuell im grünen Cluster verifizieren, bevor Sie ihn zur Produktionsumgebung heraufstufen.

Nach dem Testen und Qualifizieren der Änderungen im grünen Cluster wechseln Sie einfach den Datenbank-Endpunkt in Ihren Anwendungen vom blauen zum grünen Cluster.

Nach der Umstellung löscht die Blue/Green Neptune-Lösung die alte blaue Produktionsumgebung nicht. Sie haben weiterhin Zugriff auf sie, um weitere Validierungen und Tests durchführen zu können, wenn notwendig. Für ihre Instances werden Ihnen bis zur Löschung die Standardgebühren berechnet. Die Blue/Green Lösung nutzt auch andere AWS Dienste, deren Kosten zu normalen Preisen abgerechnet werden. Einzelheiten zum Löschen der Lösung, wenn Sie diese nicht mehr benötigen, finden Sie im Abschnitt [Bereinigen](neptune-BG-cleanup.md).

## Voraussetzungen für den Betrieb des Neptune-Stacks Blue/Green
<a name="neptune-BG-prereqs"></a>

Bevor Sie den Blue/Green Neptune-Stack starten:
+ Sie müssen in Ihrem (blauen) Produktions-Cluster [Neptune-Streams aktivieren](streams-using.md).
+ Alle Instances in Ihrem blauen Cluster müssen den Status Verfügbar haben. Sie können den Instanzstatus in der [Neptune-Konsole](https://console.aws.amazon.com/neptune) oder mithilfe der [describe-db-instances](https://docs.aws.amazon.com/cli/latest/reference/neptune/describe-db-instances.html)API überprüfen.
+ Alle Instances müssen außerdem mit der [DB-Cluster-Parametergruppe](parameter-groups.md) synchronisiert sein.
+ Die Blue/Green Neptune-Lösung erfordert einen DynamoDB-VPC-Endpunkt in der VPC, in der sich Ihr Blue-Cluster befindet. Siehe [Verwenden von Amazon-VPC-Endpunkten für den Zugriff auf DynamoDB](https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/network-isolation.html#vpc-endpoints-dynamodb).
+ Wählen Sie einen Zeitraum für die Ausführung der Lösung, in dem der Schreib-Workload für den blauen Produktions-DB-Cluster so gering wie möglich ist. Sie sollten die Lösung möglichst nicht ausführen, während ein Massenladevorgang stattfindet oder wenn es aus einem anderen Grund wahrscheinlich eine große Zahl von Schreiboperationen geben wird.

# Verwenden einer CloudFormation Vorlage zum Ausführen der Blue/Green Neptune-Lösung
<a name="neptune-BG-console-cfn"></a>

Sie können verwenden AWS CloudFormation , um die Blue/Green Neptune-Lösung bereitzustellen. Die CloudFormation Vorlage erstellt eine Amazon EC2 EC2-Instance in derselben VPC wie Ihre Blue-Source-Neptune-Datenbank, installiert die Lösung dort und führt sie aus. [Sie können den Fortschritt in CloudWatch Protokollen überwachen, wie unter Fortschritt überwachen beschrieben.](neptune-BG-monitoring.md)

Sie können diese Links verwenden, um die Lösungsvorlage zu überprüfen, oder auf die Schaltfläche **Stack starten** klicken, um sie in der CloudFormation Konsole zu starten:


|  |  |  | 
| --- |--- |--- |
| [Anzeigen](https://aws-neptune-customer-samples-us-east-1.s3.amazonaws.com/neptune-bg/bg.yaml) | [In Designer anzeigen](https://console.aws.amazon.com/cloudformation/designer/home?templateURL=https://aws-neptune-customer-samples-us-east-1.s3.amazonaws.com/neptune-bg/bg.yaml) | [https://console.aws.amazon.com/cloudformation/home?region=us-east-1#/stacks/new?stackName=NeptuneBG&templateURL=https://aws-neptune-customer-samples-us-east-1.s3.amazonaws.com/neptune-bg/bg.yaml](https://console.aws.amazon.com/cloudformation/home?region=us-east-1#/stacks/new?stackName=NeptuneBG&templateURL=https://aws-neptune-customer-samples-us-east-1.s3.amazonaws.com/neptune-bg/bg.yaml)  | 

Wählen Sie in der Konsole aus dem Drop-down-Menü oben rechts im Fenster die AWS Region aus, in der Sie die Lösung ausführen möchten.

Legen Sie die Stack-Parameter wie folgt fest:
+ **`DeploymentID`**— Eine Kennung, die für jeden Neptun-Einsatz Blue/Green einzigartig ist.

  Sie wird als ID des grünen DB-Clusters und als Präfix bei der Benennung neuer Ressourcen verwendet, die während der Bereitstellung erstellt wurden.
+ **`NeptuneSourceClusterId`**   –   Die ID des blauen DB-Clusters, den Sie aktualisieren möchten.
+ **`NeptuneTargetClusterVersion:`**   –   Die [Neptune-Engine-Version](engine-releases.md), zu der Sie den blauen DB-Cluster aktualisieren möchten.

  Diese Version muss höher als die aktuelle Engine-Version des blauen DB-Clusters sein.
+ **`DeploymentMode`**   –   Gibt an, ob es sich um eine neue Bereitstellung handelt oder um den Versuch, eine frühere Bereitstellung fortzusetzen. Wenn Sie eine `DeploymentID` verwenden, die mit der ID einer vorherigen Bereitstellung identisch ist, legen Sie `DeploymentMode` auf `resume` fest.

  Gültige Werte sind: `new` (Standardwert) und `resume`.
+ **`GraphQueryType`**   –   Der Diagrammdatentyp für Ihre Datenbank.

  Gültige Werte sind: `propertygraph` (Standardwert) und `rdf`.
+ **`SubnetId`**   –   Eine Subnetz-ID in derselben VPC, in der sich auch Ihr blaues DB-Cluster befindet. (Siehe [Herstellen einer Verbindung zu einem Neptune-DB-Cluster von einer Amazon-EC2-Instance in derselben VPC](get-started-connect-ec2-same-vpc.md)).

  Stellen Sie die ID eines öffentlichen Subnetzes bereit, wenn Sie eine SSH-Verbindung zur Instance über [EC2 Connect](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Connect-using-EC2-Instance-Connect.html) herstellen möchten.
+ **`InstanceSecurityGroup`**   –   Eine Sicherheitsgruppe für Ihre Amazon-EC2-Instance.

  Die Sicherheitsgruppe muss Zugriff auf den blauen DB-Cluster haben und Sie müssen eine SSH-Verbindung zur Instance herstellen können. Siehe [Eine Sicherheitsgruppe über die Konsole erstellen](get-started-vpc.md#security-vpc-security-group).

Warten Sie, bis der Stack vollständig ist. Anschließend wird die Lösung sofort gestartet. Anschließend können Sie den Bereitstellungsprozess mithilfe von CloudWatch Protokollen überwachen, wie im nächsten Abschnitt beschrieben.

# Überwachung des Fortschritts eines Neptun-Einsatzes Blue/Green
<a name="neptune-BG-monitoring"></a>

Sie können den Fortschritt der Blue/Green Neptune-Lösung überwachen, indem Sie zur [CloudWatch Konsole](https://console.aws.amazon.com/cloudwatch/) gehen und sich die Protokolle in der `/aws/neptune/(Neptune Blue/Green deployment ID)` CloudWatch Protokollgruppe ansehen. In den Ausgaben des Lösungsstapels finden Sie einen Link zu den CloudWatch Protokollen: CloudFormation 

![\[Screenshot der Ausgabe des blauen/grünen CloudFormation Stacks\]](http://docs.aws.amazon.com/de_de/neptune/latest/userguide/images/BG-stack-output.png)


Wenn Sie ein öffentliches Subnetz als Stack-Parameter angegeben haben, können Sie auch eine SSH-Verbindung zu der Amazon-EC2-Instance herstellen, die als Teil des Stacks erstellt wurde, und auf das Protokoll in `/var/log/cloud-init-output.log` verweisen.

Das Protokoll zeigt die Aktionen, die von der Blue/Green Neptune-Lösung ergriffen wurden, wie in diesem Screenshot gezeigt:

![\[Screenshot des Blue/Green Neptun-Protokollbildschirms\]](http://docs.aws.amazon.com/de_de/neptune/latest/userguide/images/BG-log-screenshot.png)


Die Protokollmeldungen zeigen den Synchronisierungsstatus zwischen den blauen und grünen Clustern an:

![\[Screenshot der Protokollnachrichten der Blue/Green Neptune-Lösung\]](http://docs.aws.amazon.com/de_de/neptune/latest/userguide/images/BG-log-messages.png)


Der Synchronisierungsprozess überprüft die Replikationsverzögerung, indem er die Differenz zwischen dem neuesten Stream `eventID` auf dem blauen Cluster und dem Replikationsprüfpunkt berechnet, der in der vom Replikationsstapel erstellten DynamoDB-Checkpoint-Tabelle vorhanden ist. Neptune-to-Neptune Anhand dieser Meldungen können Sie die aktuelle Replikationsdifferenz überwachen.

# Wechsel vom blauen Produktions-Cluster zum aktualisierten grünen Cluster
<a name="neptune-BG-cutover"></a>

Bevor Sie den grünen Cluster zur Produktion heraufstufen, müssen Sie sicherstellen, dass die Commit-Differenz zwischen dem blauen und dem grünen Cluster null ist, und den gesamten Schreibverkehr zum blauen Cluster deaktivieren. Wenn Sie weiter zum blauen Cluster schreiben, während Sie den Datenbankendpunkt zum grünen Cluster wechseln, kann dies zu beschädigten Daten führen, da in beiden Clustern unvollständige Daten geschrieben werden. Möglicherweise müssen Sie den Leseverkehr noch nicht deaktivieren.

Wenn Sie die IAM-Authentifizierung für den (blauen) Quell-Cluster aktiviert haben, müssen Sie alle in Ihren Anwendungen verwendeten IAM-Richtlinien so aktualisieren, dass sie auf den grünen Cluster verweisen. (Ein Beispiel für eine solche Richtlinie finden Sie in dieser [Richtlinie für uneingeschränkten Zugriff](iam-data-access-examples.md#iam-auth-data-policy-example-general)).

Warten Sie nach dem Deaktivieren des Schreibverkehrs, bis die Replikation abgeschlossen ist, und aktivieren Sie dann den Schreibverkehr für den grünen Cluster (nicht für den blauen Cluster). Wechseln Sie auch den Leseverkehr vom blauen zum grünen Cluster.

# Aufräumen, nachdem die Blue/Green Neptun-Lösung abgeschlossen ist
<a name="neptune-BG-cleanup"></a>

Nachdem Sie den Staging-Cluster (grün) zur Produktion hochgestuft haben, bereinigen Sie die von der Blue/Green Neptune-Lösung erstellten Ressourcen:
+ Löschen Sie die Amazon-EC2-Instance, die zur Ausführung der Lösung erstellt wurde.
+ Löschen Sie die CloudFormation Vorlagen für die auf [Neptune Streams basierende Replikation](streams-consumer-setup.md), die den grünen Cluster mit dem blauen Cluster synchron gehalten hat. Eine Vorlage hat den zuvor angegebenen Stack-Namen und die andere Vorlage besteht aus der Bereitstellungs-ID gefolgt von „-replication“: `(DeploymentID)-replication`.

Durch das Löschen von CloudFormation Vorlagen werden die Cluster selbst nicht gelöscht. Sobald Sie sich vergewissert haben, dass der grüne Cluster wie erwartet funktioniert, können Sie optional einen Snapshot erstellen, bevor Sie den blauen Cluster manuell löschen.

# Bewährte Methoden für Blue/Green Neptune-Lösungen
<a name="neptune-BG-best-practices"></a>
+ Bevor Sie den grünen Cluster zur Produktion wechseln, sollten Sie sorgfältig überprüfen, ob er ordnungsgemäß funktioniert. Prüfen Sie die Konsistenz der Daten und die Konfiguration der Datenbank. Es ist möglich, dass einige neue Engine-Versionen auch Client-Upgrades erfordern. Prüfen Sie vor dem Upgrade die Engine-Versionshinweise. Es lohnt sich, all dies in Entwicklungs-, Test- und Vorproduktionsumgebungen zu testen, bevor Sie mit einem blue/green Upgrade in der Produktion beginnen.
+ Der Wechsel vom blauen zum grünen Server sollte bevorzugt während eines Wartungsfensters erfolgen.
+ Um sicherzustellen, dass nach Upgrade und Synchronisation alles ordnungsgemäß funktioniert, sollten Sie den ursprünglichen Cluster für einige Zeit beibehalten, bevor Sie ihn löschen. Dies könnte sich als nützlich erweisen, wenn ein unvorhergesehenes Problem auftritt.
+ Vermeiden Sie umfangreiche Schreibvorgänge wie Massenladevorgänge, wenn Sie die Blue/Green Neptune-Lösung ausführen, da diese zu Verzögerungen bei der Replikation führen können, was zu erheblichen Ausfallzeiten führt. Im Idealfall liegt zwischen der Deaktivierung von Schreiboperationen im blauen Cluster und ihrer Aktivierung im grünen Cluster nur ein kurzer Moment.

# Fehlerbehebung bei der Neptune-Lösung Blue/Green
<a name="neptune-BG-troubleshooting"></a>

 In den folgenden Informationen werden Probleme hervorgehoben, die während des Blue/Green Lösungsbereitstellungsprozesses auftreten können, z. B. Konflikte mit vorhandenen Clustern, die Notwendigkeit, Neptune-Streams zu aktivieren, laufende Massenladevorgänge und Anforderungen an die Versionskompatibilität. Durch die Behebung dieser potenziellen Probleme können Sie eine reibungslose und erfolgreiche Implementierung der Blue/Green Neptune-Lösung sicherstellen. 

**Durch die Neptun-Lösung Blue/Green hervorgerufene Fehler**
+ **`Cluster with id = (blue_green_deployment_id) already exists`**— Es gibt einen vorhandenen Cluster mit Kennung. *(blue\$1green\$1deployment\$1id)*

  Geben Sie eine neue Bereitstellungs-ID ein oder setzen Sie den Bereitstellungsmodus auf, `resume` wenn der Cluster in einem früheren Blue/Green Neptune-Lauf erstellt wurde.
+ **`Streams should be enabled on the source Cluster for Blue Green Deployment`**   –   Aktivieren Sie [Neptune-Streams](streams-using-enabling.md) für den blauen (Quell-)Cluster.
+ **`No Bulkload should be in progress on source cluster: (cluster_id)`**— Die Blue/Green Neptune-Lösung wird beendet, wenn sie eine laufende Massenladung feststellt.

  Dies soll sicherstellen, dass der Synchronisierungsprozess mit den Schreiboperationen Schritt halten kann. Vermeiden oder brechen Sie alle laufenden Massenladeaufträge ab, bevor Sie die Neptune-Lösung Blue/Green starten.
+ **`Blue Green deployment requires instances to be in sync with db cluster parameter group`**   –   Alle Änderungen an der Cluster-Parametergruppe sollten im gesamten DB-Cluster synchronisiert werden. Siehe [Amazon-Neptune-Parametergruppen](parameter-groups.md).
+ **`Invalid target engine version for Blue Green Deployment`**   –   Die Engine-Zielversion muss in [Engine-Versionen für Amazon Neptune](engine-releases.md) als aktiv aufgelistet sein und höher als die aktuelle Engine-Version des (blauen) Quell-Clusters sein.