Configurar un balanceador de carga de red de paso a través interno con backends internos solo IPv6

En este documento se explica cómo configurar y probar un balanceador de carga de red de paso a través interno que admita tráfico interno solo IPv6. En este ejemplo de configuración, se instala un servidor web Apache en las instancias de máquina virtual (VM) de backend solo IPv6 internas para servir contenido en respuesta al tráfico recibido a través de la IP virtual (VIP) del balanceador de carga.

Como se muestra en el siguiente diagrama de arquitectura, las VMs de backend del balanceador de carga se configuran con direcciones IPv6 internas. Para esta configuración de ejemplo, estas VMs de backend deben descargar Apache para instalar un servidor web, lo que requiere acceso a Internet público. Sin embargo, como estas VMs de backend no tienen direcciones IP externas, no pueden acceder a Internet directamente.

Para habilitar el acceso a Internet, en este ejemplo se usa una instancia de VM independiente, configurada con una dirección IPv6 externa, que actúa como pasarela de NAT. Esta VM realiza la traducción de direcciones a nivel del kernel de Linux. En concreto, la cadena POSTROUTING de la tabla NAT se usa para enmascarar la dirección de origen de los paquetes salientes. Sustituye la dirección IPv6 interna de cada VM de backend por la dirección IPv6 externa de la VM de la pasarela NAT en la interfaz de red especificada.

Ejemplo de configuración de un balanceador de carga de red de paso a través interno con backends internos solo IPv6.
Ejemplo de configuración de un balanceador de carga de red de paso a través interno con back-ends internos solo IPv6 (haz clic para ampliar).

En la siguiente información se explica cómo configurar los diferentes componentes que se usan para configurar un balanceador de carga de red de tipo pasarela interno con back-ends internos solo IPv6.

Permisos

Para seguir esta guía, debes crear instancias y modificar una red en un proyecto. Debes ser propietario o editor del proyecto, o bien tener todos los roles de gestión de identidades y accesos de Compute Engine que se indican a continuación:

Tarea Rol necesario
Crear redes, subredes y componentes de balanceador de carga Administrador de red de Compute
(roles/compute.networkAdmin)
Añadir y eliminar reglas de cortafuegos Administrador de seguridad de Compute
(roles/compute.securityAdmin)
Crear instancias Administrador de instancias de Compute
(roles/compute.instanceAdmin)

Para obtener más información, consulta las siguientes guías:

Configurar una red y una subred solo IPv6 con direcciones IPv6 internas

El balanceador de carga de red de paso a través interno de ejemplo que se describe en esta página se crea en una red de VPC en modo personalizado llamada lb-network-ipv6-only.

Para configurar subredes con intervalos IPv6 internos, habilita un intervalo IPv6 interno ULA de red VPC. Los intervalos de subredes IPv6 internas se asignan a partir de este intervalo.

Consola

  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. En Nombre, escribe lb-network-ipv6-only.

  4. Si quieres configurar intervalos de direcciones IPv6 internas en subredes de esta red, sigue estos pasos:

    1. En Configuración de direcciones IPv6 privadas, selecciona Configurar un intervalo de direcciones IPv6 internas ULA para esta red de VPC.
    2. En Asignar intervalo de IPv6 interno, selecciona Automáticamente o Manualmente. Si selecciona Manualmente, introduzca un intervalo /48 dentro del intervalo fd20::/20. Si el intervalo ya está en uso, se te pedirá que proporciones otro.
  5. En Modo de creación de subred, selecciona Personalizado.

  6. En la sección Nueva subred, especifica los siguientes parámetros de configuración de la subred:

    • Nombre: lb-subnet-ipv6-only
    • Región: us-west1
    • Tipo de pila de IP: IPv6 (pila única)
    • Tipo de acceso IPv6: Interno
  7. Haz clic en Listo.

  8. Haz clic en Crear.

