Amazon RDS Read Replicas

Amazon-RDS-Lesereplikate bieten erweiterte Leistung und Zuverlässigkeit für Amazon-RDS-Datenbank-Instances. So können Sie einfach elastisch über die Kapazitätseinschränkungen einer einzelnen Datenbank-Instance hinaus Skalierungen vornehmen, um leseintensive Datenbank-Workloads zu unterstützen. Sie können eine oder mehrere Replicas einer gegebenen Quell-DB-Instance erstellen und umfangreichen Lesedatenverkehr Ihrer Anwendungen aus mehreren Kopien Ihrer Daten unterstützen und somit den Lesedurchsatz insgesamt steigern. Read Replicas können bei Bedarf auch hochgestuft werden, sodass sie selbstständige DB-Instances werden. Read Replicas sind in Amazon RDS für MySQL, Amazon RDS für MariaDB, Amazon RDS für PostgreSQL, Amazon RDS für Oracle und Amazon RDS für SQL Server sowie Amazon Aurora verfügbar.

Für die MySQL-, MariaDB-, PostgreSQL-, Oracle- und SQL-Server-Datenbank-Engines erstellt Amazon RDS mit einem Snapshot der Quell-DB-Instance eine sekundäre DB-Instance. Der Service verwendet anschließend die native, asynchrone Replikation des Moduls, um die Read Replicas bei jeder Änderung der Quell-DB-Instance zu aktualisieren. Read Replicas funktionieren wie eine Datenbank-Instance, die nur schreibgeschützte Verbindungen zulässt. Anwendungen können zu Read Replicas eine Verbindung wie zu jeder anderen Datenbank-Instance herstellen. Amazon RDS repliziert alle Datenbanken in der Quell-DB-Instance.

Amazon Aurora erweitert die Vorteile von Lesereplikaten durch den Einsatz einer SSD-gestützten virtualisierten Speicherschicht, die speziell für Datenbank-Workloads entwickelt wurde. Amazon-Aurora-Replikate nutzen den gleichen Speicher wie die Quell-Instance, wodurch die Kosten gesenkt werden und auf das Kopieren von Daten auf die Replikat-Knoten verzichtet werden kann. Weitere Informationen zur Replikation mit Amazon Aurora finden Sie in der Online-Dokumentation.

Read Scaling und Notfallwiederherstellung

Vorteile von Amazon-RDS-Lesereplikate

Sie können die Verarbeitungslast Ihrer Datenbank-Quell-Instance durch Umleiten von Leseanfragen von Ihren Anwendungen an das Read Replica reduzieren. Lesereplikate ermöglichen Ihnen, eine über die Kapazitätsgrenzen einzelner DB-Instances hinausgehende elastische Skalierung für leseintensive Datenbank-Workloads vorzunehmen. Da Lesereplikate auf den primären Status hochgestuft werden können, sind sie als Teil einer Shard-Implementierung nützlich. Um die Leseleistung zu maximieren, ermöglicht Ihnen Amazon RDS für MySQL das direkte Hinzufügen von Tabellenindizes zu Lesereplikaten, ohne dass diese Indizes auf dem primären Status vorhanden sind.
Lesereplikate in Amazon RDS für MySQL, MariaDB, PostgreSQL, Oracle und SQL Server bieten einen ergänzenden Verfügbarkeitsmechanismus für Bereitstellungen von Amazon RDS Multi-AZ. Sie können ein Lesereplikat hochstufen, wenn die Quell-DB-Instance ausfällt, und Sie können ein Lesereplikat mit einer eigenen Standby-Instance in einer anderen AZ einrichten. Diese Funktion ergänzt die synchrone Replikation, die automatische Fehlererkennung und das Failover von Multi-AZ-Bereitstellungen.
Wenn Sie ein Lesereplikat für Amazon RDS für MySQL, MariaDB, PostgreSQL, Oracle oder SQL Server erstellen, richtet Amazon RDS – selbst bei einer regionsübergreifenden Replikation – mithilfe der Verschlüsselung durch einen öffentlichen Schlüssel einen sicheren Kommunikationskanal zwischen der Quell-DB-Instance und dem Lesereplikat ein. Amazon RDS nimmt alle AWS-Sicherheitskonfigurationen vor, zum Beispiel das Hinzufügen von Sicherheitsgruppen-Einträgen, die zum Aktivieren des sicheren Kanals erforderlich sind. Sie können außerdem Read Replicas für Ihr Amazon RDS for MySQL-, MariaDB-, PostgreSQL-, Oracle- und SQL-Server-Datenbank-Instances erstellen, die im inaktiven Zustand mit AWS Key Management Service (KMS) verschlüsselt werden.

Einrichtung

