Private Verbindung

Übersicht

Private Verbindungen sind Verbindungen zwischen Ihrem VPC-Netzwerk (Virtual Private Cloud) und dem privaten Netzwerk von Datastream. 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.

Sie können private Verbindungen verwenden, um Datastream mit einer beliebigen Quelle zu verbinden. Nur VPC-Netzwerke, die direkt per Peering verbunden sind, können jedoch miteinander kommunizieren.

Transitives Peering wird nicht unterstützt. Wenn das Netzwerk, mit dem Datastream per Peering verbunden ist, nicht das Netzwerk ist, in dem Ihre Quelle gehostet wird, ist ein Proxy erforderlich.

  • Wenn die Quelle Cloud SQL ist, benötigen Sie einen Cloud SQL Auth-Proxy.
  • Wenn Ihre Quelle entweder in einer anderen VPC oder außerhalb des Google-Netzwerks gehostet wird und das VPC-Netzwerk, mit dem Datastream per Peering verbunden ist, keine direkte Verbindung zu der VPC oder dem Netzwerk hat, in dem die Quelle gehostet wird, benötigen Sie einen Reverse-Proxy.

Auf dieser Seite erfahren Sie, wie Sie mithilfe von Proxys eine private Verbindung zwischen Datastream und Cloud SQL oder zwischen Datastream und Quellen herstellen, die entweder in einer anderen VPC oder außerhalb des Google-Netzwerks gehostet werden.

Warum ist ein Cloud SQL Auth-Proxy erforderlich?

Wenn Sie eine Cloud SQL-Instanz für die Verwendung privater IP-Adressen konfigurieren, verwenden Sie eine VPC-Peering-Verbindung zwischen Ihrem VPC-Netzwerk und dem VPC-Netzwerk der zugrunde liegenden Google-Dienste, in denen sich Ihre Cloud SQL-Instanz befindet.

Da das Netzwerk von Datastream nicht per Peering direkt mit dem privaten Dienstnetzwerk von Cloud SQL verbunden werden kann und VPC-Peering nicht transitiv ist, ist ein Cloud SQL Auth-Proxy erforderlich, um die Verbindung von Datastream zu Ihrer Cloud SQL-Instanz herzustellen.

Das folgende Diagramm zeigt, wie Sie mit einem Cloud SQL Auth-Proxy eine private Verbindung zwischen Datastream und Cloud SQL herstellen.

Diagramm: Datastream-Nutzerfluss

Cloud SQL Auth-Proxy einrichten

  1. Identifizieren Sie das VPC-Netzwerk, über das Datastream eine Verbindung zur Cloud SQL-Quellinstanz herstellt. Dieses VPC-Netzwerk sollte eine Verbindung zur Instanz herstellen können.

  2. Erstellen Sie in diesem VPC-Netzwerk eine neue VM mit dem grundlegenden Image von Debian oder Ubuntu. Diese VM hostet den Cloud SQL Auth-Proxy-Client.

  3. Folgen Sie dieser Anleitung, um einen Cloud SQL Auth-Proxy einzurichten.

  4. Erstellen Sie eine Konfiguration für private Verbindungen in Datastream, um VPC-Peering zwischen Ihrer VPC und der VPC von Datastream einzurichten.

  5. Erstellen Sie ein Verbindungsprofil in Datastream. Geben Sie für die Verbindungsdetails die IP-Adresse und den Port der VM ein, die den Proxyclient hostet.

Warum wird ein Reverse-Proxy benötigt?

Wenn das VPC-Netzwerk von Datastream per Peering mit Ihrem VPC-Netzwerk ("Network1") verbunden ist und Ihre Quelle über ein anderes VPC-Netzwerk ("Network2") zugänglich ist, kann Datastream nicht allein per VPC-Netzwerk-Peering mit der Quelle kommunizieren. Zum Herstellen der Verbindung zwischen Datastream und der Quelle ist auch ein Reverse-Proxy erforderlich.

Im folgenden Diagramm wird gezeigt, wie ein Reverse-Proxy verwendet wird, um eine private Verbindung zwischen Datastream und einer Quelle herzustellen, die außerhalb des Google-Netzwerks gehostet wird.

Diagramm: Datastream-Nutzerfluss

Reverse-Proxy einrichten

  1. Identifizieren Sie das VPC-Netzwerk, über das Datastream eine Verbindung zur Quelle herstellt.
  2. Erstellen Sie in diesem VPC-Netzwerk eine neue VM mit dem grundlegenden Image von Debian oder Ubuntu. Auf dieser VM wird der Reverse-Proxy gehostet.
  3. Kontrollieren Sie, dass sich das Subnetz in derselben Region wie Datastream befindet und dass der Reverse-Proxy Traffic an die Quelle weiterleitet (und nicht von ihr weg).
  4. Bestätigen Sie, dass die VM mit der Quelle kommunizieren kann, indem Sie ping oder einen telnet-Befehl von der VM zur internen IP-Adresse und zum Port der Quelle ausführen.
  5. Stellen Sie eine SSH-Verbindung zum Reverse-Proxy her und erstellen Sie mit dem folgenden Skript eine Datei:
        #! /bin/bash
    
        export DB_ADDR=[IP]
        export DB_PORT=[PORT]
    
        export ETH_NAME=$(ip -o link show | awk -F': ' '{print $2}' |
        grep -v lo)
    
        export REMOTE_IP_ADDR=$(getent hosts $DB_ADDR | awk '{print $1}')
    
        export LOCAL_IP_ADDR=$(ip -4 addr show $ETH_NAME |
        grep -Po 'inet \K[\d.]+')
    
        echo 1 > /proc/sys/net/ipv4/ip_forward
        iptables -t nat -A PREROUTING -p tcp -m tcp --dport $DB_PORT
        -j DNAT --to-destination       $REMOTE_IP_ADDR:$DB_PORT
        iptables -t nat -A POSTROUTING -j SNAT --to-source $LOCAL_IP_ADDR
        
  6. Führen Sie das Skript aus.
  7. Erstellen Sie eine Konfiguration für private Verbindungen in Datastream, um VPC-Peering zwischen Ihrer VPC und der VPC von Datastream einzurichten.
  8. Erstellen Sie ein Verbindungsprofil in Datastream. Geben Sie für die Verbindungsdetails die interne IP-Adresse und den Port der VM ein, auf der der Proxy gehostet wird.