Richtlinienbasierte Routen verwenden

Mit richtlinienbasierten Routen können Sie einen nächsten Hop anhand von mehr als der Ziel-IP-Adresse eines Pakets auswählen. Auf dieser Seite wird beschrieben, wie Sie richtlinienbasierte Routen erstellen, auflisten, beschreiben und löschen.

Hinweis

Erforderliche Rollen

Bitten Sie Ihren Administrator, Ihnen die IAM-Rolle Compute-Netzwerkadministrator (roles/compute.networkAdmin) für Ihr Projekt zuzuweisen, um die Berechtigungen zu erhalten, die Sie für die Verwendung richtlinienbasierter Routen benötigen. Weitere Informationen zum Zuweisen von Rollen finden Sie unter Zugriff verwalten.

Sie können die erforderlichen Berechtigungen auch über benutzerdefinierte Rollen oder andere vordefinierte Rollen erhalten.

Richtlinienbasierte Routen erstellen

Wenn Sie eine richtlinienbasierte Route erstellen, geben Sie Folgendes an:

  • Routenbereich: Die Ressourcen, für die die Route gelten kann.
  • Klassifizierungskriterien: Die Quell-IP-Adressbereiche, Ziel-IP-Adressbereiche und Protokolle, die bestimmen, für welche Pakete die Route gilt. Die richtlinienbasierte Route gilt für Pakete, die allen angegebenen Klassifizierungskriterien entsprechen.
  • Nächster Hop: Ein interner Hop-Passthrough-Network Load Balancer oder ein nächster Hop, der andere richtlinienbasierte Routen überspringt.

Console

  1. Rufen Sie in der Google Cloud Console die Seite Routen auf.

    Zur Seite „Routes“

  2. Klicken Sie auf Routenverwaltung.

  3. Klicken Sie auf Route erstellen.

  4. Geben Sie einen Namen für die Route ein.

  5. Optional: Geben Sie eine Beschreibung ein.

  6. Klicken Sie auf Netzwerk und wählen Sie das Netzwerk aus, dem Sie die richtlinienbasierte Route hinzufügen möchten.

  7. Klicken Sie auf Routentyp und wählen Sie dann Richtlinienbasierte Route aus.

  8. Führen Sie im Abschnitt Routenbereich einen der folgenden Schritte aus:

    • Damit die Route für alle VM-Instanzen, VLAN-Anhänge für Cloud Interconnect und Cloud VPN-Tunnel im Virtual Private Cloud-Netzwerk gilt, wählen Sie Diese Route gilt für alle VM-Instanzen, VLAN-Anhänge und VPN-Tunnel aus.

      Google empfiehlt beim Erstellen von Routen dieses Typs Vorsicht. Die Route wird auf alle ausgehenden Pakete angewendet, die den Klassifizierungskriterien entsprechen. Diese können ausgehenden Traffic vom Backend des internen Passthrough-Network Load Balancers enthalten.

    • Damit die Route nur für bestimmte VM-Instanzen gilt, wählen Sie Diese Route gilt nur für VM-Instanzen aus und geben Sie dann die Netzwerk-Tags der VMs ein, auf die diese Route angewendet werden soll. Sie können mehrere Netzwerk-Tags in einer durch Kommas getrennten Liste angeben.

    • Wählen Sie Diese Route gilt nur für VLAN-Anhänge aus, wenn die Route für alle VLAN-Anhänge für Cloud Interconnect im VPC-Netzwerk der Route gelten soll.

    • Wählen Sie Diese Route gilt nur für VLAN-Anhänge aus, um die Route für VLAN-Anhänge für Cloud Interconnect in einer bestimmten Region zu übernehmen. Wählen Sie dann die Region der VLAN-Anhänge aus. Es ist nicht möglich, eine richtlinienbasierte Route zu erstellen, die für einen bestimmten VLAN-Anhang gilt.

  9. Führen Sie im Abschnitt Klassifizierungskriterien folgende Schritte aus:

    1. Geben Sie einen Quell-IP-Bereich ein.
    2. Geben Sie einen Ziel-IP-Bereich ein.
    3. Klicken Sie auf Protokoll und wählen Sie die Protokolle aus, für die diese Route gilt.
  10. Geben Sie eine Priorität ein.

  11. Klicken Sie im Abschnitt Nächster Hop auf Nächster Hop und gehen Sie dann so vor:

    • Wählen Sie Festlegen einer Weiterleitungsregel des internen Passthrough-Network Load Balancers aus und führen Sie dann die folgenden Schritte aus, um einen internen Network Load Balancer für den nächsten Hop anzugeben:
      • So wählen Sie eine Weiterleitungsregel aus einer Liste vorhandener Weiterleitungsregeln aus:
        1. Wählen Sie Wird von der Weiterleitungsregel eines internen Load Balancers im aktuellen Projekt verwendet.
        2. Klicken Sie auf IP-Adresse der Weiterleitungsregel und wählen Sie dann eine IP-Adresse aus, die einem internen Load Balancer im ausgewählten Projekt zugeordnet ist.
      • So geben Sie eine IP-Adresse ein:
        1. Wählen Sie Nicht verwendet aus.
        2. Geben Sie in das Feld IP-Adresse der Weiterleitungsregel eine IP-Adresse ein. Die IP-Adresse muss aus den IP-Adressbereichen des Netzwerks stammen, in dem Sie diese richtlinienbasierte Route erstellen. Sie können eine IP-Adresse angeben, die bereits mit einer Weiterleitungsregel des internen Passthrough-Network Load Balancers verbunden ist, oder Sie können eine unbenutzte IP-Adresse angeben und die Weiterleitungsregel erstellen, nachdem Sie diese richtlinienbasierte Route erstellt haben.
    • Zum Erstellen einer richtlinienbasierten Route, die andere richtlinienbasierte Routen überspringt, wählen Sie Andere richtlinienbasierte Routen überspringen aus.
  12. Klicken Sie auf Erstellen.

