En este documento, se muestra cómo configurar y probar un balanceador de cargas de red de transferencia interno que admite tráfico interno solo de IPv6. En este ejemplo de configuración, instalarás un servidor web Apache en las instancias de máquina virtual (VM) de backend internas solo para IPv6 para entregar contenido en respuesta al tráfico recibido a través de la IP virtual (VIP) del balanceador de cargas.
Como se muestra en el siguiente diagrama de arquitectura, las VMs de backend del balanceador de cargas están configuradas con direcciones IPv6 internas únicamente. Para los fines de esta configuración de ejemplo, estas VMs de backend deben descargar Apache para instalar un servidor web, lo que requiere acceso a Internet pública. Sin embargo, debido a que 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 funciona como puerta de enlace NAT. Esta VM realiza la traducción de direcciones a nivel del kernel de Linux. Específicamente, la cadena POSTROUTING
en la tabla de NAT se usa para enmascarar la dirección de origen de los paquetes salientes, reemplazando la dirección IPv6 interna de cada VM de backend por la dirección IPv6 externa de la VM de la puerta de enlace de NAT en la interfaz de red especificada.
En la siguiente información, se explica la configuración de los diferentes componentes que se usan para configurar un balanceador de cargas de red de transferencia interno con backends internos solo para IPv6.
Permisos
Para seguir esta guía, debes crear instancias y modificar una red en un proyecto. Debes ser propietario o editor de un proyecto o tener todas las siguientes funciones de IAM de Compute Engine:
Tarea | Función requerida |
---|---|
Crear redes, subredes y componentes del balanceador de cargas | Administrador de red de Compute ( roles/compute.networkAdmin )
|
Agregar y quitar reglas de firewall | Administrador de seguridad de Compute ( roles/compute.securityAdmin )
|
Crea instancias | Administrador de instancias de Compute ( roles/compute.instanceAdmin )
|
Si deseas obtener más información, consulta las siguientes guías:
Configura una red y una subred solo IPv6 con direcciones IPv6 internas
El ejemplo del balanceador de cargas de red de transferencia interno descrito en esta página se crea en una red de VPC de modo personalizado llamada lb-network-ipv6-only
.
Para configurar subredes con rangos de IPv6 internos, habilita un rango de IPv6 interno de ULA de la red de VPC. Los rangos de subredes IPv6 internas se asignan a partir de este rango.
Console
En la consola de Google Cloud , ve a la página Redes de VPC.
Haz clic en Crear red de VPC.
En Nombre, ingresa
lb-network-ipv6-only
.Si deseas configurar rangos de direcciones IPv6 internos en subredes de esta red, completa estos pasos:
- En Configuración de la dirección IPv6 privada, selecciona Configurar un rango de IPv6 interno de ULA para esta red de VPC.
- En Asignar rango de IPv6 interno, selecciona Automáticamente o Manualmente.
Si seleccionas Manualmente, ingresa un rango
/48
que pertenezca al rangofd20::/20
. Si el rango ya está en uso, se te solicitará que proporciones un rango diferente.
En Modo de creación de subred, selecciona Personalizado.
En la sección Subred nueva, especifica los siguientes parámetros de configuración para la subred:
- Nombre:
lb-subnet-ipv6-only
- Región:
us-west1
- Tipo de pila IP: IPv6 (pila única)
- Tipo de acceso IPv6: Interno
- Nombre:
Haz clic en Listo.
Haz clic en Crear.
gcloud
Para crear una nueva red de VPC en modo personalizado, ejecuta el comando
gcloud compute networks create
.Para configurar rangos de 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
Configura una subred con
ipv6-access-type
establecido enINTERNAL
. Esto indica que las VMs de esta subred solo pueden tener direcciones IPv6 internas. En este ejemplo, la subred se llamalb-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
Configura una subred solo IPv6 con direcciones IPv6 externas
Se usa una subred solo para IPv6 con direcciones IPv6 externas para crear una instancia de VM que funcione como puerta de enlace de NAT.
Console
En la consola de Google Cloud , ve a la página Redes de VPC.
Para ver la página Detalles de la red de VPC, haz clic en el nombre de la red de VPC que creaste.
En la pestaña Subredes, haz clic en
Agregar subred. En el panel que aparece, especifica los siguientes parámetros de configuración para la subred:- Nombre:
lb-subnet-ipv6-only-external
- Región:
us-west1
- Tipo de pila IP: IPv6 (pila única)
- Tipo de acceso IPv6: externo
- Nombre:
Haz clic en Agregar.
gcloud
Configura una subred con ipv6-access-type
establecido en 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
Configura reglas de firewall en la red de VPC
En este ejemplo, se usan las siguientes reglas de firewall:
fw-allow-lb-access-ipv6-only
: Es una regla de entrada aplicable a todos los destinos en la red de VPC, de modo que se admite el tráfico de todas las fuentes IPv6.fw-allow-ssh
: Una regla de entrada que permite la conectividad SSH entrante en el puerto TCP22
desde cualquier dirección. Puedes elegir un rango de IP de origen más restrictivo para esta regla; por ejemplo, puedes especificar solo los rangos de IP del sistema desde el que inicias sesiones SSH. En este ejemplo, se usa la etiqueta de destinoallow-ssh
para identificar las VMs a las que se debe aplicar.fw-allow-health-check-ipv6-only
: Es una regla de entrada, aplicable a las instancias con balanceo de cargas, que permite el tráfico de los sistemas de verificación de estado de Google Cloud (2600:2d00:1:b029::/64
). En este ejemplo, se usa la etiqueta de destinoallow-health-check-ipv6
para identificar las instancias a las que se debe aplicar.
Sin estas reglas de firewall, la regla predeterminada de denegación de entrada bloquea el tráfico entrante a las instancias de backend.
Console
En la consola de Google Cloud , ve a la página Políticas de firewall.
Para permitir el tráfico de subred de IPv6, vuelve a hacer clic en Crear regla de firewall y, luego, ingresa la siguiente información:
- Nombre:
fw-allow-lb-access-ipv6-only
- Red:
lb-network-ipv6-only
- Prioridad:
1000
- Dirección del tráfico: Entrada
- Acción en caso de coincidencia: Permitir
- Objetivos: All instances in the network
- Filtro de fuente: Rangos de IPv6
- Rangos de IPv6 de origen:
::/0
- Protocols y puertos: Permitirlos todos
- Nombre:
Haz clic en Crear.
Para permitir conexiones SSH entrantes, vuelve a hacer clic en Crear regla de firewall y, luego, ingresa la siguiente información:
- Nombre:
fw-allow-ssh
- Red:
lb-network-ipv6-only
- Prioridad:
1000
- Dirección del tráfico: Entrada
- Acción en caso de coincidencia: Permitir
- Destinos: Etiquetas de destino especificadas
- Etiquetas de destino:
allow-ssh
- Filtro de fuente: Rangos de IPv6
- Rangos de IPv6 de origen:
::/0
- Protocolos y puertos: Selecciona Protocolos y puertos especificados, elige la casilla de verificación TCP y, luego, ingresa
22
en Puertos
- Nombre:
Haz clic en Crear.
Para permitir las Google Cloud verificaciones de estado de IPv6, vuelve a hacer clic en Crear regla de firewall y, luego, ingresa la siguiente información:
- Nombre:
fw-allow-health-check-ipv6-only
- Red:
lb-network-ipv6-only
- Prioridad:
1000
- Dirección del tráfico: Entrada
- Acción en caso de coincidencia: Permitir
- Destinos: Etiquetas de destino especificadas
- Etiquetas de destino:
allow-health-check-ipv6
- Filtro de fuente: Rangos de IPv6
- Rangos de IPv6 de origen:
2600:2d00:1:b029::/64
- Protocols y puertos: Permitirlos todos
- Nombre:
Haz clic en Crear.
gcloud
Crea la regla de firewall
fw-allow-lb-access-ipv6-only
para permitir todo el tráfico IPv6 entrante a todas las instancias de VM en 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
Crea la regla de firewall
fw-allow-ssh
para permitir la conectividad SSH a las VM con la etiqueta de redallow-ssh
. Cuando omitessource-ranges
,Google Cloud interpreta que la regla significa 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
Crea la regla
fw-allow-health-check-ipv6
para permitir las verificaciones de 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
Crea una instancia de VM que funcione como puerta de enlace NAT
En este ejemplo, se usa un script de Bash para crear una puerta de enlace 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 en la cadena POSTROUTING
y la reemplaza por la dirección IPv6 externa de la interfaz de la VM.
La secuencia de comandos de Bash modifica la cadena POSTROUTING
en iptables
para enmascarar la dirección IPv6 de origen de todos los paquetes salientes y reemplazarla por la dirección IPv6 externa de la interfaz de red de la VM.
También debes habilitar el reenvío de IP para esta instancia.
Para crear una instancia de VM que funcione como puerta de enlace NAT, haz lo siguiente:
Console
En la Google Cloud consola, ve a la página Instancias de VM.
Haz clic en Crear instancia.
En Nombre, ingresa
nat-gateway-instance
.En Región, selecciona
us-west1
y, en Zona, seleccionaus-west1-a
.En la sección Disco de arranque, asegúrate de que Debian GNU/Linux 12 (bookWorm) esté seleccionado como las opciones del disco de arranque. Si es necesario, haz clic en Cambiar para cambiar la imagen.
Haz clic en Herramientas de redes y configura los siguientes campos:
- En Etiquetas de red, ingresa
allow-ssh
. - Para el Reenvío de IP, selecciona la casilla de verificación Habilitar.
- En Interfaces de red, selecciona lo siguiente:
- Red:
lb-network-ipv6-only
- Subred:
lb-subnet-ipv6-only-external
- Tipo de pila IP: IPv6 (pila única)
- Dirección IPv6 externa: Asignación automática
- Red:
- En Etiquetas de red, ingresa
Haz clic en Avanzado y, en el campo Secuencia de comandos de inicio, ingresa 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."
Haz clic en Crear.
gcloud
Crea una secuencia de comandos de inicio.
nano startup.sh
Agrega 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."
Crea una instancia de VM y agrégale el archivo de metadatos. Para usar esta VM como siguiente salto para una ruta, usa la marca
--can-ip-forward
para habilitar el reenvío de IP para 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 nueva en la red de VPC
En este ejemplo, se crea una ruta personalizada que dirige todo el tráfico vinculado a Internet de IPv6 (::/0
) desde las VMs etiquetadas como nat-gw-tag
a la instancia de VM nat-gateway-instance
, que funciona como puerta de enlace NAT.
Para crear una ruta, haz lo siguiente:
Console
En la consola de Google Cloud , ve a la página Rutas.
Haz clic en la pestaña Administración de rutas.
Haz clic en Crear ruta.
Especifica un Nombre y una Descripción para la ruta.
En la lista Red, selecciona la red de VPC
lb-network-ipv6-only
.En la lista Versión de IP, selecciona IPv6.
Especifica un rango de IPv6 de destino. El destino más amplio posible es
::/0
para IPv6.Para que la ruta sea aplicable solo a instancias seleccionadas con etiquetas de red que coincidan, especifícalas en el campo Etiquetas de instancia. Para que la ruta sea aplicable a todas las instancias de la red, deja el campo en blanco. En este ejemplo, ingresa
nat-gw-tag
.En Siguiente salto, selecciona Especificar una instancia.
Selecciona el nombre de la instancia que creaste para que funcione como puerta de enlace NAT. Para este ejemplo, selecciona
nat-gateway-instance
.Haz clic en Crear.
gcloud
Usa el comando gcloud compute routes create
para crear una ruta nueva.
El paquete se reenvía a la instancia de VM nat-gateway-instance
, según lo especifica --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
Crea VMs de backend y grupos de instancias
En este ejemplo, se usan dos grupos de instancias no administrados, cada uno con dos VMs de backend. Para demostrar la naturaleza regional de los balanceadores de cargas de red de transferencia internos, los dos grupos de instancias se colocan en zonas diferentes: us-west1-a
y us-west1-c
.
- El grupo de instancias
ig-a
contiene estas dos VM:vm-a1
vm-a2
- El grupo de instancias
ig-c
contiene estas dos VM:vm-c1
vm-c2
El tráfico a las cuatro VM de backend cuenta con balanceo de cargas.
En este ejemplo, la ruta estática que se creó en un paso anterior se limita a instancias de VM específicas con la etiqueta de red nat-gw-tag
.
Console
Crea VM de backend
En la Google Cloud consola, ve a la página Instancias de VM.
Repite estos pasos para cada VM y usa 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
- Nombre:
Haz clic en Crear instancia.
En Nombre establece lo que se indica en el paso 2.
En Región, selecciona
us-west1
y selecciona una Zona como se indica en el paso 2.En la sección Disco de arranque, asegúrate de que Debian GNU/Linux 12 (bookWorm) esté seleccionado como las opciones del disco de arranque. Si es necesario, haz clic en Cambiar para cambiar la imagen.
Haz clic en Opciones avanzadas.
Haz clic en Herramientas de redes y configura los siguientes campos:
- En Etiquetas de red, ingresa
allow-ssh
,allow-health-check-ipv6
ynat-gw-tag
. - En Interfaces de red, selecciona lo siguiente:
- Red:
lb-network-ipv6-only
- Subred:
lb-subnet-ipv6-only-internal
- Tipo de pila IP: IPv6 (pila única)
- Dirección IPv6 interna principal: Efímera (automática)
- Red:
- En Etiquetas de red, ingresa
Haz clic en Avanzado y, luego, en el campo Secuencia de comandos de inicio, ingresa la siguiente secuencia de comandos. El contenido de la secuencia de comandos es idéntico para 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
Haz clic en Crear.
Crea grupos de instancias
En la consola de Google Cloud , ve a la página Grupos de instancias.
Repite estos pasos para crear dos grupos de instancias no administrados, cada uno con dos VM, mediante estas combinaciones.
- Nombre del grupo de instancias:
ig-a
, zona:us-west1-a
, VMs:vm-a1
yvm-a2
- Nombre del grupo de instancias:
ig-c
, zona:us-west1-c
, VMs:vm-c1
yvm-c2
- Nombre del grupo de instancias:
Haz clic en Crear grupo de instancias.
Haz clic en Crear un nuevo grupo de instancias no administrado.
Configura Nombre como se indica en el paso 2.
En la sección Ubicación, elige
us-west1
para Región y, luego, elige una opción en Zona, como se indica en el paso 2.En Red, selecciona
lb-network-ipv6-only
.En Subred, selecciona
lb-subnet-ipv6-only-internal
.En la sección Instancias de VM, agrega las VM como se indica en el paso 2.
Haz clic en Crear.
gcloud
A fin de crear las cuatro VMs, ejecuta el comando
gcloud compute instances create
cuatro veces, con las siguientes cuatro combinaciones 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'
Crea los dos grupos de instancias no administrados 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
Agrega las VM a los grupos de instancias adecuados:
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
Configura los componentes del balanceador de cargas
En los siguientes pasos, se configuran los diferentes componentes de un balanceador de cargas de red de transferencia interno, comenzando con la verificación de estado y el servicio de backend, y luego el frontend.
Console
Inicia tu configuración
En la consola de Google Cloud , ve a la página Balanceo de cargas.
- Haz clic en Crear balanceador de cargas.
- En Tipo de balanceador de cargas, selecciona Balanceador de cargas de red (TCP/UDP/SSL) y haz clic en Siguiente.
- En Proxy o de transferencia, selecciona Balanceador de cargas de transferencia y haz clic en Siguiente.
- Haz clic en Configurar.
Configuración básica
En la página Crear un balanceador de cargas de red de transferencia interna, ingresa la siguiente información:
- Nombre del balanceador de cargas:
ilb-ipv6-only
- Región:
us-west1
- Red:
lb-network-ipv6-only
Configuración de backend
- Haz clic en Configuración de backend.
- En la sección Backend nuevo de Backends, selecciona el Tipo de pila de IP como IPv6 (pila única).
- En Grupo de instancias, selecciona el grupo de instancias
ig-a
y haz clic en Listo. - Haz clic en Agregar backend y repite este paso para agregar
ig-c
. - En el menú desplegable Verificación de estado, elige Crear una verificación de estado,
ingresa la siguiente información y haz clic en Guardar:
- Nombre:
hc-http-80
. - Permiso: Regional.
- Protocolo:
HTTP
. - Puerto:
80
. - Protocolo de proxy:
NONE
. - Ruta de la solicitud:
/
.
- Nombre:
- Verifica que aparezca una marca de verificación azul junto a Configuración de backend.
Configuración de frontend
- Haz clic en Configuración de frontend. En la sección IP y puerto de frontend nuevos, haz lo siguiente:
- En Nombre, ingresa
fr-ilb-ipv6-only
. - Para controlar el tráfico IPv6, haz lo siguiente:
- En Versión de la IP, selecciona IPv6. El servidor TCP IPv6 que crearás en la siguiente sección se vincula a la VIP de la regla de reenvío.
- En Subred, selecciona
lb-subnet-ipv6-only-internal
. El rango de direcciones IPv6 en la regla de reenvío siempre es efímero. - En Puertos, selecciona Varios y, luego, en el campo Número de puerto, ingresa
80
. - Haz clic en Listo.
- Verifica que haya una marca de verificación azul junto a Configuración de frontend antes de continuar.
- En Nombre, ingresa
Revisa la configuración
- Haz clic en Revisar y finalizar. Comprueba toda la configuración.
- Si la configuración es correcta, haz clic en Crear. La creación del balanceador de cargas de red de transferencia interno tarda unos minutos.
gcloud
Crea una verificación de estado HTTP regional nueva para probar la conectividad HTTP a las VM en 80.
gcloud compute health-checks create http hc-http-80 \ --region=us-west1 \ --port=80
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
Agrega 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
Crea la regla de reenvío de 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
Prueba el balanceador de cargas
Para probar el balanceador de cargas, crea una VM de cliente en la misma región que el balanceador de cargas y, luego, envía tráfico del cliente al balanceador de cargas.
Crear una VM de cliente
En este ejemplo se crea una VM de cliente (vm-client
) en la misma región en la que están las VM de backend (servidor).
Console
En la Google Cloud consola, ve a la página Instancias de VM.
Haz clic en Crear instancia.
En Nombre, ingresa
vm-client
.En Región, selecciona
us-west1
..En Zona, selecciona
us-west1-a
.Haz clic en Opciones avanzadas.
Haz clic en Herramientas de redes y configura los siguientes campos:
- En Etiquetas de red, ingresa
allow-ssh
. - En Interfaces de red, selecciona lo siguiente:
- Red:
lb-network-ipv6-only
- Subred:
lb-subnet-ipv6-only-internal
- Tipo de pila IP: IPv6 (pila única)
- Red:
- Haz clic en Listo.
- En Etiquetas de red, ingresa
Haz clic en Crear.
gcloud
La VM de cliente puede estar en cualquier zona de la misma región que el balanceador de cargas. En este ejemplo el cliente se encuentra en la zona us-west1-a
y usa la misma subred que las VM 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
Prueba la conexión
En esta prueba, se contacta al balanceador de cargas desde una VM de cliente diferente, es decir, no desde una VM de backend del balanceador de cargas. El comportamiento esperado consiste en que el tráfico se distribuya entre las cuatro VMs de backend.
Conéctate a la instancia de VM del cliente a través de SSH.
gcloud compute ssh vm-client --zone=us-west1-a
Describe la regla de reenvío de IPv6
fr-ilb-ipv6-only
. Ten en cuenta laIPV6_ADDRESS
en la descripción.gcloud compute forwarding-rules describe fr-ilb-ipv6-only \ --region=us-west1
Desde 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 debe verse de la siguiente manera:curl http://[fd20:307:120c:2000:0:1:0:0]:80
La respuesta puede ser la siguiente:
Page returned from: vm-a2
¿Qué sigue?
- Revisa la configuración para configurar un balanceador de cargas de red de transferencia interno con una subred y un backend internos solo para IPv6 que usen un servidor TCP IPv6 instalado en las VMs de backend.