Private Verbindung über Proxys herstellen

Auf dieser Seite erfahren Sie, wie Sie mithilfe von Proxys eine private Verbindung zwischen Database Migration Service und Ihrer Datenquelle herstellen. Ihre Datenquelle kann Cloud SQL oder eine Quelle sein, die entweder in einer anderen Virtual Private Cloud (VPC) oder außerhalb des Netzwerks von Google Cloud gehostet wird.

Eine private Verbindung ist eine private, dedizierte Verbindung zwischen Ihrem VPC-Netzwerk und dem privaten Netzwerk von Database Migration Service. Das bedeutet, dass keine anderen Kunden die Verbindung nutzen können. Über die private Verbindung kann der Database Migration Service über interne IP-Adressen mit Ressourcen kommunizieren.

Sie können private Verbindungen verwenden, um Database Migration Service mit einer beliebigen Quelle zu verbinden. Nur VPC-Netzwerke, die Sie per Peering verbinden, können jedoch miteinander kommunizieren.

Transitives Peering wird nicht unterstützt. Wenn Ihre Quelle entweder in einer anderen VPC oder außerhalb des Google Cloud -Netzwerks gehostet wird und das VPC-Netzwerk, mit dem der Database Migration Service 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.

Reverse-Proxy einrichten

Wenn das VPC-Netzwerk des Database Migration Service per Peering mit Ihrem VPC-Netzwerk verbunden ist und Ihre Quelle über ein anderes VPC-Netzwerk zugänglich ist, kann der Database Migration Service nicht allein per VPC-Netzwerk-Peering mit der Quelle kommunizieren. Zum Herstellen der Verbindung zwischen Database Migration Service 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 Database Migration Service und einer Quelle herzustellen, die außerhalb des -Netzwerks gehostet wird. In diesem Diagramm ist VPC-Netzwerk 1 Ihr VPC-Netzwerk und VPC-Netzwerk 2 das andere VPC-Netzwerk, über das auf Ihre Quelle zugegriffen werden kann.

Nutzerflussdiagramm für den Database Migration Service

So stellen Sie mit einem Reverse-Proxy eine private Verbindung zwischen Database Migration Service und Cloud SQL her:

  1. Geben Sie das VPC-Netzwerk an, über das Database Migration Service eine Verbindung zur Quelle herstellen soll.

  2. Erstellen Sie in diesem VPC-Netzwerk eine VM mit dem grundlegenden Image von Debian oder Ubuntu. Auf dieser VM wird der Reverse-Proxy gehostet.

  3. Prüfen Sie, ob sich das Subnetz in derselben Region wie Database Migration Service 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. Verwenden Sie das folgende Script, um eine SSH-Verbindung zum Reverse-Proxy herzustellen und eine Datei zu erstellen:

    #! /bin/bash
    
    export DB_ADDR=SOURCE_PRIVATE_IP
    export DB_PORT=DATABASE_PORT
    
    # Enable the VM to receive packets whose destinations do
    # not match any running process local to the VM
    echo 1 > /proc/sys/net/ipv4/ip_forward
    
    # Ask the Metadata server for the IP address of the VM nic0
    # network interface:
    md_url_prefix="http://169.254.169.254/computeMetadata/v1/instance"
    vm_nic_ip="$(curl -H "Metadata-Flavor: Google" ${md_url_prefix}/network-interfaces/0/ip)"
    
    # Clear any existing iptables NAT table entries (all chains):
    iptables -t nat -F
    
    # Create a NAT table entry in the prerouting chain, matching
    # any packets with destination database port, changing the destination
    # IP address of the packet to your source instance IP address:
    iptables -t nat -A PREROUTING \
         -p tcp --dport $DB_PORT \
         -j DNAT \
         --to-destination $DB_ADDR
    
    # Create a NAT table entry in the postrouting chain, matching
    # any packets with destination database port, changing the source IP
    # address of the packet to the NAT VM's primary internal IPv4 address:
    iptables -t nat -A POSTROUTING \
         -p tcp --dport $DB_PORT \
         -j SNAT \
         --to-source $vm_nic_ip
    
    # Save iptables configuration:
    iptables-save
  6. Führen Sie das Skript aus.

  7. Erstellen Sie eine Konfiguration für private Verbindungen im Database Migration Service, um VPC-Peering zwischen Ihrer VPC und der VPC des Database Migration Service einzurichten.

  8. Erstellen Sie ein Verbindungsprofil im Database Migration Service. Geben Sie für die Verbindungsdetails die interne IP-Adresse und den Port der VM ein, die den Proxy hostet.

Nächste Schritte