gcloud

Führen Sie den Befehl policy-based-routes create aus.

  • Verwenden Sie den folgenden Befehl, um die Route auf alle VM-Instanzen, VLAN-Anhänge für Cloud Interconnect- und Cloud VPN-Tunnel im Virtual Private Cloud-Netzwerk anzuwenden.

    Google empfiehlt beim Erstellen von Routen dieses Typs Vorsicht. Die Route wird auf alle ausgehenden Pakete angewendet, die den Klassifizierungskriterien entsprechen. Diese können ausgehenden Traffic vom Backend des internen Passthrough-Network Load Balancers enthalten.

    gcloud network-connectivity policy-based-routes create ROUTE_NAME \
      --source-range=SOURCE_RANGE \
      --destination-range=DESTINATION_RANGE \
      --ip-protocol=PROTOCOL \
      --network="projects/PROJECT_ID/global/networks/NETWORK" \
      --next-hop-ilb-ip=NEXT_HOP \
      --description=DESCRIPTION \
      --priority=PRIORITY
    

    Ersetzen Sie Folgendes:

    • ROUTE_NAME: der Name der richtlinienbasierten Route
    • SOURCE_RANGE: der CIDR-Bereich der Quell-IP-Adresse
    • DESTINATION_RANGE: der CIDR-Bereich der Ziel-IP-Adresse
    • PROTOCOL: das Protokoll des Traffics zur Weiterleitung. Optionen sind ALL, TCP oder UDP. Der Standardwert ist ALL.
    • PROJECT_ID: die ID des Projekts.
    • NETWORK: der Name des Netzwerks, auf das die richtlinienbasierte Route angewendet werden soll.
    • NEXT_HOP ist die IPv4-Adresse des Network Load Balancers des nächsten Hops der Route.
    • DESCRIPTION: eine optionale Beschreibung der Route
    • PRIORITY: die Priorität der richtlinienbasierten Route im Vergleich zu anderen richtlinienbasierten Routen
  • Verwenden Sie den folgenden Befehl, um die Route nur auf bestimmte VM-Instanzen anzuwenden:

    gcloud network-connectivity policy-based-routes create ROUTE_NAME \
      --source-range=SOURCE_RANGE \
      --destination-range=DESTINATION_RANGE \
      --ip-protocol=PROTOCOL \
      --network="projects/PROJECT_ID/global/networks/NETWORK" \
      --next-hop-ilb-ip=NEXT_HOP \
      --description=DESCRIPTION \
      --priority=PRIORITY \
      --tags=NETWORK_TAGS
    

    Ersetzen Sie NETWORK_TAGS durch ein oder mehrere Netzwerktags der VMs, auf die die Route angewendet werden soll. Sie können mehrere Netzwerk-Tags in einer durch Kommas getrennten Liste angeben.

  • Verwenden Sie den folgenden Befehl, um die Route nur auf VLAN-Anhänge für Cloud Interconnect anzuwenden. Sie können die Route entweder auf VLAN-Anhänge für Cloud Interconnect in einer bestimmten Region oder auf alle VLAN-Anhänge für Cloud Interconnect in einem VPC-Netzwerk anwenden.

    gcloud network-connectivity policy-based-routes create ROUTE_NAME \
      --source-range=SOURCE_RANGE \
      --destination-range=DESTINATION_RANGE \
      --ip-protocol=PROTOCOL \
      --network="projects/PROJECT_ID/global/networks/NETWORK" \
      --next-hop-ilb-ip=NEXT_HOP \
      --description=DESCRIPTION \
      --priority=PRIORITY \
      --interconnect-attachment-region=INTERCONNECT_REGION
    

    Ersetzen Sie INTERCONNECT_REGION durch die Region der VLAN-Anhänge für Cloud Interconnect, auf die die Route angewendet werden soll. Verwenden Sie all, um die richtlinienbasierte Route auf alle VLAN-Anhänge für Cloud Interconnect im VPC-Netzwerk der Route anzuwenden.

  • Verwenden Sie den folgenden Befehl, um für bestimmte VMs, die durch Netzwerk-Tags identifiziert werden, einen nächsten Hop anzugeben, der andere richtlinienbasierte Routen überspringt:

    gcloud network-connectivity policy-based-routes create ROUTE_NAME \
      --source-range=SOURCE_RANGE \
      --destination-range=DESTINATION_RANGE \
      --ip-protocol=PROTOCOL \
      --network="projects/PROJECT_ID/global/networks/NETWORK" \
      --next-hop-other-routes=DEFAULT_ROUTING \
      --description=DESCRIPTION \
      --priority=PRIORITY \
      --tags=NETWORK_TAGS
    

