Einschränkungen und Überlegungen für Aurora blue/green Aurora-Bereitstellungen - 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.

Einschränkungen und Überlegungen für Aurora blue/green Aurora-Bereitstellungen

Blau/Grün-Bereitstellungen in Amazon RDS erfordern eine sorgfältige Abwägung von Faktoren wie Replikations-Slots, Ressourcenmanagement, Instance-Größe und potenziellen Auswirkungen auf die Datenbankleistung. In den folgenden Abschnitten finden Sie Anleitungen zur Optimierung Ihrer Bereitstellungsstrategie, um minimale Ausfallzeiten, reibungslose Übergänge und eine effektive Verwaltung Ihrer Datenbankumgebung sicherzustellen.

Einschränkungen für Bereitstellungen blue/green

Die folgenden Einschränkungen gelten für blue/green Bereitstellungen.

Allgemeine Einschränkungen für Blau/Grün-Bereitstellungen

Die folgenden allgemeinen Einschränkungen gelten für blue/green Bereitstellungen:

  • Sie können einen Cluster, der Teil einer blue/green Bereitstellung ist, nicht beenden und starten.

  • Blau/Grün-Bereitstellungen unterstützen nicht die Verwaltung von Master-Benutzerpasswörtern mit AWS Secrets Manager.

  • Wenn Sie versuchen, einen Backtrack auf dem blauen DB-Cluster zu erzwingen, wird die blue/green Bereitstellung unterbrochen und der Switchover wird blockiert.

  • Während der Umstellung sind für die blauen und grünen Umgebungen keine Null-ETL-Integrationen mit Amazon Redshift möglich. Sie müssen zuerst die Integration löschen und umstellen. Anschließend erstellen Sie die Integration neu.

  • Der Event Scheduler (event_schedulerParameter) muss in der grünen Umgebung deaktiviert sein, wenn Sie eine Bereitstellung erstellen. blue/green Dadurch wird verhindert, dass Ereignisse in der grünen Umgebung generiert werden und zu Inkonsistenzen führen.

  • Auto-Scaling-Richtlinien, die im blauen DB-Cluster konfiguriert sind, werden nicht in die grüne Umgebung übernommen. Sie müssen sie nach der Umstellung neu konfigurieren, unabhängig davon, ob sie ursprünglich in der blauen oder grünen Umgebung eingerichtet wurden.

  • Sie können einen unverschlüsselten DB-Cluster nicht in einen verschlüsselten DB-Cluster ändern. Zusätzlich können Sie einen verschlüsselten DB-Cluster nicht in einen unverschlüsselten DB-Cluster ändern.

  • Sie können einen blauen DB-Cluster nicht auf eine höhere Engine-Version als die des entsprechenden grünen DB-Clusters ändern.

  • Die Ressourcen in der blauen und der grünen Umgebung müssen sich in demselben AWS-Konto befinden.

  • Blau/Grün-Bereitstellungen werden für die folgenden Funktionen nicht unterstützt:

    • Amazon-RDS-Proxy

    • Regionsübergreifende Lesereplikate

    • Aurora Serverless v1-DB-Cluster

    • DB-Cluster, die Teil einer globalen Aurora-Datenbank sind

    • CloudFormation

Einschränkungen von Aurora MySQL für blue/green Bereitstellungen

Die folgenden Einschränkungen gelten für blue/green Bereitstellungen von Aurora MySQL :

  • Der Quell-DB-Cluster kann keine Datenbanken mit dem Namen tmp enthalten. Datenbanken mit diesem Namen werden nicht in die grüne Umgebung kopiert.

  • Der blaue DB-Cluster kann kein externes Binlog-Replikat sein.

  • Wenn für den Quell-DB-Cluster die Rückverfolgung aktiviert ist, wird der grüne DB-Cluster ohne Unterstützung für die Rückverfolgung erstellt. Das liegt daran, dass Backtracking bei der Replikation von Binärprotokollen (Binlog), die für blue/green Bereitstellungen erforderlich ist, nicht funktioniert. Weitere Informationen finden Sie unter Rückverfolgen eines Aurora-DB-Clusters.

  • Blaue/grüne Bereitstellungen unterstützen den AWS JDBC-Treiber für MySQL nicht. Weitere Informationen finden Sie unter Bekannte Einschränkungen von. GitHub

