Umschalten einer blauen/grünen Bereitstellung in Amazon Aurora - Amazon Aurora

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.

Umschalten einer blauen/grünen Bereitstellung in Amazon Aurora

Bei einem Switchover wird der DB-Cluster, einschließlich seiner DB-Instances, in der grünen Umgebung in den Produktions-DB-Cluster umgewandelt. Vor der Umstellung wird der Produktionsdatenverkehr an den Cluster in der blauen Umgebung weitergeleitet. Nach der Umstellung wird der Produktionsdatenverkehr an den DB-Cluster in der grünen Umgebung weitergeleitet.

Das Umschalten auf eine blaue/grüne Bereitstellung ist nicht dasselbe wie das Heraufstufen des grünen innerhalb der blauen/grünen Bereitstellung. Wenn Sie den grünen manuell heraufstufen, indem Sie im Menü Aktionen die Option Heraufstufen wählen, wird die Replikation zwischen der blauen und der grünen Umgebung unterbrochen und die blaue/grüne Bereitstellung wechselt in den Status Ungültige Konfiguration.

Umstellungs-Timeout

Sie können einen Umstellungs-Timeout zwischen 30 Sekunden und 3 600 Sekunden (eine Stunde) festlegen. Wenn die Umstellung länger als angegeben dauert, werden alle Änderungen rückgängig gemacht und es werden keine Änderungen an einer der Umgebungen vorgenommen. Der Standardwert für den Timeout beträgt 300 Sekunden (fünf Minuten).

Integrationsschutz der Umstellung

Wenn Sie eine Umstellung starten, führt Amazon RDS einige grundlegende Prüfungen durch, um zu testen, ob die blaue und die grüne Umgebung für die Umstellung bereit sind. Diese Prüfungen werden als Integrationsschutz der Umstellung. Dieser Integrationsschutz verhindert eine Umstellung, wenn die Umgebungen dafür nicht bereit sind. Mit diesem Schutz werden längere Ausfallzeiten als erwartet vermieden und Datenverluste zwischen der blauen und der grünen Umgebung verhindern, die sich ergeben könnten, wenn die Umstellung gestartet wird.

Amazon RDS führt die folgenden Integrationsschutzprüfungen in der grünen Umgebung durch:

  • Zustand der Replikation – Es wird geprüft, ob der Replikationsstatus des grünen DB-Clusters fehlerfrei ist. Der grüne DB-Cluster ist ein Replikat des blauen DB-Clusters.

  • Replikationsverzögerung – Es wird geprüft, ob die Replikatverzögerung des grünen DB-Clusters innerhalb der für die Umstellung zulässigen Grenzwerte liegt. Die zulässigen Grenzwerte basieren auf dem angegebenen Timeout-Zeitraum. Die Replikatverzögerung gibt an, wie weit der grüne DB-Cluster hinter seinem blauen DB-Cluster zurückbleibt. Weitere Informationen finden Sie unter Überwachung der Replikatverzögerung vor dem Switchover.

  • Aktive Schreibvorgänge – Es wird sichergestellt, dass es auf dem grünen DB-Cluster keine aktiven Schreibvorgänge gibt.

