Auf dieser Seite wird eine Konfiguration beschrieben, mit der Daten von einem Quelldatenbankserver in MySQL-Replikate repliziert werden. Diese Konfiguration wird mitunter als externer Server bezeichnet.
Der Quelldatenbankserver kann ein beliebiger MySQL-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 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 MySQL-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 MySQL-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
Server-Client-Authentifizierung
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.
Server-Client-Authentifizierung
Bei einem Verbindungsaufbau vom Replikat zur primären Instanz wird die primäre Instanz, die das Replikat authentifiziert, authentifiziert.
Die Server-Client-Authentifizierung bietet die höchste Sicherheit. Wenn Sie jedoch das Clientzertifikat und den privaten Schlüssel beim Erstellen des Replikats nicht angeben möchten, können Sie auch nur die Serverauthentifizierung verwenden.
Geben Sie beim Erstellen des Replikats die folgenden Elemente an, um die Server-Client-Authentifizierung zu verwenden:
- Das x509-PEM-codierte Zertifikat der Zertifizierungsstelle, die das Zertifikat des Quelldatenbankservers signiert hat (
caCertificate
) - Das x509-PEM-codierte Zertifikat, das vom Replikat zur Authentifizierung beim Quelldatenbankserver verwendet wird. (
clientCertificate
) - Der unverschlüsselte, nach PKCS#1 oder PKCS#8 PEM-codierte Schlüssel, der mit dem
clientCertificate
(clientKey
) verknüpft ist.
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.