Configurar un balanceador de carga de red de paso a través externo con un servicio de backend

En esta guía se proporcionan instrucciones para crear un despliegue de balanceador de carga de red de paso a través externo con un servicio de backend regional. En este ejemplo se crea un balanceador de carga de red de pases externo que admite tráfico TCP o UDP. Si quieres crear un balanceador de carga de red de transferencia externo que balancee la carga del tráfico TCP, UDP, ESP, GRE, ICMP e ICMPv6 (no solo TCP o UDP), consulta Configurar un balanceador de carga de red de transferencia externo para varios protocolos de IP.

En este ejemplo, se usa el balanceador de carga para distribuir el tráfico TCP entre las VMs de backend de dos grupos de instancias gestionados zonales de la región us-central1. Otra opción igualmente válida es usar un único grupo de instancias gestionado regional para la región us-central1.

Balanceador de carga de red de paso a través externo con grupos de instancias zonales.
Balanceador de carga de red de paso a través externo con grupos de instancias gestionados zonales (haz clic para ampliar).

En este caso, el tráfico TCP se distribuye entre las instancias en buen estado. Para admitir este ejemplo, las comprobaciones de estado de TCP se configuran para asegurar que el tráfico se envíe solo a las instancias en buen estado. Ten en cuenta que las comprobaciones del estado de TCP solo se admiten con un balanceador de carga basado en servicios de backend. Los balanceadores de carga basados en grupos de destino solo pueden usar comprobaciones del estado HTTP antiguas.

En este ejemplo se equilibra la carga del tráfico TCP, pero puedes usar balanceadores de carga de red externos de pases a través basados en servicios de backend para equilibrar la carga del tráfico TCP, UDP, ESP, GRE, ICMP e ICMPv6.

El balanceador de carga de red de paso a través externo es un balanceador de carga regional. Todos los componentes del balanceador de carga (VMs de backend, servicio de backend y regla de reenvío) deben estar en la misma región.

Antes de empezar

Instala Google Cloud CLI. Para obtener una descripción general completa de la herramienta, consulta la información general de la CLI de gcloud. Puedes encontrar comandos relacionados con el balanceo de carga en las referencias de la API y de gcloud.

Si no has ejecutado la CLI de Google Cloud anteriormente, ejecuta primero gcloud init para autenticarte.

En esta guía se da por hecho que estás familiarizado con bash.

Configurar la red y las subredes

En el ejemplo de esta página se usa una red de VPC en modo personalizado llamada lb-network. Si solo quieres gestionar el tráfico IPv4, puedes usar una red de VPC en modo automático. 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 definida como IPV4_IPV6). Cuando creas una subred de doble pila en una red de VPC en modo personalizado, eliges un tipo de acceso IPv6 para la subred. En este ejemplo, asignamos el valor ipv6-access-type al parámetro EXTERNAL de la subred. Esto significa que a las nuevas VMs de esta subred se les pueden asignar tanto direcciones IPv4 externas como direcciones IPv6 externas. Las reglas de reenvío también pueden tener asignadas direcciones IPv4 externas y direcciones IPv6 externas.

Los backends y los componentes del balanceador de carga que se usan en este ejemplo se encuentran en esta región y subred:

  • Región: us-central1
  • Subred: lb-subnet, con el intervalo de direcciones IPv4 principal 10.1.2.0/24. Aunque elijas el intervalo de direcciones IPv4 que se configura en la subred, el intervalo 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.

Consola

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

  1. En la Google Cloud consola, ve a la página Redes de VPC.

    Ir a redes de VPC

  2. Haz clic en Crear red VPC.

  3. Asigne un Nombre de lb-network.

  4. En la sección Subredes:

    • Elige Personalizado en Modo de creación de subred.
    • En la sección Nueva subred, configura los siguientes campos y haz clic en Hecho:
      • Nombre: lb-subnet
      • Región: us-central1
      • Tipo de pila de IP: IPv4 e IPv6 (pila dual)
      • Intervalo de IPv4: 10.1.2.0/24
        Aunque puedes configurar un intervalo de direcciones IPv4 para la subred, no puedes elegir el intervalo de direcciones IPv6 para la subred. Google proporciona un bloque CIDR IPv6 de tamaño fijo (/64).
      • Tipo de acceso IPv6: Externo
  5. Haz clic en Crear.

