View a markdown version of this page

Einschränkungen und Überlegungen für Amazon RDS blue/green Bereitstellungen - Amazon Relational Database Service

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 Amazon RDS blue/green Bereitstellungen

Blue/green Bereitstellungen in Amazon RDS erfordern eine sorgfältige Abwägung von Faktoren wie Replikationssteckplätzen, Ressourcenmanagement, Instance-Größe und möglichen 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 Bereitstellungen blue/green

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

  • Blue/green Bereitstellungen unterstützen nicht die Verwaltung von Hauptbenutzerkennwörtern mit AWS Secrets Manager.

  • Wenn das Dedicated Log Volume (DLV) in der blauen Datenbank aktiviert ist, muss es auf allen DB-Instances aktiviert sein – einschließlich der Lesereplikate.

  • 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 werden, wenn Sie eine Bereitstellung erstellen. blue/green Dadurch wird verhindert, dass Ereignisse in der grünen Umgebung generiert werden und zu Inkonsistenzen führen.

  • Sie können eine unverschlüsselte DB-Instance nicht in eine verschlüsselte DB-Instance ändern. Zusätzlich können Sie eine verschlüsselte DB-Instance nicht in eine unverschlüsselte DB-Instance ändern.

  • Sie können eine blaue DB-Instance nicht auf eine höhere Engine-Version als die der entsprechenden grünen DB-Instance ändern.

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

  • Wenn Sie Amazon RDS Proxy verwenden, müssen Sie Ihren blauen Cluster beim Proxy registrieren, bevor Sie eine blue/green Bereitstellung erstellen. Wenn für einen bestimmten blauen Cluster bereits eine blue/green Bereitstellung existiert, wird die Registrierung dieses blauen Clusters bei Amazon RDS Proxy blockiert.

  • Amazon RDS Proxy mit blue/green Bereitstellungen wird für Aurora Global Databases nicht unterstützt.

  • Blue/green Bereitstellungen werden für die folgenden Funktionen nicht unterstützt:

  • Nach der Umstellung einer blue/green Bereitstellung wird der Verlauf der Point-in-Time Recovery (PITR) nicht auf die neue Produktions-DB-Instance übertragen. Die grüne DB-Instance behält ihre eigene Ressourcen-ID. Der früheste wiederherstellbare Zeitpunkt beginnt, wenn Sie die grüne Umgebung erstellt haben. Sie können die neue Produktions-DB-Instance zu keinem Zeitpunkt davor wiederherstellen, auch nicht zu einem Zeitpunkt vor dem Switchover. Die blaue DB-Instance behält ihren eigenen PITR-Verlauf und automatische Backups, bis Sie sie löschen. Um die blaue DB-Instance nach dem Switchover wiederherzustellen, verwenden Sie ihre Ressourcen-ID (DbiResourceId), nicht ihren Namen. Der Name ändert sich während des Switchovers. Weitere Informationen finden Sie unter Wiederherstellen einer DB-Instance auf einen bestimmten Zeitpunkt für Amazon RDS.

Wichtig

Planen Sie diesen PITR-Reset ein, wenn Sie Anforderungen an die Aufbewahrung von Backups oder Recovery Point Objective (RPO) haben. Die neue Produktions-DB-Instance kann keinen Recovery-Punkt aus der Zeit vor der Erstellung der grünen Umgebung erreichen, und ihr PITR-Fenster erreicht den vollen Aufbewahrungszeitraum für Backups erst, wenn genügend Zeit verstrichen ist.

Löschen Sie die blaue DB-Instance nicht sofort, um die Möglichkeit zur Wiederherstellung auf einen Zeitpunkt vor dem Switchover beizubehalten. Lassen Sie die blaue DB-Instance mindestens für die Dauer des erforderlichen Wiederherstellungsfensters laufen. Für eine beibehaltene blaue DB-Instance fallen immer noch Rechen- und Speichergebühren an, bis Sie sie löschen.

RDS für MySQL Einschränkungen für Bereitstellungen blue/green

Die folgenden Einschränkungen gelten für RDS for blue/green MySQL-Bereitstellungen:

  • Die blaue DB-Instance kann kein externes Binlog-Replikat sein.

  • Wenn die Quelldatenbank einer benutzerdefinierten Optionsgruppe zugeordnet ist, können Sie bei der Erstellung der blue/green Bereitstellung kein Upgrade der Hauptversion angeben.

    In diesem Fall können Sie eine blue/green Bereitstellung erstellen, ohne ein Hauptversionsupgrade anzugeben. Anschließend können Sie die Datenbank in der grünen Umgebung aktualisieren. Weitere Informationen finden Sie unter Wird geupgradet eine DB-Instance Engine-Version.

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

Einschränkungen von RDS for PostgreSQL für blue/green Bereitstellungen mit physischer Replikation

