Routing für Private Service Connect-Schnittstellen konfigurieren

Auf dieser Seite wird beschrieben, wie Sie das Routing für virtuelle und dynamische Private Service Connect-Schnittstellen konfigurieren.

Traffic über eine Private Service Connect-Schnittstelle weiterleiten

Nachdem Sie eine Private Service Connect-Schnittstelle erstellt haben, müssen Sie den Traffic über die Schnittstelle weiterleiten, indem Sie das Gastbetriebssystem (Gast-OS) auf der VM der Schnittstelle konfigurieren.

SSH-Verbindung zulassen

Achten Sie darauf, dass Firewallregeln konfiguriert sind, um eingehende SSH-Verbindungen zur VM Ihrer Private Service Connect-Schnittstelle zuzulassen.

Namen Ihrer Private Service Connect-Schnittstelle finden Google Cloud

Zum Konfigurieren des Routings benötigen Sie den Google Cloud Namen Ihrer Private Service Connect-Schnittstelle.

Verwenden Sie das Google Cloud CLI, um den Google Cloud Namen einer dynamischen Private Service Connect-Schnittstelle zu ermitteln.

Console

  1. Rufen Sie in der Google Cloud Console die Seite VM-Instanzen auf:

    Zu Seite „VM-Instanzen“

  2. Klicken Sie auf den Namen der VM mit Ihrer Private Service Connect-Schnittstelle.

  3. Suchen Sie im Abschnitt Netzwerkschnittstellen den Namen Ihrer virtuellen Private Service Connect-Schnittstelle, z. B. nic1.

gcloud

  1. Führen Sie den Befehl gcloud compute instances describe aus.

    gcloud compute instances describe VM_NAME \
        --zone=ZONE
    

    Ersetzen Sie Folgendes:

    • VM_NAME: der Name der VM mit Ihrer Private Service Connect-Schnittstelle
    • ZONE: Zone der VM
  2. Suchen Sie in der Ausgabe des Befehls den Google Cloud Namen Ihrer Private Service Connect-Schnittstelle.

    • Bei virtuellen Private Service Connect-Schnittstellen hat der Name das Format nic[interface_number], z. B. nic0 oder nic1.
    • Bei dynamischen Private Service Connect-Schnittstellen hat der Name das Format nic[parent_interface_number.VLAN_ID], z. B. nic0.10 oder nic1.42.

Automatische Verwaltung dynamischer Private Service Connect-Schnittstellen konfigurieren

Wenn Sie das Routing für eine dynamische Private Service Connect-Schnittstelle konfigurieren, aktivieren Sie die automatische Verwaltung dynamischer Netzwerkschnittstellen. Sie müssen dies nur einmal pro VM tun.

Namen des Gastbetriebssystems der Private Service Connect-Schnittstelle ermitteln

Zum Konfigurieren des Routings benötigen Sie den Namen des Gastbetriebssystems Ihrer Private Service Connect-Schnittstelle. Dieser unterscheidet sich vom Namen der Schnittstelle in Google Cloud.

So ermitteln Sie den Namen der Schnittstelle auf einer Debian-VM: Informationen zu VMs mit anderen Betriebssystemen finden Sie in der öffentlichen Dokumentation des Betriebssystems.

  1. Stellen Sie eine Verbindung zur VM Ihrer Private Service Connect-Schnittstelle her.
  2. Führen Sie dazu diesen Befehl aus:

    ip address
    

    Suchen Sie in der Liste der Netzwerkschnittstellen den Namen der Schnittstelle, der der IP-Adresse Ihrer Private Service Connect-Schnittstelle zugeordnet ist. Wenn der Linux-Gastagent beispielsweise die Netzwerkschnittstellen Ihrer VM verwaltet, haben die Namen die folgenden Formate:

    • Virtuelle Private Service Connect-Schnittstellen: ens[number], z. B. ens5.
    • Dynamische Private Service Connect-Schnittstellen: gcp.ens[parent_interface_number].[VLAN_ID], z. B. gcp.ens5.10.

