Durchführen eines Nebenversions-Upgrades - 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.

Durchführen eines Nebenversions-Upgrades

Sie können die folgenden Methoden verwenden, um die Nebenversion eines DB-Clusters zu aktualisieren oder einen DB-Cluster zu patchen:

Vor dem Durchführen eines Nebenversions-Upgrades

Wir empfehlen Ihnen, die folgenden Aktionen durchzuführen, um die Ausfallzeit während eines Unterversion-Upgrades zu reduzieren:

So führen Sie Upgrades von Nebenversionen durch und wenden Patches an

Nebenversions-Upgrades und Patches werden in AWS-Regionen erst nach umfangreichen Tests zur Verfügung gestellt. Vor der Veröffentlichung von Upgrades und Patches testet Aurora PostgreSQL, um sicherzustellen, dass bekannte Sicherheitsprobleme, Fehler und andere Probleme, die nach der Veröffentlichung der Community-Nebenversion auftreten, die Stabilität der Aurora PostgreSQL-Flotte nicht beeinträchtigen.

Wenn Sie Upgrade einer Nebenversion automatisch durchführen aktivieren, führt Aurora PostgreSQL während Ihres festgelegten Wartungsfensters regelmäßig Upgrades für Ihren DB-Cluster durch. Stellen Sie sicher, dass die Option Automatisches Nebenversions-Upgrade aktivieren für alle Instances Ihres Aurora-PostgreSQL-DB-Clusters aktiviert ist. Informationen zum Festlegen der Einstellung Automatisches Unterversion-Upgrade und zur Funktionsweise der Einstellung, wenn sie auf Cluster- und Instance-Ebene angewendet wird, finden Sie unter  Automatische Nebenversions-Upgrades für Aurora-DB-Cluster.

Überprüfen Sie den Wert der Option Automatisches Nebenversions-Upgrade aktivieren für alle Ihre Aurora-PostgreSQL-DB-Cluster überprüfen, indem Sie den AWS CLI-Befehl describe-db-instances wie folgt verwenden.

aws rds describe-db-instances \ --query '*[].{DBClusterIdentifier:DBClusterIdentifier,DBInstanceIdentifier:DBInstanceIdentifier,AutoMinorVersionUpgrade:AutoMinorVersionUpgrade}'

Diese Abfrage gibt eine Liste aller Aurora-DB-Cluster und ihrer Instances mit dem Wert true oder false für den Status der Einstellung AutoMinorVersionUpgrade zurück. Der Befehl geht davon aus, dass Sie Ihre AWS CLI mit Ihrer Standard-AWS-Region als Ziel konfiguriert haben.

Weitere Informationen zur AmVU-Option und darüber, wie Sie Ihren Aurora-DB-Cluster ändern, um diese u verwenden zu können, finden Sie unter Automatische Nebenversions-Upgrades für Aurora-DB-Cluster.

Sie können Ihren Aurora-PostgreSQL-DB-Cluster auf neue Nebenversionen aktualisieren, indem Sie entweder auf Wartungsaufgaben reagieren oder den Cluster so ändern, dass er die neue Version verwendet.

Sie können alle verfügbaren Upgrades oder Patches für Ihre Aurora-PostgreSQL-DB-Cluster identifizieren, indem Sie die RDS-Konsole verwenden und das Menü Recommendations (Empfehlungen) öffnen. Dort finden Sie eine Liste verschiedener Wartungsprobleme wie Old minor versions (Alte Nebenversionen) aus. Abhängig von Ihrer Produktionsumgebung können Sie mit Schedule (Planen) das Upgrade planen oder mit Apply now (Jetzt anwenden) sofort Maßnahmen ergreifen, wie im Folgenden gezeigt.

Das Konsolenabbild zeigt eine Empfehlung zum Upgrade auf eine neuere Nebenversion.

Weitere Informationen zum Verwalten eines Aurora-DB-Clusters, einschließlich der manuellen Anwendung von Patches und Nebenversions-Upgrades, finden Sie unter Warten eines Amazon Aurora-DB-Clusters.

Nebenversions-Upgrades und Zero-Downtime-Patching

Beim Upgrade eines AuroraPostgreSQL-DB-Clusters kann es zu einem Ausfall kommen. Beim Upgrade-Prozess wird die Datenbank heruntergefahren, während sie aktualisiert wird. Wenn Sie das Upgrade starten, während die Datenbank ausgelastet ist, verlieren Sie alle Verbindungen und Transaktionen, die der DB-Cluster verarbeitet. Wenn Sie warten, bis die Datenbank im Leerlauf ist, um das Upgrade durchzuführen, müssen Sie möglicherweise lange warten.