gcloud

  1. Para crear una red VPC de modo personalizado, ejecuta el comando gcloud compute networks create.

    Para configurar intervalos IPv6 internos en cualquier subred de esta red, usa la marca --enable-ula-internal-ipv6.

    gcloud compute networks create lb-network-ipv6-only \
        --subnet-mode=custom \
        --enable-ula-internal-ipv6 \
        --bgp-routing-mode=regional
    
  2. Configura una subred con el valor ipv6-access-type definido como INTERNAL. Esto indica que las VMs de esta subred solo pueden tener direcciones IPv6 internas. En este ejemplo, la subred se llama lb-subnet-ipv6-only-internal.

    Para crear la subred, ejecuta el comando gcloud compute networks subnets create.

    gcloud compute networks subnets create lb-subnet-ipv6-only-internal \
        --network=lb-network-ipv6-only \
        --region=us-west1 \
        --stack-type=IPV6_ONLY \
        --ipv6-access-type=INTERNAL
    

Configurar una subred solo IPv6 con direcciones IPv6 externas

Una subred solo IPv6 con direcciones IPv6 externas se usa para crear una instancia de VM que actúe como pasarela NAT.

Consola

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

    Ir a redes de VPC

  2. Para ver la página Detalles de la red de VPC, haz clic en el nombre de la red de VPC que has creado.

  3. En la pestaña Subredes, haz clic en Añadir subred. En el panel que aparece, especifica los siguientes parámetros de configuración de la subred:

    • Nombre: lb-subnet-ipv6-only-external
    • Región: us-west1
    • Tipo de pila de IP: IPv6 (pila única)
    • Tipo de acceso IPv6: Externo
  4. Haz clic en Añadir.

gcloud

Configura una subred con el valor ipv6-access-type definido como EXTERNAL. Esto indica que las VMs de esta subred pueden tener direcciones IPv6 externas. En este ejemplo, la subred se llama lb-subnet-ipv6-only-external.

Para crear la subred, ejecuta el comando gcloud compute networks subnets create.

gcloud compute networks subnets create  lb-subnet-ipv6-only-external \
    --network=lb-network-ipv6-only \
    --region=us-west1 \
    --stack-type=IPV6_ONLY \
    --ipv6-access-type=EXTERNAL

Configurar reglas de cortafuegos en la red de VPC

En este ejemplo se usan las siguientes reglas de cortafuegos:

  • fw-allow-lb-access-ipv6-only: una regla de entrada, aplicable a todos los destinos de la red de VPC, que permite el tráfico de todos los orígenes IPv6.

  • fw-allow-ssh: una regla de entrada que permite la conectividad SSH entrante en el puerto TCP 22 desde cualquier dirección. Puede elegir un intervalo de IPs de origen más restrictivo para esta regla. Por ejemplo, puede especificar solo los intervalos de IPs del sistema desde el que inicia sesiones SSH. En este ejemplo se usa la etiqueta de destino allow-ssh para identificar las VMs a las que se debe aplicar.

  • fw-allow-health-check-ipv6-only: una regla de entrada, aplicable a las instancias que se están balanceando, que permite el tráfico de los sistemas de comprobación del estado Google Cloud (2600:2d00:1:b029::/64). En este ejemplo se usa la etiqueta de destino allow-health-check-ipv6 para identificar las instancias a las que se debe aplicar.

Sin estas reglas de cortafuegos, la regla denegar predeterminada de entrada bloquea el tráfico entrante a las instancias de backend.