Gateway-IP-Adresse Ihrer Private Service Connect-Schnittstelle ermitteln

Zum Konfigurieren des Routings benötigen Sie die IP-Adresse des Standardgateways Ihrer Private Service Connect-Schnittstelle.

  1. Stellen Sie eine Verbindung zur VM Ihrer Private Service Connect-Schnittstelle her.
  2. Senden Sie eine GET Anfrage von der VM Ihrer Schnittstelle an den zugehörigen Metadatenserver.

    • Senden Sie für virtuelle Private Service Connect-Schnittstellen die folgende Anfrage:

      curl http://metadata.google.internal/computeMetadata/v1/instance/network-interfaces/INTERFACE_NUMBER/gateway -H "Metadata-Flavor: Google" && echo
      

      Ersetzen Sie INTERFACE_NUMBER durch den Index Ihrer Schnittstelle. Wenn der Google Cloud Name Ihrer Private Service Connect-Schnittstelle nic1ist, verwenden Sie den Wert 1.

    • Senden Sie für dynamische Private Service Connect-Schnittstellen die folgende Anfrage:

      curl http://metadata.google.internal/computeMetadata/v1/instance/vlan-network-interfaces/PARENT_INTERFACE_NUMBER/VLAN_ID/gateway -H "Metadata-Flavor: Google" && echo
      

      Ersetzen Sie Folgendes:

      • PARENT_INTERFACE_NUMBER: der Index der übergeordneten vNIC der dynamischen Private Service Connect-Schnittstelle

        Wenn der Google Cloud Name Ihrer Private Service Connect-Schnittstelle nic1.5ist, verwenden Sie den Wert 1.

      • VLAN_ID: die VLAN-ID Ihrer dynamischen Private Service Connect-Schnittstelle

        Wenn der Google Cloud Name Ihrer Private Service Connect-Schnittstelle nic1.5 ist, verwenden Sie den Wert 5.

    Die Ausgabe der Anfrage zeigt die Gateway-IP-Adresse an.

Routen für Nutzersubnetze hinzufügen

Sie müssen für jedes Nutzersubnetz, das eine Verbindung zu Ihrer Private Service Connect-Schnittstelle herstellt, eine Route zum Standardgateway Ihrer Private Service Connect-Schnittstelle hinzufügen. So kann Traffic, der für das Nutzersubnetz bestimmt ist, über die Private Service Connect-Schnittstelle fließen.

In den folgenden Schritten wird beschrieben, wie Sie die Routingtabelle für eine VM mit dem Debian-Betriebssystem vorübergehend aktualisieren. Wenn Sie die Tabelle dauerhaft aktualisieren oder die Route auf einem anderen Betriebssystem aktualisieren möchten, lesen Sie die öffentliche Dokumentation des Betriebssystems.

  1. Stellen Sie eine Verbindung zur VM Ihrer Private Service Connect-Schnittstelle her.

  2. Führen Sie für jedes Nutzersubnetz, das eine Verbindung zu Ihrer Private Service Connect-Schnittstelle herstellt, folgenden Befehl aus:

    sudo ip route add CONSUMER_SUBNET_RANGE via GATEWAY_IP dev OS_INTERFACE_NAME
    

    Ersetzen Sie Folgendes:

  3. Führen Sie den folgenden Befehl aus, um alle Einträge aus der Cache-Routingtabelle zu entfernen. Dies kann erforderlich sein, wenn Sie eine vorhandene Instanz mit zuvor konfigurierten Routingtabellen verwenden.

    sudo ip route flush cache
    

Private Service Connect-Schnittstelle mit VPC Service Controls verwenden

Sie können Private Service Connect-Schnittstellen mit VPC Service Controls verwenden. So kann ein Producer-VPC-Netzwerk über ein Consumer-VPC-Netzwerk auf Google APIs und -Dienste zugreifen, während die Consumer-Organisation die Sicherheitsvorteile von VPC Service Controls nutzen kann.