Die Funktion „Null-Downtime Patching“ (ZDP, Patchen ohne Ausfallzeiten) verbessert den Upgrade-Prozess. Mit dem ZDP können sowohl Upgrades als auch Patches mit minimalen Auswirkungen auf Ihren Aurora-PostgreSQL-DB-Cluster angewendet werden. ZDP wird verwendet, wenn Patches oder neuere Upgrades von Nebenversionen auf Aurora-PostgreSQL-Versionen und anderen höheren Versionen dieser Nebenversionen und neueren Hauptversionen angewendet werden. Das heißt, bei einem Upgrade auf neue Nebenversionen nach einer dieser Versionen wird ZDP verwendet.

Die folgende Tabelle zeigt die Aurora-PostgreSQL-Versionen und DB-Instance-Klassen, in denen ZDP verfügbar ist:

Version db.r*-Instance-Klassen db.t*-Instance-Klassen db.x*-Instance-Klassen db.serverless-Instance-Klasse
10.21 und höhere Versionen Ja Ja Ja N/A
11.16 und höhere Versionen Ja Ja Ja N/A
11.17 und höhere Versionen Ja Ja Ja N/A
12.11 und höhere Versionen Ja Ja Ja N/A
12.12 und höhere Versionen Ja Ja Ja N/A
13.7 und höhere Versionen Ja Ja Ja N/A
13.8 und höhere Versionen Ja Ja Ja Ja
14.3 und höhere Versionen Ja Ja Ja N/A
14.4 und höhere Versionen Ja Ja Ja N/A
14.5 und höhere Versionen Ja Ja Ja Ja
15.3 und höhere Versionen Ja Ja Ja Ja
16.1 und höhere Versionen Ja Ja Ja Ja

Während des Upgrade-Vorgangs mit ZDP sucht die Datenbank-Engine nach einem ruhigen Punkt, um alle neuen Transaktionen anzuhalten. Diese Aktion schützt die Datenbank bei Patches und Upgrades. Um sicherzustellen, dass Ihre Anwendungen bei unterbrochenen Transaktionen reibungslos laufen, empfehlen wir, die Logik für Wiederholversuche in Ihren Code zu integrieren. Dieser Ansatz stellt sicher, dass das System kurze Ausfallzeiten ohne Fehler bewältigen und die neuen Transaktionen nach dem Upgrade erneut versuchen kann.

Wenn ZDP erfolgreich abgeschlossen wird, werden Anwendungssitzungen, mit Ausnahme von Sitzungen mit unterbrochenen Verbindungen, beibehalten und die Datenbank-Engine wird während des laufenden Upgrades neu gestartet. Der Neustart der Datenbank-Engine kann zwar zu einem vorübergehenden Abfall des Durchsatzes führen, dieser dauert jedoch normalerweise nur wenige Sekunden oder maximal etwa 1 Minute.

In einigen Fällen ist das Zero-Downtime-Patching (ZDP) möglicherweise nicht erfolgreich. Parameteränderungen, die sich auf Ihrem DB-Cluster von Aurora PostgreSQL oder dessen Instances im Status pending befinden, beeinträchtigen ebenfalls ZDP.

Metriken und Ereignisse für ZDP-Operationen finden Sie auf der Seite Events (Ereignisse) in der Konsole. Zu den Ereignissen gehören der Start des ZDP-Upgrades und der Abschluss des Upgrades. In diesem Fall können Sie feststellen, wie lange der Prozess gedauert hat und wie viele Verbindungen während des Neustarts aufrecht erhalten und abgebrochen wurden. Details finden Sie in Ihrem Datenbank-Fehlerprotokoll.

Einschränkungen des Patchens ohne Ausfallzeiten

Die folgenden Einschränkungen gelten für das Patchen ohne Ausfallzeiten:

  • ZDP versucht, die aktuellen Client-Verbindungen zur Aurora PostgreSQL-Writer-Instance während des Aurora-PostgreSQL-Upgrade-Prozesses beizubehalten. In den folgenden Fällen werden die Verbindungen jedoch unterbrochen, damit ZDP den Vorgang abschließen kann:

    • Wenn lang dauernde Abfragen oder Transaktionen ausgeführt werden.

    • Data Definition Language (DDL)-Anweisungen werden ausgeführt.

    • Es werden temporäre Tabellen verwendet oder Tabellensperren sind aktiv.

    • Alle Sitzungen überwachen Benachrichtigungskanäle.

    • Ein Cursor mit dem Status 'WITH HOLD' wird verwendet.

    • Es werden TLSv1.1-Verbindungen verwendet. Ab Aurora-PostgreSQL-Versionen höher als 16.1, 15.3, 14.8, 13.11, 12.15 und 11.20, wird ZDP mit TLSv1.3-Verbindungen unterstützt.

  • ZDP wird in folgenden Fällen nicht unterstützt:

    • Wenn DB-Cluster von Aurora PostgreSQL als Aurora Serverless v1 konfiguriert sind.

    • Während des Upgrades von Aurora-Reader-Instances.

    • Während des Upgrades von Aurora-Reader-Instances, die Teil eines globalen Aurora-Datenbank-Clusters in einer sekundären Region sind.

    • Während Betriebssystem-Patches und Betriebssystem-Upgrades.