Consola

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

    Ir a Políticas de cortafuegos

  2. Para permitir el tráfico de subred IPv6, haz clic de nuevo en Crear regla de cortafuegos e introduce la siguiente información:

    • Nombre: fw-allow-lb-access-ipv6-only
    • Red: lb-network-ipv6-only
    • Prioridad: 1000
    • Sentido del tráfico: entrada
    • Acción tras coincidencia: Permitir
    • Destinos: Todas las instancias de la red
    • Filtro de origen: Intervalos de IPv6
    • Intervalos de IPv6 de origen: ::/0
    • Protocolos y puertos: Permitir todo
  3. Haz clic en Crear.

  4. Para permitir las conexiones SSH entrantes, vuelve a hacer clic en Crear regla de cortafuegos e introduce la siguiente información:

    • Nombre: fw-allow-ssh
    • Red: lb-network-ipv6-only
    • Prioridad: 1000
    • Sentido del tráfico: entrada
    • Acción tras coincidencia: Permitir
    • Objetivos: Etiquetas de destino especificadas
    • Etiquetas de destino: allow-ssh
    • Filtro de origen: Intervalos de IPv6
    • Intervalos de IPv6 de origen: ::/0
    • Protocolos y puertos: selecciona Protocolos y puertos especificados, marca la casilla TCP y, a continuación, introduce 22 en Puertos.
  5. Haz clic en Crear.

  6. Para permitir las comprobaciones de estado de Google Cloud IPv6, haz clic de nuevo en Crear regla de cortafuegos e introduce la siguiente información:

    • Nombre: fw-allow-health-check-ipv6-only
    • Red: lb-network-ipv6-only
    • Prioridad: 1000
    • Sentido del tráfico: entrada
    • Acción tras coincidencia: Permitir
    • Objetivos: Etiquetas de destino especificadas
    • Etiquetas de destino: allow-health-check-ipv6
    • Filtro de origen: Intervalos de IPv6
    • Intervalos de IPv6 de origen: 2600:2d00:1:b029::/64
    • Protocolos y puertos: Permitir todo
  7. Haz clic en Crear.

gcloud

  1. Crea la regla de cortafuegos fw-allow-lb-access-ipv6-only para permitir todo el tráfico IPv6 entrante a todas las instancias de VM de la red de VPC:

    gcloud compute firewall-rules create fw-allow-lb-access-ipv6-only \
        --network=lb-network-ipv6-only \
        --action=allow \
        --direction=ingress \
        --source-ranges=::/0 \
        --rules=all
    
  2. Crea la regla de cortafuegos fw-allow-ssh para permitir la conectividad SSH a las VMs con la etiqueta de red allow-ssh. Si omite source-ranges, Google Cloud interpreta que la regla se aplica a cualquier fuente.

    gcloud compute firewall-rules create fw-allow-ssh \
        --network=lb-network-ipv6-only \
        --action=allow \
        --direction=ingress \
        --target-tags=allow-ssh \
        --source-ranges=::/0 \
        --rules=tcp:22
    
  3. Crea la regla fw-allow-health-check-ipv6 para permitir las comprobaciones del estado deGoogle Cloud IPv6.

    gcloud compute firewall-rules create fw-allow-health-check-ipv6-only \
        --network=lb-network-ipv6-only \
        --action=allow \
        --direction=ingress \
        --target-tags=allow-health-check-ipv6 \
        --source-ranges=2600:2d00:1:b029::/64 \
        --rules=tcp,udp
    

Crear una instancia de VM que actúe como pasarela de NAT

En este ejemplo, se usa una secuencia de comandos de Bash para crear una pasarela NAT que se usa para modificar paquetes IPv6 a nivel del kernel de Linux.

La secuencia de comandos de Bash modifica la dirección de origen de todos los paquetes IPv6 salientes de la cadena POSTROUTING y la sustituye por la dirección IPv6 externa de la interfaz de la VM.

La secuencia de comandos de Bash modifica la cadena POSTROUTING de iptables para enmascarar la dirección IPv6 de origen de todos los paquetes salientes y la sustituye por la dirección IPv6 externa de la interfaz de red de la VM.

También debes habilitar el reenvío de IP en esta instancia.

Para crear una instancia de VM que actúe como pasarela NAT, siga estos pasos:

Consola

  1. En la consola de Google Cloud , ve a la página Instancias de VM.

    Ir a instancias de VM

  2. Haz clic en Crear instancia.

  3. En Nombre, escribe nat-gateway-instance.

  4. En Región, selecciona us-west1 y, en Zona, selecciona us-west1-a.

  5. En la sección Disco de arranque, asegúrate de que la opción Debian GNU/Linux 12 (bookworm) esté seleccionada para el disco de arranque. Si es necesario, haz clic en Cambiar para cambiar la imagen.

  6. Haga clic en Redes y configure los siguientes campos:

    1. En Etiquetas de red, introduzca allow-ssh.
    2. En Reenvío de IP, marca la casilla Habilitar.
    3. En Interfaces de red, selecciona lo siguiente:
      • Red: lb-network-ipv6-only
      • Subred: lb-subnet-ipv6-only-external
      • Tipo de pila de IP: IPv6 (pila única)
      • Dirección IPv6 externa: Asignación automática
  7. Haz clic en Advanced (Opciones avanzadas) y, en el campo Startup script (Secuencia de comandos de inicio), introduce la siguiente secuencia de comandos:

    #!/bin/bash
    
    set -e
    
    echo "Starting GCE startup script..."
    
    # --- IPv6 NAT table configuration ---
    echo "Modifying the source IPv6 address using the NAT table"
    
    # Enable IPv6 forwarding
    sysctl -w net.ipv6.conf.all.forwarding=1
    
    # Determine the primary network interface (assuming it's the last one listed)
    IFACE=$(ip -brief link | tail -1 | awk '{print $1}')
    
    echo "Using interface: $IFACE for IPv6 NAT"
    
    # Flush existing IPv6 NAT rules
    ip6tables -F -t nat
    ip6tables -X -t nat
    
    # Masquerade all outgoing IPv6 traffic on the determined interface
    ip6tables -t nat -A POSTROUTING -o "$IFACE" -j MASQUERADE
    
    echo "IPv6 masquerading configured successfully."
    
    echo "GCE startup script finished."
    

  8. Haz clic en Crear.

gcloud

  1. Crea una secuencia de comandos de inicio.

    nano startup.sh
    
  2. Añade la siguiente secuencia de comandos y guarda el archivo.

    #!/bin/bash
    
    set -e
    
    echo "Starting GCE startup script..."
    
    # --- IPv6 NAT table configuration ---
    echo "Modifying the source IPv6 address using the NAT table"
    
    # Enable IPv6 forwarding
    sysctl -w net.ipv6.conf.all.forwarding=1
    
    # Determine the primary network interface (assuming it's the last one listed)
    IFACE=$(ip -brief link | tail -1 | awk '{print $1}')
    
    echo "Using interface: $IFACE for IPv6 NAT"
    
    # Flush existing IPv6 NAT rules
    ip6tables -F -t nat
    ip6tables -X -t nat
    
    # Masquerade all outgoing IPv6 traffic on the determined interface
    ip6tables -t nat -A POSTROUTING -o "$IFACE" -j MASQUERADE
    
    echo "IPv6 masquerading configured successfully."
    
    echo "GCE startup script finished."
    
  3. Crea una instancia de VM y añade el archivo de metadatos a la instancia de VM. Para usar esta VM como siguiente salto de una ruta, usa la marca --can-ip-forward para habilitar el reenvío de IP en esta instancia.

    gcloud compute instances create nat-gateway-instance \
        --zone=us-west1-a \
        --tags=allow-ssh \
        --image-family=debian-12 \
        --image-project=debian-cloud \
        --subnet=lb-subnet-ipv6-only-external \
        --stack-type=IPV6_ONLY \
        --can-ip-forward \
        --metadata-from-file=startup-script=startup.sh
    

Crea una ruta estática en la red VPC.

En este ejemplo, se crea una ruta personalizada que dirige todo el tráfico saliente de Internet IPv6 (::/0) de las VMs etiquetadas como nat-gw-tag a la instancia de VM nat-gateway-instance, que actúa como pasarela NAT.

Para crear una ruta, sigue estos pasos:

Consola

  1. En la Google Cloud consola, ve a la página Rutas.

    Ir a Rutas

  2. Haga clic en la pestaña Gestión de rutas.

  3. Haz clic en Crear ruta.

  4. Especifica un nombre y una descripción para la ruta.

  5. En la lista Red, selecciona la red de VPC lb-network-ipv6-only.

  6. En la lista Versión de IP, selecciona IPv6.

  7. Especifica un intervalo de IPv6 de destino. El destino más amplio posible es ::/0 para IPv6.

  8. Para que la ruta solo se aplique a las instancias seleccionadas con etiquetas de red coincidentes, especifíquelas en el campo Etiquetas de instancia. Deje el campo en blanco para que la ruta se aplique a todas las instancias de la red. En este ejemplo, introduce nat-gw-tag.

  9. En Siguiente salto, selecciona Especificar una instancia.

  10. Selecciona el nombre de la instancia que has creado para que actúe como pasarela NAT. En este ejemplo, selecciona nat-gateway-instance.

  11. Haz clic en Crear.

