Configura un balanceador de cargas de red con un servicio de backend

Organiza tus páginas con colecciones Guarda y categoriza el contenido según tus preferencias.

En esta guía, se proporcionan instrucciones para crear una implementación básica de balanceo de cargas de red con un servicio de backend regional. En este ejemplo, se crea un balanceador de cargas de red que admite tráfico de TCP o UDP. Además, si deseas crear un balanceador de cargas de red que balancee las cargas de tráfico de TCP, UDP, ESP, GRE, ICMP e ICMPv6 (no solo TCP o UDP), consulta la sección sobre cómo configurar un balanceador de cargas de red para varios protocolos de IP.

En este ejemplo, usaremos el balanceador de cargas para distribuir el tráfico de TCP entre las VM de backend en dos grupos de instancias zonales administrados en la región us-central1. Un enfoque con igual validez sería usar un solo grupo de instancias regional administrado en la región us-central1.

Balanceador de cargas de red con grupos de instancias zonales
Balanceo de cargas de red con grupos de instancias zonales administrados

Esta situación distribuye el tráfico de TCP en instancias en buen estado. A fin de admitir este ejemplo, las verificaciones de estado de TCP están configuradas para garantizar que el tráfico se envíe solo a instancias en buen estado. Ten en cuenta que las verificaciones de estado de TCP solo son compatibles con un balanceador de cargas basado en servicios de backend. Los balanceadores de cargas de destino basados en grupos solo pueden usar verificaciones de estado HTTP heredadas.

En este ejemplo, se balancean cargas de tráfico de TCP, pero puedes usar el balanceo de cargas de red para balancear cargas del tráfico UDP, SSL y HTTP(S).

El balanceador de cargas de red es un balanceador de cargas regional. Todos los componentes del balanceador de cargas (VM de backend, servicio de backend y regla de reenvío) deben estar en la misma región.

Antes de comenzar

Instala Google Cloud CLI. Para obtener una descripción general completa de la herramienta, consulta la descripción general de la CLI de gcloud. Encontrarás comandos relacionados con el balanceo de cargas en la guía de referencia de API y gcloud.

Si nunca ejecutaste Google Cloud CLI, primero ejecuta gcloud init para autenticarte.

En esta guía, suponemos que estás familiarizado con Bash.

Configura la red y las subredes

En el ejemplo de esta página, se usa una red de VPC en modo personalizado con el nombre lb-network. Puedes usar una red de modo automático si solo deseas controlar el tráfico IPv4. Sin embargo, el tráfico IPv6 requiere una subred de modo personalizado.

El tráfico IPv6 también requiere una subred de doble pila (stack-type configurada en IPv4_IPv6). Cuando creas una subred de doble pila en una red de VPC de modo personalizado, eliges un tipo de acceso IPv6 para la subred. Para este ejemplo, establecemos el parámetro ipv6-access-type de la subred en EXTERNAL. Esto significa que a las VM nuevas de esta subred se les pueden asignar direcciones IPv4 y IPv6 externas.

El grupo de instancias de backend y los componentes del balanceador de cargas usados para este ejemplo se encuentran en la región y la subred que se incluyen a continuación:

  • Región: us-central1
  • Subred: lb-subnet, con el rango de direcciones IPv4 principal 10.1.2.0/24. Aunque elijas qué rango de direcciones IPv4 se configurará en la subred, el rango de direcciones IPv6 se asigna automáticamente. Google proporciona un bloque CIDR IPv6 de tamaño fijo (/64).

Para crear la red y la subred de ejemplo, sigue estos pasos:

Console

Para admitir el tráfico IPv4 e IPv6, sigue estos pasos:

  1. En Google Cloud Console, ve a la página Redes de VPC.
    Ir a las redes de VPC
  2. Haga clic en Crear red de VPC.
  3. En Nombre ingresa lb-network.
  4. En la sección Subredes, haz lo siguiente:
    • Establece Modo de creación de subred en Personalizado.
    • En la sección Subred nueva, configura los siguientes campos:
      • Name: lb-subnet
      • Región: us-central1
      • Tipo de pila IP: IPv4 e IPv6 (pila doble)
      • Rango IPv4: 10.1.2.0/24
        Aunque puedes configurar un rango de direcciones IPv4 para la subred, no puedes elegir el rango de direcciones IPv6 para lo siguiente: la subred. Google proporciona un bloque CIDR IPv6 de tamaño fijo (/64).
      • Tipo de acceso IPv6: externo
      • Haga clic en Listo.
  5. Haga clic en Crear.