Para admitir solo tráfico IPv4, sigue estos pasos:

  1. En la Google Cloud consola, ve a la página Redes de VPC.

    Ir a redes de VPC

  2. Haz clic en Crear red VPC.

  3. Asigne un Nombre de lb-network.

  4. En la sección Subredes:

    • Elige Personalizado en Modo de creación de subred.
    • En la sección Nueva subred, configura los siguientes campos y haz clic en Hecho:
      • Nombre: lb-subnet
      • Región: us-central1
      • Tipo de pila de IP: IPv4 (pila única)
      • Intervalo de IPv4: 10.1.2.0/24
  5. Haz clic en Crear.

gcloud

  1. Crea la red VPC en modo personalizado:

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

    Para el tráfico IPv4 e IPv6, usa el siguiente comando para crear una subred de doble pila:

    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 solo 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 gestionados zonales

En este caso de equilibrio de carga, creas dos grupos de instancias gestionados zonales de Compute Engine e instalas un servidor web Apache en cada instancia.

Para gestionar el tráfico IPv4 e IPv6, configura las VMs de backend para que sean de doble pila. Define el valor stack-type de la VM como IPV4_IPV6. Las VMs también heredan el ajuste ipv6-access-type (en este ejemplo, EXTERNAL) de la subred. Para obtener más información sobre los requisitos de IPv6, consulta el artículo Regla de reenvío en la descripción general del balanceador de carga de red de pases externo.

Para usar las VMs que ya tienes como back-ends, actualízalas para que sean de doble pila con el comando gcloud compute instances network-interfaces update.

Las instancias que participan como VMs de backend de balanceadores de carga de red de paso a través externos deben ejecutar el entorno de invitado de Linux, el entorno de invitado de Windows u otros procesos que proporcionen una función equivalente.

Configurar las instancias

Consola

La consola no se puede usar para crear grupos de instancias de doble pila que admitan la conectividad IPv6. Google Cloud En su lugar, usa la CLI de gcloud o la API REST.

Crear una plantilla de instancia

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

    Ir a Plantillas de instancia

  2. Haz clic en Crear plantilla de instancia.

  3. En Nombre, escribe ig-us-template.

  4. En la sección Disco de arranque, asegúrate de que la Imagen esté configurada como una imagen de Debian, como Debian GNU/Linux 12 (bookworm). En estas instrucciones se usan comandos que solo están disponibles en Debian, como apt-get.

  5. Haz clic en Advanced options (Opciones avanzadas).

  6. Haz clic en Redes.

    1. En Etiquetas de red, introduzca lb-tag.
    2. En Interfaces de red, haz clic en la interfaz predeterminada y configura los siguientes campos:
      • Red: lb-network
      • Subred: lb-subnet
    3. Haz clic en Listo.
  7. Haz clic en Gestión y copia la siguiente secuencia de comandos en el campo Secuencia de comandos de inicio.

      #! /bin/bash
      apt-get update
      apt-get install apache2 -y
      a2ensite default-ssl
      a2enmod ssl
      vm_hostname="$(curl -H "Metadata-Flavor:Google" 
    http://metadata.google.internal/computeMetadata/v1/instance/name)" echo "Page served from: $vm_hostname" |
    tee /var/www/html/index.html systemctl restart apache2

  8. Haz clic en Crear.

Crea un grupo de instancias gestionado

  1. En la consola, ve a la página Grupos de instancias. Google Cloud

    Ir a Grupos de instancias

  2. Haz clic en Crear grupo de instancias.

  3. Selecciona Nuevo grupo de instancias gestionado (sin reconocimiento del estado). Para obtener más información, consulta Grupos de instancias gestionados con o sin reconocimiento del estado.

  4. En Nombre, escribe ig-us-1.

  5. En Plantilla de instancia, selecciona ig-us-template.

  6. En Ubicación, selecciona Una sola zona.

  7. En Región, selecciona us-central1.

  8. En Zona, selecciona us-central1-a.

  9. Especifica el número de instancias que quieres crear en el grupo.

    En este ejemplo, especifica las siguientes opciones en la sección Escalado automático:

    • En Modo de autoescalado, selecciona Off:do not autoscale.
    • En Número máximo de instancias, introduce 2.
  10. Haz clic en Crear.

Repite los pasos anteriores para crear un segundo grupo de instancias gestionado en la zona us-central1-c con las siguientes especificaciones: * Nombre: ig-us-2 * Zona: us-central1-c * Plantilla de instancia: usa la misma plantilla ig-us-template que has creado en la sección anterior.

gcloud