API

Senden Sie eine POST-Anfrage an die Methode policyBasedRoutes.create:

POST https://networkconnectivity.googleapis.com/v1/projects/PROJECT_ID/locations/global/policyBasedRoutes?policyBasedRouteId=ROUTE_NAME
  • Fügen Sie den folgenden Anfragetext ein, um die Route auf alle VM-Instanzen, VLAN-Anhänge für Cloud Interconnect und Cloud VPN-Tunnel im Virtual Private Cloud-Netzwerk anzuwenden.

    Google empfiehlt beim Erstellen von Routen dieses Typs Vorsicht. Die Route wird auf alle ausgehenden Pakete angewendet, die den Klassifizierungskriterien entsprechen. Diese können ausgehenden Traffic vom Backend des internen Passthrough-Network Load Balancers enthalten.

    {
      "filter": {
        "srcRange": "SOURCE_RANGE",
        "destRange": "DESTINATION_RANGE",
        "ipProtocol": "PROTOCOL",
        "protocolVersion": "IPv4"
      },
      "network": "projects/PROJECT_ID/global/networks/NETWORK",
      "nextHopIlbIp": "NEXT_HOP",
      "description": "DESCRIPTION",
      "priority": "PRIORITY"
    }
    

    Ersetzen Sie Folgendes:

    • PROJECT_ID: die ID des Projekts.
    • ROUTE_NAME: der Name der richtlinienbasierten Route
    • SOURCE_RANGE: der CIDR-Bereich der Quell-IP-Adresse
    • DESTINATION_RANGE: der CIDR-Bereich der Ziel-IP-Adresse
    • PROTOCOL: das Protokoll des Traffics zur Weiterleitung. Optionen sind ALL, TCP oder UDP. Der Standardwert ist ALL.
    • NETWORK: der Name des Netzwerks, auf das die richtlinienbasierte Route angewendet werden soll. Die Route gilt für ausgehenden Traffic von Instanzen in diesem Netzwerk, die die anderen Klassifizierungskriterien erfüllen.
    • NEXT_HOP ist die IPv4-Adresse des nächsten Hops des internen Passthrough-Network Load Balancers der Route.
    • DESCRIPTION: eine optionale Beschreibung der Route
    • PRIORITY: die Priorität der richtlinienbasierten Route im Vergleich zu anderen richtlinienbasierten Routen
  • Fügen Sie den folgenden Anfragetext ein, um die Route nur auf bestimmte VM-Instanzen anzuwenden:

    {
      "filter": {
        "srcRange": "SOURCE_RANGE",
        "destRange": "DESTINATION_RANGE",
        "ipProtocol": "PROTOCOL",
        "protocolVersion": "IPv4"
      },
      "network": "projects/PROJECT_ID/global/networks/NETWORK",
      "nextHopIlbIp": "NEXT_HOP",
      "description": "DESCRIPTION",
      "priority": "PRIORITY",
      "virtualMachine": {
        "tags": [
          "NETWORK_TAGS"
        ]
      }
    }
    

    Ersetzen Sie NETWORK_TAGS durch ein oder mehrere Netzwerktags. Die richtlinienbasierte Route gilt für ausgehenden Traffic von Instanzen, die mindestens eines dieser Tags haben. Sie können mehrere Tags im folgenden Format angeben: "tag1","tag2","tag3".

  • Fügen Sie den folgenden Anfragetext ein, um die Route nur auf VLAN-Anhänge für Cloud Interconnect anzuwenden. Es ist nicht möglich, eine richtlinienbasierte Route zu erstellen, die für einen bestimmten VLAN-Anhang gilt.

    {
      "filter": {
        "srcRange": "SOURCE_RANGE",
        "destRange": "DESTINATION_RANGE",
        "ipProtocol": "PROTOCOL",
        "protocolVersion": "IPv4"
      },
      "interconnectAttachment": {
        "region": "INTERCONNECT_REGION"
      },
      "network": "projects/PROJECT_ID/global/networks/NETWORK",
      "nextHopIlbIp": "NEXT_HOP",
      "description": "DESCRIPTION",
      "priority": "PRIORITY"
    }
    

    Ersetzen Sie INTERCONNECT_REGION durch die Region der VLAN-Anhänge für Cloud Interconnect. Verwenden Sie all, um die richtlinienbasierte Route auf alle VLAN-Anhänge für Cloud Interconnect im VPC-Netzwerk der Route anzuwenden.

  • Verwenden Sie den folgenden Befehl, um für bestimmte VMs, die durch Netzwerk-Tags identifiziert werden, einen nächsten Hop anzugeben, der andere richtlinienbasierte Routen überspringt:

    {
      "filter": {
        "srcRange": "SOURCE_RANGE",
        "destRange": "DESTINATION_RANGE",
        "ipProtocol": "PROTOCOL",
        "protocolVersion": "IPv4"
      },
      "network": "projects/PROJECT_ID/global/networks/NETWORK",
      "nextHopOtherRoutes": "DEFAULT_ROUTING",
      "description": "DESCRIPTION",
      "priority": "PRIORITY",
      "virtualMachine": {
        "tags": [
          "NETWORK_TAGS"
        ]
      }
    }
    