Para que solo sea compatible con el tráfico IPv4, sigue estos pasos:

  1. En Google Cloud Console, ve a la página Redes de VPC.
    Ir a las redes de VPC
  2. Haga clic en Crear red de VPC.
  3. En Nombre ingresa lb-network.
  4. En la sección Subredes, haz lo siguiente:
    • Establece Modo de creación de subred en Personalizado.
    • En la sección Subred nueva, configura los siguientes campos:
      • Name: lb-subnet
      • Región: us-central1
      • Tipo de pila IP: IPv4 (pila única)
      • Rango IPv4: 10.1.2.0/24
      • Haga clic en Listo.
  5. Haga clic en Crear.

gcloud

  1. Crea la red de VPC en modo personalizado:

    gcloud compute networks create lb-network \
        --subnet-mode=custom
    
  2. Dentro de la red lb-network, crea una subred para backends en la región us-central1.

    Para el tráfico IPv4 e IPv6, usa el siguiente comando:

    gcloud compute networks subnets create lb-subnet \
      --stack-type=IPV4_IPv6 \
      --ipv6-access-type=EXTERNAL \
      --network=lb-network \
      --range=10.1.2.0/24 \
      --region=us-central1
    

    Para el tráfico IPv4, usa el siguiente comando:

    gcloud compute networks subnets create lb-subnet \
      --network=lb-network \
      --range=10.1.2.0/24 \
      --region=us-central1
    

Crea los grupos de instancias administrados zonales

Para esta situación de balanceo de cargas, crearás dos grupos de instancias zonales administrados de Compute Engine y, luego, instalarás un servidor web Apache en cada instancia.

Para manejar el tráfico IPv4 e IPv6, configura las VM de backend a fin de que sean de pila doble. Establece stack-type de la VM en IPv4_IPv6. Las VM también heredan la configuración ipv6-access-type (en este ejemplo, EXTERNAL) de la subred.

Las instancias que participan como VM de backend para balanceadores de cargas de red se deben ejecutar en el entorno invitado de Linux, el entorno invitado de Windows o algún otro proceso que proporcione una funcionalidad equivalente.

Configura las instancias

Consola de Cloud

  1. Crear una plantilla de instancias En la consola de Google Cloud, ve a la página Plantillas de instancia.

    Ir a Plantillas de instancia

    1. Haga clic en Crear plantilla de instancias.
    2. En Nombre, ingresa ig-us-template.
    3. Asegúrate de que el disco de arranque esté configurado como una imagen de Debian, como Debian GNU/Linux 10 (buster). En estas instrucciones, se usan comandos que solo están disponibles en Debian, como apt-get.
    4. Haz clic en Herramientas de redes, discos, seguridad, administración, usuario único.
    5. Haz clic en Administración y copia la siguiente secuencia de comandos en el campo Secuencia de comandos de inicio.

      #! /bin/bash
      sudo apt-get update
      sudo apt-get install apache2 -y
      sudo a2ensite default-ssl
      sudo a2enmod ssl
      sudo vm_hostname="$(curl -H "Metadata-Flavor:Google" \
      http://169.254.169.254/computeMetadata/v1/instance/name)"
      sudo echo "Page served from: $vm_hostname" | \
      tee /var/www/html/index.html
      sudo systemctl restart apache2
      
    6. Haga clic en Herramientas de redes.

      1. En Etiquetas de red, ingresa lb-tag.
      2. En Interfaces de red, haz clic en la interfaz predeterminada y configura los siguientes campos:
        1. Red: lb-network
        2. Subred: lb-subnet
    7. Haga clic en Crear.

  2. Cree un grupo de instancias administrado. Ve a la página Grupos de instancias en la consola de Google Cloud.

    Ir a Grupos de instancias

    1. Haga clic en Crear grupo de instancias.
    2. Selecciona Nuevo grupo de instancias administrado (sin estado). Para obtener más información, consulta MIG sin estado o con estado.
    3. En Nombre, ingresa ig-us-1.
    4. En Ubicación, selecciona Zona única.
    5. En Región, selecciona us-central1.
    6. En Zona, selecciona us-central1-a.
    7. En Plantilla de instancias, selecciona ig-us-template.
    8. Especifica la cantidad de instancias que quieres crear en el grupo.

      En este ejemplo, especifica las siguientes opciones en Ajuste de escala automático:

      • En Modo de ajuste de escala automático, selecciona Off:do not autoscale.
      • En Cantidad máxima de instancias, ingresa 2.
    9. Haga clic en Crear.

  3. Repite los pasos anteriores para crear un segundo grupo de instancias administrado en la zona us-central1-c con las siguientes especificaciones:

    • Name: ig-us-2
    • Zona: us-central1-c
    • Plantilla de instancias: Usa la misma plantilla ig-us-template creada en la sección anterior.

