Zugriff auf Cloud SQL-Instanz konfigurieren

Mit dem BigQuery Data Transfer Service können Sie Daten von einer privaten Cloud SQL-Instanz über verschiedene Google Cloud -Projekte über eine interne IP-Adresse übertragen. Wenn Sie diese private Verbindung für den MySQL-Connector für BigQuery Data Transfer Service oder den PostgreSQL-Connector für BigQuery Data Transfer Service herstellen möchten, konfigurieren Sie Virtual Private Cloud-Peering, einen Cloud SQL-Proxy und einen Netzwerkanhang.

Architektur

Wenn Sie Daten von einer privaten Cloud SQL-Instanz in einem Projekt zu BigQuery in einem anderen Projekt übertragen möchten, benötigt der BigQuery Data Transfer Service ein Connector-Netzwerk, um die private Netzwerkverbindung zu überbrücken.

VPC-Netzwerk-Peering unterstützt nur die Kommunikation zwischen direkt verbundenen Peering-Netzwerken und leitet keinen Traffic von anderen Verbindungen weiter. Daher kann Traffic, der über einen Private Service Connect-Netzwerkanhang in ein VPC-Netzwerk gelangt, keine Peering-Verbindung durchqueren, um ein Cloud SQL-Peering-Netzwerk zu erreichen. Um diese Verbindung herzustellen, führt eine Compute Engine-VM im Connector-Netzwerk den Cloud SQL Auth-Proxy aus. Der Proxy beendet die eingehende Verbindung vom Netzwerkanhang und stellt eine authentifizierte Verbindung zur Cloud SQL-Instanz über das Peering-Netzwerk her.

Das folgende Diagramm zeigt die Netzwerkkomponenten und den Datenpfad zwischen dem BigQuery Data Transfer Service und einer privaten Cloud SQL-Instanz:

Netzwerkarchitektur für BigQuery Data Transfer Service zu Cloud SQL.

Hinweis

Folgende Voraussetzungen müssen erfüllt sein:

  • Zugriff auf ein Google Cloud -Projekt mit dem BigQuery Data Transfer Service-Connector und ein weiteres Google Cloud -Projekt mit der Cloud SQL-Instanz.
  • Eine vorhandene MySQL- oder PostgreSQL-Datenbank in einem Google Cloud -Projekt.
  • Die entsprechenden Berechtigungen zum Erstellen einer VPC, zum Erstellen von Firewallregeln und zum Installieren von Software.
  • Eine VM-Instanz.

VPC-Peering einrichten

Wenn Sie VPC-Peering einrichten möchten, müssen Sie VPC-Peering über das BigQuery Data Transfer Service-Connector-Projekt erstellen, VPC-Peering im Cloud SQL-Datenbankprojekt zum BigQuery Data Transfer Service-Projekt erstellen und die Routen und Firewallregeln konfigurieren.

VPC-Peering über das BigQuery Data Transfer Service-Connector-Projekt erstellen

  1. Rufen Sie in der Google Cloud Console die Seite VPC-Netzwerk-Peering für Ihr BigQuery Data Transfer Service-Connector-Projekt auf.

    Zum VPC-Netzwerk-Peering

  2. Klicken Sie auf Peering-Verbindung erstellen.

  3. Geben Sie im Feld Name einen Namen für die Peering-Konfiguration ein.

  4. Wählen Sie unter Mein VPC-Netzwerk das VPC-Netzwerk aus, mit dem Sie im BigQuery Data Transfer Service-Connector-Projekt eine Peering-Verbindung herstellen möchten.

  5. Wählen Sie für Peering-VPC-Netzwerk die Option In einem anderen Projekt aus.

  6. Geben Sie unter Projekt-ID die Projekt-ID des Cloud SQL-Projekts ein.

  7. Geben Sie unter VPC-Netzwerkname den Namen des VPC-Netzwerk im Cloud SQL-Projekt ein.

  8. Klicken Sie auf Erstellen.

VPC-Peering im Cloud SQL-Datenbankprojekt erstellen

So erstellen Sie ein VPC-Peering im Cloud SQL-Datenbankprojekt zum BigQuery Data Transfer Service-Projekt:

  1. Rufen Sie in der Google Cloud Console die Seite VPC-Netzwerk-Peering für Ihr BigQuery Data Transfer Service-Connector-Projekt auf.

    Zum VPC-Netzwerk-Peering

  2. Klicken Sie auf Peering-Verbindung erstellen.

  3. Geben Sie im Feld Name einen Namen für die Peering-Konfiguration ein.

  4. Wählen Sie das VPC-Netzwerk aus, mit dem Sie im Cloud SQL-Datenbankprojekt eine Peering-Verbindung herstellen möchten.

  5. Geben Sie als Peer-Projekt-ID die Projekt-ID des BigQuery Data Transfer Service-Projekts ein.

  6. Geben Sie für Peering-VPC-Netzwerk den Namen des VPC-Netzwerks im BigQuery Data Transfer Service-Connector-Projekt ein.

  7. Klicken Sie auf Erstellen.

