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 gemeinsame interne IP-Adresse für bis zu zehn Weiterleitungsregeln verwenden. Wenn Sie eine IP-Adresse freigeben möchten, legen Sie den Zweck der IP-Adresse auf SHARED_LOADBALANCER_VIP fest. 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 von Protokollen und Ports haben Sie folgende Möglichkeiten:

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

    Wenn eine Weiterleitungsregel für die Verwendung des TCP-Protokolls und aller Ports konfiguriert ist, kann keine andere Weiterleitungsregel mit dem TCP-Protokoll 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 UDP-Protokolls und aller Ports konfiguriert ist, kann keine andere Weiterleitungsregel mit dem UDP-Protokoll 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 L3_DEFAULT-Protokoll konfigurieren. Für eine IP-Adresse kann es nur eine L3_DEFAULT-Weiterleitungsregel geben, die bei Bedarf mit anderen TCP- und UDP-Weiterleitungsregeln gemeinsam verwendet 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 auf die nächste ganze Zahl 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 auf die nächste ganze Zahl 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 dem Protokoll TCP und dem Port 80 konfigurieren, können Sie keine weitere Weiterleitungsregel für dieses Protokoll und diesen Port konfigurieren. Sie können beispielsweise keine weitere Weiterleitungsregel erstellen, um die TCP-Ports 80, 81 und 90 zu bedienen.
    • 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 dieselbe IP-Adresse mit dem Flag --purpose=SHARED_LOADBALANCER_VIP teilen, kann das Protokoll bei höchstens einer davon auf L3_DEFAULT festgelegt 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.