Weiterleitungsregeln für interne Passthrough-Network-Load-Balancer, die eine gemeinsame IP-Adresse verwenden

Interne Passthrough-Network-Load-Balancer sind regionale Load Balancer, mit denen Sie Ihre Dienste hinter einer internen IP-Adresse ausführen und skalieren können, auf die nur Ihre internen VM-Instanzen zugreifen können.

Auf dieser Seite wird die Verwendung mehrerer Weiterleitungsregeln mit derselben IP-Adresse beschrieben. Allgemeine Informationen zu internen Passthrough-Network-Load-Balancern finden Sie in der Übersicht zu internen Passthrough-Network-Load-Balancern.

Mit internen Weiterleitungsregeln können Sie eine freigegebene interne IP-Adresse für bis zu zehn Weiterleitungsregeln verwenden. Sie können TCP oder UDP für das Protokoll der Weiterleitungsregel verwenden und der Weiterleitungsregel bis zu fünf Ports zuweisen oder --ports=ALL angeben, um alle Ports zu verwenden. Wenn Sie das L3_DEFAULT-Protokoll verwenden möchten, müssen Sie alle Ports mit der Option --ports=ALL verwenden.

Mit eindeutigen Kombinationen aus Protokoll und Ports können Sie Folgendes tun:

  • Erstellen Sie mithilfe des Protokolls TCP 50 eindeutige TCP-Ports mit jeder Weiterleitungsregel.

    Wenn eine Weiterleitungsregel für die Verwendung des Protokolls TCP und aller Ports konfiguriert ist, kann keine andere Weiterleitungsregel mit dem Protokoll TCP dieselbe freigegebene IP-Adresse verwenden.

  • Erstellen Sie mithilfe des Protokolls UDP 50 eindeutige UDP-Ports mit jeder Weiterleitungsregel.

    Wenn eine Weiterleitungsregel für die Verwendung des Protokolls UDP und aller Ports konfiguriert ist, kann keine andere Weiterleitungsregel mit dem Protokoll UDP dieselbe freigegebene IP-Adresse verwenden.

  • Erstellen Sie 50 eindeutige Kombinationen von TCP- und UDP-Ports, wobei jede Weiterleitungsregel entweder das Protokoll TCP oder UDP verwendet.

  • auf einen gemeinsamen Backend-Dienst (einen einzelnen Load Balancer) oder auf mehrere Backend-Dienste (mehrere Load Balancer mit derselben IP-Adresse) verweisen

  • Verwenden Sie alle Ports, wenn Sie eine Weiterleitungsregel mit dem Protokoll L3_DEFAULT konfigurieren. Für eine IP-Adresse kann nur eine L3_DEFAULT-Weiterleitungsregel vorhanden sein, die gegebenenfalls für andere TCP- und UDP-Weiterleitungsregeln freigegeben werden kann.

Wenn Ihre Weiterleitungsregeln unterschiedliche Protokolle haben, benötigen Sie auch zwei verschiedene Backend-Dienste. Ein einzelner interner Passthrough-Network-Load-Balancer funktioniert entweder für TCP- oder UDP-Traffic, aber nicht für beides, da er einen einzelnen Backend-Dienst hat, der nur eines dieser Protokolle verwendet.

Entscheidungsmatrizen für Weiterleitungsregeln

Verwenden Sie die folgenden Tabellen, um Ihr Deployment zu erstellen.

Einzelner interner Passthrough-Network-Load-Balancer

Ein einzelner Backend-Dienst unterstützt TCP oder UDP, nicht beides.

Wenn Sie mehrere Weiterleitungsregeln benötigen, berechnen Sie die Anzahl der benötigten Weiterleitungsregeln mithilfe der Formel ⌈total number of ports / 5⌉, wobei ⌈⌉ die CEILING-Funktion (kleinste Ganzzahl) ist (es wird also aufgerundet).

Angenommen, Sie benötigen 26 TCP-Ports für eine IP-Adresse Ihres Load-Balancers. Wenn Sie keine einzelne Weiterleitungsregel mit --ports=ALL erstellen möchten, müssen Sie wegen 26 / 5 = 5 with a remainder of 1 sechs Weiterleitungsregeln erstellen:

