Protokollweiterleitung

Die Protokollweiterleitung verwendet eine regionale Weiterleitungsregel, um Pakete eines bestimmten Protokolls an eine einzelne VM-Instanz zu senden. Die Weiterleitungsregel kann eine interne oder externe IP-Adresse haben. Bei der Protokollweiterleitung werden Pakete bereitgestellt und gleichzeitig die Ziel-IP-Adresse der Weiterleitungsregel beibehalten. Die Weiterleitungsregel verweist auf ein Objekt, das als Zielinstanz bezeichnet wird und wiederum auf eine einzelne VM-Instanz verweist.

Mit der Protokollweiterleitung haben Sie folgende Möglichkeiten:

  • Geben Sie eine IP-Adresse an, die von einer Instanz in eine andere verschoben werden kann. Dazu ändern Sie entweder die VM, auf die das Zielinstanzobjekt verweist, oder die Zielinstanz, auf die die Weiterleitungsregel verweist.
  • Leiten Sie Pakete je nach Protokoll und Port an verschiedene VMs weiter. Zwei Weiterleitungsregeln können dieselbe IP-Adresse verwenden, solange ihre Port- und Protokollinformationen eindeutig sind.
  • (Nur externe Protokollweiterleitung) Definieren Sie zusätzliche externe IP-Adressen für eine bestimmte Netzwerkschnittstelle. Im Gegensatz zu einer Netzwerkschnittstelle mit einer 1:1-NAT-Konfiguration für ihre externe IPv4-Adresse behält die Protokollweiterleitung die Ziel-IP-Adresse der Weiterleitungsregel bei.
  • Senden Sie Pakete, deren Quell-IP-Adressen mit der IP-Adresse der Weiterleitungsregel übereinstimmen.

Die Protokollweiterleitung unterscheidet sich in folgenden Punkten von einem Pass-Through-Load-Balancer:

  • Ohne Load-Balancing. Eine Zielinstanz verteilt nur Pakete auf eine einzelne VM.
  • Keine Systemdiagnose. Im Gegensatz zu einem Backend-Dienst unterstützt eine Zielinstanz keine Systemdiagnose. Sie müssen andere Mittel verwenden, um sicherzustellen, dass die erforderliche Software auf der VM, auf die von der Zielinstanz verwiesen wird, ausgeführt wird.

Architektur

Die Protokollweiterleitung verwendet regionale externe oder regionale interne Weiterleitungsregeln und ein zonales Zielinstanzobjekt. Die Zielinstanz und die VM, auf die sie verweist, müssen sich in einer Zone in der Region der Weiterleitungsregel befinden.

  • Externe Protokollweiterleitung Sie können mehrere externe IP-Adressen mit einer einzigen VM-Instanz verwenden. Dazu richten Sie mehrere Weiterleitungsregeln so ein, dass sie auf eine einzelne Zielinstanz verweisen. Sie können diese Vorgehensweise in Fällen verwenden, in denen Sie Daten von nur einer VM-Instanz, aber über verschiedene externe IP-Adressen oder unterschiedliche Protokolle und Ports bereitstellen möchten. Dies eignet sich insbesondere bei der Einrichtung des virtuellen SSL-Hostings. Die externe Protokollweiterleitung kann Verbindungen von IPv6-Clients verarbeiten.

    Die externe Protokollweiterleitung unterstützt die folgenden Protokolle: AH, ESP, GRE, ICMP, ICMPv6, SCTP, TCP und UDP

    Das folgende Diagramm zeigt ein Beispiel für eine Architektur der externen Protokollweiterleitung. Informationen zum Einrichten finden Sie unter Externe Protokollweiterleitung einrichten.

    Architektur der externen Protokollweiterleitung.
    Architektur der externen Protokollweiterleitung
  • Interne Protokollweiterleitung Die interne Protokollweiterleitung verwendet entweder eine regionale interne IPv4-Adresse (aus dem primären IPv4-Adressbereich eines Subnetzes) oder eine regionale interne IPv6-Adresse (aus dem IPv6-Adressbereich eines Subnetzes).

    Die interne Protokollweiterleitung unterstützt die TCP- und UDP-Protokolle.

    Das folgende Diagramm zeigt ein Beispiel für eine Architektur der internen Protokollweiterleitung. Informationen zum Einrichten finden Sie unter Interne Protokollweiterleitung einrichten.

    Architektur der internen Protokollweiterleitung
    Architektur der internen Protokollweiterleitung

    Bei der internen Protokollweiterleitung können Sie das Ziel einer Weiterleitungsregel ändern, um zwischen einer Zielinstanz und einem Backend-Dienst eines Pass-Through-Load-Balancers zu wechseln. Weitere Informationen finden Sie unter Zwischen einer Zielinstanz und einem Backend-Dienst wechseln.