gcloud

En las instrucciones de gcloud que se incluyen en esta guía, se supone que usas Cloud Shell o algún otro entorno con bash instalado.

  1. Crea una plantilla de instancias de VM con el servidor de HTTP con el comando gcloud compute instance-templates create.

    Para controlar el tráfico IPv4 e IPv6, usa el siguiente comando.

    gcloud compute instance-templates create ig-us-template \
    --region=us-central1 \
    --network=lb-network \
    --subnet=lb-subnet \
    --ipv6-network-tier=PREMIUM \
    --stack-type=IPv4_IPv6 \
    --tags=lb-tag \
    --image-family=debian-10 \
    --image-project=debian-cloud \
    --metadata=startup-script='#! /bin/bash
    apt-get update
    apt-get install apache2 -y
    a2ensite default-ssl
    a2enmod ssl
    vm_hostname="$(curl -H "Metadata-Flavor:Google" \
    http://169.254.169.254/computeMetadata/v1/instance/name)"
    echo "Page served from: $vm_hostname" | \
    tee /var/www/html/index.html
    systemctl restart apache2'
    

    Para controlar el tráfico solo IPv4, usa el siguiente comando.

    gcloud compute instance-templates create ig-us-template \
    --region=us-central1 \
    --network=lb-network \
    --subnet=lb-subnet \
    --tags=lb-tag \
    --image-family=debian-10 \
    --image-project=debian-cloud \
    --metadata=startup-script='#! /bin/bash
    apt-get update
    apt-get install apache2 -y
    a2ensite default-ssl
    a2enmod ssl
    vm_hostname="$(curl -H "Metadata-Flavor:Google" \
    http://169.254.169.254/computeMetadata/v1/instance/name)"
    echo "Page served from: $vm_hostname" | \
    tee /var/www/html/index.html
    systemctl restart apache2'
    
  2. Crea un grupo de instancias administrado en la zona con el comando gcloud compute instance-groups managed create.

    gcloud compute instance-groups managed create ig-us-1 \
        --zone us-central1-a \
        --size 2 \
        --template ig-us-template
    
  3. Crea un segundo grupo de instancias administrado en la zona us-central1-c:

    gcloud compute instance-groups managed create ig-us-2 \
        --zone us-central1-c \
        --size 2 \
        --template ig-us-template
    

Configura las reglas de firewall

Crea reglas de firewall que permitan que el tráfico externo (que incluye sondeos de verificación de estado) llegue a las instancias de backend.

En este ejemplo, se crea una regla de firewall que permite que el tráfico TCP de todos los rangos de origen llegue a tus instancias de backend en el puerto 80. Si deseas crear reglas de firewall independientes específicamente para los sondeos de verificación de estado, usa los rangos de direcciones IP de origen documentados en Descripción general de las verificaciones de estado: rangos de IP de sondeo y reglas de firewall.