Amazon RDS führt die folgenden Integrationsschutzprüfungen in der blauen Umgebung durch:

  • Externe Replikation — Stellt für Aurora PostgreSQL sicher, dass es sich bei der blauen Umgebung nicht um eine selbstverwaltete logische Quelle (Herausgeber) oder Replikat (Abonnent) handelt. Ist dies der Fall, empfehlen wir, die selbstverwalteten Replikations-Slots und Abonnements für alle Datenbanken in der blauen Umgebung zu löschen, mit dem Switchover fortzufahren und sie dann neu zu erstellen, um die Replikation fortzusetzen. Prüft für Aurora MySQL , ob es sich bei der Blue-Datenbank nicht um ein externes Binlog-Replikat handelt. Ist dies der Fall, stellen Sie sicher, dass sie nicht aktiv repliziert wird.

  • Lang andauernde aktive Schreibvorgänge – Es wird sichergestellt, dass auf dem blauen DB-Cluster keine lang andauernden aktiven Schreibvorgänge vorhanden sind, da diese die Replikatverzögerung erhöhen können.

  • Lang andauernde DDL-Anweisungen – Es wird sichergestellt, dass auf dem blauen DB-Cluster keine lang andauernden DDL-Anweisungen vorhanden sind, da diese die Replikatverzögerung erhöhen können.

  • Nicht unterstützte PostgreSQL-Änderungen — Bei in der blauen Umgebung keine DDL-Änderungen und keine Hinzufügungen oder Änderungen großer Objekte vorgenommen wurden. Weitere Informationen finden Sie unter Spezifische Einschränkungen der logischen Replikation für Bereitstellungen blue/green .

    Wenn Amazon RDS nicht unterstützte PostgreSQL-Änderungen erkennt, ändert es den Replikationsstatus auf Replication degraded und benachrichtigt Sie, dass Switchover für die blue/green deployment. To proceed with switchover, we recommend that you delete and recreate the blue/green Bereitstellung und alle grünen Datenbanken nicht verfügbar ist. Wählen Sie dazu Aktionen, Mit grünen Datenbanken löschen aus.

Umstellungsaktionen

Wenn Sie auf eine Blau/Grün-Bereitstellung umstellen, führt RDS die folgenden Aktionen aus:

  1. Es führt Integritätsschutzprüfungen durch, um zu überprüfen, ob die blaue und die grüne Umgebung bereit für die Umstellung sind.

  2. Es stoppt neue Schreibvorgänge auf dem DB-Cluster in beiden Umgebungen.

  3. Es trennt Verbindungen mit den DB-Instances in beiden Umgebungen und erlaubt keine neuen Verbindungen.

  4. Es wartet, bis die Replikation in der grünen Umgebung aufgeholt hat, sodass die grüne Umgebung mit der blauen Umgebung synchron ist.

  5. Es benennt den DB-Cluster und die DB-Instances in beiden Umgebungen um.

    RDS benennt den DB-Cluster und die DB-Instances in der grünen Umgebung um, sodass sie dem jeweiligen DB-Cluster und den DB-Instances in der blauen Umgebung entsprechen. Angenommen, der Name einer DB-Instance in der blauen Umgebung lautet mydb. Nehmen wir außerdem an, dass der Name der entsprechenden DB-Instance in der grünen Umgebung mydb-green-abc123 lautet. Während der Umstellung wird der Name der DB-Instance in der grünen Umgebung in mydb geändert.

    RDS benennt den DB-Cluster und die DB-Instances in der blauen Umgebung um, indem -oldn an den aktuellen Namen angehängt wird, wobei n eine Zahl ist. Angenommen, der Name einer DB-Instance in der blauen Umgebung lautet mydb. Nach der Umstellung könnte der Name der DB-Instance mydb-old1 lauten.

    RDS benennt auch die Endpunkte in der grünen Umgebung um, sodass sie mit den entsprechenden Endpunkten in der blauen Umgebung übereinstimmen und keine Anwendungsänderungen erforderlich sind.

  6. Erlaubt Verbindungen mit Datenbanken in beiden Umgebungen.

  7. Erlaubt neue Schreibvorgänge auf dem DB-Cluster in der neuen Produktionsumgebung.

    Nach dem Switchover erlaubt der DB-Cluster der vorherigen nur Lesevorgänge, . Selbst wenn Sie Schreibvorgänge auf dem DB-Cluster aktivieren, bleibt dieser schreibgeschützt, bis Sie die blaue/grüne Bereitstellung löschen.

Sie können den Status eines Switchovers mit Amazon EventBridge überwachen. Weitere Informationen finden Sie unter Blau/Grün-Bereitstellungsereignisse.

Wenn Sie Tags in der blauen Umgebung konfiguriert haben, werden diese Tags beim Switchover in die neue Produktionsumgebung kopiert. Weitere Informationen zu Tags erhalten Sie unter Verschlagwortung von Amazon Aurora und Amazon-Ressourcen RDS.