Die folgenden Einschränkungen gelten für Blau/Grün-Bereitstellungen für Aurora PostgreSQL, .

  • Nicht protokollierte Tabellen werden nicht in die grüne Umgebung repliziert, es sei denn, der Parameter rds.logically_replicate_unlogged_tables ist im blauen DB-Cluster auf 1 gesetzt. Ändern Sie diesen Parameterwert nicht, nachdem Sie eine blue/green Bereitstellung erstellt haben, um mögliche Replikationsfehler bei Tabellen ohne Protokollierung zu vermeiden.

  • Bei dem blauen DB-Cluster kann es sich nicht um eine logische Quelle (Publisher) oder ein Replikat (Subscriber) handeln.

  • Wenn der blaue DB-Cluster als fremder Server einer FDW-Erweiterung (Foreign Data Wrapper) konfiguriert ist, müssen Sie den Endpunktnamen des -Clusters anstelle von IP-Adressen verwenden. Dadurch kann die Konfiguration auch nach der Umstellung funktionsfähig bleiben.

  • In einer blue/green Bereitstellung benötigt jede Datenbank einen logischen Replikationsslot. Mit zunehmender Anzahl von Datenbanken nimmt der Ressourcenaufwand zu, was möglicherweise zu Verzögerungen bei der Replikation führen kann, insbesondere wenn der DB-Cluster nicht ausreichend skaliert ist. Die Auswirkungen hängen von Faktoren wie dem Datenbank-Workload und der Anzahl der Verbindungen ab. Um dies zu vermeiden, sollten Sie erwägen, Ihre DB-Instance-Klasse zu skalieren oder die Anzahl der Datenbanken im Quellcluster zu verringern.

  • Blau/Grün-Bereitstellungen werden für Babelfish für Aurora PostgreSQL nur für Version 15.7 und höhere 15-Versionen sowie für Version 16.3 und höhere 16-Versionen unterstützt.

  • Wenn Sie Ausführungspläne in Aurora Replicas erfassen möchten, müssen Sie beim Aufrufen der apg_plan_mgmt.create_replica_plan_capture-Funktion den Endpunkt des blauen DB-Clusters angeben. Dadurch wird sichergestellt, dass die Planerfassungen nach der Umstellung weiterhin funktionieren. Weitere Informationen finden Sie unter Erfassung von Aurora-PostgreSQL-Ausführungsplänen.

  • Der Prozess zum Anwenden der logischen Replikation in der grünen Umgebung erfolgt über einen einzigen Thread. Wenn die blaue Umgebung ein hohes Volumen an Schreibverkehr generiert, kann die grüne Umgebung möglicherweise nicht Schritt halten. Dies kann zu Verzögerungen oder Fehlern bei der Replikation führen, insbesondere bei Workloads, die einen kontinuierlich hohen Schreibdurchsatz erzeugen. Stellen Sie sicher, dass Sie Ihre Workloads gründlich testen. Für Szenarien, die größere Versions-Upgrades und die Verarbeitung umfangreicher Schreib-Workloads erfordern, sollten Sie alternative Ansätze in Betracht ziehen, wie die Verwendung von AWS Database Migration Service (AWS DMS) oder selbstverwalteter logischer Replikation.

  • Das Erstellen neuer Partitionen in partitionierten Tabellen wird bei Blau/Grün-Bereitstellungen für Aurora PostgreSQL nicht unterstützt. Das Erstellen neuer Partitionen umfasst Data Definition Language (DDL)-Operationen wie CREATE TABLE, die nicht von der blauen Umgebung in die grüne Umgebung repliziert werden. Bestehende partitionierte Tabellen und ihre Daten werden jedoch in die grüne Umgebung repliziert.

  • Die folgenden Einschränkungen gelten für PostgreSQL-Erweiterungen:

    • Die pg_partman Erweiterung muss in der blauen Umgebung deaktiviert sein, wenn Sie eine blue/green Bereitstellung erstellen. Die Erweiterung führt DDL-Operationen wie etwa CREATE TABLE durch, die die logische Replikation von der blauen in die grüne Umgebung unterbrechen.

    • Die pg_cron Erweiterung muss nach der Erstellung der blue/green Bereitstellung in allen grünen Datenbanken deaktiviert bleiben. Die Erweiterung verfügt über Hintergrund-Worker, die als Superuser ausgeführt werden und die Schreibschutzeinstellung der grünen Umgebung umgehen, was zu Replikationskonflikten führen kann.

    • Für die apg_plan_mgmt-Erweiterung muss der apg_plan_mgmt.capture_plan_baselines-Parameter für alle grünen Datenbanken auf off gesetzt sein, um Primärschlüsselkonflikte zu vermeiden, wenn ein identischer Plan in der blauen Umgebung erfasst wird. Weitere Informationen finden Sie unter Übersicht über die Abfrageplanverwaltung in Aurora PostgreSQL.

    • Die pgactive Erweiterungen pglogical und müssen in der blauen Umgebung deaktiviert sein, wenn Sie eine blue/green Bereitstellung erstellen. Nachdem Sie die grüne Umgebung zur neuen Produktionsumgebung umgestellt haben, können Sie die Erweiterungen wieder aktivieren. Dazu kann die blaue Datenbank kein logischer Subscriber einer externen Instance sein.

    • Wenn Sie die pgAudit-Erweiterung verwenden, muss sie in den gemeinsam genutzten Bibliotheken (shared_preload_libraries) der benutzerdefinierten DB-Parametergruppen sowohl für die blaue als auch für die grüne DB-Instance verbleiben. Weitere Informationen finden Sie unter Einrichten der pgAudit-Erweiterung.

