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.
Umstellen einer Blau/Grün-Bereitstellung
Bei einer Umstellung wird die Staging-Umgebung zur neuen Produktionsumgebung hochgestuft. Wenn die grüne DB-Instance über Lesereplikate verfügt, werden diese ebenfalls hochgestuft. Vor der Umstellung wird der Produktionsdatenverkehr an die DB-Instance und die Lesereplikate in der blauen Umgebung weitergeleitet. Nach der Umstellung wird der Produktionsdatenverkehr an die DB-Instance und die Lesereplikate in der grünen Umgebung weitergeleitet.
Themen
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 der grünen primären DB-Instance fehlerfrei ist. Die grüne primäre DB-Instance ist ein Replikat der blauen primären DB-Instance.
-
Replikationsverzögerung – Es wird geprüft, ob die Replikatverzögerung der grünen primären DB-Instance 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 die grüne primäre DB-Instance hinter ihrer blauen primären DB-Instance zurückbleibt. Weitere Informationen finden Sie unter Diagnose und Lösung bei Verzögerungen zwischen Read Replicas (Lesereplikaten) für RDS für MySQL und Überwachen und Optimieren des Replikationsprozesses für RDS für PostgreSQL.
-
Aktive Schreibvorgänge – Es wird sichergestellt, dass es auf der grünen primären DB-Instance keine aktiven Schreibvorgänge gibt.
Amazon RDS führt die folgenden Integrationsschutzprüfungen in der blauen Umgebung durch:
-
Externe Replikation — Stellt für RDS for 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. Stellen Sie für RDS for MySQL sicher, dass es sich bei der Blue-Datenbank nicht um ein externes Binlog-Replikat handelt.
-
Lang andauernde aktive Schreibvorgänge – Es wird sichergestellt, dass auf der blauen primären DB-Instance 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 der blauen primären DB-Instance keine lang andauernden DDL-Anweisungen vorhanden sind, da diese die Replikatverzögerung erhöhen können.
-
Nicht unterstützte PostgreSQL-Änderungen – Für DB-Instances von RDS für PostgreSQL wird sichergestellt, dass in der blauen Umgebung keine DDL-Änderungen und keine Hinzufügungen oder Änderungen großer Objekte vorgenommen wurden. Weitere Informationen finden Sie unter Einschränkungen der logischen Replikation von PostgreSQL für Blau/Grün-Bereitstellungen.
Wenn Amazon RDS nicht unterstützte PostgreSQL-Änderungen erkennt, wird der Replikationsstatus in
Replication degraded
geändert und Sie werden darüber informiert, dass eine Umstellung für die Blau/Grün-Bereitstellung nicht verfügbar ist. Um mit der Umstellung fortzufahren, empfehlen wir Ihnen, die Blau/Grün-Bereitstellung und alle grünen Datenbanken zu löschen und neu zu erstellen. 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:
-
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.
-
Es stoppt neue Schreibvorgänge auf der primären DB-Instance in beiden Umgebungen.
-
Es trennt Verbindungen mit den DB-Instances in beiden Umgebungen und erlaubt keine neuen Verbindungen.
-
Es wartet, bis die Replikation in der grünen Umgebung aufgeholt hat, sodass die grüne Umgebung mit der blauen Umgebung synchron ist.
-
Es benennt die DB-Instances in beiden Umgebungen um.
RDS benennt die DB-Instances in der grünen Umgebung um, sodass sie den jeweiligen 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 Umgebungmydb-green-abc123
lautet. Während der Umstellung wird der Name der DB-Instance in der grünen Umgebung inmydb
geändert.RDS benennt die DB-Instances in der blauen Umgebung um, indem
-old
an den aktuellen Namen angehängt wird, wobein
eine Zahl ist. Angenommen, der Name einer DB-Instance in der blauen Umgebung lautetn
mydb
. Nach der Umstellung könnte der Name der DB-Instancemydb-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.
-
Erlaubt Verbindungen mit Datenbanken in beiden Umgebungen.
-
Erlaubt neue Schreibvorgänge auf der primären DB-Instance in der neuen Produktionsumgebung.
Nach dem Switchover erlaubt der nur Lesevorgänge, bis er neu gestartet wird.
Sie können den Status eines Switchovers mit Amazon EventBridge überwachen. Weitere Informationen finden Sie unter Blau/Grün-Bereitstellungsereignisse.
Wenn Sie in der blauen Umgebung Tags konfiguriert haben, werden diese Tags während der Umstellung in die neue Produktionsumgebung verschoben. Die vorherige Produktionsumgebung behält diese Tags ebenfalls bei. Weitere Informationen zu Tags erhalten Sie unter Markieren von Amazon RDS-Ressourcen.
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. Lang andauernde Transaktionen, wie z. B. aktive DDLs, können die Dauer Ihrer Umstellung verlängern, was zu längeren Ausfallzeiten für Ihre Produktions-Workloads führt.
Wenn Ihre DB-Instances über eine große Anzahl von Verbindungen verfügen, sollten Sie erwägen, diese manuell auf die für Ihre Anwendung erforderliche Mindestmenge zu reduzieren, bevor Sie auf die Blau/Grün-Bereitstellung umstellen. Dazu können Sie beispielsweise ein Skript erstellen, das den Status der Blau/Grün-Bereitstellung überwacht und mit der Bereinigung von Verbindungen beginnt, wenn es feststellt, dass sich der Status in
SWITCHOVER_IN_PROGRESS
geändert hat. -
Stellen Sie sicher, dass die DB-Instances in beiden Umgebungen den Status
Available
aufweisen. -
Stellen Sie sicher, dass die primäre DB-Instance in der grünen Umgebung fehlerfrei ist und repliziert wird.
-
Stellen Sie sicher, dass Ihre Netzwerk- und Client-Konfigurationen die Time To Live (TTL) des DNS-Caches nicht mehr als fünf Sekunden erhöhen, was die Standardeinstellung für DNS-Zonen von RDS ist. Andernfalls senden Anwendungen nach der Umstellung weiterhin Schreibdatenverkehr an die blaue Umgebung.
-
Sie können eine blaue/grüne Bereitstellung nach dem Switchover nicht rückgängig machen. Bei kritischen Produktionsworkloads sollten Sie vor dem Umstieg die Bereitstellung eines in Betracht ziehen.
-
Stellen Sie sicher, dass das Laden der Daten abgeschlossen ist, bevor Sie umstellen. Weitere Informationen finden Sie unter Umgang mit Lazy Loading beim Erstellen einer Grün/Blau-Bereitstellung.
-
Gehen Sie für RDS für PostgreSQL-DB-Instances wie folgt vor:
-
Überprüfen Sie die Einschränkungen der logischen Replikation und ergreifen Sie vor dem Switchover alle erforderlichen Maßnahmen. Weitere Informationen finden Sie unter Einschränkungen der logischen Replikation von PostgreSQL für Blau/Grün-Bereitstellungen.
-
Führen Sie die
ANALYZE
-Operation aus, um die Tabellepg_statistics
zu aktualisieren. Dadurch wird das Risiko von Leistungsproblemen nach dem Switchover reduziert.
-
Anmerkung
Während einer Umstellung können Sie keine der DB-Instances 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.
-
ReplicaLag
– Verwenden Sie diese Metrik, um die aktuelle Replikationsverzögerung in der grünen Umgebung zu ermitteln. Um Ausfallzeiten zu reduzieren, stellen Sie sicher, dass dieser Wert nahe Null liegt, bevor Sie umstellen. -
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, istDBLoad
eine genauere Metrik.
Weitere Informationen zu diesen Metriken finden Sie unter Amazon- CloudWatch Metriken für Amazon RDS.
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
Melden Sie sich bei der Amazon RDS-Konsole an AWS Management Console und öffnen Sie sie unter https://console.aws.amazon.com/rds/
. -
Wählen Sie im Navigationsbereich Databases (Datenbanken) und dann die Blau/Grün-Bereitstellung aus, die Sie umstellen möchten.
-
Wählen Sie unter Actions (Aktionen) die Option Switch over (Umstellen) aus.
Die Seite Switch Over (Umstellen) wird angezeigt.
-
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.
-
Geben Sie unter Timeout-Einstellungen das Zeitlimit für die Umstellung ein.
-
Wenn auf Ihrer Instance RDS für PostgreSQL ausgeführt wird, überprüfen und bestätigen Sie die vor der Umstellung zu berücksichtigenden Empfehlungen. Weitere Informationen finden Sie unter Einschränkungen der logischen Replikation von PostgreSQL für Blau/Grün-Bereitstellungen.
-
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
Für LinuxmacOS, oderUnix:
aws rds switchover-blue-green-deployment \ --blue-green-deployment-identifier
bgd-1234567890abcdef
\ --switchover-timeout600
Windows:
aws rds switchover-blue-green-deployment ^ --blue-green-deployment-identifier
bgd-1234567890abcdef
^ --switchover-timeout600
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 die DB-Instances in der vorherigen blauen Umgebung beibehalten. Für diese Ressourcen fallen die Standardkosten an. Die Replikation zwischen der blauen und der grünen Umgebung werden gestoppt.
RDS benennt die DB-Instances in der blauen Umgebung um, indem -old
an den aktuellen Namen angehängt wird, wobei n
eine Zahl ist. Die DB-Instances sind schreibgeschützt, bis Sie den Parameter n
read_only
auf 0
festlegen.
Aktualisierung des übergeordneten Knotens für Verbraucher
Wenn Sie eine blaue/grüne Bereitstellung von RDS für MariaDB oder RDS für MySQL 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 Kontinuität der Replikation aufrechtzuerhalten.
Nach dem Switchover gibt die , 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. Beispielsweise:
aws rds describe-events --output json --source-type db-instance --source-identifier
db-instance-identifier
{ "Events": [ ... { "SourceIdentifier": "db-instance-identifier", "SourceType": "db-instance", "Message": "Binary log coordinates in green environment after switchover: file mysql-bin-changelog.000003
and position804
", "EventCategories": [], "Date": "2023-11-10T01:33:41.911Z", "SourceArn": "arn:aws:rds:us-east-1:123456789012:db:db-instance-identifier" } ] }
Stellen Sie zunächst 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 Anwendung auf den Verbrauchern fortzusetzen. Wenn Sie beispielsweise eine MySQL-Replik auf EC2 ausführen, können Sie den CHANGE MASTER TO
folgenden Befehl verwenden:
CHANGE MASTER TO MASTER_HOST='
{new-writer-endpoint}
', MASTER_LOG_FILE='mysql-bin-changelog.000003
', MASTER_LOG_POS=804
;
Anmerkung
Wenn der Verbraucher eine andere RDS for MariaDB- oder RDS for MariaDB-DB-Instance ist, können Sie die folgenden gespeicherten Prozeduren der Reihe nach ausführen:,mysql.rds_stop_replication, undmysql.rds_reset_external_master. mysql.rds_set_external_master mysql.rds_start_replication