Los balanceadores de cargas de red de transferencia internos son balanceadores de cargas regionales que te permiten ejecutar y escalar tus servicios detrás de una dirección IP interna a la que solo pueden acceder tus instancias de máquinas virtuales (VMs) internas.
En esta página, se discute el uso de múltiples reglas de reenvío con la misma dirección IP. Para obtener información general sobre los balanceadores de cargas de red de transferencia internos, consulta la descripción general del balanceador de cargas de red de transferencia interno.
Con las reglas de reenvío internas, puedes usar una dirección IP interna compartida en hasta diez reglas de reenvío. Puedes usar TCP
o UDP
para el protocolo de reglas de reenvío y asignar hasta cinco puertos a la regla de reenvío, o especificar --ports=ALL
a fin de usar todos los puertos. Si deseas usar el protocolo L3_DEFAULT
, debes usar todos los puertos con la opción --ports=ALL
.
Con combinaciones únicas de protocolo y puertos, puedes hacer lo siguiente:
Crea 50 puertos TCP únicos con cada regla de reenvío mediante el protocolo
TCP
.Si se configura una regla de reenvío para usar el protocolo
TCP
y todos los puertos, ninguna otra regla de reenvío que use el protocoloTCP
puede usar la misma dirección IP compartida.Crea 50 puertos UDP únicos con cada regla de reenvío mediante el protocolo
UDP
.Si se configura una regla de reenvío para usar el protocolo
UDP
y todos los puertos, ninguna otra regla de reenvío que use el protocoloUDP
puede usar la misma dirección IP compartida.Crea 50 combinaciones únicas de puertos TCP y UDP, con cada regla de reenvío mediante el protocolo
TCP
oUDP
.Consulta un servicio de backend (un solo balanceador de cargas) o múltiples servicios de fondo (múltiples balanceadores de carga que comparten la misma dirección IP)
Usa todos los puertos cuando configures 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 de TCP y UDP, si es necesario.
Cuando tus reglas de reenvío tienen protocolos diferentes, también debes tener dos servicios de backend diferentes. Un único balanceador de cargas de red de transferencia interno funciona para el tráfico TCP o UDP, no para ambos, porque tiene un único servicio de fondo que usa solo uno de estos protocolos.
Matrices de decisión para las reglas de reenvío
Usa las siguientes tablas para diseñar tu implementación.
Balanceador de cargas de red de transferencia interno
Un solo servicio de backend puede admitir TCP o UDP, pero no ambos.
Cuando necesites varias reglas de reenvío, calcula la cantidad de reglas de reenvío que necesitas mediante la fórmula ⌈total number of ports / 5⌉
, en la que ⌈⌉
es la función límite (mínimo entero) y significa redondea hacia arriba.
Por ejemplo, supón que necesitas 26 puertos TCP en una dirección IP del balanceador de carga. Si no deseas crear una sola regla de reenvío mediante --ports=ALL
, debes crear seis reglas de reenvío porque 26 / 5 = 5 with a remainder of 1
.
Configuración de frontend previsto | Cantidad de reglas de reenvío requeridas | Se requiere la marca --purpose=SHARED_LOADBALANCER_VIP para la dirección IP |
Especificación del puerto de regla de reenvío |
---|---|---|---|
Una dirección IP, tráfico en todos los puertos | Una regla de reenvío | No | --ports=ALL |
Una dirección IP, tráfico en puertos específicos |
Cinco puertos o menos: Para seis puertos o más: |
Para cinco puertos o menos: no Para seis puertos o más: sí |
Establece --ports en 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, tráfico en puertos específicos | Al menos una regla de reenvío por dirección IP |
Si usas cinco puertos o menos por dirección IP: no Si usas seis o más puertos por dirección IP: sí |
Establece --ports en un conjunto de hasta cinco números de puerto contiguos o no contiguos. |
Dos balanceadores de cargas de red de transferencia internos
Cuando tiene dos balanceadores de cargas de red de transferencia internos, puedes tener dos servicios de backend, donde un servicio de backend es para tráfico TCP y el otro servicio de backend es para tráfico UDP.
Cuando necesites varias reglas de reenvío, calcula la cantidad de reglas de reenvío que necesitas mediante la siguiente fórmula, en la que ⌈⌉
es la función techo (mínimo entero) y significa redondear hacia arriba:
⌈total number of TCP ports / 5⌉ ⌈total number of UDP ports / 5⌉
Por ejemplo, supongamos que necesitas 26 puertos TCP y 12 puertos UDP. Debes 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 previsto | Cantidad de reglas de reenvío requeridas | Se requiere la marca --purpose=SHARED_LOADBALANCER_VIP para la dirección IP |
Especificación del puerto de regla de reenvío |
---|---|---|---|
Una dirección IP, tráfico en todos los puertos | Dos reglas de reenvío, una para TCP y otra para UDP | Debido a que la regla de reenvío de TCP y la regla de reenvío de UDP deben compartir una sola dirección IP: sí | --ports=ALL |
Una dirección IP, tráfico en puertos específicos |
Para cinco puertos TCP o menos y cinco puertos UDP o menos: dos reglas de reenvío, una para TCP, una para UDP Para seis o más puertos TCP o UDP: varias reglas de reenvío, en las que cada regla de reenvío admite un protocolo y cinco puertos o menos |
Sí | Establece --ports en 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, ya sea TCP o UDP |
Al menos dos reglas de reenvío, una para TCP con una dirección IP, 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 Para seis puertos TCP o UDP o más: sí |
Establece --ports en 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:
- Cuando configuras la regla de reenvío con el protocolo TCP y el puerto
80
, no puedes configurar otra regla de reenvío para entregar ese protocolo y ese puerto. Por ejemplo, no puedes crear otra regla de reenvío para entregar a los puertos TCP80
,81
y90
. - Cuando configuras la regla de reenvío de TCP y puertos
80
,8080
y90
, no puedes configurar otra regla de reenvío para TCP que use todos los puertos.
- Cuando 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 una de ellas puede tener el protocolo configurado comoL3_DEFAULT
.
Casos de uso
Se pueden realizar muchos tipos de implementaciones. En los siguientes ejemplos, se usa una dirección IP que acepta tráfico en puertos específicos para dos balanceadores de cargas.
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
- Separa los servicios de backend 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 distintos en cada regla de reenvío
Pasos de configuración
Puedes crear varias reglas de reenvío internas que tengan la misma dirección IP si haces lo siguiente:
- Crea una dirección IP interna estática (reservada) para que usen las reglas de reenvío.
- Establece el indicador
--purpose
en la dirección IP interna compartida en el valorSHARED_LOADBALANCER_VIP
.
Para ver una configuración de ejemplo, consulta Acepta tráfico en varios puertos mediante dos reglas de reenvío.