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 protocoleTCP
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 protocoleUDP
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
ouUDP
.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 transfertL3_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 : Six ports ou plus : |
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 :
|
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 TCP80
,81
et90
. - Lorsque vous configurez la règle de transfert pour TCP et les ports
80
,8080
et90
, vous ne pouvez pas configurer une autre règle de transfert pour TCP qui utiliserait tous les ports.
- Lorsque vous configurez la règle de transfert avec le protocole TCP et le port
- 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 surL3_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.
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
É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 :
- Créer une adresse IP interne statique (réservée) pour les règles de transfert à utiliser.
- Définir l'option
--purpose
sur la valeurSHARED_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.