Console

  1. Ve a la página Firewalls en la consola de Google Cloud.
    Ir a la página Firewalls
  2. Para permitir el tráfico IPv4, sigue estos pasos:
    1. Haga clic en Crear regla de firewall.
    2. En Nombre ingresa allow-network-lb-ipv4.
    3. Selecciona la Red a la que se aplicará la regla de firewall (lb-network).
    4. En Destinos selecciona Etiquetas de destino especificadas.
    5. En el campo Etiquetas de destino, ingresa lb-tag.
    6. En Filtro de fuente, selecciona Rangos de IPv4.
    7. Establece los Rangos de IPv4 de origen en 0.0.0.0/0. Esto permite el tráfico IPv4 desde cualquier fuente. Así como permite que los sondeos de verificación de estado de Google lleguen a las instancias de backend.
    8. En Protocolos y puertos especificados, haz clic en la casilla de verificación junto a TCPy, luego, ingresa 80.
    9. Haga clic en Crear. Pueden pasar unos minutos hasta que la consola de Google Cloud muestre la regla de firewall nueva, o es posible que debas hacer clic en Actualizar a fin de ver la regla.
  3. Para permitir el tráfico IPv6, sigue estos pasos:
    1. Vuelve a hacer clic en Crear regla de firewall.
    2. En Nombre ingresa allow-network-lb-ipv6.
    3. Selecciona la Red a la que se aplicará la regla de firewall (lb-network).
    4. En Destinos selecciona Etiquetas de destino especificadas.
    5. En el campo Etiquetas de destino, ingresa lb-tag.
    6. En Filtro de fuente, selecciona Rangos de IPv6.
    7. Establece los Rangos de IPv6 de origen en ::/0. Esto permite el tráfico IPv6 de cualquier fuente. Así como permite que los sondeos de verificación de estado de Google lleguen a las instancias de backend.
    8. En Protocolos y puertos especificados, haz clic en la casilla de verificación junto a TCPy, luego, ingresa 80.
    9. Haga clic en Crear. Pueden pasar unos minutos hasta que Console muestre la regla de firewall nueva, o es posible que debas hacer clic en Actualizar a fin de ver la regla.

gcloud

  1. Para permitir el tráfico IPv4, ejecuta el siguiente comando:

    gcloud compute firewall-rules create allow-network-lb-ipv4 \
        --network=lb-network \
        --target-tags=lb-tag \
        --allow=tcp:80 \
        --source-ranges=0.0.0.0/0
    
  2. Para permitir el tráfico IPv6, ejecuta el siguiente comando:

    gcloud compute firewall-rules create allow-network-lb-ipv6 \
      --network=lb-network \
      --target-tags=lb-tag \
      --allow=tcp:80 \
      --source-ranges=::/0
    

Configura el balanceador de cargas

A continuación, configura el balanceador de cargas.

Cuando configuras el balanceador de cargas, tus instancias de máquina virtual recibirán paquetes destinados a la dirección IP externa estática que configures. Si usas una imagen proporcionada por Compute Engine, tus instancias se configurarán de forma automática para controlar esta dirección IP. Si usas cualquier otra imagen, debes configurar esta dirección como un alias en eth0 o como un bucle invertido en cada instancia.

Console

  1. Ve a la página Crear un balanceador de cargas en la consola de Google Cloud.
    Ir a la página Crear un balanceador de cargas
  2. En Balanceo de cargas de TCP, haz clic en el botón Iniciar configuración.

  3. En Orientado a Internet o solo interno, selecciona From Internet to my VMs.

  4. En el caso de Varias regiones o una sola región, selecciona Single region only.

  5. En Tipo de backend, selecciona Servicio de backend.

  6. Haga clic en Continuar.

Configuración de backend

  1. En la pantalla New TCP load balancer, ingresa un Nombre de tcp-network-lb para el balanceador de cargas nuevo. En Región, selecciona us-central1.
  2. Haga clic en Configuración de backend. El Nombre del balanceador de cargas que ingresaste antes aparece, pero no puedes modificarlo.
  3. En la pantalla Configuración de backend, realiza los siguientes cambios:
    1. En Backend nuevo, selecciona el Tipo de pila de IP. Si creaste backends de pila doble para controlar el tráfico IPv4 e IPv6, selecciona IPv4 e IPv6 (pila doble). Para controlar solo el tráfico IPv4, selecciona IPv4 (una sola pila).
    2. Usa el menú desplegable Grupo de instancias para seleccionar ig-us-1. Haz clic en Listo. Haz clic en Agregar backend y repite este paso para agregar ig-us-2.
    3. En Verificación de estado, elige Crear una verificación de estado o Crear otra verificación de estado y, luego, ingresa la siguiente información:
      • Name: tcp-health-check
      • Protocolo: TCP
      • Puerto: 80
    4. Haz clic en Guardar.
  4. Verifica que haya una marca de verificación azul junto a Configuración de backend antes de continuar.

