Netzwerkverbindungsoptionen

Übersicht

Um mit Datastream einen Stream aus der Quelldatenbank zum Ziel erstellen können, müssen Sie eine Verbindung zur Quelldatenbank herstellen.

Datastream unterstützt die Netzwerkverbindungsmethoden "IP-Zulassungsliste", "Weiterleitungs-SSH-Tunnel" und "VPC-Peering".

Anhand der Informationen in der folgenden Tabelle können Sie entscheiden, welche Methode für Ihre jeweilige Arbeitslast am besten geeignet ist.

Netzwerkmethode Beschreibung Vorteile Nachteile
IP-Zulassungsliste

Bei dieser Methode wird der Quelldatenbankserver so konfiguriert, dass eingehende Verbindungen von den externen IP-Adressen von Datastream zugelassen werden. Wie Sie die IP-Adressen für Ihre Regionen finden, erfahren Sie unter IP-Zulassungslisten und Regionen.

  • Einfach zu konfigurieren
  • Die Quelldatenbank ist über eine öffentliche IP-Adresse zugänglich.
  • Die Verbindung ist standardmäßig nicht verschlüsselt. SSL muss in der Quelldatenbank aktiviert werden, um die Verbindung zu verschlüsseln.
  • Die Konfiguration der Firewall erfordert möglicherweise Unterstützung von der IT-Abteilung.
Weiterleitungs-SSH-Tunnel

Stellen Sie über einen Weiterleitungs-SSH-Tunnel eine verschlüsselte Verbindung über öffentliche Netzwerke zwischen Datastream und der Quelle her.

Weitere Informationen zu SSH-Tunneln.

  • Sicher
  • Eingeschränkte Bandbreite
  • Sie müssen den Bastion Host einrichten und pflegen.
VPC-Peering Dafür müssen Sie eine private Verbindungskonfiguration erstellen. Datastream verwendet diese Konfiguration für die Kommunikation mit der Datenquelle über ein privates Netzwerk. Diese Kommunikation erfolgt über eine VPC-Peering-Verbindung (Virtual Private Cloud).
  • Sicherer, privater Kanal
  • Einfach zu konfigurieren
  • Erfordert eine private Netzwerkverbindung (VPN, Interconnect usw.) zwischen der Datenbank und Google Cloud.

Verbindung mithilfe von IP-Zulassungslisten konfigurieren

Damit Datastream Daten aus einer Quelldatenbank in ein Ziel übertragen kann, muss das Ziel zuerst eine Verbindung zu dieser Datenbank herstellen.

Eine Möglichkeit, diese Verbindung zu konfigurieren, ist über IP-Zulassungslisten. Eine öffentliche IP-Verbindung ist am besten geeignet, wenn sich die Quelldatenbank außerhalb von Google Cloud befindet und eine extern zugängliche IPv4-Adresse und einen TCP-Port hat.

Wenn sich Ihre Quelldatenbank außerhalb von Google Cloud befindet, fügen Sie die öffentlichen IP-Adressen von Datastream als Firewallregel für eingehenden Traffic im Quellnetzwerk hinzu. Gehen Sie so allgemein so vor (Ihre spezifischen Netzwerkeinstellungen können abweichen):

  1. Öffnen Sie die Netzwerk-Firewallregeln Ihres Quelldatenbankcomputers.

  2. Erstellen Sie eine Regel für eingehenden Traffic.

  3. Legen Sie die IP-Adresse der Quelldatenbank auf die IP-Adressen von Datastream fest.

  4. Legen Sie TCP als Protokoll fest.

  5. Legen Sie den mit dem TCP-Protokoll verknüpften Port fest. Standardwerte sind:

    • 1521 für eine Oracle-Datenbank
    • 3306für eine MySQL-Datenbank
    • 5432für eine PostgreSQL-Datenbank
    • 1433 für eine SQL Server-Datenbank
  6. Speichern Sie die Firewallregel und beenden Sie sie.

SSH-Tunnel verwenden

In den folgenden Schritten wird beschrieben, wie Sie eine Verbindung zu einer Quelldatenbank über einen Weiterleitungs-SSH-Tunnel herstellen.

Schritt 1: Host auswählen, auf dem der Tunnel beendet werden soll

Der erste Schritt zum Einrichten des Zugriffs über den SSH-Tunnel für Ihre Datenbank besteht in der Auswahl des Hosts, auf dem der Tunnel beendet wird. Der Tunnel kann entweder auf dem Datenbankhost selbst oder auf einem separaten Host (dem Tunnelserver) beendet werden.

Datenbankserver verwenden

Der Abschluss des Tunnels in der Datenbank hat den Vorteil der Einfachheit. Da ein Host weniger beteiligt ist, fallen keine zusätzlichen Maschinen und damit verbundene Kosten an. Der Nachteil ist, dass sich Ihr Datenbankserver möglicherweise in einem geschützten Netzwerk befindet, das keinen direkten Zugriff über das Internet hat.

Tunnelserver verwenden