Wenn die Umstellung startet und aus irgendeinem Grund vorzeitig beendet wird, werden alle Änderungen rückgängig gemacht und es werden keine Änderungen an einer der Umgebungen vorgenommen.

Bewährte Methoden für die Umstellung

Wir empfehlen Ihnen dringend, sich an bewährte Methoden zu halten und vor der Umstellung die folgenden Aufgaben auszuführen:

  • Testen Sie die Ressourcen in der grünen Umgebung gründlich. Stellen Sie sicher, dass sie ordnungsgemäß und effizient funktionieren.

  • Überwachen Sie relevante CloudWatch Amazon-Metriken. Weitere Informationen finden Sie unter Überprüfung der CloudWatch Metriken vor dem Switchover.

  • Ermitteln Sie den besten Zeitpunkt für die Umstellung.

    Während der Umstellung werden Schreibvorgänge in beiden Umgebungen von den Datenbanken abgeschnitten. Ermitteln Sie einen Zeitpunkt, an dem der Datenverkehr in Ihrer Produktionsumgebung am niedrigsten ist. Transaktionen mit langer Laufzeit, z. B. aktive DDLs, können Ihre Umstellungszeit verlängern, was zu längeren Ausfallzeiten Ihrer Produktionsworkloads führt.

    Wenn Ihre eine große Anzahl von Verbindungen aufweisen, sollten Sie erwägen, diese manuell auf das für Ihre Anwendung erforderliche Minimum zu reduzieren, bevor Sie die blue/green deployment. One way to achieve this is to create a script that monitors the status of the blue/green Bereitstellung umstellen und mit der Bereinigung der Verbindungen beginnen, wenn festgestellt wird, dass sich der Status zu geändert hat. SWITCHOVER_IN_PROGRESS

  • Stellen Sie sicher, dass der DB-Cluster und die DB-Instances in beiden Umgebungen den Status Available aufweisen.

  • Stellen Sie sicher, dass der DB-Cluster in der grünen Umgebung fehlerfrei ist und repliziert wird.

  • Stellen Sie sicher, dass Ihre Netzwerk- und Client-Konfigurationen den DNS-Cache Time-To-Live (TTL) nicht über fünf Sekunden hinaus erhöhen. Dies ist die Standardeinstellung für Aurora .
 Andernfalls senden Anwendungen nach der Umstellung weiterhin Schreibdatenverkehr an die blaue Umgebung.

  • Gehen Sie für blaue/grüne Bereitstellungen von Aurora PostgreSQL, wie folgt vor:

Anmerkung

Während einer Umstellung können Sie keinen der DB-Cluster in der Umstellung ändern.

Überprüfung der CloudWatch Metriken vor dem Switchover

Bevor Sie zu einer blauen/grünen Bereitstellung wechseln, empfehlen wir Ihnen, die Werte der folgenden Kennzahlen bei Amazon CloudWatch zu überprüfen.

  • DatabaseConnections – Verwenden Sie diese Metrik, um das Aktivitätsniveau in der Blau/Grün-Bereitstellung abzuschätzen, und stellen Sie sicher, dass der Wert für Ihre Bereitstellung auf einem akzeptablen Niveau liegt, bevor Sie umsteigen. Wenn Performance Insights aktiviert ist, ist DBLoad eine genauere Metrik.

  • ActiveTransactions – Wenn innodb_monitor_enable in der DB-Parametergruppe für eine Ihrer DB-Instances auf all gesetzt ist, verwenden Sie diese Metrik, um festzustellen, ob es eine hohe Anzahl aktiver Transaktionen gibt, die die Umstellung blockieren könnten.

Weitere Informationen finden Sie unter CloudWatch Amazon-Metriken für Amazon Aurora.

Überwachung der Replikatverzögerung vor dem Switchover

Bevor Sie zu einer blauen/grünen Bereitstellung wechseln, sollten Sie sicherstellen, dass die Replikatverzögerung nahezu Null ist, um Ausfallzeiten zu reduzieren.

Aurora MySQL