Weiterleitungsregeln

Jede Weiterleitungsregel vergleicht eine IP-Adresse, ein Protokoll und optional Portinformationen, sofern angegeben und ob das Protokoll Ports unterstützt. Wenn eine Weiterleitungsregel auf eine Zielinstanz verweist, leitet Google Cloud Pakete, die mit der Adresse, dem Protokoll und der Portspezifikation der Weiterleitungsregel übereinstimmen, an die VM weiter, auf die die Zielinstanz verweist.

  • Interne Protokollweiterleitung:

    • Unterstützung von IPv4-Adressen: Eine regionale interne IPv4-Adresse (reserviert statisch oder sitzungsspezifisch) aus dem primären IPv4-Bereich eines Subnetzes.

    • -Unterstützung von IPv6-Adressen: Die Weiterleitungsregel verweist auf einen /96-IP-Adressbereich aus dem internen /64-IPv6-Adressbereich des Subnetzes. Das Subnetz muss ein Dual-Stack-Subnetz sein, wobei ipv6-access-type auf INTERNAL gesetzt ist. Interne IPv6-Adressen sind nur in der Premium-Stufe verfügbar. Das Reservieren einer regionalen internen IPv6-Adresse wird nur für Instanzen unterstützt. Daher müssen Sie für die Weiterleitungsregel eine sitzungsspezifische IPv6-Adresse verwenden.

    • Protokolloptionen: TCP (Standard) und UDP.

    • Optionen für die Portspezifikation: Eine Liste mit bis zu fünf zusammenhängenden oder nicht zusammenhängenden Ports oder allen Ports.

  • Externe Protokollweiterleitung:

    • Unterstützung von IPv4-Adressen: Die Weiterleitungsregel verweist auf eine einzelne regionale externe IPv4-Adresse. Regionale externe IPv4-Adressen stammen aus einem Pool, der für jede Google Cloud-Region eindeutig ist. Die IP-Adresse kann eine reservierte statische Adresse oder eine sitzungsspezifische Adresse sein.

    • Unterstützung von IPv6-Adressen: Die Weiterleitungsregel verweist auf einen /96-IP-Adressbereich aus dem externen /64 -IPv6-Adressbereich des Subnetzes. Das Subnetz muss ein Dual-Stack-Subnetz sein, wobei ipv6-access-type auf EXTERNAL gesetzt ist. Externe IPv6-Adressen sind nur in der Premium-Stufe verfügbar. Der IPv6-Adressbereich kann eine reservierte statische Adresse oder eine sitzungsspezifische Adresse sein.

    • Protokolloptionen: AH, ESP, ICMP, SCTP, TCP (Standadrd), UDP und L3_DEFAULT :

      • Mit der Protokolleinstellung L3_DEFAULT der Weiterleitungsregel kann der gesamte IP-Protokoll-Traffic bereitgestellt werden.
      • IPv6-Weiterleitungsregeln unterstützen die Protokolleinstellung ICMP nicht, da das ICMP-Protokoll nur IPv4-Adressen unterstützt. Um ICMPv6- und GRE-Traffic bereitzustellen, legen Sie für das Protokoll der Weiterleitungsregel den Wert L3_DEFAULT fest.
    • Optionen für die Portspezifikation: Ein zusammenhängender Portbereich oder alle Ports.