Configuración de frontend

  1. Haz clic en Configuración de frontend.
  2. En Nombre, ingresa network-lb-forwarding-rule.
  3. Para controlar el tráfico IPv4, sigue estos pasos:
    1. Para Versión de la IP, selecciona IPv4.
    2. En Dirección IP, haz clic en el menú desplegable y selecciona Crear dirección IP.
      1. En la pantalla Reservar una dirección IP estática nueva, asigna un Nombre de network-lb-ip.
      2. Haz clic en Reservar.
    3. En Puertos, elige Individual e ingresa 80 en el Número de puerto.
    4. haz clic en Listo.
  4. Para controlar el tráfico IPv6, sigue estos pasos:

    1. En Versión de la IP, selecciona IPv6.
    2. En Subred, selecciona lb-subnet.
    3. El rango IPv6 se asigna de forma automática desde lb-subnet.
    4. En Puertos, elige Individual e ingresa 80 en el Número de puerto.
    5. Haz clic en Listo.

    El círculo azul con una marca de verificación a la izquierda de la Configuración de Frontend indica que la configuración se realizó de forma correcta.

Revisa la configuración

  1. Haz clic en el botón Revisar y finalizar para verificar la configuración del balanceador de cargas.
  2. Si la configuración es correcta, haz clic en Crear. El balanceador de cargas tarda unos cuantos minutos en crearse.

    En la pantalla de balanceo de cargas, en la columna Backend de tu balanceador de cargas nuevo, deberías ver una marca de verificación verde que muestra que el balanceador de cargas nuevo está en buen estado.

gcloud

  1. (Solo para tráfico IPv4) Crea una dirección IPv4 externa estática para tu balanceador de cargas.

    gcloud compute addresses create network-lb-ipv4 \
        --region us-central1
    

    La regla de reenvío de IPv6 usa una dirección IP efímera.

  2. Crea una verificación de estado de TCP.

    gcloud compute health-checks create tcp tcp-health-check \
        --region us-central1 \
        --port 80
    
  3. Crear un servicio de backend.

    gcloud compute backend-services create network-lb-backend-service \
        --protocol TCP \
        --health-checks tcp-health-check \
        --health-checks-region us-central1 \
        --region us-central1
    
  4. Agrega los dos grupos de instancias al servicio de backend.

    gcloud compute backend-services add-backend network-lb-backend-service \
    --instance-group ig-us-1 \
    --instance-group-zone us-central1-a \
    --region us-central1
    
    gcloud compute backend-services add-backend network-lb-backend-service \
    --instance-group ig-us-2 \
    --instance-group-zone us-central1-c \
    --region us-central1
    
  5. Crea las reglas de reenvío según si deseas manejar el tráfico IPv4 o IPv6. Crea ambas reglas de reenvío para manejar ambos tipos de tráfico.

    1. Para el tráfico IPv4. Crea una regla de reenvío para enrutar el tráfico TCP entrante al servicio de backend. Usa la dirección IPv4 reservada en el paso 1 como la dirección IP externa estática del balanceador de cargas.

      gcloud compute forwarding-rules create network-lb-forwarding-rule-ipv4 \
        --load-balancing-scheme EXTERNAL \
        --region us-central1 \
        --ports 80 \
        --address network-lb-ipv4 \
        --backend-service network-lb-backend-service
      
    2. Para el tráfico IPv6. Usa el siguiente comando para crear una regla de reenvío con una dirección IPv6 efímera.

      gcloud compute forwarding-rules create network-lb-forwarding-rule-ipv6 \
          --load-balancing-scheme EXTERNAL \
          --region us-central1 \
          --subnet lb-subnet \
          --ip-version IPV6 \
          --ports 80 \
          --backend-service network-lb-backend-service
    