Beabsichtigte Frontend-Konfiguration Anzahl der erforderlichen Weiterleitungsregeln Für IP-Adresse erforderliches Flag --purpose=SHARED_LOADBALANCER_VIP Portspezifikation der Weiterleitungsregel
Eine IP-Adresse, Traffic über alle Ports Eine Weiterleitungsregel Nein --ports=ALL
Eine IP-Adresse, Traffic über bestimmte Ports

Für maximal fünf Ports:
eine Weiterleitungsregel

Für sechs oder mehr Ports:
mehrere Weiterleitungsregeln

Für fünf oder weniger Ports: nein

Für sechs oder mehr Ports: ja

Legen Sie --ports auf eine Reihe von bis zu fünf fortlaufenden oder nicht fortlaufenden Portnummern fest.
Mehrere IP-Adressen, Traffic über alle Ports Eine Weiterleitungsregel pro IP-Adresse Nein --ports=ALL
Mehrere IP-Adressen, Traffic über bestimmte Ports Mindestens eine Weiterleitungsregel pro IP-Adresse

Bei Verwendung von maximal fünf Ports pro IP-Adresse: nein

Wenn Sie sechs oder mehr Ports pro IP-Adresse verwenden: ja

Legen Sie --ports auf eine Reihe von bis zu fünf fortlaufenden oder nicht fortlaufenden Portnummern fest.

Zwei interne Passthrough-Network-Load-Balancer

Bei zwei internen Passthrough-Network-Load-Balancern können Sie zwei Backend-Dienste nutzen, wobei ein Backend-Dienst für TCP-Traffic und der andere Backend-Dienst für UDP-Traffic vorgesehen ist.

Wenn Sie mehrere Weiterleitungsregeln benötigen, berechnen Sie die Anzahl der benötigten Weiterleitungsregeln mithilfe der folgenden Formel, wobei ⌈⌉ die CEILING-Funktion (kleinste Ganzzahl) ist (es wird also aufgerundet):

 ⌈total number of TCP ports / 5⌉

 ⌈total number of UDP ports / 5⌉

Angenommen, Sie benötigen 26 TCP-Ports und 12 UDP-Ports. Sie müssen neun Weiterleitungsregeln erstellen:

  • 26 / 5 = 5 with a remainder of 1, Sie benötigen also sechs Weiterleitungsregeln für Ihre TCP-Ports.
  • 12 / 5 = 2 with a remainder of 2, Sie benötigen also drei Weiterleitungsregeln für Ihre UDP-Ports.
Beabsichtigte Frontend-Konfiguration Anzahl der erforderlichen Weiterleitungsregeln Für IP-Adresse erforderliches Flag --purpose=SHARED_LOADBALANCER_VIP Portspezifikation der Weiterleitungsregel
Eine IP-Adresse, Traffic über alle Ports Zwei Weiterleitungsregeln – eine für TCP und eine für UDP Da die TCP-Weiterleitungsregel und die UDP-Weiterleitungsregel eine einzelne IP-Adresse verwenden müssen: ja --ports=ALL
Eine IP-Adresse, Traffic über bestimmte Ports

Für maximal fünf TCP-Ports und maximal fünf UDP-Ports: zwei Weiterleitungsregeln – eine für TCP und eine für UDP

Für sechs oder mehr TCP-Ports oder UDP-Ports: mehrere Weiterleitungsregeln, wobei jede Weiterleitungsregel ein Protokoll und maximal fünf Ports unterstützt

Ja Legen Sie --ports auf eine Reihe von bis zu fünf fortlaufenden oder nicht fortlaufenden Portnummern fest.
Mehrere IP-Adressen, Traffic über alle Ports, entweder TCP oder UDP

Mindestens zwei Weiterleitungsregeln – eine für TCP mit genau einer IP-Adresse, eine für UDP mit einer anderen IP-Adresse

Drei oder mehr Weiterleitungsregeln, wenn Sie mindestens drei IP-Adressen benötigen

Nein --ports=ALL
Mehrere IP-Adressen, Traffic über bestimmte Ports, entweder TCP oder UDP