Beachten Sie bei der Arbeit mit Weiterleitungsregeln die folgenden Punkte:

  • Bei der Protokollweiterleitung kann eine Weiterleitungsregel nur auf eine einzelne Zielinstanz verweisen.

  • Bei internen Passthrough-Network-Load-Balancern und Network-Load-Balancern, die auf Backend-Diensten basieren, kann eine Weiterleitungsregel nur auf einen einzelnen Backend-Dienst verweisen.

  • Sie können zwischen der internen Protokollweiterleitung und einem internen Passthrough-Network-Load-Balancer wechseln, ohne die Weiterleitungsregel zu löschen und neu zu erstellen. Sie müssen die Weiterleitungsregel löschen und neu erstellen, um zwischen der externen Protokollweiterleitung und einem auf einem Backend-Dienst basierenden externen Passthrough-Network-Load-Balancer zu wechseln. Weitere Informationen finden Sie unter Zwischen einer Zielinstanz und einem Backend-Dienst wechseln.

  • Portinformationen können nur für Protokolle angegeben werden, die ein Konzept mit Port haben: TCP, UDP oder SCTP.

  • Die Protokolloption L3_DEFAULT leitet alle Protokolle AH, ESP, GRE, ICMP, ICMPv6, SCTP, TCP und UDP weiter. Für die TCP-, UDP- und SCTP-Protokolle leitet L3_DEFAULT alle Ports weiter.

  • Wenn Sie fragmentierte UDP-Datenpakete erwarten, führen Sie einen der folgenden Schritte aus, damit alle Fragmente, einschließlich der Fragmente ohne Portinformationen, an die Instanz gesendet werden:

    • Verwenden Sie eine einzelne L3_DEFAULT-Weiterleitungsregel oder
    • Verwenden Sie eine einzige UDP-Weiterleitungsregel, die für die Weiterleitung aller Ports konfiguriert ist.

Zielinstanzen

Eine Zielinstanz ist eine zonale Ressource, die auf eine VM-Instanz in derselben Zone verweist. Die Weiterleitungsregel, die auf die Zielinstanz verweist, muss sich in der Region befinden, die die Zone der Zielinstanz enthält. Da auf eine Zielinstanz keine Cloud NAT-Richtlinie angewendet wird, kann sie für IPsec-Traffic verwendet werden, der NAT nicht durchlaufen kann.

Unterstützung für mehrere NICs

Eine Zielinstanz unterstützt die Angabe der Netzwerkschnittstelle (NIC) der VM-Instanz, auf die sie verweist. Verwenden Sie das Flag --network, um den Namen eines VPC-Netzwerks anzugeben, in dem die referenzierte VM eine NIC hat:

  • Wenn Sie das Flag --network weglassen, liefert die Zielinstanz Pakete an die Schnittstelle nic0 der VM, auf die sie verweist.
  • Wenn Sie das Flag --network verwenden, muss die VM, auf die sich die Zielinstanz bezieht, eine NIC in diesem VPC-Netzwerk haben.
  • Für die interne Protokollweiterleitung muss sich das von der Weiterleitungsregel verwendete Subnetz in dem VPC-Netzwerk befinden, das von der Netzwerkschnittstelle der Zielinstanz verwendet wird.

IPv6-Unterstützung

Wenn die Bereitstellung der externen Protokollweiterleitung IPv6-Traffic unterstützen soll, muss die VM-Instanz in einem Dual-Stack-Subnetz konfiguriert werden, das sich in derselben Region wie die IPv6-Weiterleitungsregel befindet. Sie können ein Subnetz mit dem ipv6-access-type für die VM-Instanz auf EXTERNAL oder INTERNAL setzen. Wenn Sie ein Subnetz mit ipv6-access-type auf INTERNAL verwenden, müssen Sie für die externe Weiterleitungsregel ein separates Dual-Stack-Subnetz verwenden, wobei ipv6-access-type auf EXTERNAL gesetzt ist. Eine Anleitung finden Sie unter Dual-Stack-Subnetz hinzufügen.

