Règles de transfert de l'équilibreur de charge réseau passthrough interne utilisant une adresse IP commune

Les équilibreurs de charge passthrough internes sont des équilibreurs de charge régionaux qui vous permettent d'exécuter et de faire évoluer vos services derrière une adresse IP interne accessible uniquement pour vos instances de VM internes.

Cette page explique comment utiliser plusieurs règles de transfert avec la même adresse IP. Pour des informations générales sur les équilibreurs de charge réseau passthrough internes, consultez la présentation de l'équilibreur de charge réseau passthrough interne.

À l'aide de règles de transfert internes, vous pouvez utiliser une adresse IP interne partagée entre dix règles de transfert au maximum. Vous pouvez utiliser TCP ou UDP pour le protocole de règle de transfert et attribuer jusqu'à cinq ports à la règle de transfert, ou spécifiez --ports=ALL pour utiliser tous les ports. Si vous souhaitez utiliser le protocole L3_DEFAULT, vous devez utiliser tous les ports avec l'option --ports=ALL.

Avec des combinaisons uniques de protocoles et de ports, vous pouvez effectuer les opérations suivantes :

  • Créez 50 ports TCP uniques avec chaque règle de transfert à l'aide du protocole TCP.

    Si une règle de transfert est configurée pour utiliser le protocole TCP et tous les ports, aucune autre règle de transfert utilisant le protocole TCP ne peut utiliser la même adresse IP partagée.

  • Créez 50 ports UDP uniques avec chaque règle de transfert à l'aide du protocole UDP.

    Si une règle de transfert est configurée pour utiliser le protocole UDP et tous les ports, aucune autre règle de transfert utilisant le protocole UDP ne peut utiliser la même adresse IP partagée.

  • Créez 50 combinaisons uniques de ports TCP et UDP, avec chaque règle de transfert à l'aide du protocole TCP ou UDP.

  • Référencez un service de backend commun (un seul équilibreur de charge) ou plusieurs services de backend (plusieurs équilibreurs de charge partageant la même adresse IP).

  • Utilisez tous les ports lorsque vous configurez une règle de transfert avec le protocole L3_DEFAULT. Il ne peut y avoir qu'une seule règle de transfert L3_DEFAULT pour une adresse IP. Elle peut être partagée avec d'autres règles de transfert TCP et UDP, si nécessaire.

Lorsque les règles de transfert utilisent des protocoles différents, vous devez également avoir deux services de backend différents. Un équilibreur de charge passthrough interne unique fonctionne avec le trafic TCP ou UDP, mais pas avec les deux, car il possède un seul service de backend qui utilise un seul de ces protocoles.

Matrices de décision pour les règles de transfert

Utilisez les tableaux suivants pour concevoir votre déploiement.

Équilibreur de charge réseau passthrough interne

Un service de backend unique utilise le protocole TCP ou UDP, mais pas les deux.

Lorsque vous avez besoin de plusieurs règles de transfert, calculez le nombre de règles de transfert dont vous avez besoin à l'aide de la formule suivante : ⌈total number of ports / 5⌉, où⌈⌉ est la fonction plafond (plus petit entier), et signifie arrondir.

Par exemple, supposons que vous ayez besoin de 26 ports TCP sur une adresse IP de votre équilibreur de charge. Si vous ne souhaitez pas créer une seule règle de transfert en utilisant --ports=ALL, vous devez créer six règles de transfert, car 26 / 5 = 5 with a remainder of 1.

Configuration d'interface prévue Nombre de règles de transfert requises Option --purpose=SHARED_LOADBALANCER_VIP requise pour l'adresse IP Spécification du port de la règle de transfert
Une seule adresse IP, trafic sur tous les ports Une seule règle de transfert Non --ports=ALL
Une seule adresse IP, trafic sur des ports spécifiques

Cinq ports ou moins :
une seule règle de transfert

Six ports ou plus :
plusieurs règles de transfert

Cinq ports ou moins : non

Six ports ou plus : oui

Définissez --ports sur un ensemble de jusqu'à cinq numéros de port, contigus ou non contigus.
Plusieurs adresses IP, trafic sur tous les ports Une seule règle de transfert par adresse IP Non --ports=ALL
Plusieurs adresses IP, trafic sur des ports spécifiques Au moins une règle de transfert par adresse IP

Si vous utilisez cinq ports ou moins par adresse IP : non

Si vous utilisez au moins six ports par adresse IP : oui

Définissez --ports sur un ensemble de jusqu'à cinq numéros de port, contigus ou non contigus.

Deux équilibreurs de charge réseau passthrough internes

Lorsque vous disposez de deux équilibreurs de charge passthrough internes, vous pouvez utiliser deux services de backend, un pour le trafic TCP et l'autre pour le trafic UDP.

Lorsque vous avez besoin de plusieurs règles de transfert, calculez le nombre de règles de transfert dont vous avez besoin à l'aide de la formule suivante, où ⌈⌉ correspond à la fonction plafond (plus petit entier), et signifie "arrondir" :

 ⌈total number of TCP ports / 5⌉

 ⌈total number of UDP ports / 5⌉