Überprüfen Sie bei blauen/grünen MySQL die AuroraBinlogReplicaLag CloudWatch Metrik in der grünen Umgebung, um die aktuelle Replikatverzögerung zu ermitteln. Weitere Informationen finden Sie unter Diagnose und Lösung bei Verzögerungen zwischen Read Replicas (Lesereplikaten).

Aurora PostgreSQL für PostgreSQL

Bei blauen/grünen PostgreSQL-Bereitstellungen, überprüfen Sie die OldestReplicationSlotLag CloudWatch Metrik in der blauen Umgebung, um die aktuelle Replikatverzögerung zu ermitteln. Weitere Informationen finden Sie unter Metriken auf Instance-Ebene für Amazon Aurora.

Darüber hinaus können Sie die folgende SQL-Abfrage in der blauen Umgebung ausführen:

SELECT slot_name, confirmed_flush_lsn as flushed, pg_current_wal_lsn(), (pg_current_wal_lsn() - confirmed_flush_lsn) AS lsn_distance FROM pg_catalog.pg_replication_slots WHERE slot_type = 'logical'; slot_name | flushed | pg_current_wal_lsn | lsn_distance -----------------+---------------+--------------------+------------ logical_replica1 | 47D97/CF32980 | 47D97/CF3BAC8 | 37192

Die confirmed_flush_lsn steht für die letzte Protokollsequenznummer (LSN), die an das Replikat gesendet wurde. Die pg_current_wal_lsn stellt dar, wo sich die Datenbank jetzt befindet. Ein lsn_distance Wert von 0 bedeutet, dass das Replikat abgeholt wurde.

Umstellen einer Blau/Grün-Bereitstellung

Sie können mit der, der oder der AWS Management Console RDS-API zu einer AWS CLI blauen/grünen Bereitstellung wechseln.

So stellen Sie eine Blau/Grün-Bereitstellung um
  1. Melden Sie sich bei der an AWS Management Console und öffnen Sie die Amazon RDS-Konsole unter https://console.aws.amazon.com/rds/.

  2. Wählen Sie im Navigationsbereich Databases (Datenbanken) und dann die Blau/Grün-Bereitstellung aus, die Sie umstellen möchten.

  3. Wählen Sie unter Actions (Aktionen) die Option Switch over (Umstellen) aus.

    Die Seite Switch Over (Umstellen) wird angezeigt.

    Umstellen einer Blau/Grün-Bereitstellung
  4. Sehen Sie sich auf der Seite Switchover (Umstellen) die Umstellungszusammenfassung an. Stellen Sie sicher, dass die Ressourcen in beiden Umgebungen Ihren Erwartungen entsprechen. Wenn dies nicht der Fall ist, wählen Sie Cancel (Abbrechen) aus.

  5. Geben Sie unter Timeout-Einstellungen das Zeitlimit für die Umstellung ein.

  6. Wenn auf Ihrem Cluster Aurora PostgreSQL ausgeführt wird, überprüfen und bestätigen Sie die vor der Umstellung zu berücksichtigenden Empfehlungen. Weitere Informationen finden Sie unter Spezifische Einschränkungen der logischen Replikation für Bereitstellungen blue/green .

  7. Wählen Sie Switch over (Umstellen) aus.

Verwenden Sie den switchover-blue-green-deploymentBefehl mit den folgenden Optionen AWS CLI, um mit dem zu einer blauen/grünen Bereitstellung zu wechseln:

  • --blue-green-deployment-identifier— Geben Sie die Ressourcen-ID der blauen/grünen Bereitstellung an.

  • --switchover-timeout – Geben Sie das Zeitlimit für die Umstellung in Sekunden an. Der Standardwert ist 300.

Beispiel Umstellen einer Blau/Grün-Bereitstellung

Wählen Sie in der &Snowconsole; Ihren Auftrag aus der Tabelle. Linux, macOS, oder Unix:

aws rds switchover-blue-green-deployment \ --blue-green-deployment-identifier bgd-1234567890abcdef \ --switchover-timeout 600

Wählen Sie in der &Snowconsole; Ihren Auftrag aus der Tabelle. Windows:

