Informationen zur Replikation von einem externen Server

Auf dieser Seite wird eine Konfiguration beschrieben, mit der Daten von einem Quelldatenbankserver in MySQL-Replikate repliziert werden. Diese Konfiguration wird mitunter als externe Masterinstanz bezeichnet.

Der Quelldatenbankserver kann ein beliebiger MySQL-Server sein, einschließlich Servern, die in anderen Google Cloud-Diensten wie Compute Engine oder bei anderen Cloudanbietern wie AWS RDS ausgeführt werden, sofern sie die Anforderungen erfüllen.

Eine Schritt-für-Schritt-Anleitung zum Einrichten dieser Konfiguration finden Sie unter Von externem Server replizieren.

Anwendungsfälle

Sie können mit dieser Konfiguration Folgendes tun:

  1. Daten mit minimaler Ausfallzeit von Ihrem selbstverwalteten MySQL-Server zu Google Cloud migrieren.

    Für die Migration wird eine temporäre Replikationskonfiguration verwendet. Weitere Informationen finden Sie unter Daten zu Cloud SQL migrieren.

  2. 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.

Konfigurationsbeschreibung

Diese Konfiguration 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 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. Sie können die Quelldarstellungsinstanz nicht aktualisieren.

Das folgende Diagramm zeigt diese Instanzen:

Diagramm der drei Instanzen einer externen Replikationskonfiguration

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 über öffentliche Netzwerke übertragen werden. Verwenden Sie daher zwischen dem Quelldatenbankserver und den Replikaten immer eine SSL/TLS-Verbindung.

SSL/TLS-Optionen

Sie haben zwei Möglichkeiten für die SSL/TLS-Konfiguration:

  • 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.

  • Server-Client-Authentifizierung

    Bei einem Verbindungsaufbau vom Replikat zur primären Instanz authentifiziert die Replikatdatenbank die primäre Instanz und die primäre authentifiziert das Replikat.

Verwenden Sie die Server-Client-Authentifizierung, da sie die höhere Sicherheit bietet. 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.

Nur für Serverauthentifizierung vorbereiten

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.

Weitere Informationen zum Erstellen von Zertifikaten und Schlüsseln für Ihren externen Server finden Sie unter SSL- und RSA-Zertifikate und -Schlüssel mit MySQL erstellen.

Für Server-Client-Authentifizierung vorbereiten

Wenn Sie die Server-Client-Authentifizierung verwenden möchten, geben Sie beim Erstellen des Replikats Folgendes an:

  • 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.

Weitere Informationen zum Erstellen von Zertifikaten und Schlüsseln für Ihren externen Server finden Sie unter SSL- und RSA-Zertifikate und Schlüssel mit MySQL erstellen.

Informationen zum Erstellen mehrerer Replikate vom selben Quelldatenbankserver

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 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. Wichtig ist jedoch, dass Sie innerhalb von 15 Minuten nach der Erstellung jedes Replikats dessen Netzwerkzugriff autorisieren.