gcloud

Usa el comando gcloud compute routes create para crear una ruta. El paquete se reenvía a la nat-gateway-instance instancia de VM tal como se especifica en --next-hop-instance de la ruta.

gcloud compute routes create route-1 \
    --network=lb-network-ipv6-only \
    --priority=1000 \
    --tags=nat-gw-tag \
    --destination-range=::/0 \
    --next-hop-instance=nat-gateway-instance \
    --next-hop-instance-zone=us-west1-a

Crear VMs de backend y grupos de instancias

En este ejemplo se usan dos grupos de instancias sin gestionar, cada uno con dos VMs de backend. Para demostrar la naturaleza regional de los balanceadores de carga de red con paso a través internos, los dos grupos de instancias se colocan en zonas independientes, us-west1-a y us-west1-c.

  • El grupo de instancias ig-a contiene estas dos VMs:
    • vm-a1
    • vm-a2
  • El grupo de instancias ig-c contiene estas dos VMs:
    • vm-c1
    • vm-c2

El tráfico a las cuatro VMs de backend se balancea.

En este ejemplo, la ruta estática que se creó en un paso anterior se limita a instancias de VM específicas mediante la etiqueta de red nat-gw-tag.

Consola

Crear VMs de backend

  1. En la consola de Google Cloud , ve a la página Instancias de VM.

    Ir a instancias de VM

  2. Repite estos pasos con cada máquina virtual, usando las siguientes combinaciones de nombre y zona.

    • Nombre: vm-a1, zona: us-west1-a
    • Nombre: vm-a2, zona: us-west1-a
    • Nombre: vm-c1, zona: us-west1-c
    • Nombre: vm-c2, zona: us-west1-c
  3. Haz clic en Crear instancia.

  4. Asigna el Nombre como se indica en el paso 2.

  5. En Región, selecciona us-west1 y elige una Zona como se indica en el paso 2.

  6. En la sección Disco de arranque, asegúrate de que la opción Debian GNU/Linux 12 (bookworm) esté seleccionada para el disco de arranque. Si es necesario, haz clic en Cambiar para cambiar la imagen.

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

  8. Haga clic en Redes y configure los siguientes campos:

    1. En el caso de las etiquetas de red, introduce allow-ssh, allow-health-check-ipv6 y nat-gw-tag.
    2. En Interfaces de red, selecciona lo siguiente:
      • Red: lb-network-ipv6-only
      • Subred: lb-subnet-ipv6-only-internal
      • Tipo de pila de IP: IPv6 (pila única)
      • Dirección IPv6 interna principal: efímera (automática)
  9. Haz clic en Advanced (Avanzado) y, a continuación, en el campo Startup script (Secuencia de comandos de inicio), introduce la siguiente secuencia de comandos. El contenido de la secuencia de comandos es idéntico en las cuatro VMs.

    #! /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
    
  10. Haz clic en Crear.

Crear grupos de instancias

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

    Ir a Grupos de instancias

  2. Repite los pasos siguientes para crear dos grupos de instancias no gestionados, cada uno con dos VMs, usando estas combinaciones.

    • Nombre del grupo de instancias: ig-a, zona: us-west1-a, VMs: vm-a1 y vm-a2
    • Nombre del grupo de instancias: ig-c, zona: us-west1-c, VMs: vm-c1 y vm-c2
  3. Haz clic en Crear grupo de instancias.

  4. Haga clic en Nuevo grupo de instancias sin gestionar.

  5. Asigna el Nombre como se indica en el paso 2.

  6. En la sección Ubicación, selecciona us-west1 en Región y, a continuación, elige una Zona como se indica en el paso 2.

  7. En Red, selecciona lb-network-ipv6-only.

  8. En Subred, selecciona lb-subnet-ipv6-only-internal.

  9. En la sección Instancias de VM, añade las VMs como se indica en el paso 2.

  10. Haz clic en Crear.