Routen und Firewallregeln konfigurieren

Wenn Sie beim Konfigurieren der Peering-Verbindungen keine Import-/Exportrouten ausgewählt haben, gehen Sie so vor:

  1. Rufen Sie die Seite Routen für Ihr BigQuery Data Transfer Service-Connector-Projekt auf.

    Zur Seite „Routes“

  2. Prüfen Sie, ob die Routen vorhanden sind, um Traffic zwischen den Peering-VPC-Umgebungen zuzulassen.

  3. Rufen Sie die Seite Firewallrichtlinien auf.

    Zu den Firewall-Richtlinien

  4. Erstellen Sie Firewallregeln, um Traffic über die erforderlichen Ports (z. B. Port 3306 für MySQL und Port 5432 für PostgreSQL) zwischen den Peering-Netzwerken zuzulassen.

  5. Fügen Sie die benutzerdefinierten Firewallregeln, die für das BigQuery Data Transfer Service-Connector-Projekt erforderlich sind, dem in Cloud SQL gehosteten Datenbankprojekt hinzu.

  6. Konfigurieren Sie Routen und Firewallregeln für Ihr Projekt mit der Cloud SQL-Instanz wie in den vorherigen Schritten.

Cloud SQL-Proxy einrichten

  1. Stellen Sie eine SSH-Verbindung zu einer VM-Instanz im BigQuery Data Transfer Service-Connector-Projekt her.

  2. Laden Sie im Terminal den Cloud SQL-Proxy herunter:

    wget https://dl.google.com/cloudsql/cloud_sql_proxy.linux.amd64 -O cloud_sql_proxy
    
  3. Aktualisieren Sie die Berechtigungen für die heruntergeladenen Dateien:

    chmod +x cloud_sql_proxy
    
  4. Führen Sie den Cloud SQL-Proxy aus:

    ./cloud_sql_proxy -instances=NAME=tcp:3306 or 5432 &
    

    Ersetzen Sie NAME durch den Namen Ihrer Cloud SQL-Instanzverbindung.

Verbindung zur internen Cloud SQL-IP-Adresse herstellen

  1. Verwenden Sie für Verbindungen die interne IP-Adresse der Cloud SQL-Instanz.
  2. Konfigurieren Sie Ihre Anwendung oder Ihr Tool so, dass eine Verbindung zur internen IP-Adresse hergestellt wird. Geben Sie dabei die entsprechenden Anmeldedaten und Datenbankdetails an.

Wenn Sie eine Verbindung von einem anderen Google Cloud -Projekt herstellen, verwenden Sie die interne IP-Adresse der Proxy-VM, die Sie zuvor bereitgestellt haben. Diese Lösung behebt Probleme mit transitivem Peering.

Netzwerkanhang erstellen

So erstellen Sie den Netzwerkanhang im Connector-Projekt für BigQuery Data Transfer Service:

  1. Rufen Sie in der Google Cloud Console die Seite Netzwerkanhänge auf.

    Zu „Netzwerkanhänge“

  2. Klicken Sie auf Netzwerkanhang erstellen.

  3. Geben Sie einen Namen für den Netzwerkanhang ein.

  4. Wählen Sie das entsprechende VPC-Netzwerk aus.

  5. Geben Sie unter Region die Region an, in der sich Ihr BigQuery Data Transfer Service-Connector befindet.

  6. Wählen Sie für Subnetzwerk die Option aus, die zu Ihrer Einrichtung passt.

  7. Klicken Sie auf Netzwerkanhang erstellen.

Verbindung testen

  1. Prüfen Sie, ob die VM mit dem Cloud SQL-Proxy eine Verbindung zur Cloud SQL-Instanz herstellen kann:

    mysql -u USERNAME -p -h IP_ADDRESS
    

    Ersetzen Sie Folgendes:

    • USERNAME: Der Nutzername des Datenbanknutzers.
    • IP_ADDRESS: die IP-Adresse der Cloud SQL-Instanz
  2. Achten Sie darauf, dass Anwendungen im BigQuery Data Transfer Service-Connector-Projekt über die interne IP-Adresse eine Verbindung zur Cloud SQL-Instanz herstellen können.

Fehlerbehebung

Wenn Sie Probleme beim Einrichten Ihrer Netzwerkkonfiguration haben, gehen Sie so vor:

  • Prüfen Sie, ob das VPC-Peering eingerichtet ist und die Routen richtig konfiguriert sind.
  • Prüfen Sie, ob die Firewallregeln Traffic auf den erforderlichen Ports zulassen.
  • Prüfen Sie die Cloud SQL-Proxy-Logs auf Fehler und stellen Sie sicher, dass der Proxy ordnungsgemäß ausgeführt wird.
  • Prüfen Sie, ob der Netzwerkanhang richtig konfiguriert und verbunden ist.