Die folgenden Einschränkungen gelten für RDS for blue/green PostgreSQL-Bereitstellungen, die physische Replikation verwenden. Eine Erläuterung, wann blue/green Bereitstellungen die physische Replikation anstelle der logischen Replikation verwenden, finden Sie unter. PostgreSQL-Replikationsmethoden für Bereitstellungen blue/green

  • Nachdem die grüne Umgebung erstellt wurde, können Sie kein manuelles Upgrade der Hauptversion durchführen.

  • Blue/green Bereitstellungen, die physische Replikation verwenden, unterstützen keine Schemaänderungen in der grünen Umgebung, da diese ausschließlich schreibgeschützt ist.

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

  • Blue/Green Für Bereitstellungen gelten die folgenden Einschränkungen bei der Konfiguration der verzögerten Replikation in RDS for PostgreSQL:

    • Grüne Quell-Instance – Der Parameter recovery_min_apply_delay parameter wird ignoriert, auch wenn er in der Parametergruppe konfiguriert ist. Alle Verzögerungseinstellungen auf der grünen Quell-Instance werden nicht wirksam.

    • Grüne Replikat-Instance – Der Parameter recovery_min_apply_delay parameter wird vollständig unterstützt und auf die PostgreSQL-Konfigurationsdatei angewendet. Die Verzögerungseinstellungen funktionieren während des Umstellungs-Workflows erwartungsgemäß.

    • Eine verzögerte Replikation ist mit Blue/Green RDS-Bereitstellungen für Hauptversions-Upgrades nicht kompatibel.

RDS für PostgreSQL Einschränkungen für Bereitstellungen blue/green mit logischer Replikation

Die folgenden Einschränkungen gelten für RDS für blue/green PostgreSQL-Bereitstellungen, die logische Replikation verwenden. Eine Erläuterung, wann blue/green Bereitstellungen die logische Replikation anstelle der physischen Replikation verwenden, finden Sie unter. PostgreSQL-Replikationsmethoden für Bereitstellungen blue/green

  • Nicht protokollierte Tabellen werden nicht in die grüne Umgebung repliziert, zu vermeiden.

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

  • Wenn die blaue DB-Instance als fremder Server einer FDW-Erweiterung (Foreign Data Wrapper) konfiguriert ist, müssen Sie den Endpunktnamen des Instance- 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 die DB-Instance 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 in der Quell-Instance zu verringern.

  • 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).

  • Blue/Green Für Bereitstellungen gelten die folgenden Einschränkungen bei der Konfiguration der verzögerten Replikation in RDS for PostgreSQL:

    • Grüne Quell-Instance – Der Parameter recovery_min_apply_delay parameter wird ignoriert, auch wenn er in der Parametergruppe konfiguriert ist. Alle Verzögerungseinstellungen auf der grünen Quell-Instance werden nicht wirksam.

    • Grüne Replikat-Instance – Der Parameter recovery_min_apply_delay parameter wird vollständig unterstützt und auf die PostgreSQL-Konfigurationsdatei angewendet. Die Verzögerungseinstellungen funktionieren während des Umstellungs-Workflows erwartungsgemäß.

    • Eine verzögerte Replikation ist mit Blue/Green RDS-Bereitstellungen für Hauptversions-Upgrades nicht kompatibel.

  • Das Erstellen neuer Partitionen auf partitionierten Tabellen wird bei blue/green Bereitstellungen für RDS for 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 werden, wenn Sie eine Bereitstellung erstellen. blue/green 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.

    • Die pgactive Erweiterungen pglogical und müssen in der blauen Umgebung deaktiviert werden, 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.

Logische replikationsspezifische Einschränkungen für Bereitstellungen 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

In der folgenden Tabelle werden die Einschränkungen der logischen Replikation beschrieben, die für blue/green Bereitstellungen für Aurora PostgreSQL RDS for 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 Amazon RDS eine DDL-Änderung in der blauen Umgebung erkennt, gehen die grünen Datenbanken in den Status Replikation herabgestuft über. Sie müssen das blue/green Deployment und alle grünen Datenbanken löschen und dann neu erstellen.

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

Wenn Amazon RDS PostgreSQL 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 Amazon RDS die Sequenzwerte in der grünen Umgebung so, dass sie denen in der blauen Umgebung entsprechen. Bei einer großen Anzahl von Sequenzen kann der Switchover in der Regel durchgeführt werden, bei einer außergewöhnlich großen Anzahl von Sequenzen, z. B. mehreren hunderttausend, kann es jedoch zu einem Timeout kommen, bevor der Vorgang abgeschlossen ist. Sie können das Switchover-Timeout erhöhen, um mehr Zeit für die Synchronisation zu haben. Weitere Informationen finden Sie unter Umstellungs-Timeout.

Große Objekte in der blauen Umgebung werden nicht in die grüne Umgebung repliziert. Dies umfasst sowohl vorhandene große Objekte als auch alle neuen großen Objekte, die während des blue/green Bereitstellungsprozesses erstellt oder geändert wurden.

Wenn Amazon RDS 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 das blue/green Deployment und alle grünen Datenbanken löschen und dann neu erstellen.