Das Beenden des Tunnels auf einem separaten Server hat den Vorteil, dass Ihr Datenbankserver nicht über das Internet zugänglich ist. Wenn der Tunnelserver manipuliert wurde, kann er schnell vom Datenbankserver entfernt werden. Wir empfehlen, nicht unbedingt benötigte Software und Nutzer vom Tunnelserver zu entfernen und mithilfe von Tools wie einem Intrusion Detection System (IDS) genau zu überwachen.

Der Tunnelserver kann ein beliebiger Unix- oder Linux-Host sein, der:

  1. Kann mit SSH aus dem Internet aufgerufen werden.
  2. Kann auf die Datenbank zugreifen.

Schritt 2: IP-Zulassungsliste erstellen

Der zweite Schritt zur Einrichtung des SSH-Tunnelzugangs für Ihre Datenbank besteht darin, dass der Netzwerktraffic den Tunnelserver oder den Datenbankhost über SSH erreichen kann, was in der Regel über TCP-Port 22 geschieht.

Erlauben Sie Netzwerktraffic von jeder der IP-Adressen für die Region, in der Datastreamressourcen erstellt werden.

Schritt 3: SSH-Tunnel verwenden

Geben Sie die Tunneldetails in der Konfiguration des Verbindungsprofils an. Weitere Informationen finden Sie unter Verbindungsprofil erstellen.

Zum Authentifizieren der SSH-Tunnelsitzung benötigt Datastream entweder das Passwort für das Tunnelkonto oder einen eindeutigen privaten Schlüssel. Wenn Sie einen eindeutigen privaten Schlüssel verwenden möchten, können Sie Schlüssel mit OpenSSH- oder OpenSSL-Befehlszeilentools generieren.

Datastream speichert den privaten Schlüssel sicher als Teil der Konfiguration des Datastream-Verbindungsprofils. Sie müssen den öffentlichen Schlüssel manuell der Datei ~/.ssh/authorized_keys des Bastion Hosts hinzufügen.

Private und öffentliche Schlüssel generieren

Sie können SSH-Schlüssel mit der folgenden Methode generieren:

  • ssh-keygen: Ein OpenSSH-Befehlszeilentool zum Generieren von SSH-Schlüsselpaaren.

    Nützliche Flags:

    • -t: Gibt den Typ des zu erstellenden Schlüssels an, z. B.:

      ssh-keygen -t rsa

      ssh-keygen -t ed25519

    • -b: Gibt die Schlüssellänge im zu erstellenden Schlüssel an. Beispiel:

      ssh-keygen -t rsa -b 2048

    • -y: Liest eine Datei im privaten OpenSSH-Format und gibt einen öffentlichen Schlüssel für OpenSSH in die Standardausgabe aus.

    • -f: Gibt den Dateinamen der Schlüsseldatei an, z. B.:

      ssh-keygen -y [-f KEY_FILENAME]

    Weitere Informationen zu unterstützten Flags finden Sie in der OpenBSD-Dokumentation.

So generieren Sie einen privaten PEM-Schlüssel:

  • openssl genpkey: Ein OpenSSL-Befehlszeilentool zum Generieren eines privaten PEM-Schlüssels.

    Nützliche Flags:

    • algorithm: Gibt den zu verwendenden Algorithmus für öffentliche Schlüssel an, z. B.:

      openssl genpkey -algorithm RSA

    • -out: Gibt den Dateinamen an, in den der Schlüssel ausgegeben werden soll. Beispiel:

      openssl genpkey -algorithm RSA -out PRIVATE_KEY_FILENAME.pem

    Weitere Informationen zu unterstützten Flags finden Sie in der OpenSSL-Dokumentation.

Private Verbindung verwenden

Private Verbindungen sind Verbindungen zwischen Ihrem VPC-Netzwerk und dem privaten Datastream-Netzwerk. Dadurch kann Datastream über interne IP-Adressen mit Ressourcen kommunizieren. Die Verwendung privater Verbindungen stellt eine dedizierte Verbindung im Datastream-Netzwerk her, das heißt, keine anderen Kunden können sie nutzen.

Wenn sich Ihre Quelldatenbank außerhalb von Google Cloud befindet, ermöglicht die private Konnektivität Datastream die Kommunikation mit Ihrer Datenbank über VPN oder Interconnect.

Nachdem eine Konfiguration für private Verbindungen erstellt wurde, kann eine einzelne Konfiguration für alle Streams in einem Projekt innerhalb einer einzelnen Region verwendet werden.

Zum Einrichten privater Verbindungen ist grundsätzlich Folgendes erforderlich:

  • Eine vorhandene Virtual Private Cloud (VPC)
  • Einen verfügbaren IP-Bereich mit einem CIDR-Block von /29

Wenn Ihr Projekt eine freigegebene VPC verwendet, müssen Sie auch die Datastream und Google Compute Engine APIs aktivieren und dem Datastream-Dienstkonto im Hostprojekt Berechtigungen erteilen.

Weitere Informationen zum Erstellen einer privaten Verbindungskonfiguration.

Nächste Schritte