Los balanceadores de carga de red con paso a través internos son balanceadores de carga regionales que te permiten ejecutar y escalar tus servicios mediante una dirección IP interna a la que solo pueden acceder tus instancias de máquina virtual (VM) internas.
En esta página se explica cómo usar varias reglas de reenvío con la misma dirección IP. Para obtener información general sobre los balanceadores de carga de red de paso a través internos, consulta la descripción general de los balanceadores de carga de red de paso a través internos.
Con las reglas de reenvío internas, puedes usar una dirección IP interna compartida en hasta diez reglas de reenvío. Para compartir una dirección IP, debes definir el propósito de la dirección IP como SHARED_LOADBALANCER_VIP
. Puedes usar TCP
o UDP
para el protocolo de la regla de reenvío y asignar hasta cinco puertos a la regla de reenvío, o especificar --ports=ALL
para usar todos los puertos. Si quiere usar el protocolo L3_DEFAULT
, debe usar todos los puertos con la opción --ports=ALL
.
Con combinaciones únicas de protocolos y puertos, puedes hacer lo siguiente:
Crea 50 puertos TCP únicos con cada regla de reenvío mediante el protocolo
TCP
.Si una regla de reenvío se configura para usar el protocolo
TCP
y todos los puertos, ninguna otra regla de reenvío que use el protocoloTCP
podrá usar la misma dirección IP compartida.Crea 50 puertos UDP únicos con cada regla de reenvío mediante el protocolo
UDP
.Si una regla de reenvío se configura para usar el protocolo
UDP
y todos los puertos, ninguna otra regla de reenvío que use el protocoloUDP
podrá usar la misma dirección IP compartida.Crea 50 combinaciones únicas de puertos TCP y UDP, y haz que cada regla de reenvío use el protocolo
TCP
oUDP
.Hacer referencia a un servicio de backend común (un solo balanceador de carga) o a varios servicios de backend (varios balanceadores de carga que comparten la misma dirección IP).
Usa todos los puertos al configurar una regla de reenvío con el protocolo
L3_DEFAULT
. Solo puede haber una regla de reenvíoL3_DEFAULT
para una dirección IP, que se puede compartir con otras reglas de reenvío TCP y UDP, si es necesario.
Si tus reglas de reenvío tienen protocolos diferentes, también debes tener dos servicios de backend distintos. Un único balanceador de carga de red interno de tipo pasarela funciona con tráfico TCP o UDP, pero no con ambos, porque tiene un único servicio de backend que usa solo uno de estos protocolos.
Matrices de decisión de reglas de reenvío
Usa las siguientes tablas para diseñar tu implementación.
Un solo balanceador de carga de red de paso a través interno
Un servicio de backend solo admite TCP o UDP, pero no ambos.
Si necesitas varias reglas de desvío, calcula el número de reglas que necesitas con la fórmula ⌈total number of ports / 5⌉
, donde ⌈⌉
es la función de techo (el entero más pequeño) y significa redondear hacia arriba al número entero más próximo.
Por ejemplo, supongamos que necesitas 26 puertos TCP en una dirección IP de tu balanceador de carga. Si no quieres crear una sola regla de reenvío con --ports=ALL
, debes crear seis reglas de reenvío porque 26 / 5 = 5 with a remainder of 1
.
Configuración de frontend prevista | Número de reglas de reenvío necesarias | Marca --purpose=SHARED_LOADBALANCER_VIP
obligatoria para la dirección IP |
Especificación de puerto de la regla de reenvío |
---|---|---|---|
Una dirección IP y tráfico en todos los puertos | Una regla de reenvío | No | --ports=ALL |
Una dirección IP y tráfico en puertos específicos |
Para cinco puertos o menos: Para seis o más puertos: |
Si hay cinco puertos o menos, no. Para seis o más puertos: sí |
--ports debe tener como valores un conjunto de hasta cinco números de puerto contiguos o no contiguos.
|
Varias direcciones IP, tráfico en todos los puertos | Una regla de reenvío por dirección IP | No | --ports=ALL |
Varias direcciones IP y tráfico en puertos específicos | Al menos una regla de reenvío por dirección IP |
Si se usan cinco o menos puertos por dirección IP: no Si se usan seis o más puertos por dirección IP: sí |
--ports debe tener como valores un conjunto de hasta cinco números de puerto contiguos o no contiguos.
|
Dos balanceadores de carga de red de paso a través internos
Si tienes dos balanceadores de carga de red de tipo pasarela internos, puedes tener dos servicios de backend, uno para el tráfico TCP y otro para el tráfico UDP.
Si necesitas varias reglas de desvío, calcula el número de reglas que necesitas con la siguiente fórmula, donde ⌈⌉
es la función de techo (el entero más pequeño) y significa redondear hacia arriba al número entero más próximo:
⌈total number of TCP ports / 5⌉ ⌈total number of UDP ports / 5⌉
Por ejemplo, supongamos que necesitas 26 puertos TCP y 12 puertos UDP. Debe crear nueve reglas de reenvío:
26 / 5 = 5 with a remainder of 1
, por lo que necesitas seis reglas de reenvío para tus puertos TCP.12 / 5 = 2 with a remainder of 2
, por lo que necesitas tres reglas de reenvío para tus puertos UDP.
Configuración de frontend prevista | Número de reglas de reenvío necesarias | Marca --purpose=SHARED_LOADBALANCER_VIP
obligatoria para la dirección IP |
Especificación de puerto de la regla de reenvío |
---|---|---|---|
Una dirección IP y tráfico en todos los puertos | Dos reglas de reenvío: una para TCP y otra para UDP | Porque la regla de reenvío TCP y la regla de reenvío UDP deben compartir una única dirección IP: sí | --ports=ALL |
Una dirección IP y tráfico en puertos específicos |
Si hay cinco puertos TCP o menos y cinco puertos UDP o menos: dos reglas de reenvío: una para TCP y otra para UDP Para seis o más puertos TCP o UDP: varias reglas de reenvío, donde cada regla de reenvío admite un protocolo y cinco o menos puertos |
Sí | --ports debe tener como valores un conjunto de hasta cinco números de puerto contiguos o no contiguos.
|
Varias direcciones IP, tráfico en todos los puertos, ya sea TCP o UDP |
Al menos dos reglas de reenvío: una para TCP con una dirección IP y otra para UDP con una dirección IP diferente Tres o más reglas de reenvío si necesitas tres o más direcciones IP |
No | --ports=ALL |
Varias direcciones IP, tráfico en puertos específicos (TCP o UDP) |
Al menos dos reglas de reenvío: una para TCP con una dirección IP y otra para UDP con una dirección IP diferente Más de dos reglas de reenvío si necesitas una de las siguientes opciones:
|
Para una dirección IP con cinco puertos TCP o menos y una dirección IP con cinco puertos UDP o menos: no Seis o más puertos TCP o UDP: sí |
--ports debe tener como valores un conjunto de hasta cinco números de puerto contiguos o no contiguos.
|
Limitaciones
- Dos o más reglas de reenvío con la misma dirección IP y el mismo protocolo no pueden tener puertos superpuestos. Por ejemplo:
- Si configuras la regla de reenvío con el protocolo TCP y el puerto
80
, no podrás configurar otra regla de reenvío para ese protocolo y puerto. Por ejemplo, no puedes crear otra regla de reenvío para servir los puertos TCP80
,81
y90
. - Cuando configuras la regla de reenvío para TCP y los puertos
80
,8080
y90
, no puedes configurar otra regla de reenvío para TCP que use todos los puertos.
- Si configuras la regla de reenvío con el protocolo TCP y el puerto
- Cuando dos o más reglas de reenvío comparten la misma dirección IP mediante la marca
--purpose=SHARED_LOADBALANCER_VIP
, como máximo solo una de ellas puede tener el protocolo definido comoL3_DEFAULT
.
Casos prácticos
Se pueden realizar muchos tipos de implementaciones. En los ejemplos siguientes se usa una dirección IP que acepta tráfico en puertos específicos para dos balanceadores de carga.
Ejemplo 1
En este ejemplo se usan diferentes reglas de reenvío con los siguientes parámetros:
- La misma dirección IP (
10.1.1.1
) - Protocolos diferentes
- Servicios de backend independientes a los que apunta cada regla de reenvío
- Protocolos coincidentes: el protocolo de cada servicio de backend coincide con el protocolo de la regla de reenvío correspondiente.
Ejemplo 2
En este ejemplo se usan diferentes reglas de reenvío con los siguientes parámetros:
- La misma dirección IPv4 (
10.1.1.1
) - El mismo protocolo
- Un conjunto diferente de puertos numerados en cada regla de reenvío
Pasos de la configuración
Puede crear varias reglas de reenvío internas que tengan la misma dirección IP si hace lo siguiente:
- Crea una dirección IP interna estática (reservada) para que la usen las reglas de reenvío.
- Asigna el valor
SHARED_LOADBALANCER_VIP
a la marca--purpose
de la dirección IP interna compartida.
Para ver un ejemplo de configuración, consulta Aceptar tráfico en varios puertos con dos reglas de reenvío.