Durchführen eines Upgrades der Aurora-PostgreSQL-Engine auf eine neue Nebenversion

Sie können Ihren Aurora-PostgreSQL-DB-Cluster auf eine neue Nebenversion aktualisieren, indem Sie die Konsole, die AWS CLI oder die RDS-API verwenden. Bevor Sie das Aktualisieren durchführen, wird das Befolgen der selben bewährten Methoden empfohlen, die für Upgrades der Hauptversion empfohlen wird. Wie bei neuen Hauptversionen können auch neue Nebenversionen Optimizer-Verbesserungen aufweisen, z. B. Korrekturen, die Regressionen des Abfrageplans verursachen können. Um die Stabilität des Plans zu gewährleisten, wird die Verwendung der Erweiterung Query Plan Management (QPM) empfohlen, wie inSicherstellen der Planstabilität nach einem größeren Versions-Upgrade.

So aktualisieren Sie die Engine-Version Ihres Aurora-PostgreSQL-DB-Clusters.
  1. Melden Sie sich bei der AWS-Managementkonsole an und öffnen Sie die Amazon-RDS-Konsole unter https://console.aws.amazon.com/rds/.

  2. Wählen Sie im Navigationsbereich Databases (Datenbanken) und dann den DB-Cluster aus, den Sie upgraden möchten.

  3. Wählen Sie Ändern aus. Die Seite Modify DB cluster (DB-Cluster ändern) wird angezeigt.

  4. Wählen Sie für Motorversion die neue Version.

  5. Klicken Sie auf Weiter und überprüfen Sie die Zusammenfassung aller Änderungen.

  6. Wählen Sie Apply immediately, um die Änderungen sofort anzuwenden. Die Auswahl dieser Option kann in einigen Fällen einen Ausfall verursachen. Weitere Informationen finden Sie unter Ändern eines Amazon Aurora-DB-Clusters.

  7. Überprüfen Sie auf der Bestätigungsseite Ihre Änderungen. Wenn sie korrekt sind, wählen Sie Modify Cluster (Cluster ändern) aus, um Ihre Änderungen zu speichern.

    Oder klicken Sie auf Zurück, um Ihre Änderungen zu bearbeiten, oder auf Abbrechen, um Ihre Änderungen zu verwerfen.

Wenn Sie die Engine-Version eines DB-Clusters aktualisieren möchten, verwenden Sie den AWS CLI-Befehl modify-db-cluster mit den folgenden Parametern:

  • --db-cluster-identifier – Der Name Ihres Aurora-PostgreSQL-DB-Clusters.

  • --engine-version – die Versionsnummer der Datenbank-Engine, auf die das Upgrade durchgeführt wird Verwenden Sie den AWS CLI-Befehl describe-db-engine-versions, um weitere Informationen über gültige Engine-Versionen zu erhalten.

  • --no-apply-immediately – Änderungen im nächsten Wartungszeitraum anwenden Verwenden Sie --apply-immediately, um Änderungen sofort anzuwenden.

Für Linux, macOS oder Unix:

aws rds modify-db-cluster \ --db-cluster-identifier mydbcluster \ --engine-version new_version \ --no-apply-immediately

Für Windows:

aws rds modify-db-cluster ^ --db-cluster-identifier mydbcluster ^ --engine-version new_version ^ --no-apply-immediately

Sie können die Engine-Version eines DB-Clusters upgraden, indem Sie die Operation ModifyDBCluster aufrufen. Geben Sie die folgenden Parameter an:

  • DBClusterIdentifier – der Name des DB-Clusters, z. B mydbcluster

  • EngineVersion – die Versionsnummer der Datenbank-Engine, auf die das Upgrade durchgeführt wird Über die Operation DescribeDBEngineVersions erhalten Sie Informationen über gültige Engine-Versionen.

  • ApplyImmediately – Änderungen sofort oder während des nächsten Wartungszeitraums anwenden Legen Sie den Wert auf fest, um Änderungen sofort anzuwende true. Legen Sie den Wert auf fest, um Änderungen im nächsten Wartungszeitraum durchzuführe false.