gcloud

  1. Para crear las cuatro VMs, ejecuta el comando gcloud compute instances create cuatro veces. Usa las cuatro combinaciones siguientes para [VM-NAME] y [ZONE].

    • VM-NAME: vm-a1, ZONE: us-west1-a
    • VM-NAME: vm-a2, ZONE: us-west1-a
    • VM-NAME: vm-c1, ZONE: us-west1-c
    • VM-NAME: vm-c2, ZONE: us-west1-c
    gcloud compute instances create VM-NAME \
        --zone=ZONE \
        --image-family=debian-12 \
        --image-project=debian-cloud \
        --tags=allow-ssh,allow-health-check-ipv6,nat-gw-tag \
        --subnet=lb-subnet-ipv6-only-internal \
        --stack-type=IPV6_ONLY \
        --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 los dos grupos de instancias sin gestionar en cada zona:

    gcloud compute instance-groups unmanaged create ig-a \
        --zone=us-west1-a
    gcloud compute instance-groups unmanaged create ig-c \
        --zone=us-west1-c
    
  3. Añade las VMs a los grupos de instancias correspondientes:

    gcloud compute instance-groups unmanaged add-instances ig-a \
        --zone=us-west1-a \
        --instances=vm-a1,vm-a2
    gcloud compute instance-groups unmanaged add-instances ig-c \
        --zone=us-west1-c \
        --instances=vm-c1,vm-c2
    

Configurar componentes del balanceador de carga

En los pasos siguientes se configuran los diferentes componentes de un balanceador de carga de red interno de tipo pasarela, empezando por la comprobación del estado y el servicio de backend, y terminando con el frontend.

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. Haz clic en Configurar.

Configuración básica

En la página Crear balanceador de carga de red de paso a través interno, introduce la siguiente información:

  • Nombre del balanceador de carga: ilb-ipv6-only
  • Región: us-west1
  • Red: lb-network-ipv6-only

Configuración de backend

  1. Haz clic en Configuración de backend.
  2. En la sección Nuevo backend de Backends, selecciona IPv6 (pila única) como tipo de pila de IP.
  3. En Grupo de instancias, selecciona el grupo de instancias ig-a y haz clic en Hecho.
  4. Haz clic en Añadir un backend y repite el paso para añadir ig-c.
  5. En la lista Comprobación del estado, selecciona Crear comprobación del estado, introduce la siguiente información y haz clic en Guardar:
    • Nombre: hc-http-80.
    • Ámbito: regional.
    • Protocolo: HTTP.
    • Puerto: 80.
    • Protocolo de proxy: NONE.
    • Ruta de la solicitud: /.
  6. Comprueba que aparezca una marca de verificación azul junto a Configuración de backend.

Configuración de frontend

  1. Haz clic en Configuración de frontend. En la sección IP de frontend y puerto nuevos, haga lo siguiente:
    1. En Nombre, escribe fr-ilb-ipv6-only.
    2. Para gestionar el tráfico IPv6, siga estos pasos:
      1. En Versión de IP, selecciona IPv6. El servidor TCP IPv6 que vas a crear en la siguiente sección se vincula a la IP virtual de la regla de reenvío.
      2. En Subred, selecciona lb-subnet-ipv6-only-internal. El intervalo de direcciones IPv6 de la regla de reenvío siempre es efímero.
      3. En Puertos, selecciona Varios y, en el campo Número de puerto, introduce 80.
      4. Haz clic en Listo.
    3. Verifica que haya una marca de verificación azul junto a Configuración del frontend antes de continuar.

Revisar la configuración

  1. Haz clic en Revisar y finalizar. Revisa todos los ajustes.
  2. Si los ajustes son correctos, haz clic en Crear. El balanceador de carga de red de paso a través interno tarda unos minutos en crearse.

