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.
Arbeiten mit lokaler Schreibweiterleitung für Aurora PostgreSQL
In den folgenden Abschnitten können Sie überprüfen, ob in einem Datenbank-Cluster die lokale Schreibweiterleitung aktiviert ist, Kompatibilitätsaspekte einsehen und sich die konfigurierbaren Parameter und die Einrichtung der Authentifizierung ansehen. Mit diesen Informationen erhalten Sie die Informationen, um die lokale Schreibweiterleitungsfunktion in Aurora PostgreSQL effektiv zu nutzen.
Anmerkung
Wenn eine Writer-Instance in einem Cluster, der die lokale Schreibweiterleitung verwendet, neu gestartet wird, werden alle aktiven, weitergeleiteten Transaktionen und Abfragen auf Reader-Instances, die die lokale Schreibweiterleitung verwenden, automatisch geschlossen. Nachdem die Writer-Instance wieder verfügbar ist, können Sie diese Transaktionen erneut versuchen.
Überprüfung, ob in einem DB-Cluster die lokale Schreibweiterleitung aktiviert ist
Um festzustellen, ob Sie die lokale Schreibweiterleitung in einem DB-Cluster verwenden können, stellen Sie sicher, dass das Attribut für den Cluster auf LocalWriteForwardingStatus
gesetzt istenabled
.
Auf der AWS Management Console Registerkarte Konfiguration der Detailseite für den Cluster sehen Sie den Status Aktiviert für lokale Read Replica-Schreibweiterleitung.
Führen Sie den folgenden AWS CLI Befehl aus, um den Status der Einstellung für die lokale Schreibweiterleitung für alle Ihre Cluster zu überprüfen.
aws rds describe-db-clusters \ --query '*[].{DBClusterIdentifier:DBClusterIdentifier,LocalWriteForwardingStatus:LocalWriteForwardingStatus}' [ { "LocalWriteForwardingStatus": "enabled", "DBClusterIdentifier": "write-forwarding-test-cluster-1" }, { "LocalWriteForwardingStatus": "disabled", "DBClusterIdentifier": "write-forwarding-test-cluster-2" }, { "LocalWriteForwardingStatus": "requested", "DBClusterIdentifier": "test-global-cluster-2" }, { "LocalWriteForwardingStatus": "null", "DBClusterIdentifier": "aurora-postgresql-v2-cluster" } ]
Für einen DB-Cluster sind folgende Werte LocalWriteForwardingStatus
zulässig:
-
disabled
— Die lokale Schreibweiterleitung ist deaktiviert. -
disabling
— Die lokale Schreibweiterleitung wird gerade deaktiviert. -
enabled
— Die lokale Schreibweiterleitung ist aktiviert. -
enabling
— Die lokale Schreibweiterleitung wird gerade aktiviert. -
null
— Lokale Schreibweiterleitung ist für diesen DB-Cluster nicht verfügbar. -
requested
— Lokale Schreibweiterleitung wurde angefordert, ist aber noch nicht aktiv.
Standardparametereinstellungen für die Schreibweiterleitung
Die Aurora-Cluster-Parametergruppen enthalten Einstellungen für die lokale Schreibweiterleitungsfunktion. Da es sich um Cluster-Parameter handelt, haben alle DB-Instances in allen Clustern die gleichen Werte für diese Variablen. Details zu diesen Parametern sind in der folgenden Tabelle zusammengefasst, mit Nutzungshinweisen unterhalb der Tabelle.
Parameter | Scope | Typ | Standardwert | Zulässige Werte |
---|---|---|---|---|
apg_write_forward.connect_timeout |
Sitzung | Sekunden | 30 | 0 – 2147483647 |
apg_write_forward.consistency_mode |
Sitzung | enum | Sitzung | SESSION , EVENTUAL , GLOBAL , und OFF |
apg_write_forward.idle_in_transaction_session_timeout |
Sitzung | Millisekunden | 86400000 | 0 – 2147483647 |
apg_write_forward.idle_session_timeout |
Sitzung | Millisekunden | 300000 | 0 – 2147483647 |
apg_write_forward.max_forwarding_connections_percent |
Global | int | 25 | 1-100 |
Der apg_write_forward.max_forwarding_connections_percent
-Parameter definiert die Obergrenze der Datenbankverbindungsslots, die zum Umgang mit von Readern weitergeleiteten Abfragen verwendet werden können. Sie wird als Prozentsatz der max_connections
Einstellung für die Writer-DB-Instance ausgedrückt. Wenn beispielsweise max_connections
800
und apg_write_forward.max_forwarding_connections_percent
10
ist, dann lässt der Writer maximal 80 weitergeleitete Sitzungen gleichzeitig zu. Diese Verbindungen stammen aus demselben, von der Einstellung max_connections
verwalteten Verbindungspool. Diese Einstellung gilt nur für die Writer-DB-Instance, wenn im Cluster die lokale Schreibweiterleitung aktiviert ist.
Verwenden Sie die folgenden Einstellungen, um lokale Schreibweiterleitungsanforderungen zu steuern:
-
apg_write_forward.consistency_mode
— Ein Parameter auf Sitzungsebene, der den Grad der Lesekonsistenz auf einer Read Replica steuert. Gültige Werte sindSESSION
,EVENTUAL
,GLOBAL
oderOFF
. Standardmäßig ist der Wert aufSESSION
festgelegt. Wenn Sie den Wert auf festlegen, wird die lokale Schreibweiterleitung in der SitzungOFF
deaktiviert. Weitere Informationen über Konsistenzebenen finden Sie unter Konsistenz und Isolation für die lokale Schreibweiterleitung in Aurora Postgre SQL. Dieser Parameter ist nur in Leserinstanzen relevant, für die die lokale Schreibweiterleitung aktiviert ist. apg_write_forward.connect_timeout
— Die maximale Anzahl von Sekunden, auf die die Read Replica wartet, wenn sie eine Verbindung zur Writer-DB-Instance herstellt, bevor sie aufgibt. Ein Wert von0
bedeutet, dass auf unbestimmte Zeit gewartet werden soll.apg_write_forward.idle_in_transaction_session_timeout
— Die Anzahl von Millisekunden, die die Writer-DB-Instance auf Aktivität in einer Verbindung wartet, die von einer Read Replica mit offener Transaktion weitergeleitet wurde, bevor sie geschlossen wird. Wenn die Sitzung über diesen Zeitraum hinaus inaktiv ist, bricht Aurora die Sitzung ab. Durch einen Wert des Typs0
wird der Timout deaktiviert.apg_write_forward.idle_session_timeout
— Die Anzahl der Millisekunden, die die Writer-DB-Instance auf Aktivitäten in einer Verbindung wartet, die von einer Read Replica weitergeleitet wurde, bevor sie geschlossen wird. Wenn die Sitzung über diesen Zeitraum hinaus inaktiv bleibt, beendet Aurora die Sitzung. Durch einen Wert des Typs0
wird der Timout deaktiviert.
rdswriteforwarduser
Das rdswriteforwarduser
ist ein Benutzer, den wir verwenden werden, um eine Verbindung zwischen der Read Replica und der Writer-DB-Instance herzustellen.
Anmerkung
rdswriteforwarduser
erbt seine CONNECT-Privilegien über die PUBLIC-Rolle an Kundendatenbanken. Wenn die Rechte für die PUBLIC-Rolle entzogen werden, müssen Sie CONNECT-Privilegien für die Datenbanken, an die Sie Schreibvorgänge weiterleiten müssen, gewähren.