Spezifische Einschränkungen für Bereitstellungen im Zusammenhang mit der logischen Replikation blue/green

PostgreSQL hat bestimmte Einschränkungen in Bezug auf die logische Replikation, die sich in Einschränkungen bei der Erstellung von blue/green Bereitstellungen für Aurora PostgreSQL-DB-Cluster, für PostgreSQL-DB-Instances niederschlagen.

In der folgenden Tabelle werden die Einschränkungen der logischen Replikation beschrieben, die für Blau/Grün-Bereitstellungen für Aurora PostgreSQL gelten. Weitere Informationen finden Sie in der Dokumentation zur logischen Replikation in PostgreSQL.

Einschränkung Erklärung
Data Definition Language (DDL)-Anweisungen wie CREATE TABLE und CREATE SCHEMA werden nicht von der blauen in die grüne Umgebung repliziert.

Wenn Aurora eine DDL-Änderung in der blauen Umgebung erkennt, gehen die grünen Datenbanken in den Status Replikation herabgestuft über. Sie müssen die blue/green Bereitstellung und alle grünen Datenbanken löschen und sie dann neu erstellen.

Data Control Language (DCL)-Anweisungen wie GRANT und REVOKE werden nicht von der blauen in die grüne Umgebung repliziert.

Wenn Aurora einen Versuch erkennt, eine DCL-Anweisung in der blauen Umgebung auszuführen, wird eine Warnmeldung angezeigt. Es ist keine Konfiguration oder API verfügbar, um dieses Verhalten zu ändern, da dies eine Einschränkung des blue/green Bereitstellungsprozesses darstellt.

NEXTVAL-Operationen an Sequenzobjekten werden nicht zwischen der blauen und der grünen Umgebung synchronisiert.

Während der Umstellung erhöht Aurora die Sequenzwerte in der grünen Umgebung so, dass sie denen in der blauen Umgebung entsprechen. Wenn Sie Tausende von Sequenzen haben, kann dies die Umstellung verzögern.

Große Objekte in der blauen Umgebung werden nicht in die grüne Umgebung repliziert. Dies gilt sowohl für bestehende große Objekte als auch für alle während des blue/green Bereitstellungsprozesses neu erstellten oder geänderten großen Objekte.

Wenn Aurora die Erstellung oder Änderung großer Objekte in der blauen Umgebung erkennt, die in der pg_largeobject-Systemtabelle gespeichert sind, gehen die grünen Datenbanken in den Status Replikation herabgestuft über. Sie müssen die blue/green Bereitstellung und alle grünen Datenbanken löschen und sie dann neu erstellen.

Durch das Aktualisieren materialisierter Ansichten wird die Replikation unterbrochen.

Das Aktualisieren materialisierter Sichten in der blauen Umgebung unterbricht die Replikation in die grüne Umgebung. Vermeiden Sie das Aktualisieren materialisierter Ansichten in der blauen Umgebung. Nach einer Umstellung können Sie sie manuell mit dem Befehl REFRESH MATERIALIZED VIEW aktualisieren oder eine Aktualisierung planen.