Mindestens zwei Weiterleitungsregeln – eine für TCP mit genau einer IP-Adresse, eine für UDP mit einer anderen IP-Adresse

Mehr als zwei Weiterleitungsregeln, wenn Sie eines von Folgendem benötigen:

  • Mehr als zwei IP-Adressen
  • Mehr als fünf Ports für TCP-Traffic für eine IP-Adresse oder mehr als fünf Ports für UDP-Traffic für einr IP-Adresse

Für eine einzelne IP-Adresse mit maximal fünf TCP-Ports und eine einzelne IP-Adresse mit maximal fünf UDP-Ports: nein

Für sechs oder mehr TCP-Ports oder UDP-Ports: ja

Legen Sie --ports auf eine Reihe von bis zu fünf fortlaufenden oder nicht fortlaufenden Portnummern fest.

Beschränkungen

  • Zwei oder mehr Weiterleitungsregeln mit derselben IP-Adresse und demselben Protokoll dürfen keine sich überschneidenden Ports haben. Beispiel:
    • Wenn Sie die Weiterleitungsregel mit Protokoll-TCP und Port 80 konfigurieren, können Sie keine weitere Weiterleitungsregel für die Bereitstellung dieses Protokolls und dieses Ports konfigurieren. Sie können beispielsweise keine weitere Weiterleitungsregel für die TCP-Ports 80, 81 und 90 erstellen.
    • Wenn Sie die Weiterleitungsregel für TCP und die Ports 80, 8080 und 90 konfigurieren, können Sie keine weitere Weiterleitungsregel für TCP konfigurieren, die alle Ports verwendet.
  • Wenn zwei oder mehr Weiterleitungsregeln mithilfe des Flags --purpose=SHARED_LOADBALANCER_VIP dieselbe IP-Adresse haben, kann das Protokoll von höchstens einer davon auf L3_DEFAULT gesetzt sein.

Anwendungsfälle

Es sind viele verschiedene Bereitstellungen möglich. In den folgenden Beispielen wird eine einzelne IP-Adresse verwendet, die Traffic über bestimmte Ports für zwei Load-Balancer akzeptiert.

Beispiel 1

Dieses Beispiel verwendet verschiedene Weiterleitungsregeln mit den folgenden Parametern:

  • Dieselbe IP-Adresse (10.1.1.1)
  • Verschiedene Protokolle
  • Separate Backend-Dienste, auf die jede Weiterleitungsregel verweist
  • Übereinstimmende Protokolle: das Protokoll jedes Backend-Dienstes stimmt mit dem Protokoll der entsprechenden Weiterleitungsregel überein
Unterschiedliche Weiterleitungsregeln, dieselbe IP-Adresse, verschiedene Protokolle und Ports.
Unterschiedliche Weiterleitungsregeln, dieselbe IP-Adresse, verschiedene Protokolle und Ports (Zum Vergrößern klicken)

Beispiel 2

Dieses Beispiel verwendet verschiedene Weiterleitungsregeln mit den folgenden Parametern:

  • Dieselbe IPv4-Adresse (10.1.1.1)
  • Dasselbe Protokoll
  • Anderer Satz nummerierter Ports für jede Weiterleitungsregel
Verschiedene Weiterleitungsregeln, dieselbe IP-Adresse, dasselbe Protokoll, mehr als fünf nummerierte Ports
Verschiedene Weiterleitungsregeln, dieselbe IP-Adresse, dasselbe Protokoll, mehr als fünf nummerierte Ports (zum Vergrößern klicken)

Konfigurationsschritte

Sie können mehrere interne Weiterleitungsregeln mit derselben IP-Adresse erstellen, wenn Sie die folgenden beiden Schritte ausführen:

  1. Erstellen Sie eine statische (reservierte) interne IP-Adresse, die von den Weiterleitungsregeln verwendet werden soll.
  2. Legen Sie das Flag --purpose für die gemeinsam genutzte interne IP-Adresse auf den Wert SHARED_LOADBALANCER_VIP fest.

Ein Beispiel für eine Einrichtung finden Sie unter Traffic an mehreren Ports mit zwei Weiterleitungsregeln akzeptieren.