gcloud

  1. Crea una comprobación del estado HTTP regional para probar la conectividad HTTP a las VMs en el puerto 80.

    gcloud compute health-checks create http hc-http-80 \
        --region=us-west1 \
        --port=80
    
  2. Crea el servicio de backend:

    gcloud compute backend-services create ilb-ipv6-only \
        --load-balancing-scheme=INTERNAL \
        --protocol=tcp \
        --region=us-west1 \
        --health-checks=hc-http-80 \
        --health-checks-region=us-west1
    
  3. Añade los dos grupos de instancias al servicio de backend:

    gcloud compute backend-services add-backend ilb-ipv6-only \
        --region=us-west1 \
        --instance-group=ig-a \
        --instance-group-zone=us-west1-a
    
    gcloud compute backend-services add-backend ilb-ipv6-only \
        --region=us-west1 \
        --instance-group=ig-c \
        --instance-group-zone=us-west1-c
    
  4. Crea la regla de reenvío IPv6 con una dirección IPv6 efímera.

    gcloud compute forwarding-rules create fr-ilb-ipv6-only \
        --region=us-west1 \
        --load-balancing-scheme=INTERNAL \
        --subnet=lb-subnet-ipv6-only-internal \
        --ip-protocol=TCP \
        --ports=80 \
        --backend-service=ilb-ipv6-only \
        --backend-service-region=us-west1 \
        --ip-version=IPV6
    

Probar el balanceador de carga

Para probar el balanceador de carga, crea una VM cliente en la misma región que el balanceador de carga y, a continuación, envía tráfico del cliente al balanceador de carga.

Crear una VM cliente

En este ejemplo, se crea una VM de cliente (vm-client) en la misma región que las VMs de backend (servidor).

Consola

  1. En la consola de Google Cloud , ve a la página Instancias de VM.

    Ir a instancias de VM

  2. Haz clic en Crear instancia.

  3. En Nombre, escribe vm-client.

  4. En Región, selecciona us-west1.

  5. En Zona, selecciona us-west1-a.

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

  7. Haga clic en Redes y configure los siguientes campos:

    1. En Etiquetas de red, introduzca allow-ssh.
    2. En Interfaces de red, selecciona lo siguiente:
      • Red: lb-network-ipv6-only
      • Subred: lb-subnet-ipv6-only-internal
      • Tipo de pila de IP: IPv6 (pila única)
    3. Haz clic en Listo.
  8. Haz clic en Crear.

gcloud

La VM cliente puede estar en cualquier zona de la misma región que el balanceador de carga. En este ejemplo, el cliente está en la zona us-west1-a y usa la misma subred que las VMs de backend.

gcloud compute instances create vm-client \
    --zone=us-west1-a \
    --image-family=debian-12 \
    --image-project=debian-cloud \
    --stack-type=IPV6_ONLY \
    --tags=allow-ssh \
    --subnet=lb-subnet-ipv6-only-internal

Probar la conexión

Esta prueba se pone en contacto con el balanceador de carga desde una VM de cliente independiente, es decir, no desde una VM de backend del balanceador de carga. Lo normal es que el tráfico se distribuya entre las cuatro máquinas virtuales de backend.

  1. Conéctate a la instancia de VM cliente mediante SSH.

    gcloud compute ssh vm-client --zone=us-west1-a
    
  2. Describe la regla de reenvío de IPv6 fr-ilb-ipv6-only. Fíjate en el IPV6_ADDRESS de la descripción.

    gcloud compute forwarding-rules describe fr-ilb-ipv6-only \
        --region=us-west1
    
  3. En los clientes con conectividad IPv6, ejecuta el siguiente comando:

    curl http://IPV6_ADDRESS:80
    

    Por ejemplo, si la dirección IPv6 asignada es [fd20:307:120c:2000:0:1:0:0/96]:80, el comando debería tener el siguiente aspecto:

    curl http://[fd20:307:120c:2000:0:1:0:0]:80
    

    La respuesta puede ser la siguiente:

    Page returned from: vm-a2
    

Siguientes pasos