En las gcloud instrucciones de esta guía se presupone que usas Cloud Shell u otro entorno con bash instalado.

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

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

    Define --ipv6-network-tier como PREMIUM solo si vas a crear las VMs en subredes con ipv6-access-type definido como EXTERNAL. Omita la marca si el ipv6-access-type de la subred es INTERNAL.

      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-12 \
          --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://metadata.google.internal/computeMetadata/v1/instance/name)"
          echo "Page served from: $vm_hostname" | \
          tee /var/www/html/index.html
          systemctl restart apache2'
    

    Para gestionar solo el tráfico 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-12 \
          --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://metadata.google.internal/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 gestionado 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 gestionado 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
    

Configurar reglas de cortafuegos

Crea reglas de cortafuegos que permitan que el tráfico externo (incluidas las sondas de comprobación de estado) llegue a las instancias de backend.

En este ejemplo, se crea una regla de cortafuegos que permite que el tráfico TCP de todos los intervalos de origen llegue a tus instancias de backend en el puerto 80. Si quieres crear reglas de cortafuegos independientes específicamente para las sondas de comprobación del estado, usa los intervalos de direcciones IP de origen que se describen en la sección Intervalos de IP de las sondas y reglas de cortafuegos del artículo sobre las comprobaciones del estado.

Consola

En la Google Cloud consola, ve a la página Políticas de cortafuegos.

Ir a Políticas de cortafuegos

Para permitir el tráfico IPv4, sigue estos pasos:

  1. Haz clic en Crear regla de cortafuegos.
  2. En Nombre, escribe allow-network-lb-ipv4.
  3. En la lista Red, selecciona lb-network.
  4. En Destinos, seleccione Etiquetas de destino especificadas.
  5. En el campo Etiquetas de destino, introduce lb-tag.
  6. En Filtro de origen, selecciona Intervalos de IPv4.
  7. En Intervalos de IPv4 de origen, introduzca 0.0.0.0/0. De esta forma, se permite el tráfico IPv4 de cualquier origen. De esta forma, las sondas de comprobación del estado de Google también pueden acceder a las instancias de backend.
  8. En Protocolos y puertos especificados, selecciona la casilla TCP e introduce 80.
  9. Haz clic en Crear. Puede que la consolaGoogle Cloud tarde un momento en mostrar la nueva regla de cortafuegos o que tengas que hacer clic en Actualizar para verla.

Para permitir el tráfico IPv6, sigue estos pasos:

  1. Vuelve a hacer clic en Crear regla de cortafuegos.
  2. En Nombre, escribe allow-network-lb-ipv6.
  3. En la lista Red, selecciona lb-network.
  4. En Destinos, seleccione Etiquetas de destino especificadas.
  5. En el campo Etiquetas de destino, introduce lb-tag.
  6. En Filtro de origen, seleccione Intervalos de IPv6.
  7. Asigna el valor ::/0 a Intervalos IPv6 de origen. Esto permite el tráfico de IPv6 desde cualquier fuente. De esta forma, las sondas de comprobación del estado de Google también pueden acceder a las instancias de backend.
  8. En Protocolos y puertos especificados, selecciona la casilla TCP* e introduce 80.
  9. Haz clic en Crear. La consola puede tardar un momento en mostrar la nueva regla de cortafuegos. También puedes hacer clic en Actualizar para verla.

gcloud

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

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

Configurar el balanceador de carga

A continuación, configura el balanceador de carga.

Cuando configuras el balanceador de carga, tus instancias de máquina virtual reciben paquetes destinados a la dirección IP externa estática que configures. Si usas una imagen proporcionada por Compute Engine, tus instancias se configuran automáticamente para gestionar esta dirección IP. Si usas otra imagen, debes configurar esta dirección como alias en eth0 o como bucle de retorno en cada instancia.

Para configurar el balanceador de carga, siga estas instrucciones.

Consola

Iniciar la configuración

  1. En la Google Cloud consola, ve a la página Balanceo de carga.

    Ir a Balanceo de carga

  2. Haga clic en Crear balanceador de carga.
  3. En Tipo de balanceador de carga, selecciona Balanceador de carga de red (TCP/UDP/SSL) y haz clic en Siguiente.
  4. En Proxy o pasarela, selecciona Balanceador de carga de pasarela y haz clic en Siguiente.
  5. En Público o interno, selecciona Público (externo) y haz clic en Siguiente.
  6. Haz clic en Configurar.