aws rds switchover-blue-green-deployment ^ --blue-green-deployment-identifier bgd-1234567890abcdef ^ --switchover-timeout 600

Verwenden Sie die SwitchoverBlueGreenDeployment-Operation mit den folgenden Parametern, um mithilfe der Amazon-RDS-API eine Blau/Grün-Bereitstellung umzustellen:

  • BlueGreenDeploymentIdentifier— Geben Sie die Ressourcen-ID der blauen/grünen Bereitstellung an.

  • SwitchoverTimeout – Geben Sie das Zeitlimit für die Umstellung in Sekunden an. Der Standardwert ist 300.

Nach der Umstellung

Nach einer Umstellung werden der DB-Cluster und die DB-Instances in der vorherigen blauen Umgebung beibehalten. Für diese Ressourcen fallen die Standardkosten an. Die Replikation und die binäre Protokollierung zwischen der blauen und der grünen Umgebung werden gestoppt.

RDS benennt den DB-Cluster und die DB-Instances in der blauen Umgebung um, indem -oldn an den aktuellen Namen angehängt wird, wobei n eine Zahl ist. Der blaue DB-Cluster wird in einen schreibgeschützten Zustand versetzt. Selbst wenn Sie Schreibvorgänge aktivieren, bleibt er schreibgeschützt, bis Sie die blaue/grüne Bereitstellung löschen. RDS benennt die als Cluster und DB-Instances in der grünen Umgebung. -newn

Wenn Sie die blaue/grüne Bereitstellungsressource löschen, behält RDS die -newn Ressourcen -oldn und bei.

Nach dem Umschalten auf eine blaue/grüne Bereitstellung

Aktualisierung des übergeordneten Knotens für Verbraucher

RDS bietet vollständig verwaltete Read Replicas. Es bietet jedoch auch die Möglichkeit, selbstverwaltete Replikate einzurichten, die auch als externe Replikate bezeichnet werden. Mit externen Replikaten können Sie Ressourcen von Drittanbietern als Replikationsziele verwenden.

Wenn Sie eine blaue/grüne Bereitstellung von umgestellt haben und der blaue vor dem Switchover externe Replikate oder Binärprotokollverbraucher hatte, müssen Sie deren übergeordneten Knoten nach dem Switchover aktualisieren, um die Replikationskontinuität aufrechtzuerhalten.

Um den übergeordneten Knoten zu aktualisieren
  1. Nach dem Switchover gibt die Writer-DB-Instance, die sich zuvor in der grünen Umgebung befand, ein Ereignis aus, das den Namen der Master-Log-Datei und die Master-Log-Position enthält. Um das Ereignis zu finden, navigieren Sie zur RDS-Konsole und wählen Sie im linken Navigationsbereich Ereignisse aus.

  2. Filtern Sie vor dem Switchover nach Ereignissen, bei denen die Quelle der Name der alten Green Writer-DB-Instance ist.

  3. Suchen Sie das Ereignis, das die binären Log-Koordinaten enthält. Die Ereignismeldung ähnelt:Binary log coordinates in green environment after switchover: file mysql-bin-changelog.000003 and position 40134574.

  4. Stellen Sie sicher, dass der Verbraucher oder das Replikat alle Binärprotokolle aus der alten blauen Umgebung übernommen hat. Verwenden Sie dann die bereitgestellten Binärprotokollkoordinaten, um die Replikation auf den Verbrauchern fortzusetzen. Wenn Sie beispielsweise ein MySQL-Replikat auf ausführen EC2, können Sie die folgenden Befehle verwenden:

    MySQL 8.0.22 und niedrigere Haupt- und Nebenversionen

    CHANGE MASTER TO MASTER_HOST='{new-writer-endpoint}', MASTER_LOG_FILE='mysql-bin-changelog.000003', MASTER_LOG_POS=40134574;

    MySQL 8.0.23 und höhere Haupt- und Nebenversionen

    CHANGE REPLICATION SOURCE TO SOURCE_HOST='{new-writer-endpoint}', SOURCE_LOG_FILE='mysql-bin-changelog.000003', SOURCE_LOG_POS=40134574;