Prueba el balanceador de cargas

Ahora que el servicio de balanceo de cargas está configurado, puedes comenzar a enviar tráfico a la dirección IP externa del balanceador de cargas y ver cómo se distribuye el tráfico a las instancias de backend.

Busca la dirección IP externa del balanceador de cargas

Console

  1. En la página de balanceo de cargas Avanzado, ve a la pestaña Reglas de reenvío.
    Ir a la pestaña Reglas de reenvío
  2. Ubica la regla de reenvío que usa el balanceador de cargas.
  3. En la columna Dirección IP, anota la dirección IP externa que aparece en la lista.

gcloud: IPv4

Ingresa el siguiente comando para ver la dirección IPv4 externa de la regla de reenvío network-lb-forwarding-rule que usa el balanceador de cargas.

gcloud compute forwarding-rules describe network-lb-forwarding-rule-ipv4 \
    --region us-central1

gcloud: IPv6

Ingresa el siguiente comando para ver la dirección IP IPv6 externa de la regla de reenvío network-lb-forwarding-rule que usa el balanceador de cargas.

gcloud compute forwarding-rules describe network-lb-forwarding-rule-ipv6 \
    --region us-central1

Envía tráfico al balanceador de cargas

Realiza solicitudes web al balanceador de cargas mediante curl para contactar a su dirección IP.

  • Desde los clientes con conectividad IPv4, ejecuta el siguiente comando:

    $ while true; do curl -m1 IPV4_ADDRESS; done
    
  • Desde los clientes con conectividad IPv6, ejecuta el siguiente comando:

    $ while true; do curl -m1 http://IPV6_ADDRESS; done
    

    Por ejemplo, si la dirección IPv6 asignada es [2001:db8:1:1:1:1:1:1/96]:80, el comando debe verse de la siguiente manera:

    $ while true; do curl -m1 http://[2001:db8:1:1:1:1:1:1]:80; done
    

Ten en cuenta el texto que muestra el comando curl. El nombre de la VM de backend que genera la respuesta se muestra en ese texto; por ejemplo: Page served from: VM_NAME.

La respuesta del comando curl se alterna de manera aleatoria entre las tres instancias. Si al principio tu respuesta es incorrecta, es posible que debas esperar alrededor de 30 segundos para que la configuración se cargue por completo y tus instancias se marquen como en buen estado antes de intentar otra vez.

Opciones de configuración adicionales

En esta sección, se expande el ejemplo de configuración para proporcionar instrucciones sobre cómo personalizar aún más el balanceador de cargas de red. Estas tareas son opcionales. Puedes realizarlas en cualquier orden.

Configura la afinidad de sesión

La configuración de ejemplo crea un servicio de backend con afinidad de sesión inhabilitada (valor establecido en NONE). En esta sección, se muestra cómo actualizar el servicio de backend para cambiar la configuración de afinidad de sesión del balanceador de cargas.

Para conocer los tipos de afinidad de sesión compatibles, consulta Opciones de afinidad de sesión.

Console

  1. En Google Cloud Console, ve a la página Balanceo de cargas.

    Ir a Balanceo de cargas

  2. Haz clic en el nombre del servicio de backend y, luego, en Editar.

  3. En la página Editar balanceador de cargas de TCP, haz clic en Configuración de backend.

  4. Selecciona una opción del menú desplegable Afinidad de sesión.

  5. Haz clic en Actualizar.

gcloud

Usa el siguiente comando de gcloud a fin de actualizar la afinidad de sesión para el servicio de backend:

gcloud compute backend-services update BACKEND_SERVICE \
    --region=REGION \
    --session-affinity=SESSION_AFFINITY_OPTION

Reemplaza los marcadores de posición por valores válidos:

  • BACKEND_SERVICE: El servicio de backend que estás actualizando.
  • SESSION_AFFINITY_OPTION: Es la opción de afinidad de sesión que deseas establecer.

    A fin de obtener una lista de los valores admitidos para un balanceador de cargas de red, consulta Opciones de afinidad de sesión.

Configura una política de seguimiento de conexiones