Configuración de backend

  1. En la página Crear balanceador de carga de red de paso a través externo, introduzca el nombre tcp-network-lb del nuevo balanceador de carga.
  2. En Región, selecciona us-central1.
  3. Haz clic en Configuración de backend.
  4. En la página Configuración de backend, haz los siguientes cambios:
    1. En Nuevo backend, selecciona el tipo de pila de IP. Si has creado back-ends de doble pila para gestionar el tráfico IPv4 e IPv6, selecciona IPv4 e IPv6 (doble pila). Para gestionar solo el tráfico IPv4, selecciona IPv4(pila única).
    2. En la lista Grupo de instancias, selecciona ig-us-1 y, a continuación, haz clic en Hecho.
    3. Haz clic en Añadir un backend y repite este paso para añadir ig-us-2.
    4. En Comprobación del estado, haga clic en Crear una comprobación del estado o en Crear otra comprobación del estado y, a continuación, introduzca la siguiente información:
      • Nombre: tcp-health-check
      • Protocolo: TCP
      • Puerto: 80
    5. Haz clic en Guardar.
  5. Antes de continuar, comprueba que haya una marca de verificación azul junto a Configuración del backend.

Configuración de frontend

  1. Haz clic en Configuración de frontend.
  2. En Nombre, escribe network-lb-forwarding-rule.
  3. Para gestionar el tráfico IPv4, sigue estos pasos:
    1. En Versión de IP, selecciona IPv4.
    2. En la sección Propósito de la IP interna, en la lista Dirección IP, selecciona Crear dirección IP.
      1. En la página Reservar una dirección IP estática nueva, en Nombre, introduce network-lb-ipv4.
      2. Haz clic en Reservar.
    3. En Puertos, elige Único. En Número de puerto, introduce 80.
    4. Haz clic en Listo.
  4. Para gestionar el tráfico IPv6, sigue estos pasos:

    1. En Versión de IP, selecciona IPv6.
    2. En Subred, selecciona lb-subnet.
    3. En la lista Intervalo de IPv6, selecciona Crear dirección IP.
      1. En la página Reservar una dirección IP estática nueva, en Nombre, introduce network-lb-ipv6.
      2. Haz clic en Reservar.
    4. En Puertos, selecciona Único. En Número de puerto, introduce 80.
    5. Haz clic en Listo.

    Antes de continuar, comprueba que la configuración se ha realizado correctamente. Para ello, confirma que hay un círculo azul con una marca de verificación a la izquierda de Configuración del frontend.

Revisar la configuración

  1. Haz clic en Revisar y finalizar.
  2. Revisa los ajustes de configuración de tu balanceador de carga.
  3. Opcional: Haz clic en Código equivalente para ver la solicitud de la API REST que se usará para crear el balanceador de carga.
  4. Haz clic en Crear.

    En la página de balanceo de carga, en la columna Backend de tu nuevo balanceador de carga, comprueba que haya una marca de verificación verde que indique que el nuevo balanceador de carga está en buen estado.

gcloud

  1. Reserva una dirección IP externa estática.

    Tráfico IPv4

    Crea una dirección IPv4 externa estática para tu balanceador de carga.

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

    Tráfico IPv6

    Crea un intervalo de direcciones IPv6 externas estáticas para tu balanceador de carga. La subred utilizada debe ser una subred de doble pila con un intervalo IPv6 externo.

     gcloud compute addresses create network-lb-ipv6 \
         --region us-central1 \
         --subnet lb-subnet \
         --ip-version IPV6 \
         --endpoint-type NETLB
    
  2. Crea una comprobación del estado TCP.

    gcloud compute health-checks create tcp tcp-health-check \
        --region us-central1 \
        --port 80
    
  3. Crea 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. Añade los 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 en función de si quieres gestionar el tráfico IPv4 o el tráfico IPv6. Crea ambas reglas de reenvío para gestionar los dos tipos de tráfico.

    1. Tráfico IPv4

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

       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. Tráfico IPv6

      Crea una regla de reenvío para gestionar el tráfico IPv6. Usa el intervalo de direcciones IPv6 reservado en el paso 1 como dirección IP externa estática del balanceador de carga. La subred utilizada debe ser una subred de doble pila con un intervalo de subred IPv6 externa.

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

Probar el balanceador de carga

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

Buscar la dirección IP externa del balanceador de carga