Darüber hinaus muss die VM-Instanz selbst eine Dual-Stack-Instanz sein. Setzen Sie den stack-type der VM auf IPv4_IPv6. Die VM übernimmt die Einstellung ipv6-access-type (EXTERNAL oder INTERNAL) aus dem Subnetz. Eine Anleitung finden Sie unter VM erstellen und IPv6 aktivieren. Wenn Sie eine vorhandene VM verwenden möchten, aktualisieren Sie die VM mit dem Befehl gcloud compute instances network-interfaces update auf Dual-Stack.

IP-Adressen für Anfrage- und Rückgabepakete

Wenn eine Zielinstanz ein Paket von einem Client empfängt, sind die Quell- und Ziel-IP-Adressen des Anfragepakets in dieser Tabelle aufgeführt.

Tabelle 1. Quell- und Ziel-IP-Adressen für Anfragepakete
Protokollweiterleitungstyp Quell-IP-Adresse Ziel-IP-Adresse
Externe Protokollweiterleitung Die externe IP-Adresse, die einer Google Cloud-VM oder einer externen IP-Adresse eines Clients im Internet zugeordnet ist. Die IP-Adresse der Weiterleitungsregel.
Interne Protokollweiterleitung Die interne IP-Adresse eines Clients für Google Cloud-Clients die primäre interne IPv4-Adresse oder IPv6-Adresse oder eine IPv4-Adresse aus einem Alias-IP-Bereich der Netzwerkschnittstelle einer VM. Die IP-Adresse der Weiterleitungsregel.

Software, die auf den Zielinstanz-VMs ausgeführt wird, sollte für Folgendes konfiguriert sein:

  • Prüfen Sie die IP-Adresse der Weiterleitungsregel oder eine beliebige IP-Adresse (0.0.0.0 oder ::).
  • Wenn das Protokoll der Weiterleitungsregel Ports unterstützt, überwachen Sie einen Port (binden), der in der Weiterleitungsregel enthalten ist.

Rückgabepakete werden direkt von der Zielinstanz an den Client gesendet. Die Quell- und Ziel-IP-Adressen des Antwortpakets hängen vom Protokoll ab:

  • TCP ist verbindungsorientiert. Zielinstanzen müssen mit Paketen antworten, die Quell-IP-Adressen enthalten, die mit der IP-Adresse der Weiterleitungsregel übereinstimmen. Dadurch wird sichergestellt, dass der Client die Antwortpakete der entsprechenden TCP-Verbindung zuordnen kann.
  • AH, ESP, GRE, ICMP, ICMPv6 und UDP sind verbindungslos. Zielinstanzen können Antwortpakete mit Quell-IP-Adressen senden, die entweder mit der IP-Adresse der Weiterleitungsregel oder mit einer beliebigen IP-Adresse übereinstimmen, die der NIC der VM im selben VPC-Netzwerk wie die Weiterleitungsregel zugewiesen ist. Im Prinzip erwarten die meisten Clients, dass die Antwort von derselben IP-Adresse kommt, an die sie Pakete gesendet haben.

In der folgenden Tabelle werden die Quellen und Ziele für Rückgabepakete zusammengefasst:

Tabelle 2. Quell- und Ziel-IP-Adressen für Rückgabepakete
Traffictyp Quell-IP-Adresse Ziel-IP-Adresse
TCP Die IP-Adresse der Weiterleitungsregel. Die Quell-IP-Adresse des Anfragepakets.
AH, ESP, GRE, ICMP, ICMPv6 und UDP* In den meisten Anwendungsfällen ist dies die IP-Adresse der Weiterleitungsregel. Die Quell-IP-Adresse des Anfragepakets.

* AH, ESP, GRE, ICMP und ICMPv6 werden nur mit der externen Protokollweiterleitung unterstützt.