Konnektivität für eine richtlinienbasierte Route prüfen

Mit dem Diagnosetool Konnektivitätstests können Sie die Konnektivität zwischen den Endpunkten in Ihrem Netzwerk prüfen. Es analysiert Ihre Konfiguration und führt in einigen Fällen auch eine Laufzeitprüfung aus. Konnektivitätstests unterstützen richtlinienbasierte Routen. Informationen zum Ausführen von Konnektivitätstests mit Ihren richtlinienbasierten Routen finden Sie unter Konnektivitätstests erstellen und ausführen.

Richtlinienbasierte Routen auflisten

Sie können richtlinienbasierte Routen auflisten, um alle richtlinienbasierten Routen in einem Projekt oder einem Netzwerk und einer Region aufzurufen.

Console

  1. Rufen Sie in der Google Cloud Console die Seite Routen auf.

    Zur Seite „Routes“

    • So rufen Sie alle richtlinienbasierten Routen in einem VPC-Netzwerk und einer Region auf:

      1. Klicken Sie auf Effektive Routen.
      2. Klicken Sie auf Netzwerk und wählen Sie ein Netzwerk aus.
      3. Klicken Sie auf Region und wählen Sie eine Region aus.
      4. Klicken Sie auf Ansehen.
    • So rufen Sie alle richtlinienbasierten Routen in einem Projekt auf:

      1. Klicken Sie auf Routenverwaltung.