Consola

  1. En la Google Cloud consola, ve a la página de balanceo de carga Componentes del balanceo de carga.

    Ir a Componentes del balanceo de carga

  2. En la pestaña Reglas de reenvío, busque la regla de reenvío que utiliza el balanceador de carga.

  3. En la columna Dirección IP externa, anota la dirección IP externa que aparece.

gcloud: IPv4

Introduce 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 carga.

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

gcloud: IPv6

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

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

Enviar tráfico al balanceador de carga

Envía solicitudes web al balanceador de carga mediante curl para ponerte en contacto con su dirección IP.

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

    while true; do curl -m1 IPV4_ADDRESS; done
    
  • En 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 será similar al siguiente:

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

Fíjate en el texto devuelto por el comando curl. El nombre de la VM backend que genera la respuesta se muestra en ese texto. Por ejemplo: Page served from: VM_NAME

La respuesta del comando curl se alterna aleatoriamente entre las instancias de backend. Si tu respuesta no tiene éxito al principio, es posible que tengas que esperar unos 30 segundos para que la configuración se cargue por completo y para que tus instancias se marquen como correctas antes de volver a intentarlo.

Opciones de configuración adicionales

En esta sección se amplía el ejemplo de configuración para proporcionar instrucciones sobre cómo personalizar aún más el balanceador de carga de red de paso a través externo. Estas tareas son opcionales. Puedes llevarlas a cabo en el orden que prefieras.

Configurar la afinidad de sesión

En la configuración de ejemplo se crea un servicio de backend con la afinidad de sesión inhabilitada (valor definido como NONE). En esta sección se muestra cómo actualizar el servicio de backend para cambiar el ajuste de afinidad de sesión del balanceador de carga.

Para ver los tipos de afinidad de sesión admitidos, consulta las opciones de afinidad de sesión.

Consola

  1. En la Google Cloud consola, ve a la página Balanceo de carga.

    Ir a Balanceo de carga

  2. En la pestaña Balanceadores de carga, haga clic en el nombre del servicio de backend y, a continuación, en Editar.

  3. En la página Editar balanceador de carga de red de paso a través externo, haga clic en Configuración de backend.

  4. Seleccione una opción de la lista Afinidad de sesión.

  5. Haz clic en Actualizar.

gcloud

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

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

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

  • BACKEND_SERVICE: el servicio de backend que estás actualizando
  • SESSION_AFFINITY_OPTION: la opción de afinidad de sesión que quieras definir

    Para ver la lista de valores admitidos de un balanceador de carga de red de paso a través externo, consulta las opciones de afinidad de sesión.

Configurar una política de seguimiento de conexiones

En la configuración de ejemplo se crea un servicio de backend con los ajustes predeterminados de su política de seguimiento de conexiones. En esta sección se explica cómo actualizar el servicio de backend para cambiar la política de seguimiento de conexiones predeterminada del balanceador de carga.

Una política de seguimiento de conexiones incluye los siguientes ajustes:

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

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

  • BACKEND_SERVICE: el servicio de backend que estás actualizando
  • TRACKING_MODE: el modo de seguimiento de conexiones que se va a usar para los paquetes entrantes. Para ver la lista de valores admitidos, consulta Modo de seguimiento.
  • CONNECTION_PERSISTENCE_BEHAVIOR: el comportamiento de persistencia de la conexión cuando los backends no están en buen estado. Para ver la lista de valores admitidos, consulta Persistencia de la conexión en back-ends incorrectos.

Configurar la dirección del tráfico

En esta sección se explica cómo actualizar la configuración de frontend de un balanceador de carga para configurar el direccionamiento del tráfico basado en la IP de origen. Para obtener más información sobre cómo funciona el enrutamiento del tráfico, consulta Enrutamiento del tráfico.

En estas instrucciones se da por hecho que ya has creado la regla de reenvío base principal. En este ejemplo, se crea una segunda regla de reenvío, que es la regla de reenvío de dirección, con la misma dirección IP, el mismo protocolo IP y los mismos puertos que la regla de reenvío principal. Esta regla de reenvío de dirección se configura con intervalos de IP de origen para que puedas personalizar cómo se reenvían los paquetes de esos intervalos 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 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 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

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

  • STEERING_FORWARDING_RULE_BS o STEERING_FORWARDING_RULE_TI: el nombre de la regla de reenvío de dirección que se va a crear.
  • BACKEND_SERVICE o TARGET_INSTANCE: el nombre del servicio de backend o de la instancia de destino a los que esta regla de reenvío de dirección enviará el tráfico. Aunque la regla de reenvío principal apunte 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 y PORTS: la dirección IP, el protocolo IP y los puertos, respectivamente, de la regla de reenvío de dirección que estás creando. Estos ajustes deben coincidir con una regla de reenvío base predefinida.
  • REGION: la región de la regla de reenvío que estás creando.
  • SOURCE_IP_ADDRESS_RANGES: lista separada por comas de direcciones IP o intervalos de direcciones IP. Esta regla de reenvío solo reenvía el tráfico cuando la dirección IP de origen del paquete entrante se encuentra en uno de los intervalos de IP definidos aquí.

