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.
Bewährte Methoden für Blau/Grün-Bereitstellungen in Amazon RDS
Nachfolgend sind bewährte Methoden für Blau/Grün-Bereitstellungen aufgeführt:
Themen
Allgemeine bewährte Methoden für Blau/Grün-Bereitstellungen
Beachten Sie die folgenden allgemeinen bewährten Methoden, wenn Sie eine Blau/Grün-Bereitstellung erstellen.
-
Testen Sie die DB-Instances in der grünen Umgebung gründlich, bevor Sie umstellen.
-
Halten Sie Ihre Datenbanken in der grünen Umgebung schreibgeschützt. Wir empfehlen, Schreibvorgänge in der grünen Umgebung mit Vorsicht zu aktivieren, da sie zu Replikationskonflikten führen können. Sie können auch zu ungewollten Daten in den Produktionsdatenbanken nach der Umstellung führen.
-
Wenn Sie eine Blau/Grün-Bereitstellung zur Implementierung von Schemaänderungen verwenden, nehmen Sie nur replikationskompatible Änderungen vor.
Sie können beispielsweise am Ende einer Tabelle neue Spalten hinzufügen, ohne die Replikation von der blauen zur grünen Bereitstellung zu unterbrechen. Schemaänderungen, wie das Umbenennen von Spalten oder Tabellen, führen jedoch dazu, dass die Replikation zur Grün-Bereitstellung unterbrochen wird.
Weitere Informationen zu replikationskompatiblen Änderungen finden Sie in der MySQL-Dokumentation unter Replikation mit unterschiedlichen Tabellendefinitionen auf Quelle und Replikat
sowie unter Einschränkungen in der Dokumentation zur logischen Replikation in PostgreSQL. Anmerkung
Diese Einschränkung gilt nicht für Blau/Grün-Bereitstellungen von RDS für PostgreSQL, die physische Replikation verwenden. Weitere Informationen finden Sie unter Einschränkungen von RDS für PostgreSQL für blue/green Bereitstellungen mit physischer Replikation.
-
Nachdem Sie die Blau/Grün-Bereitstellung erstellt haben, führen Sie gegebenenfalls Lazy Loading durch. Stellen Sie sicher, dass das Laden der Daten abgeschlossen ist, bevor Sie umstellen. Weitere Informationen finden Sie unter Lazy Loading und Speicherinitialisierung für Blau/Grün-Bereitstellungen.
-
Wenn Sie auf eine Blau/Grün-Bereitstellung umstellen, befolgen Sie die bewährten Methoden für die Umstellung. Weitere Informationen finden Sie unter Bewährte Methoden für die Umstellung.
RDS für MySQL – bewährte Methoden für Blau/Grün-Bereitstellungen
Beachten Sie die folgenden bewährten Methoden, wenn Sie eine Blau/Grün-Bereitstellung aus einer RDS-für-MySQL-DB-Instance erstellen.
-
Vermeiden Sie die Verwendung von nicht-transaktionalen Speicher-Engines wie MyISAM, die nicht für die Replikation optimiert sind.
-
Optimieren Sie die Lesereplikate und die grüne Umgebung für die binäre Protokollreplikation. Wenn es von Ihrer DB-Engine unterstützt wird, aktivieren Sie GTID-, parallele und absturzsichere Replikation, um Datenkonsistenz und -haltbarkeit sicherzustellen, bevor Sie Ihre Blau/Grün-Bereitstellung erstellen. Weitere Informationen finden Sie unter Verwenden der GTID-basierten Replikation.
-
Wenn es in der grünen Umgebung zu Replikatverzögerungen kommt, sollten Sie die folgenden Schritte ausführen:
-
Setzen Sie den Parameter
innodb_flush_log_at_trx_commitin der grünen DB-Parametergruppe vorübergehend auf2. Wenn die Replikation aufgeholt hat, kehren Sie zum Standardwert1vor der Umstellung zurück. Wenn der temporäre Parameterwert unerwartet heruntergefahren wird oder es zu einem Absturz kommt, erstellen Sie die grüne Umgebung neu, um unentdeckte Datenbeschädigungen zu vermeiden. -
Um die Schreiblatenz zu reduzieren und den Replikationsdurchsatz zu erhöhen, ändern Sie vorübergehend grüne Multi-AZ-DB-Instances zu Single-AZ-DB-Instances. Aktivieren Sie Multi-AZ unmittelbar vor der Umstellung erneut.
-
RDS für PostgreSQL – bewährte Methoden für Blau/Grün-Bereitstellungen
Beachten Sie die folgenden bewährten Methoden, wenn Sie eine Blau/Grün-Bereitstellung aus einer RDS-für-PostgreSQL-DB-Instance erstellen.
Themen
RDS für PostgreSQL – allgemeine bewährte Methoden für Blau/Grün-Bereitstellungen
Beachten Sie die folgenden allgemeinen bewährten Methoden, wenn Sie eine Blau/Grün-Bereitstellung aus einer RDS-für-PostgreSQL-DB-Instance erstellen.
-
Aktualisieren Sie alle Ihre PostgreSQL-Erweiterungen auf die neueste Version, bevor Sie eine Blau/Grün-Bereitstellung erstellen. Weitere Informationen finden Sie unter Aktualisieren von PostgreSQL-Erweiterungen in Datenbank von RDS für PostgreSQL.
-
Transaktionen mit langer Laufzeit können zu erheblichen Verzögerungen bei der Replikation führen. Um die Replikationsverzögerung zu verringern, sollten Sie Folgendes in Betracht ziehen:
-
Reduzieren Sie lang andauernde Transaktionen, die verzögert werden können, bis die grüne Umgebung die blaue Umgebung eingeholt hat.
-
Reduzieren Sie Massenoperationen in der blauen Umgebung, bis die grüne Umgebung die blaue Umgebung eingeholt hat.
-
Initiieren Sie für stark frequentierte Tabellen eine manuelle Bereinigungseinfrierung, bevor Sie die Blau/Grün-Bereitstellung erstellen.
-
Deaktivieren Sie für PostgreSQL Version 12 und höher den Parameter
index_cleanupfür große oder ausgelastete Tabellen, um die normale Wartungsrate bei blauen Datenbanken zu erhöhen. Weitere Informationen finden Sie unter Möglichst schnelles Bereinigen einer Tabelle.Anmerkung
Wenn die Indexbereinigung während des Bereinigens regelmäßig übersprungen wird, kann dies zu einer Überlastung des Index führen, wodurch die Scanleistung beeinträchtigt werden kann. Es hat sich bewährt, diesen Ansatz nur zu nutzen, wenn Sie eine Blau/Grün-Bereitstellung verwenden. Sobald die Bereitstellung abgeschlossen ist, empfehlen wir, die regelmäßige Indexwartung und -bereinigung wieder aufzunehmen.
-
-
Eine langsame Replikation kann dazu führen, dass Sender und Empfänger häufig neu gestartet werden, was die Synchronisierung verzögert. Um sicherzustellen, dass sie aktiv bleiben, deaktivieren Sie Timeouts, indem Sie den Parameter
wal_sender_timeoutin der blauen Umgebung auf0und den Parameterwal_receiver_timeoutin der grünen Umgebung auf0setzen. -
Um zu verhindern, dass Write-Ahead-Log-(WAL)-Segmente aus der blauen Umgebung entfernt werden, setzen Sie den Parameter
wal_keep_segmentsfür PostgreSQL Version 13 und niedriger auf 15625. Für Version 14 und höher setzen Sie den Parameterwal_keep_sizeauf 1 TiB, wenn genügend freier Speicherplatz vorhanden ist.
RDS für PostgreSQL – bewährte Methoden für Blau/Grün-Bereitstellungen mit physischer Replikation
Bei physischer Replikation erstellt Amazon RDS ein Lesereplikat der Quell-DB-Instance. Informationen zu verwandten Parametern, Überwachung, Optimierung und Fehlerbehebung finden Sie unter Arbeiten mit Read Replicas in Amazon RDS für PostgreSQL.
Eine Erläuterung dazu, wann bei Blau/Grün-Bereitstellungen physische Replikation verwendet wird, und wann logische Replikation, finden Sie unter Replikationsmethoden in PostgreSQL für Blau/Grün-Bereitstellungen.
RDS für PostgreSQL – bewährte Methoden für Blau/Grün-Bereitstellungen mit logischer Replikation
Beachten Sie die folgenden bewährten Methoden, wenn Sie eine Blau/Grün-Bereitstellung erstellen, die logische Replikation verwendet. Eine Erläuterung, wann Blau/Grün-Bereitstellungen logische Replikation statt physischer Replikation verwenden, finden Sie unter Replikationsmethoden in PostgreSQL für Blau/Grün-Bereitstellungen.
-
Wenn in Ihrer Datenbank über ausreichend freien Speicher verfügt, erhöhen Sie den Wert des
logical_decoding_work_mem-DB-Parameters in der blauen Umgebung. Dadurch muss auf der Festplatte weniger dekodiert werden und stattdessen wird Arbeitsspeicher beansprucht. Weitere Informationen finden Sie in der PostgreSQL-Dokumentation. -
Sie können den Transaktionsüberlauf, der auf die Festplatte geschrieben wird, mithilfe der CloudWatch-Metrik
ReplicationSlotDiskUsageüberwachen. Diese Metrik bietet Einblicke in die Festplattennutzung von Replikations-Slots und hilft so, zu erkennen, wann Transaktionsdaten die Speicherkapazität überschreiten und auf der Festplatte gespeichert werden. Sie können den freien Speicher mit der CloudWatch-MetrikFreeableMemoryüberwachen. Weitere Informationen finden Sie unter Amazon-CloudWatch-Metriken für Amazon RDS auf Instance-Ebene. -
In RDS für PostgreSQL Version 14 und höher können Sie die Größe logischer Überlaufdateien mithilfe der Systemansicht
pg_stat_replication_slotsüberwachen.
-
-
Wenn Sie die
aws_s3-Erweiterung verwenden, stellen Sie sicher, dass Sie dem DB-Cluster der grünen DB-Instance über eine IAM-Rolle Zugriff auf Amazon S3 gewähren, nachdem die grüne Umgebung erstellt wurde. Dadurch können die Import- und Exportbefehle auch nach der Umstellung weiter funktionieren. Detaillierte Anweisungen finden Sie unter Einrichten des Zugriffs auf einen Amazon-S3-Bucket. -
Überprüfen Sie die Leistung Ihrer UPDATE- und DELETE-Anweisungen und bewerten Sie, ob das Erstellen eines Indexes für die in der WHERE-Klausel verwendete Spalte diese Abfragen optimieren kann. Dies kann die Leistung verbessern, wenn die Vorgänge in der grünen Umgebung erneut ausgeführt werden.
-
Wenn Sie Trigger verwenden, stellen Sie sicher, dass sie das Erstellen, Aktualisieren und Löschen von
pg_catalog.pg_publication-,pg_catalog.pg_subscription- undpg_catalog.pg_replication_slots-Objekten, deren Namen mit „rds“ beginnen, nicht beeinträchtigen. -
Wenn Sie eine höhere Engine-Version für die grüne Umgebung angeben, führen Sie die
ANALYZE-Vorgang für alle Datenbanken aus, um die Tabellepg_statisticzu aktualisieren. Optimizer-Statistiken werden während eines Hauptversions-Upgrades nicht übertragen, daher müssen Sie alle Statistiken neu generieren, um Leistungsprobleme zu vermeiden. Weitere bewährte Methoden bei Upgrades von Hauptversionen finden Sie unter Durchführen eines Hauptversion-Upgrades von RDS für PostgreSQL. -
Vermeiden Sie es, Trigger als
ENABLE REPLICAoderENABLE ALWAYSzu konfigurieren, wenn der Trigger auf der Quelle zur Datenmanipulation verwendet wird. Andernfalls überträgt das Replikationssystem die Änderungen und führt den Trigger aus, was zu Duplikaten führt.