gcloud

Führen Sie den Befehl policy-based-routes list aus.

gcloud network-connectivity policy-based-routes list

API

Senden Sie eine GET-Anfrage an die Methode policyBasedRoutes.list.

GET https://networkconnectivity.googleapis.com/v1/projects/PROJECT_ID/locations/global/policyBasedRoutes

Ersetzen Sie PROJECT_ID durch die ID des Projekts, in dem richtlinienbasierte Routen aufgelistet werden sollen.

Richtlinienbasierte Routen beschreiben

Sie können eine richtlinienbasierte Route beschreiben, um Details zur Route aufzurufen.

Console

  1. Rufen Sie in der Google Cloud Console die Seite Routen auf.

    Zur Seite „Routes“

  2. Klicken Sie auf Effektive Routen.

  3. Klicken Sie auf Netzwerk und wählen Sie ein Netzwerk aus.

  4. Klicken Sie auf Region und wählen Sie eine Region aus.

  5. Klicken Sie auf Ansehen.

  6. Klicken Sie auf den Namen einer richtlinienbasierten Route, um deren Details aufzurufen.

gcloud

Verwenden Sie zum Beschreiben einer richtlinienbasierten Route den Befehl policy-based-routes describe.

gcloud network-connectivity policy-based-routes describe NAME

Ersetzen Sie NAME durch den Namen der zu beschreibenden Route.

API

Senden Sie eine GET-Anfrage an die Methode policyBasedRoutes.get.

GET https://networkconnectivity.googleapis.com/v1/projects/PROJECT_ID/locations/global/policyBasedRoutes/ROUTE_NAME

Ersetzen Sie Folgendes:

  • PROJECT_ID: die ID des Projekts.
  • ROUTE_NAME: der Name der richtlinienbasierten Route, die beschrieben werden soll.

Richtlinienbasierte Routen löschen

Sie können eine richtlinienbasierte Route löschen, um sie aus einem VPC-Netzwerk zu entfernen.

Console

  1. Rufen Sie in der Google Cloud Console die Seite Routen auf.

    Zur Seite „Routes“

  2. Klicken Sie auf Effektive Routen.

  3. Klicken Sie auf Netzwerk und wählen Sie ein Netzwerk aus.

  4. Klicken Sie auf Region und wählen Sie eine Region aus.

  5. Klicken Sie auf Ansehen.

  6. Klicken Sie auf den Namen einer richtlinienbasierten Route.

  7. Klicken Sie auf Löschen und dann noch einmal auf Löschen, um den Löschvorgang zu bestätigen.

gcloud

Verwenden Sie zum Löschen einer richtlinienbasierten Route den Befehl policy-based-routes delete.

gcloud network-connectivity policy-based-routes delete NAME

Ersetzen Sie NAME durch den Namen der Route, die gelöscht werden soll.

API

Senden Sie eine DELETE-Anfrage an die Methode policyBasedRoutes.delete.

DELETE https://networkconnectivity.googleapis.com/v1/projects/PROJECT_ID/locations/global/policyBasedRoutes/ROUTE_NAME

Ersetzen Sie Folgendes:

  • PROJECT_ID: die ID des Projekts.
  • ROUTE_NAME: der Name der richtlinienbasierten Route, die gelöscht werden soll.

Kompatibilität

Spezielle Konfigurationen sind erforderlich, um richtlinienbasierte Routen in folgender Weise zu verwenden.

Richtlinienbasierte Routen mit GKE verwenden

