Auf dieser Seite wird eine Konfiguration beschrieben, mit der Daten von einem Quelldatenbankserver in PostgreSQL-Replikate repliziert werden. Diese Konfiguration wird mitunter als externer Server bezeichnet.
Der Quelldatenbankserver kann ein beliebiger PostgreSQL-Server sein, einschließlich Servern, die in anderen Google Cloud-Diensten wie Cloud SQL oder Compute Engine oder bei anderen Cloudanbietern wie Amazon RDS ausgeführt werden, sofern sie den Anforderungen entsprechen. Eine Schritt-für-Schritt-Anleitung zum Einrichten dieser Konfiguration finden Sie unter Von externem Server replizieren.
Anwendungsfälle für die externe Serverkonfiguration
Mit der Konfiguration von externen Servern können Sie folgende Ziele erreichen:
Daten mit minimaler Ausfallzeit von Ihrem selbstverwalteten PostgreSQL-Server zu Google Cloud migrieren.
Behalten Sie die Colocation und die Kontrolle über Ihren Server bei, während Sie die Verwaltung der Replikate in Cloud SQL verlagern.
Dies wird mitunter als Hybrid-Cloud bezeichnet. Die Replikation zwischen Ihrem selbstverwalteten Server und dem Cloud SQL-Replikat wird unbegrenzt fortgesetzt.
Konfiguration einer externen Replikation
Die Konfiguration einer externen Replikation umfasst die folgenden Instanzen:
- Den von Ihnen verwalteten PostgreSQL-Server, auch als Quelldatenbankserver bezeichnet
Das Cloud SQL-Replikat
Für einen Quelldatenbankserver können mehrere Replikate vorhanden sein.
Die Quelldarstellungsinstanz
Die Quelldarstellungsinstanz ist eine Cloud SQL-Instanz, die den Quelldatenbankserver für das Cloud SQL-Replikat darstellt. Sie ist in der Google Cloud Console sichtbar und sieht wie eine normale Cloud SQL-Instanz aus, enthält jedoch keine Daten, erfordert keine Konfiguration oder Wartung und wirkt sich nicht auf die Abrechnung aus.
Das folgende Diagramm zeigt diese Instanzen:
SSL/TLS-Konfiguration
Für die Replikation von einem externen Server müssen alle Änderungen an den Daten zwischen dem Quelldatenbankserver und den Cloud SQL-Replikaten gesendet werden.
Wenn die Verbindung über ein öffentliches Netzwerk (mithilfe von IP-Zulassungslisten) hergestellt wird, empfiehlt Google die Verwendung einer SSL/TLS-Verschlüsselung für die Verbindung zwischen den Quell- und Zieldatenbanken.
Cloud SQL bietet die folgenden Optionen für die SSL/TLS-Konfiguration:
- Keine: Die Cloud SQL-Zielinstanz stellt ohne Verschlüsselung eine Verbindung zur Quelldatenbank her.
Nur Serverauthentifizierung
Nur Serverauthentifizierung
Bei einem Verbindungsaufbau vom Replikat zur primären Instanz wird die primäre Instanz vom Replikat authentifiziert. Dies stellt sicher, dass das Replikat mit dem richtigen Host verbunden wird und verhindert Man-in-the-Middle-Angriffe. Eine Authentifizierung des Replikats durch die primäre Instanz erfolgt nicht.
Wenn Sie nur die Serverauthentifizierung verwenden möchten, geben Sie bei der Replikaterstellung das x509 PEM-codierte Zertifikat der Zertifizierungsstelle an, die das Zertifikat des externen Servers signiert hat. Die Zertifizierungsstelle darf nur ein einzelnes Zertifikat enthalten, das selbst signiert sein muss. Die Zertifizierungsstelle, die das Zertifikat des Servers signiert hat, muss somit eine Stammzertifizierungsstelle sein.
Mehrere Replikate vom selben Datenbankserver
Sie können mehrere Replikate vom selben Quelldatenbankserver erstellen. Dies ermöglicht es Ihnen, die Bandbreite zu erhöhen oder Replikate in verschiedenen Regionen zu erstellen.
Wenn Sie mehrere Replikate in derselben Region erstellen, können alle Replikate dieselbe Quelldarstellungsinstanz oder unterschiedliche Instanzen verwenden. Wenn Sie in der Google Cloud Console mehrere Replikate erstellen, haben diese unterschiedliche Quelldarstellungsinstanzen.
Wenn Sie mehrere Replikate in verschiedenen Regionen erstellen, müssen die Replikate unterschiedliche Quelldarstellungsinstanzen haben.
Sie können in einem Vorgang jeweils nur ein Replikat erstellen. Nachdem Sie das erste Replikat konfiguriert haben, können Sie die Konfiguration für das nächste Replikat erstellen. Sie brauchen mit dem Erstellen weiterer Replikate nicht zu warten, bis das erste Replikat voll funktionsfähig ist.
Kaskadierende Replikate für einen externen Server
Mit kaskadierenden Lesereplikaten können Sie ein Lesereplikat unter einem anderen Lesereplikat in derselben oder einer anderen Region erstellen. Sie können bis zu vier kaskadierende Replikate hinzufügen, einschließlich der primären Instanz. Wenn Sie das Replikat oben an eine kaskadierende Hierarchie hochstufen, wird es zur primären Instanz und die kaskadierenden Replikate werden weiterhin repliziert.
Mit externen Servern können Sie Lesereplikate unter einem externen Serverreplikat nach der Migration Ihrer Daten erstellen, aber bevor Sie das externe Serverreplikat zur primären Datenbank hochstufen. Auf diese Weise können Sie Lesereplikattopologien testen, bevor das externe Serverreplikat hochgestuft wird.