Materialisierte Ansichten werden in der grünen Umgebung nicht automatisch aktualisiert.

Durch das Aktualisieren materialisierter Ansichten in der blauen Umgebung werden sie in der grünen Umgebung nicht aktualisiert. 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 Bereitstellungen blue/green

Amazon RDS verfolgt Ressourcen in blue/green Bereitstellungen mit dem 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-Instance-ID: Jede ist in der Datenbankkonfiguration in der RDS-Konsole aufgeführt.

Der Name (Instanz-ID) einer Ressource ändert sich, wenn Sie eine blue/green Bereitstellung umstellen, aber jede Ressource behält dieselbe Ressourcen-ID. Eine DB-Instance-ID in der blauen Umgebung könnte beispielsweise mydb lauten. Nach der Umstellung könnte diese DB-Instance in mydb-old1 umbenannt sein. Die Ressourcen-ID der DB-Instance ändert sich während der Umstellung jedoch nicht. Wenn Sie eine Umstellung bei den grünen Ressourcen durchführen, stimmen ihre Ressourcen-IDs nicht mit den blauen Ressourcen-IDs überein, die zuvor in der Produktion vorhanden waren.

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

  • Wenn Sie die Filterung mithilfe der RDS-API und der Ressourcen-IDs durchführen, passen Sie die beim Filtern verwendeten Ressourcen-IDs nach der Umstellung an.

  • Wenn Sie die Ressource CloudTrail für die Überwachung von Ressourcen verwenden, passen Sie die Anzahl der Benutzer so an, CloudTrail dass die neuen Ressourcen-IDs nach dem Switchover nachverfolgt werden. Weitere Informationen finden Sie unter Überwachung von Amazon RDS-API-Aufrufen AWS CloudTrail.

  • Wenn Sie die Performance-Insights-API verwenden, passen Sie die Ressourcen-IDs in API-Aufrufen nach der Umstellung an. Weitere Informationen finden Sie unter Überwachen der DB-Auslastung mit Amazon CloudWatch Database Insights Amazon RDS.

    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 in IAM-Richtlinien Ressourcen-IDs verwenden, stellen Sie sicher, dass Sie bei Bedarf die Ressourcen-IDs der überführten Ressourcen hinzufügen. Weitere Informationen finden Sie unter Identity and Access Management für Amazon RDS.

  • Wenn Sie Ihrer DB-Instance 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 Ihrer DB-Instance 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 es verwenden AWS Backup , um automatische Backups von Ressourcen in einer blue/green Bereitstellung zu verwalten, passen Sie die von AWS Backup nach dem Switchover verwendeten Ressourcen-IDs an. Weitere Informationen finden Sie unter Wird AWS Backup zur Verwaltung automatisierter Backups für Amazon RDS verwendet.

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

  • Wenn Sie ein früheres automatisches Backup in einer blauen Umgebung beschreiben oder es zu einem bestimmten Zeitpunkt wiederherstellen möchten, verwenden Sie die Ressourcen-ID für die Operation.

    Da sich der Name der DB-Instance während der Umstellung ändert, können Sie ihren vorherigen Namen nicht für DescribeDBInstanceAutomatedBackups- oder RestoreDBInstanceToPointInTime-Operationen verwenden.

    Weitere Informationen finden Sie unter Wiederherstellen einer DB-Instance auf einen bestimmten Zeitpunkt für Amazon RDS.

  • Wenn Sie einer DB-Instance in der grünen Umgebung einer blue/green Bereitstellung eine Read Replica hinzufügen, ersetzt die neue Read Replica keine Read Replica in der blauen Umgebung, wenn Sie umschalten. Das neue Lesereplikat wird jedoch nach der Umstellung in der neuen Produktionsumgebung beibehalten.

  • Nach dem Umschalten können AWS Database Migration Service (AWS DMS) -Replikationsaufgaben nicht wieder aufgenommen 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.

  • Wenn Sie eine DB-Instance in der grünen Umgebung einer blue/green Bereitstellung löschen, können Sie keine neue DB-Instance erstellen, um sie in der blue/green Bereitstellung zu ersetzen.

    Wenn Sie eine neue DB-Instance mit demselben Namen und Amazon-Ressourcennamen (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 in 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 hinzugefügt wird.

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

    Das gleiche Verhalten gilt für DB-Instances und Lesereplikate.

  • Wenn Sie Ressourcen-Tags für die Zugriffskontrolle oder das Betriebsmanagement verwenden, müssen Sie sich darüber im Klaren sein, dass Tag-Änderungen zwischen blauen und grünen Umgebungen erst beim Switchover synchronisiert werden. Wenn Sie eine blue/green Bereitstellung erstellen, werden die Tags aus der blauen Umgebung in die grüne Umgebung kopiert. Nach der Erstellung werden alle Tag-Änderungen, die Sie an einer der beiden 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 der Umstellung erneut auf die neue Produktionsumgebung an. Weitere Informationen zu Tags erhalten Sie unter Tagging Amazon RDS-Ressourcen.