Mit der internen Protokollweiterleitung ist es möglich, die Quelle des Antwortpakets auf die primäre interne IPv4-Adresse oder IPv6-Adresse der VM-NIC oder einen Alias-IP-Adressbereich festzulegen. Wenn für die VM die IP-Weiterleitung aktiviert ist, können auch beliebige IP-Adressquellen verwendet werden. Nicht die IP-Adresse der Weiterleitungsregel als Quelle zu verwenden, ist ein erweitertes Szenario, da der Client ein Antwortpaket von einer internen IP-Adresse empfängt, die nicht mit der IP-Adresse übereinstimmt, an die ein Anfragepaket gesendet wurde.

Ausgehende Internetverbindung von Zielinstanzen

VM-Instanzen, auf die von Zielinstanzen verwiesen wird, können Verbindungen zum Internet herstellen, indem sie die IP-Adresse der zugehörigen Weiterleitungsregel als Quell-IP-Adresse der ausgehenden Verbindung verwenden.

Im Allgemeinen verwendet eine VM-Instanz immer ihre eigene externe IP-Adresse oder Cloud NAT, um Verbindungen zu initiieren. Sie verwenden die IP-Adresse der Weiterleitungsregel nur, um Verbindungen von Zielinstanzen nur in bestimmten Szenarien zu initiieren, z. B. wenn VM-Instanzen Verbindungen unter derselben externen IP-Adresse herstellen und empfangen müssen.

Für ausgehende Pakete, die von VMs der Zielinstanz direkt an das Internet gesendet werden, gelten keine Einschränkungen für Traffic-Protokolle und -Ports. Auch wenn für ein ausgehendes Paket die IP-Adresse der Weiterleitungsregel als Quelle verwendet wird, müssen das Protokoll und der Quellport des Pakets nicht mit dem Protokoll und der Portspezifikation der Weiterleitungsregel übereinstimmen. Eingehende Antwortpakete müssen jedoch mit der IP-Adresse, dem Protokoll und dem Zielport der Weiterleitungsregel übereinstimmen. Weitere Informationen finden Sie unter Pfade für externe Passthrough-Network Load Balancer und externe Protokollweiterleitung.

Dieser Pfad zur Internetverbindung von einer Zielinstanz-VM ist gemäß den implizierten Firewallregeln von Google Cloud das standardmäßige Verhalten. Wenn Sie jedoch Bedenken hinsichtlich der Sicherheit haben, diesen Pfad offen zu lassen, können Sie gezielte Firewallregeln für den ausgehenden Traffic verwenden, um unerwünschten ausgehenden Traffic ins Internet zu blockieren.

Beschränkungen

  • Eine Weiterleitungsregel kann nicht auf mehr als eine Zielinstanz verweisen.
  • Systemdiagnosen werden für Zielinstanzen nicht unterstützt. Sie müssen dafür sorgen, dass die erforderliche Software auf der VM, auf die von der Zielinstanz verwiesen wird, ausgeführt wird.
  • Die interne Protokollweiterleitung für IPv6-Traffic unterliegt den folgenden Einschränkungen:
    • Das Protokoll L3_DEFAULT wird nicht unterstützt. Verwenden Sie entweder TCP oder UDP.
    • Multi-NIC wird nicht unterstützt.

Referenzen zu API und gcloud

Informationen zu Weiterleitungsregeln finden Sie hier:

Informationen zu Zielinstanzen finden Sie unter:

Preise

Die Gebühren für die Protokollweiterleitung sind mit dem für das Load-Balancing identisch. Für die Weiterleitungsregel und die von der Zielinstanz verarbeiteten eingehenden Daten fallen Kosten an.

Alle Preisinformationen finden Sie unter Preise.

Kontingente und Limits

Informationen zu den Kontingenten für Weiterleitungsregeln für die Protokollweiterleitung finden Sie unter Kontingente und Limits: Weiterleitungsregeln.

Nächste Schritte