Mithilfe der AWS-Managementkonsole können Sie Read Replicas problemlos vorhandenen Datenbank-Instances hinzufügen. Verwenden Sie die Option „Create Read Replica“ entsprechend Ihrer Datenbank-Instance in der AWS-Managementkonsole. Mit Amazon RDS für MySQL, Amazon RDS für PostgreSQL, Amazon RDS für MariaDB und Amazon RDS für SQL Server können Sie jeder Datenbank-Instance bis zu 15 Read Replicas hinzufügen. Mit Amazon RDS für Oracle können Sie jeder Datenbank-Instance bis zu 5 Read Replicas hinzufügen.

Amazon RDS für MySQL, Amazon RDS für PostgreSQL, Amazon RDS für MariaDB und Amazon RDS für Oracle bieten Ihnen zwei SSD-basierte Optionen für die Datenbankspeicherung: Universell und bereitgestellte IOPS. Read Replicas für diese Engines müssen nicht den gleichen Speichertyp wie ihre primären Datenbank-Instances verwenden. Möglicherweise können Sie Ihre Leistung oder Ihre Ausgaben durch Auswahl eines alternativen Speichertyps für Read Replicas optimieren. Weitere Informationen finden Sie in der Read Replicas-Dokumentation für Amazon RDS für MySQL, Amazon RDS für MariaDB, Amazon RDS für PostgreSQL, Amazon RDS für Oracle und Amazon RDS für SQL Server sowie Amazon Aurora.

Read Replicas, Multi-AZ-Bereitstellungen und Multi-Region-Bereitstellungen

Amazon RDS Read Replicas ergänzen Multi-AZ-Bereitstellungen. Für beide Funktionen wird eine zweite Kopie Ihrer Daten beibehalten, allerdings gibt es Unterschiede zwischen den beiden:

Multi-AZ-Bereitstellungen

Multi-Region-Bereitstellungen

Read Replicas

Der Hauptzweck ist hohe Verfügbarkeit

Der Hauptzweck ist die Notfallwiederherstellung und lokale Leistung

Der Hauptzweck ist die Skalierbarkeit

Nicht-Aurora: synchrone Replikation; Aurora: synchrone Replikation

Asynchrone Replikation

Asynchrone Replikation

Nicht-Aurora: nur die primäre Instanz ist aktiv; Aurora: alle Instanzen sind aktiv

Alle Regionen sind zugänglich und können für Lesevorgänge genutzt werden

Sämtliche Lesereplikate sind zugänglich und können für eine Leseskalierung verwendet werden

Nicht-Aurora: automatische Backups werden aus dem Standby-Modus genommen; Aurora: automatische Backups werden aus der gemeinsamen Speicherschicht genommen

Automatische Sicherungen können in jeder Region durchgeführt werden

Standardmäßig sind keine Sicherungen konfiguriert

Über eine einzelne Region erstrecken sich immer mindestens zwei Availability Zones

Jede Region kann eine Multi-AZ-Bereitstellung haben

Kann in einer Availability Zone AZ-übergreifend oder Regionen-übergreifend sein

Nicht-Aurora: Upgrades der Datenbank-Engine-Version erfolgen auf der Primärseite; Aurora: alle Instanzen werden zusammen aktualisiert

Nicht-Aurora: das Upgrade der Datenbank-Engine ist in jeder Region unabhängig; Aurora: alle Instanzen werden zusammen aktualisiert

Nicht-Aurora: Upgrade der Datenbank-Engine-Version ist unabhängig von der Quellinstanz; Aurora: alle Instanzen werden zusammen aktualisiert

Automatisches Failover auf Standby (nicht Aurora) oder Lesereplikate (Aurora), wenn ein Problem erkannt wird

Aurora erlaubt die Heraufstufung einer sekundären Region zur primären

Kann manuell zu einer eigenständigen Datenbank-Instance (nicht Aurora) oder zur primären Instance (Aurora) hochgestuft werden

Sie können Read Replica mit anderen Amazon RDS-Funktionen kombinieren, um die Vorteile beider zu nutzen. Beispielsweise können Sie eine Quelldatenbank als Multi-AZ für hohe Verfügbarkeit konfigurieren und eine Read Replica (in Single-AZ) für eine Lese-Skalierbarkeit erstellen. Oder Sie können die Aurora Global Database verwenden, um Daten aus Ihrer Multi-AZ Aurora-Bereitstellung in weitere Regionen zu replizieren.

Mit RDS für MySQL, RDS für MariaDB, RDS für PostgreSQL und RDS für Oracle können Sie auch die Read Replica als Multi-AZ festlegen. Dadurch können Sie die Read Replica als Notfallwiederherstellungsziel verwenden. Wenn Sie die Read Replica zu einer eigenständigen Datenbank hochstufen, ist sie bereits Multi-AZ-fähig.