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 Amazon RDS Amazon in Blau/Grün
Im Folgenden finden Sie bewährte Methoden für blaue/grüne Bereitstellungen.
Themen
Allgemeine bewährte Methoden für blaue/grüne Bereitstellungen
Beachten Sie bei der Erstellung einer Blau/Grün-Bereitstellung die folgenden allgemeinen bewährten Methoden.
-
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 blaue/grüne Bereitstellung verwenden, um Schemaänderungen zu implementieren, nehmen Sie nur replikationskompatible Änderungen vor.
Sie können beispielsweise neue Spalten am Ende einer Tabelle 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 RDS for PostgreSQL Blue/Green-Bereitstellungen, 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 Verzögertes Laden und Speicherinitialisierung für blaue/grüne 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 — Best Practices für blaue/grüne Bereitstellungen
Beachten Sie die folgenden bewährten Methoden, wenn Sie eine blaue/grüne Bereitstellung aus einem erstellen.
-
Vermeiden Sie die Verwendung von nicht-transaktionalen Speicher-Engines wie MyISAM, die nicht für die Replikation optimiert sind.
-
Optimieren Sie Read Replicas und die grüne Umgebung für die Replikation von Binärprotokollen. Falls von Ihrer DB-Engine unterstützt, aktivieren Sie GTID-, parallel und absturzsichere Replikation, um Datenkonsistenz und Beständigkeit zu gewährleisten, bevor Sie Ihre Blue/Green-Bereitstellung erstellen. Weitere Informationen finden Sie unter Verwenden der GTID basierten Replikation.
-
Wenn es in der grünen Umgebung zu Verzögerungen bei der Replikation kommt, sollten Sie Folgendes berücksichtigen:
-
Setzen Sie den
innodb_flush_log_at_trx_commit
Parameter vorübergehend auf2
in der grünen DB-Parametergruppe. Wenn die Replikation aufgeholt hat, kehren Sie zum Standardwert1
vor dem Switchover 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 verbessern, ändern Sie vorübergehend grüne Multi-AZ-DB-Instances in Single-AZ-DB-Instances. Aktivieren Sie Multi-AZ unmittelbar vor dem Switchover erneut.
-
Bewährte Methoden für RDS für PostgreSQL für Blue/Green-Bereitstellungen
Beachten Sie die folgenden bewährten Methoden, wenn Sie eine blaue/grüne Bereitstellung aus einer RDS for PostgreSQL-DB-Instance erstellen.
Themen
Allgemeine Best Practices für RDS für PostgreSQL für Blue/Green-Bereitstellungen
Beachten Sie die folgenden allgemeinen bewährten Methoden, wenn Sie eine blaue/grüne Bereitstellung aus einer RDS for 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 Aktualisierung von SQL Postgre-Erweiterungen RDS für SQL Postgre-Datenbanken.
-
Transaktionen mit langer Laufzeit können zu erheblichen Verzögerungen bei Replikaten führen. Um die Verzögerung bei Replikaten 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 an stark frequentierten Tischen einen manuellen Vakuumfrostvorgang, bevor Sie die blaue/grüne Bereitstellung erstellen.
-
Deaktivieren Sie für PostgreSQL Version 12 und höher den
index_cleanup
Parameter fü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 Staubsaugens regelmäßig übersprungen wird, kann dies zu einer Aufblähung des Index führen, wodurch die Scanleistung beeinträchtigt werden kann. Es hat sich bewährt, diesen Ansatz nur zu verwenden, wenn Sie eine blaue/grüne 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 Synchronisation verzögert. Um sicherzustellen, dass sie aktiv bleiben, deaktivieren Sie Timeouts, indem Sie den
wal_sender_timeout
Parameter auf0
in der blauen Umgebung und denwal_receiver_timeout
Parameter auf0
in der grünen Umgebung setzen. -
Um zu verhindern, dass Write-Ahead-Log-Segmente (WAL) aus der blauen Umgebung entfernt werden, setzen Sie den
wal_keep_segments
Parameter für PostgreSQL Version 13 und niedriger auf 15625. Für Version 14 und höher setzen Sie denwal_keep_size
Parameter auf 1 TiB, wenn genügend freier Speicherplatz vorhanden ist.
Bewährte Methoden für RDS für PostgreSQL für Blue/Green-Bereitstellungen mit physischer Replikation
Bei der physischen Replikation erstellt Amazon RDS eine Read Replica der Quell-DB-Instance. Informationen zu verwandten Parametern, Überwachung, Optimierung und Fehlerbehebung finden Sie unterArbeiten mit Read Replicas in Amazon RDS for PostgreSQL.
Eine Erläuterung, wann bei Bereitstellungen in Blau/Grün physische Replikation statt logischer Replikation verwendet wird, finden Sie unter. SQLPostgre-Replikationsmethoden für blaue/grüne Bereitstellungen
Bewährte Methoden für RDS für PostgreSQL für Blue/Green-Bereitstellungen mit logischer Replikation
Beachten Sie beim Erstellen von blue/green deployment that uses logical replication. For an explanation of when blue/green Bereitstellungen die folgenden bewährten Methoden, bei denen logische Replikation statt physischer Replikation verwendet wird, siehe. SQLPostgre-Replikationsmethoden für blaue/grüne Bereitstellungen
-
Wenn Ihre 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. -
Mithilfe der Metrik können Sie den Transaktionsüberlauf überwachen, der auf die
ReplicationSlotDiskUsage
CloudWatch Festplatte geschrieben wird. Diese Metrik bietet Einblicke in die Festplattennutzung von Replikationssteckplätzen und hilft so zu erkennen, wann Transaktionsdaten die Speicherkapazität überschreiten und auf der Festplatte gespeichert werden. Mit derFreeableMemory
CloudWatch Metrik können Sie den freien Speicher überwachen. Weitere Informationen finden Sie unter Metriken CloudWatch auf Amazon-Instanzebene für Amazon RDS. -
In RDS für PostgreSQL Version 14 und höher können Sie die Größe logischer Überlaufdateien mithilfe der
pg_stat_replication_slots
Systemansicht überwachen.
-
-
Wenn Sie die
aws_s3
Erweiterung verwenden, gewähren Sie der grünen DB-Instance über eine IAM-Rolle Zugriff auf Amazon S3, 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 prüfen Sie, ob die Erstellung eines Indexes für die in der WHERE-Klausel verwendete Spalte diese Abfragen optimieren kann. Dies kann die Leistung verbessern, wenn die Operationen in der grünen Umgebung wiederholt werden.
-
Wenn Sie Trigger verwenden, stellen Sie sicher, dass sie das Erstellen, Aktualisieren und Löschen von, und
pg_catalog.pg_replication_slots
Objektenpg_catalog.pg_publication
, deren Namen mit 'rds' beginnenpg_catalog.pg_subscription
, nicht beeinträchtigen. -
Wenn Sie eine höhere Engine-Version für die grüne Umgebung angeben, führen Sie den
ANALYZE
Vorgang für alle Datenbanken aus, um diepg_statistic
Tabelle zu aktualisieren. Optimizer-Statistiken werden während eines größeren Versionsupgrades nicht übertragen. Sie müssen daher alle Statistiken neu generieren, um Leistungsprobleme zu vermeiden. Weitere bewährte Methoden bei größeren Versionsupgrades finden Sie unter. So führen Sie ein Hauptversions-Upgrade RDS für Postgre durch SQL -
Vermeiden Sie es, Trigger so zu konfigurieren, als
ENABLE REPLICA
ENABLE ALWAYS
ob der Trigger auf der Quelle verwendet wird, um Daten zu manipulieren. Andernfalls leitet das Replikationssystem die Änderungen weiter und führt den Trigger aus, was zu Duplizierungen führt.