Par exemple, supposons que vous ayez besoin de 26 ports TCP et de 12 ports UDP. Vous devez créer neuf règles de transfert :

  • 26 / 5 = 5 with a remainder of 1, vous avez donc besoin de six règles de transfert pour vos ports TCP.
  • 12 / 5 = 2 with a remainder of 2, vous avez donc besoin de trois règles de transfert pour vos ports UDP.
Configuration d'interface prévue Nombre de règles de transfert requises Option --purpose=SHARED_LOADBALANCER_VIP requise pour l'adresse IP Spécification du port de la règle de transfert
Une seule adresse IP, trafic sur tous les ports Deux règles de transfert. Une pour le trafic TCP, une pour le trafic UDP. Étant donné que la règle de transfert TCP et la règle de transfert UDP doivent partager une adresse IP unique : oui --ports=ALL
Une seule adresse IP, trafic sur des ports spécifiques

Pour cinq ports TCP ou moins et cinq ports UDP ou moins : deux règles de transfert, une pour TCP et une pour UDP.

Pour six ports TCP ou plus ou pour plusieurs ports UDP : plusieurs règles de transfert, chacune acceptant un protocole et cinq ports ou moins.

Oui Définissez --ports sur un ensemble de jusqu'à cinq numéros de port, contigus ou non contigus.
Plusieurs adresses IP, trafic sur tous les ports, TCP ou UDP.

Au moins deux règles de transfert : une pour le port TCP utilisant une adresse IP, une autre pour le port UDP utilisant une adresse IP différente.

Trois règles de transfert ou plus si vous avez besoin de trois adresses IP ou plus.

Non --ports=ALL
Plusieurs adresses IP, trafic sur des ports spécifiques, TCP ou UDP.

Au moins deux règles de transfert : une pour le port TCP utilisant une adresse IP, une autre pour le port UDP utilisant une adresse IP différente.

Plus de deux règles de transfert si vous avez besoin de l'une des options suivantes :

  • plus de deux adresses IP ;
  • plus de cinq ports pour le trafic TCP sur une seule adresse IP ou plus de cinq ports UDP sur une seule adresse IP.

Pour une adresse IP avec cinq ports TCP ou moins et une adresse IP avec cinq ports UDP ou moins : non

Pour six ports TCP ou UDP au minimum : oui

Définissez --ports sur un ensemble de jusqu'à cinq numéros de port, contigus ou non contigus.

Limites

  • Deux règles de transfert ou plus avec la même adresse IP et le même protocole ne peuvent pas comporter de ports qui se chevauchent. Exemple :
    • Lorsque vous configurez la règle de transfert avec le protocole TCP et le port 80, vous ne pouvez pas configurer une autre règle de transfert pour diffuser ce protocole et ce port. Par exemple, vous ne pouvez pas créer d'autre règle de transfert pour diffuser les ports TCP 80, 81 et 90.
    • Lorsque vous configurez la règle de transfert pour TCP et les ports 80, 8080 et 90, vous ne pouvez pas configurer une autre règle de transfert pour TCP qui utiliserait tous les ports.
  • Lorsqu'au moins deux règles de transfert partagent la même adresse IP à l'aide de l'option --purpose=SHARED_LOADBALANCER_VIP, au maximum une seule d'entre elle peut avoir le protocole défini sur L3_DEFAULT.

Cas d'utilisation

De nombreux types de déploiements différents sont possibles. Les exemples suivants utilisent une seule adresse IP qui accepte le trafic sur des ports spécifiques pour deux équilibreurs de charge.

Exemple 1

Cet exemple utilise différentes règles de transfert avec les paramètres suivants :

  • La même adresse IP (10.1.1.1)
  • Des protocoles différents
  • Chaque règle de transfert pointe vers des services de backend distincts.
  • Protocoles correspondants : le protocole de chaque service de backend correspond au protocole de la règle de transfert associée.
Différentes règles de transfert, même adresse IP, différents protocoles et ports.
Différentes règles de transfert, même adresse IP, différents protocoles et ports (cliquez sur pour agrandir).

Exemple 2

Cet exemple utilise différentes règles de transfert avec les paramètres suivants :

  • La même adresse IPv4 (10.1.1.1)
  • Le même protocole
  • Un ensemble distrinct de ports spécifiques numérotés sur chaque règle de transfert
Règles de transfert différentes, même adresse IP, même protocole, un minimum de cinq ports numérotés.
Règles de transfert différentes, même adresse IP, même protocole, un minimum de cinq ports numérotés (cliquez pour agrandir)

Étapes de configuration

Vous pouvez créer plusieurs règles de transfert internes ayant la même adresse IP si vous effectuez les deux opérations suivantes :

  1. Créer une adresse IP interne statique (réservée) pour les règles de transfert à utiliser.
  2. Définir l'option --purpose sur la valeur SHARED_LOADBALANCER_VIP pour l'adresse IP interne commune.

Pour un exemple de configuration, consultez la section Accepter le trafic sur plusieurs ports en utilisant deux règles de transfert.