Usa el siguiente comando para eliminar una regla de reenvío de dirección. Debes eliminar las reglas de reenvío de dirección que utilice un balanceador de carga antes de poder eliminar el propio balanceador.

gcloud compute forwarding-rules delete STEERING_FORWARDING_RULE \
    --region=REGION

Configurar la política de conmutación por error

Para configurar la política de conmutación por error, consulta Configurar la conmutación por error de los balanceadores de carga de red de transferencia externos.

Configurar el balanceo de carga ponderado

Para configurar el balanceo de carga ponderado, consulta Configurar el balanceo de carga ponderado.

Crear una regla de reenvío IPv6 con BYOIP

El balanceador de carga creado en los pasos anteriores está configurado con reglas de reenvío con IP version como IPv4 o IPv6. En esta sección se proporcionan instrucciones para crear una regla de reenvío de IPv6 con direcciones IP propias (BYOIP).

La función Incorporar tus propias IPs te permite aprovisionar y usar tus propias direcciones IPv6 públicas para los recursos de Google Cloud . Para obtener más información, consulta el artículo Traer tus propias direcciones IP.

Antes de configurar una regla de reenvío de IPv6 con direcciones BYOIP, debes completar los siguientes pasos:

  1. Crear un prefijo IPv6 público anunciado
  2. Crear prefijos públicos delegados
  3. Crear subprefijos IPv6
  4. Anuncia el prefijo

Para crear una regla de reenvío, sigue estos pasos:

Consola

  1. En la Google Cloud consola, ve a la página Balanceo de carga.

    Ve a Balanceo de carga.

  2. Haga clic en el nombre del balanceador de carga que quiera modificar.
  3. Haz clic en Editar.
  4. Haz clic en Configuración de frontend.
  5. Haz clic en Añadir IP y puerto de frontend.
  6. En la sección IP de frontend y puerto nuevos, especifica lo siguiente:
    1. Selecciona el protocolo que necesites.
    2. En el campo Versión de IP, selecciona IPv6.
    3. En el campo Source of IPv6 range (Origen del intervalo de IPv6), selecciona BYOIP.
    4. En la lista Recogida de IPs, selecciona un subprefijo creado en los pasos anteriores con la opción de regla de reenvío habilitada.
    5. En el campo Intervalo de IPv6, introduce el intervalo de direcciones IPv6. El prefijo del intervalo de direcciones IPv6 debe coincidir con la longitud del prefijo asignable especificada por el subprefijo asociado.
    6. En el campo Puertos, introduce un número de puerto.
    7. Haz clic en Listo.
  7. Haz clic en Actualizar.

gcloud

Para crear la regla de reenvío, usa el comando gcloud compute forwarding-rules create:

gcloud compute forwarding-rules create FWD_RULE_NAME \
    --load-balancing-scheme EXTERNAL \
    --ip-protocol PROTOCOL \
    --ports ALL \
    --ip-version IPV6 \
    --region REGION_A \
    --address IPV6_CIDR_RANGE  \
    --backend-service BACKEND_SERVICE \
    --ip-collection PDP_NAME

Haz los cambios siguientes:

  • FWD_RULE_NAME: el nombre de la regla de reenvío
  • PROTOCOL: el protocolo IP de la regla de reenvío. El valor predeterminado es TCP. En este ejemplo, el protocolo IP puede ser TCP o UDP.
  • REGION_A: región de la regla de reenvío
  • IPV6_CIDR_RANGE: el intervalo de direcciones IPv6 al que sirve la regla de reenvío. El prefijo del intervalo de direcciones IPv6 debe coincidir con la longitud del prefijo asignable especificada por el subprefijo asociado.
  • BACKEND_SERVICE: el nombre del servicio de backend
  • PDP_NAME: el nombre del prefijo público delegado. El PDP debe ser un subprefijo en el modo EXTERNAL_IPV6_FORWARDING_RULE_CREATION.

Siguientes pasos