Sie können diese Konfiguration mit einer der folgenden Methoden implementieren, die in den folgenden Abschnitten beschrieben werden:

  • Routing des Gastbetriebssystems konfigurieren
  • Private Service Connect-Schnittstelle mit Netzwerk-Namespaces oder VRF isolieren und dann das Routing konfigurieren

Routing des Gastbetriebssystems konfigurieren

Wenn Sie eine Private Service Connect-Schnittstelle mit VPC Service Controls verwenden möchten, konfigurieren Sie das Routing im Gastbetriebssystem der VM der Schnittstelle. Leiten Sie Traffic, der für Google APIs und -Dienste bestimmt ist, über Ihre Private Service Connect-Schnittstelle weiter.

In den folgenden Schritten wird beschrieben, wie Sie die Routingtabelle für eine VM mit dem Debian-Betriebssystem vorübergehend aktualisieren. Wenn Sie die Tabelle dauerhaft aktualisieren oder die Route auf einem anderen Betriebssystem aktualisieren möchten, lesen Sie die öffentliche Dokumentation des Betriebssystems.

So konfigurieren Sie das Routing:

  1. Lassen Sie SSH-Verbindungen zur VM Ihrer Private Service Connect-Schnittstelle zu.
  2. Stellen Sie eine Verbindung zur VM her.
  3. Führen Sie den folgenden Befehl aus, um eine benutzerdefinierte Routingtabelle für Ihre Private Service Connect-Schnittstelle zu erstellen:

    echo "1 ROUTE_TABLE_NAME" | sudo tee -a /etc/iproute2/rt_tables
    

    Ersetzen Sie ROUTE_TABLE_NAME durch einen Namen für die Routingtabelle.

  4. Fügen Sie Ihrer Routingtabelle eine Route für Traffic zu Google APIs und -Diensten hinzu. Wenn Sie beispielsweise eine Route für Traffic zur restricted.googleapis.com virtuellen IP-Adresse (VIP) hinzufügen möchten, verwenden Sie den folgenden Befehl, der den IPv4-Adressbereich für restricted.googleapis.com angibt:

    sudo ip route add 199.36.153.4/30 dev OS_INTERFACE_NAME table ROUTE_TABLE_NAME
    

    Ersetzen Sie OS_INTERFACE_NAME durch den Namen des Gastbetriebssystems für Ihre Private Service Connect-Schnittstelle, z. B. ens5 oder gcp.ens5.10.

  5. Verwenden Sie den folgenden Befehl, um eine Routingregel hinzuzufügen, die die benutzerdefinierte Routingtabelle für Pakete verwendet, die von Ihrer Private Service Connect-Schnittstelle stammen:

    sudo ip rule add from INTERFACE_IP table ROUTE_TABLE_NAME
    

    Ersetzen Sie INTERFACE_IP durch die IP-Adresse Ihrer Private Service Connect-Schnittstelle. Sie finden die IP-Adresse der Schnittstelle, indem Sie die VM der Schnittstelle beschreiben.

  6. Führen Sie den folgenden Befehl aus, um alle Einträge aus der Cache-Routingtabelle zu entfernen. Dies kann erforderlich sein, wenn Sie eine vorhandene Instanz mit zuvor konfigurierten Routingtabellen verwenden.

    sudo ip route flush cache
    

Private Service Connect-Schnittstellen mit Namespaces oder VRF isolieren

Alternativ können Sie Ihre VM so konfigurieren, dass Netzwerk-Namespaces oder Virtual Routing and Forwarding (VRF) verwendet werden, um die Private Service Connect-Schnittstelle zu isolieren. Dieser Ansatz ist hilfreich für Containerarbeitslasten, z. B. für Arbeitslasten, die in Google Kubernetes Engine-Pods ausgeführt werden.

Konfigurieren Sie das Routing mit demselben Kontext, den Sie zum Isolieren der Schnittstelle verwendet haben. Achten Sie darauf, dass sich Arbeitslasten, die Ihre Private Service Connect-Schnittstelle verwenden, in diesem Kontext befinden.