UPDATE- und DELETE-Operationen sind für Tabellen, die keinen Primärschlüssel haben, nicht zulässig.

Bevor Sie eine blue/green Bereitstellung erstellen, stellen Sie sicher, dass alle Tabellen über einen Primärschlüssel oder eine Verwendung REPLICA IDENTITY FULL verfügen. Verwenden Sie REPLICA IDENTITY FULL jedoch nur, wenn kein primärer oder eindeutiger Schlüssel vorhanden ist, da dies die Replikationsleistung beeinträchtigt. Weitere Informationen finden Sie in der PostgreSQL-Dokumentation.

Überlegungen zu blue/green Bereitstellungen

Amazon RDS verfolgt Ressourcen in blue/green Bereitstellungen mit dem DbiResourceId und DbClusterResourceId jeder Ressource. Diese Ressourcen-ID ist eine AWS-Region eindeutige, unveränderliche Kennung für die Ressource.

Die Ressourcen-ID ist getrennt von der DB-Cluster-ID: Jede ist in der Datenbankkonfiguration in der RDS-Konsole aufgeführt.

Der Name (Cluster-ID) einer Ressource ändert sich, wenn Sie zu einer blue/green Bereitstellung wechseln, aber jede Ressource behält dieselbe Ressourcen-ID. Eine DB-Cluster-ID in der blauen Umgebung lautete beispielsweise mycluster. Nach der Umstellung könnte dieser DB-Cluster in mycluster-old1 umbenannt sein. Die Ressourcen-ID des DB-Clusters ändert sich während der Umstellung jedoch nicht. Wenn Sie also die grünen Ressourcen auf die neuen Produktionsressourcen umstellen, stimmen ihre Ressourcen IDs nicht mit den blauen Ressourcen überein IDs , die zuvor in Produktion waren.