En la configuración de ejemplo, se crea un servicio de backend con la configuración predeterminada para la política de seguimiento de conexiones. En esta sección, se muestra cómo actualizar el servicio de backend para cambiar la política predeterminada de seguimiento de conexiones del balanceador de cargas.

Una política de seguimiento de conexión incluye la siguiente configuración:

gcloud

Usa el siguiente comando gcloud compute backend-services para actualizar la política de seguimiento de conexiones del servicio de backend:

gcloud compute backend-services update BACKEND_SERVICE \
    --region=REGION \
    --tracking-mode=TRACKING_MODE \
    --connection-persistence-on-unhealthy-backends=CONNECTION_PERSISTENCE_BEHAVIOR

Reemplaza los marcadores de posición por valores válidos:

  • BACKEND_SERVICE: El servicio de backend que estás actualizando.
  • TRACKING_MODE: Es el modo de seguimiento de la conexión que se usará para los paquetes entrantes. Para obtener la lista de valores admitidos, consulta Modo de seguimiento.
  • CONNECTION_PERSISTENCE_BEHAVIOR: Es el comportamiento de persistencia de la conexión cuando los backends están en mal estado. Para obtener la lista de valores compatibles, consulta Persistencia de conexión en backends en mal estado.

Configura el direccionamiento del tráfico

En esta sección, se muestra cómo actualizar la configuración de frontend de un balanceador de cargas para configurar el direccionamiento del tráfico basado en la IP de origen. Para obtener detalles sobre cómo funciona el direccionamiento del tráfico, consulta Direccionamiento del tráfico.

En estas instrucciones, se supone que ya creaste una regla de reenvío base superior. En este ejemplo, se crea una segunda regla de reenvío, que es la regla de reenvío, con la misma dirección IP, el mismo protocolo IP y los mismos puertos que el superior. Esta regla de reenvío de dirección se configura con rangos de IP de origen para que puedas personalizar la forma en que se reenvían los paquetes de esos rangos de IP de origen.

gcloud

Usa el siguiente comando para crear una regla de reenvío de dirección que apunte a un servicio de backend:

gcloud beta compute forwarding-rules create STEERING_FORWARDING_RULE_BS \
    --load-balancing-scheme=EXTERNAL \
    --backend-service=BACKEND_SERVICE \
    --address=LOAD_BALANCER_VIP \
    --ip-protocol=IP_PROTOCOL \
    --ports=PORTS \
    --region=REGION \
    --source-ip-ranges=SOURCE_IP_ADDRESS_RANGES

Usa el siguiente comando para crear una regla de reenvío de dirección que apunte a una instancia de destino:

gcloud beta compute forwarding-rules create STEERING_FORWARDING_RULE_TI \
    --load-balancing-scheme=EXTERNAL \
    --target-instance=TARGET_INSTANCE \
    --address=LOAD_BALANCER_VIP \
    --ip-protocol=IP_PROTOCOL \
    --ports=PORTS \
    --region=REGION \
    --source-ip-ranges=SOURCE_IP_ADDRESS_RANGES

Reemplaza los marcadores de posición por valores válidos:

  • FORWARDING_RULE: Es el nombre de la regla de reenvío de dirección que creas.
  • BACKEND_SERVICE o TARGET_INSTANCE: Es el nombre del servicio de backend o de la instancia de destino a la que esta regla de reenvío de dirección enviará tráfico. Incluso si la regla de reenvío superior apunta a un servicio de backend, puedes crear reglas de reenvío de dirección que apunten a instancias de destino.
  • LOAD_BALANCER_VIP, IP_PROTOCOL, PORTS: la dirección IP, el protocolo IP y los puertos, respectivamente, para la regla de reenvío de direccionamiento que creas. Esta configuración debe coincidir con una regla de reenvío base preexistente.
  • REGION: Es la región de la regla de reenvío que deseas crear.
  • SOURCE_IP_ADDRESS_RANGES: Es una lista separada por comas de las direcciones IP o los rangos de direcciones IP. Esta regla de reenvío solo reenviará el tráfico cuando la dirección IP de origen del paquete entrante se encuentre en uno de los rangos de IP establecidos aquí.

¿Qué sigue?