Reglas de reenvío de balanceador de cargas de red de transferencia interno que usan una dirección IP común

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 protocolo TCP 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 protocolo UDP 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 o UDP.

  • 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ío L3_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:
una regla de reenvío

Para seis puertos o más:
varias reglas de reenvío

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

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:

  • Más de dos direcciones IP
  • Más de cinco puertos para tráfico de TCP en una dirección IP o más de cinco puertos para tráfico UDP en una dirección IP

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 TCP 80, 81 y 90.
    • Cuando configuras la regla de reenvío de TCP y puertos 80, 8080 y 90, no puedes configurar otra regla de reenvío para TCP que use todos los puertos.
  • 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 como L3_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
Diferentes reglas de reenvío, misma dirección IP, diferentes protocolos y puertos.
Diferentes reglas de reenvío, misma dirección IP, diferentes protocolos y puertos (haz clic en para ampliar).

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
Diferentes reglas de reenvío, misma dirección IP, mismo protocolo, más de cinco puertos numerados.
Diferentes reglas de reenvío, misma dirección IP, mismo protocolo, más de cinco puertos numerados (haz clic para ampliar).

Pasos de configuración

Puedes crear varias reglas de reenvío internas que tengan la misma dirección IP si haces lo siguiente:

  1. Crea una dirección IP interna estática (reservada) para que usen las reglas de reenvío.
  2. Establece el indicador --purpose en la dirección IP interna compartida en el valor SHARED_LOADBALANCER_VIP.

Para ver una configuración de ejemplo, consulta Acepta tráfico en varios puertos mediante dos reglas de reenvío.