Wenn Sie richtlinienbasierte Routen in VPC-Netzwerken mit GKE-Clustern (Google Kubernetes Engine) erstellen, beachten Sie Folgendes:

  • Erstellen Sie keine richtlinienbasierten Routen, deren Ziele Clusterknoten oder Pod-IP-Adressen enthalten.
  • Erstellen Sie keine richtlinienbasierten Routen, deren Ziele private Endpunkte der Cluster-Steuerungsebene enthalten.
    • Einige öffentliche GKE-Cluster (Google Kubernetes Engine) haben private Endpunkte der Private Service Connect-Steuerungsebene. Für diese Cluster erstellt GKE standardmäßig den privaten Endpunkt der Steuerungsebene von Private Service Connect im primären IPv4-Adressbereich des Subnetzes des Clusters. Um einen benutzerdefinierten Subnetzbereich (eines Subnetzes in derselben Region) für den privaten Endpunkt der Private Service Connect-Steuerungsebene auszuwählen, siehe Cluster erstellen und IP-Bereich der Steuerungsebene auswählen.
    • Wenn Sie einen privaten GKE-Cluster erstellen, geben Sie einen IP-Adressbereich für den privaten Endpunkt der Steuerungsebene (--master-ipv4-cidr) an. Achten Sie darauf, dass Sie keine richtlinienbasierte Route erstellen, deren Ziel diesen Bereich enthält. Weitere Informationen finden Sie unter Endpunkte in privaten Clustern.

Richtlinienbasierte Routen und Private Service Connect für veröffentlichte Dienste

Richtlinienbasierte Routen können nicht zum Weiterleiten von Traffic von VMs zu Private Service Connect-Endpunkten für veröffentlichte Dienste oder Private Service Connect-Back-Ends für veröffentlichte Dienste verwendet werden. Bei Verwendung richtlinienbasierter Routen und Private Service Connect für veröffentlichte Dienste:

  • Verwenden Sie Netzwerktags, damit richtlinienbasierte Routen für bestimmte VMs gelten.
  • Vermeiden Sie richtlinienbasierte Routen mit Quell- oder Ziel-IP-Adressbereichen von 0.0.0.0/0.
  • Wenn Sie eine richtlinienbasierte Route mit einem Zielbereich erstellen müssen, der die IP-Adresse eines Private Service Connect-Endpunkts oder -Back-Ends enthält, erstellen Sie eine richtlinienbasierte Route mit höherer Priorität, die andere richtlinienbasierte Routen überspringt. Konfigurieren Sie das Ziel der richtlinienbasierten Route mit höherer Priorität mit einem spezifischeren IP-Adressbereich, der die IP-Adresse des Private Service Connect-Endpunkts oder -Back-Ends enthält.

Richtlinienbasierte Routen und Zugriff auf Google APIs und Google-Dienste

Google Cloud unterstützt nicht das Routing von Traffic zu Google APIs und Google-Diensten über andere VM-Instanzen oder benutzerdefinierte nächste Hops. Dies gilt auch für VM-Back-Ends von internen, als nächste Hops dienende Passthrough Load Balancer in richtlinienbasierten Routen.

Wenn Sie eine der folgenden Methoden verwenden, um auf Google APIs und Google-Dienste zuzugreifen, lesen Sie die Best Practices, die im folgenden Abschnitt aufgeführt sind:

Best Practices

Wir empfehlen die folgenden Best Practices für die vorherigen Möglichkeiten des Zugriffs auf Google APIs und Google-Dienste:

  • Verwenden Sie Netzwerktags, damit die richtlinienbasierte Routen für bestimmte VMs gelten.
  • Vermeiden Sie richtlinienbasierte Routen mit Quell- oder Zielbereichen von 0.0.0.0/0.
  • Wenn Sie richtlinienbasierte Routen erstellen, die Zielbereiche enthalten, die von Google APIs und Google-Diensten, Private Service Connect-Endpunkten für Google APIs oder Private Service Connect-Backends für APIs verwendet werden, erstellen Sie richtlinienbasierte Routen höherer Priorität, die andere richtlinienbasierte Routen überspringen. Legen Sie die Ziele dieser richtlinienbasierten Routen mit höherer Priorität fest, um den IP-Adressen für von Ihnen verwendete Google APIs und Google-Dienste, Private Service Connect-Endpunkte oder Private Service Connect-Back-Ends zu entsprechen. Zu den von Google APIs und Google-Diensten verwendeten IP-Adressbereichen gehören:
    • Die IP-Adressen für die Standarddomains, die von Google APIs und Diensten verwendet werden
    • Die virtuellen IP-Adressen (VIPs) für den privaten Google-Zugriff:
      • private.googleapis.com (199.36.153.8/30)
      • restricted.googleapis.com (199.36.153.4/30)