Nachdem Sie eine blue/green Bereitstellung umgestellt haben, sollten Sie erwägen, die Ressource IDs auf die Ressourcen der neu umgestellten Produktionsressourcen für integrierte Funktionen und Dienste zu aktualisieren, die Sie mit den Produktionsressourcen verwendet haben. Berücksichtigen Sie insbesondere die folgenden Aktualisierungen:

  • Wenn Sie die Filterung mithilfe der RDS-API und der RDS-Ressource durchführen IDs, passen Sie die für die Filterung IDs verwendete Ressource nach dem Switchover an.

  • Wenn Sie Ressourcen CloudTrail für die Überwachung verwenden, passen Sie die Benutzer von so an, CloudTrail dass sie die neue Ressource IDs nach dem Switchover verfolgen. Weitere Informationen finden Sie unter Überwachung von Amazon Aurora-API-Aufrufen in AWS CloudTrail.

  • Wenn Sie Datenbank-Aktivitätsstreams für Ressourcen in der blauen Umgebung verwenden, passen Sie Ihre Anwendung an, um die Datenbankereignisse für den neuen Stream nach der Umstellung zu überwachen. Weitere Informationen finden Sie unter Unterstützte Regionen und Aurora-DB-Engines für Datenbankaktivitäts-Streams.

  • Wenn Sie die Performance Insights Insights-API verwenden, passen Sie die Ressource IDs in API-Aufrufen nach dem Switchover an. Weitere Informationen finden Sie unter Überwachung mit Performance Insights auf .

    Sie können eine Datenbank mit demselben Namen nach der Umstellung überwachen, diese enthält jedoch nicht die Daten, die vor der Umstellung vorhanden waren.

  • Wenn Sie Ressourcen IDs in IAM-Richtlinien verwenden, stellen Sie sicher, dass Sie bei Bedarf die Ressource IDs der neu übertragenen Ressourcen hinzufügen. Weitere Informationen finden Sie unter Identity and Access Management für Amazon Aurora.

  • Wenn Sie Ihrem DB-Cluster IAM-Rollen zugeordnet haben, stellen Sie sicher, dass Sie diese nach der Umstellung erneut zuordnen. Angehängte Rollen werden nicht automatisch in die grüne Umgebung kopiert.

  • Wenn Sie sich mithilfe der IAM-Datenbankauthentifizierung bei Ihrem DB-Cluster authentifizieren, stellen Sie sicher, dass in der für den Datenbankzugriff verwendeten IAM-Richtlinie sowohl die blauen als auch die grünen Datenbanken unter dem Element Resource der Richtlinie aufgeführt sind. Dies ist erforderlich, um nach der Umstellung eine Verbindung mit der grünen Datenbank herzustellen. Weitere Informationen finden Sie unter Erstellen und Verwenden einer IAM-Richtlinie für den IAM-Datenbankzugriff.

  • Wenn Sie einen manuellen DB-Cluster-Snapshot für einen DB-Cluster wiederherstellen möchten, der Teil einer blue/green Bereitstellung war, stellen Sie sicher, dass Sie den richtigen DB-Cluster-Snapshot wiederherstellen, indem Sie den Zeitpunkt überprüfen, zu dem der Snapshot erstellt wurde. Weitere Informationen finden Sie unter Wiederherstellen aus einem DB-Cluster-Snapshot.

  • Nach dem Umschalten AWS Database Migration Service (AWS DMS) können die Replikationsaufgaben nicht fortgesetzt werden, da der Checkpoint aus der blauen Umgebung in der grünen Umgebung ungültig ist. Sie müssen die DMS-Aufgabe mit einem neuen Checkpoint neu erstellen, um die Replikation fortzusetzen.

  • Amazon Aurora erstellt die Grün-Umgebung, indem das zugrunde liegende Aurora-Speichervolume in der Blau-Umgebung geklont wird. Das grüne Cluster-Volume speichert nur inkrementelle Änderungen, die in der Grün-Umgebung vorgenommen wurden. Wenn Sie den DB-Cluster in der Blau-Umgebung löschen, wächst die Größe des zugrunde liegenden Aurora-Speichervolumens in der Grün-Umgebung auf die volle Größe an. Weitere Informationen finden Sie unter Klonen eines Volumes für einen Amazon-Aurora-DB-Cluster.

  • Wenn Sie dem DB-Cluster in der grünen Umgebung einer Blau/Grün-Bereitstellung eine DB-Instance hinzufügen, ersetzt die neue DB-Instance bei der Umstellung keine DB-Instance in der blauen Umgebung. Die neue DB-Instance wird jedoch im DB-Cluster beibehalten und wird in der neuen Produktionsumgebung zu einer DB-Instance.

  • Wenn Sie eine DB-Instance im DB-Cluster in der grünen Umgebung einer blue/green deployment, you can't create a new DB instance to replace it in the blue/green Bereitstellung löschen.

    Wenn Sie eine neue DB-Instance mit demselben Namen und ARN wie die gelöschte DB-Instance erstellen, hat sie eine andere DbiResourceId. Sie ist folglich nicht Teil der grünen Umgebung.

    Das folgende Verhalten ergibt sich, wenn Sie eine DB-Instance im DB-Cluster der grünen Umgebung löschen:

    • Wenn die DB-Instance in der blauen Umgebung mit dem gleichen Namen vorhanden ist, wird sie nicht auf die DB-Instance in der grünen Umgebung umgestellt. Diese DB-Instance wird nicht umbenannt, indem dem DB-Instance-Namen -oldn angefügt wird.

    • Jede Anwendung, die auf die DB-Instance in der blauen Umgebung verweist, verwendet nach der Umstellung weiterhin dieselbe DB-Instance.

  • Wenn Sie Ressourcen-Tags für die Zugriffskontrolle oder das Betriebsmanagement verwenden, müssen Sie sich darüber im Klaren sein, dass Tag-Änderungen erst beim Switchover zwischen blauen und grünen Umgebungen synchronisiert werden. Wenn Sie eine blue/green Bereitstellung erstellen, werden Tags aus der blauen Umgebung in die grüne Umgebung kopiert. Nach der Erstellung werden alle Tag-Änderungen, die Sie an einer der Umgebungen vornehmen, nicht automatisch synchronisiert. Beim Switchover ersetzen blaue Umgebungs-Tags alle Tags in der grünen Umgebung. Wenden Sie alle erforderlichen Tags auf die blaue Umgebung an, bevor Sie die blue/green Bereitstellung erstellen, oder wenden Sie die erforderlichen Tags nach dem Switchover erneut auf die neue Produktionsumgebung an. Weitere Informationen zu Tags erhalten Sie unter Taggen von Amazon-Aurora- und Amazon-RDS-Ressourcen.