View a markdown version of this page

Konfiguration von Read Replicas mit PostgreSQL - 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.

Konfiguration von Read Replicas mit PostgreSQL

RDS for PostgreSQL verwendet die native PostgreSQL-Streaming-Replikation, um eine schreibgeschützte Kopie einer Quell-DB-Instance zu erstellen. Diese Read-Replica-DB-Instance ist eine asynchron erstellte physische Replikation der Quell-DB-Instance. Sie wird von einer speziellen Verbindung erstellt, die Write-Ahead Log (WAL)-Daten zwischen der Quell-DB-Instance und dem Lesereplikat übermittelt. Weitere Informationen finden Sie unter Streaming-Replikation in der PostgreSQL-Dokumentation.

PostgreSQL streamt Datenbankänderungen asynchron über diese sichere Verbindung, während sie auf der Quell-DB-Instance vorgenommen werden. Sie können die Kommunikation von Ihren Clientanwendungen zur Quell-DB-Instance oder zu allen Lesereplikaten verschlüsseln, indem Sie den Parameter ssl auf 1 festlegen. Weitere Informationen finden Sie unter Verwenden von SSL mit einer PostgreSQL-DB-Instance.

PostgreSQL verwendet eine Replikations-Rolle, um die Streaming-Replikation durchzuführen. Die Rolle besitzt Berechtigungen, kann jedoch nicht für das Ändern von Daten verwendet werden. PostgreSQL verfügt über einen Einzelvorgang für die Handhabung von Replikation.

Sie können ein PostgreSQL-Lesereplikat erstellen, ohne den Betrieb oder die Benutzer der Quell-DB-Instance zu beeinträchtigen. Amazon RDS legt die erforderlichen Parameter und Berechtigungen für die Quell-DB-Instance und das Lesereplikat ohne Auswirkungen auf den Service fest. Ein Snapshot von der Quell-DB-Instance wird erstellt und zum Erstellen des Lesereplikats verwendet. Wenn Sie das Lesereplikat irgendwann in der Zukunft löschen, tritt kein Ausfall auf.

Sie können bis zu 15 Lesereplikate von einer Quell-DB-Instance innerhalb derselben Region erstellen. Ab RDS for PostgreSQL 14.1 können Sie auch bis zu drei Ebenen von Lesereplikaten in einer Kette (Kaskade) aus einer Quell-DB-Instance erstellen. Weitere Informationen finden Sie unter Verwendung von kaskadierenden Lesereplikaten mit RDS für PostgreSQL. In allen Fällen müssen für die Quell-DB-Instance automatisierte Backups konfiguriert sein. Dazu legen Sie den Aufbewahrungszeitraum für Sicherungen in Ihrer DB-Instance auf einen anderen Wert als 0 fest. Weitere Informationen finden Sie unter Erstellen eines Lesereplikats.

Sie können Lesereplikate für Ihre DB-Instance von RDS for PostgreSQL in derselben AWS-Region wie Ihre Quell-DB-Instance erstellen. Dies wird als regionale Replikation bezeichnet. Sie können Read Replicas auch in einer anderen AWS-Regionen als der Quell-DB-Instance erstellen. Dies wird als regionsübergreifende Replikation bezeichnet. Weitere Informationen zum Einrichten von regionsübergreifenden Lesereplikaten finden Sie unter Erstellen einer Read Replica in einem anderen AWS-Region. Die verschiedenen Mechanismen, die den Prozess für die regionale und regionsübergreifende Replikation unterstützen, unterscheiden sich je nach RDS-for-PostgreSQL-Version geringfügig, wie in Funktionsweise der Streaming-Replikation für verschiedene RDS-for-PostgreSQL-Versionen erläutert.

Damit die Replikation effektiv durchgeführt werden kann, sollte jedes Lesereplikat über die selbe Menge an Rechen- und Speicherressourcen wie die Quell-DB-Instance verfügen. Wenn Sie die Quell-DB-Instance skalieren, skalieren Sie unbedingt auch die Lesereplikate.

Amazon RDS überschreibt alle nicht-kompatiblen Parameter in einem Lesereplikat, wenn diese das Lesereplikat vom Hochfahren abhalten. Nehmen Sie beispielsweise an, dass der Wert des Parameters max_connections auf der Quell-DB-Instance höher als auf dem Lesereplikat ist. In diesem Fall aktualisiert Amazon RDS den Parameter auf dem Lesereplikat, sodass er denselben Wert wie auf der Quell-DB-Instance hat.

RDS-for-PostgreSQL-Lesereplikate haben Zugriff auf externe Datenbanken, die über Fremddaten-Wrapper (FDWs) auf der Quell-DB-Instance verfügbar sind. Angenommen, Ihre RDS-for-PostgreSQL-DB-Instance verwendet den Wrapper mysql_fdw für den Zugriff auf Daten von RDS for MySQL. In diesem Fall können Ihre Lesereplikate auch auf diese Daten zugreifen. Andere unterstützte FDWs sind oracle_fdw, postgres_fdw und tds_fdw. Weitere Informationen finden Sie unter Arbeiten mit den unterstützten Fremddaten-Wrapper für Amazon RDS für PostgreSQL.

Verwenden von RDS für PostgreSQL: Read Replicas mit Konfigurationen Multi-AZ

Sie können eine Read Replica aus einer Single-AZ- oder DB-Instance erstellen. Multi-AZ Mithilfe einer Standby-Replik können Sie Multi-AZ Bereitstellungen verwenden, um die Beständigkeit und Verfügbarkeit kritischer Daten zu verbessern. Ein Standby-Replikat ist ein dediziertes Lesereplikat, das die Workload übernehmen kann, wenn die Quell-DB ausfällt. Sie können Ihr Standby-Replikat nicht dazu verwenden, Leseverkehr bereitzustellen. Sie können jedoch Read Replicas von Multi-AZ DB-Instances mit hohem Datenverkehr erstellen, um schreibgeschützte Abfragen auszulagern. Weitere Informationen zu Bereitstellungen finden Sie unter. Multi-AZ Multi-AZ DB-Instance-Bereitstellungen für Amazon RDS

Wenn für die Quell-DB-Instance einer Multi-AZ Bereitstellung ein Failover auf eine Standby-Instanz erfolgt, wechseln die zugehörigen Read Replicas zur Verwendung der Standby-Instanz (jetzt primär) als Replikationsquelle. Die Lesereplikate müssen möglicherweise je nach RDS-for-PostgreSQL-Version wie folgt neu gestartet werden:

  • PostgreSQL 13 und höhere Versionen – Ein Neustart ist nicht erforderlich. Die Lesereplikate werden automatisch mit der neuen Primär-Instance synchronisiert. In einigen Fällen legt Ihre Clientanwendung jedoch die Details des Domain Name Service (DNS) für Ihre Lesereplikate im Zwischenspeicher ab. In diesem Fall legen Sie den TTL-Wert (Time-to-Live) auf weniger als 30 Sekunden fest. Damit wird verhindert, dass das Lesereplikat eine veraltete IP-Adresse beibehält (wodurch verhindert wird, dass es mit der neuen Primär-Instance synchronisiert wird). Weitere Informationen über diese und andere bewährte Methoden finden Sie unter Grundlegende Anleitungen für den Amazon-RDS-Betrieb.

  • PostgreSQL 12 und alle früheren Versionen – Die Lesereplikate werden nach einem Failover auf das Standby-Replikat automatisch neu gestartet, da der Standby (jetzt primär) eine andere IP-Adresse und einen anderen Instance-Namen hat. Durch den Neustart wird das Lesereplikat mit der neuen Primär-Instance synchronisiert.

Weitere Informationen zu Failover finden Sie unter Failover einer Multi-AZ DB-Instance für Amazon RDS. Weitere Informationen zur Funktionsweise von Read Replicas in einer Multi-AZ Bereitstellung finden Sie unter. Arbeiten mit DB-Instance-Lesereplikaten

Um Failover-Unterstützung für eine Read Replica bereitzustellen, können Sie die Read Replica als Multi-AZ DB-Instance erstellen, sodass Amazon RDS eine Standby-Version Ihres Replikats in einer anderen Availability Zone (AZ) erstellt. Das Erstellen Ihrer Read Replica als Multi-AZ DB-Instance ist unabhängig davon, ob es sich bei der Quelldatenbank um eine DB-Instance handelt. Multi-AZ