En este documento se explica cómo convertir recursos y back-ends de balanceadores de carga de red de proxy de solo IPv4 (de una sola pila) a IPv4 e IPv6 (de doble pila). La principal ventaja de usar IPv6 es que se puede asignar un conjunto de direcciones IP mucho mayor a tu balanceador de carga. Puedes configurar el balanceador de carga para que termine el tráfico IPv6 entrante y lo envíe a través de una conexión IPv4 o IPv6 a tus back-ends, según tus preferencias. Para obtener más información, consulta IPv6 para balanceadores de carga de aplicación y balanceadores de carga de red de proxy.
En este documento, "solo IPv4 (pila única)" hace referencia a los recursos que solo usan direcciones IPv4, mientras que "IPv4 e IPv6 (pila dual)" hace referencia a los recursos que usan direcciones IPv4 e IPv6.
Las instrucciones de este documento se aplican tanto a los balanceadores de carga de red de proxy TCP como a los de proxy SSL.
Antes de empezar
Ten en cuenta las siguientes condiciones antes de iniciar el proceso de conversión:
Debes usar uno de los siguientes tipos de balanceadores de carga de red proxy:
- Balanceador de carga de red con proxy externo global
- Balanceador de carga de red con proxy externo regional
- Balanceador de carga de red con proxy interno interregional
- Balanceador de carga de red con proxy interno regional
Los balanceadores de carga de red de proxy clásicos no admiten back-ends ni subredes de pila dual. Para obtener más información sobre la compatibilidad con IPv6, consulta IPv6 para balanceadores de carga de aplicaciones y balanceadores de carga de red de proxy.
Tu balanceador de carga usa backends de grupos de instancias de VM o grupos de puntos de conexión de red (NEGs) de zona con
GCE_VM_IP_PORT
puntos finales. Otros tipos de backend no admiten el doble pila.
Además, el proceso de conversión varía en función del tipo de balanceador de carga.
En el caso de los balanceadores de carga de red con proxy externo global, puedes convertir los back-ends a doble pila y crear una regla de reenvío IPv6 que pueda gestionar el tráfico IPv6 entrante.
En el caso de los balanceadores de carga de red con proxy internos entre regiones, los balanceadores de carga de red con proxy externos regionales y los balanceadores de carga de red con proxy internos regionales, solo tienes que convertir los backends a pila dual. Las reglas de reenvío de IPv6 no se admiten en estos balanceadores de carga.
Para obtener información sobre cómo configurar balanceadores de carga de red con proxy externo global, consulta la siguiente documentación:
- Configurar un balanceador de carga de red con proxy externo global: backends de grupos de instancias de VM y backends de NEGs zonales
- Configura un balanceador de carga de red de proxy externo regional: backends de grupos de instancias de VM y backends de NEGs de zona.
- Configura un balanceador de carga de red de proxy interno entre regiones: backends de grupos de instancias de VM o backends de NEGs zonales.
- Configura un balanceador de carga de red de proxy interno regional: backends de grupos de instancias de VM y backends de NEGs zonales.
Identificar los recursos que se van a convertir
Anota los nombres de los recursos con los que está asociado tu balanceador de carga. Deberá proporcionar estos nombres más adelante.
Para enumerar todas las subredes, usa el comando
gcloud compute networks subnets list
:gcloud compute networks subnets list
Anota el nombre de la subred con pila solo IPv4 que quieras convertir a doble pila. Más adelante se utilizará
SUBNET
para hacer referencia a este nombre. Más adelante se hará referencia a la red de VPC comoNETWORK
.Para enumerar todos los servicios de backend, usa el comando
gcloud compute backend-services list
:gcloud compute backend-services list
Anota el nombre del servicio backend que quieres convertir a dual-stack. Más adelante se utilizará
BACKEND_SERVICE
para hacer referencia a este nombre.Si ya tienes un balanceador de carga, para ver el tipo de pila de IP de tus back-ends, usa el comando
gcloud compute instances list
:gcloud compute instances list \ --format= \ "table( name, zone.basename(), networkInterfaces[].stackType.notnull().list(), networkInterfaces[].ipv6AccessConfigs[0].externalIpv6.notnull().list():label=EXTERNAL_IPV6, networkInterfaces[].ipv6Address.notnull().list():label=INTERNAL_IPV6)"
Para ver una lista de todas las instancias de VM y plantillas de instancia, usa el comando
gcloud compute instances list
y el comandogcloud compute instance-templates list
:gcloud compute instances list
gcloud compute instance-templates list
Anota los nombres de las instancias y las plantillas de instancia que quieras convertir a pila dual. Más adelante, se hará referencia a este nombre como
VM_INSTANCE
yINSTANCE_TEMPLATES
.Para enumerar todos los grupos de instancias, usa el comando
gcloud compute instance-groups list
:gcloud compute instance-groups list
Anota el nombre de los grupos de endpoints de red que quieras convertir a pila dual. Más adelante se utilizará
INSTANCE_GROUP
para hacer referencia a este nombre.Para ver una lista de todos los NEGs zonales, usa el comando
gcloud compute network-endpoint-groups list
:gcloud compute network-endpoint-groups list
Anota el nombre de los grupos de endpoints de red que quieras convertir a pila dual. Más adelante se utilizará
ZONAL_NEG
para hacer referencia a este nombre.Para ver una lista de todos los proxies SSL de destino, usa el comando
gcloud compute target-ssl-proxies list
:gcloud compute target-ssl-proxies list
Anota el nombre del proxy de destino asociado a tu balanceador de carga. Más adelante se utilizará
TARGET_PROXY
para hacer referencia a este nombre.Para ver una lista con todos los proxies TCP de destino, usa el comando
gcloud compute target-tcp-proxies list
:gcloud compute target-tcp-proxies list
Anota el nombre del proxy de destino asociado a tu balanceador de carga. Más adelante se utilizará
TARGET_PROXY
para hacer referencia a este nombre.
Convertir de back-ends de pila única a pila dual
En esta sección se explica cómo convertir los recursos y los back-ends de balanceador de carga que solo usan direcciones IPv4 (de pila única) a direcciones IPv4 e IPv6 (de doble pila).
Actualizar la subred
Las subredes de pila dual solo se admiten en redes de VPC en modo personalizado. Las subredes de pila dual no se admiten en redes de VPC en modo automático ni en redes antiguas. Aunque las redes en modo automático pueden ser útiles para las primeras exploraciones, las VPCs en modo personalizado son más adecuadas para la mayoría de los entornos de producción. Te recomendamos que utilices VPCs en modo personalizado.
Para actualizar la VPC a la configuración de doble pila, sigue estos pasos:
Si utilizas una red de VPC de modo automático, primero debes convertirla a modo personalizado.
Si utilizas la red
default
, debes convertirla en una red de VPC de modo personalizado.Para habilitar IPv6, consulta Cambiar el tipo de pila de una subred a pila dual.
Asegúrate de que el tipo de acceso IPv6 de la subred esté configurado como
External
.Opcional: Si quieres configurar intervalos de direcciones IPv6 internas en subredes de esta red, sigue estos pasos:
- En Intervalo IPv6 interno ULA de la red VPC, selecciona Habilitado.
En Asignar intervalo de IPv6 interno, selecciona Automáticamente o Manualmente.
Si selecciona Manualmente, introduzca un intervalo
/48
dentro del intervalofd20::/20
. Si el intervalo está en uso, se te pedirá que proporciones otro.
Actualizar la subred de solo proxy
Si utilizas un balanceador de carga basado en Envoy, te recomendamos que cambies el tipo de pila de subred solo proxy a pila dual. Para obtener información sobre los balanceadores de carga que admiten subredes de solo proxy, consulta Balanceadores de carga admitidos.
No puedes actualizar el tipo de pila de una subred de solo proxy (purpose=REGIONAL_MANAGED_PROXY
) de la misma forma que lo harías con una subred normal (con subnets update command
). En su lugar, debes crear una subred de solo proxy de copia de seguridad con un tipo de pila de doble pila y, a continuación, asignarle el rol activo. Esto se debe a que solo puede haber una subred solo de proxy activa por región y por red de VPC.
Después de asignar un intervalo IPv6 interno en la red de VPC, haz lo siguiente para cambiar el tipo de pila de la subred solo proxy a pila dual.
Consola
Crea una subred de solo proxy de copia de seguridad en la misma región que la subred de solo proxy activa y especifica el tipo de pila de IP como de doble pila.
- En la Google Cloud consola, ve a la página Redes de VPC.
Ir a la página Redes de VPC - Haga clic en el nombre de la red VPC a la que quiere añadir una subred solo proxy.
- Haz clic en Añadir subred.
- Escribe un nombre.
- Selecciona una región.
- En Propósito, selecciona Proxy gestionado regional.
- En Rol, selecciona Copia de seguridad.
- En Tipo de pila de IP, selecciona IPv4 e IPv6 (pila dual).
- Introduce un intervalo de direcciones IP.
- Haz clic en Añadir.
- En la Google Cloud consola, ve a la página Redes de VPC.
Crea o modifica reglas de cortafuegos de entrada que se apliquen a tus VMs o endpoints de backend para que incluyan el intervalo de direcciones IP principal de la subred de solo proxy de backup.
Asigna el rol activo a la subred de solo proxy de copia de seguridad. Esta acción también degrada la subred de solo proxy que estaba activa a la función de copia de seguridad:
- En la Google Cloud consola, ve a la página Redes de VPC.
Ir a la página Redes de VPC - Haga clic en el nombre de la red VPC que quiera modificar.
- En Subredes de solo proxy reservadas para el balanceo de carga, busca la subred de copia de seguridad que has creado en el paso anterior.
- Haz clic en Activate (Activar).
- Especifica un tiempo de espera de purga opcional.
- Haz clic en Activar la subred.
- En la Google Cloud consola, ve a la página Redes de VPC.
Una vez que haya transcurrido el tiempo de espera del vaciado de conexiones o cuando tengas la certeza de que las conexiones a tus VMs o endpoints de backend no proceden de proxies de la subred de solo proxy que estaba activa (ahora es la de backup), puedes hacer lo siguiente:
- Modifica las reglas de cortafuegos de entrada que se aplican a tus máquinas virtuales o endpoints de backend para que no incluyan el intervalo de direcciones IP principal de la subred de solo proxy que estaba activa anteriormente (ahora es la de copia de seguridad).
- Elimina la subred de solo proxy que estaba activa (ahora es la de copia de seguridad) para liberar las direcciones IP que usaba en su intervalo de direcciones IP principal.
gcloud
En este procedimiento se presupone que ya tienes una subred de solo proxy activa.
Crea una subred de solo proxy de respaldo en la misma región, especificando un tipo de pila de pila dual (
--stack-type=IPV4_IPV6
), mediante el comando gcloud compute networks subnets create. Esta subred se asigna como copia de seguridad con la marca--role=BACKUP
.gcloud compute networks subnets create BACKUP_PROXY_ONLY_SUBNET_NAME \ --purpose=REGIONAL_MANAGED_PROXY \ --role=BACKUP \ --region=REGION \ --network=VPC_NETWORK_NAME \ --range=BACKUP_PROXY_ONLY_SUBNET_RANGE \ --stack-type=IPV4_IPV6
Haz los cambios siguientes:
BACKUP_PROXY_ONLY_SUBNET_NAME
: nombre de la subred de solo proxy de copia de seguridad recién creadaREGION
: la región de la subred de solo proxy de copia de seguridad recién creada. Debe ser la misma región que la subred solo proxy activa.VPC_NETWORK_NAME
: la red de la subred de solo proxy de copia de seguridad que se acaba de crear. Debe ser la misma red que la subred solo proxy activa.VPC_NETWORK_NAME
: nombre de la red VPCBACKUP_PROXY_ONLY_SUBNET_RANGE
: el intervalo CIDR de la subred de solo proxy de copia de seguridad que se acaba de crear
Crea o modifica reglas de cortafuegos de entrada que se apliquen a tus VMs o endpoints de backend para que incluyan el intervalo de direcciones IP principal de la subred de solo proxy de copia de seguridad. La regla de cortafuegos ya debería aceptar conexiones de la subred activa.
gcloud compute firewall-rules update PROXY_ONLY_SUBNET_FIREWALL_RULE \ --source-ranges ACTIVE_PROXY_ONLY_SUBNET_RANGE,BACKUP_PROXY_ONLY_SUBNET_RANGE
Haz los cambios siguientes:
PROXY_ONLY_SUBNET_FIREWALL_RULE
: el nombre de la regla de cortafuegos que permite que el tráfico de la subred de solo proxy llegue a tus instancias o endpoints de backendACTIVE_PROXY_ONLY_SUBNET_RANGE
: el intervalo CIDR de la subred de solo proxy activaBACKUP_PROXY_ONLY_SUBNET_RANGE
: el intervalo CIDR de la subred de solo proxy de copia de seguridad
Actualiza la nueva subred para que sea la subred de solo proxy
ACTIVE
de la región y espera a que se purgue la antigua. De este modo, la subred de solo proxy que estaba activa pasa a ser la copia de seguridad.Para agotar un intervalo de direcciones IP inmediatamente, define
--drain-timeout
como0s
. De esta forma, se finalizan rápidamente todas las conexiones a los proxies que tienen direcciones asignadas en la subred que se está vaciando.gcloud compute networks subnets update BACKUP_PROXY_ONLY_SUBNET_NAME \ --region=REGION \ --role=ACTIVE \ --drain-timeout=CONNECTION_DRAINING_TIMEOUT
Haz los cambios siguientes:
BACKUP_PROXY_ONLY_SUBNET_NAME
: nombre de la subred de solo proxy de copia de seguridad recién creadaREGION
: la región de la subred de solo proxy de copia de seguridad recién creada. Debe ser la misma región que la subred solo proxy activa.CONNECTION_DRAINING_TIMEOUT
: la cantidad de tiempo, en segundos, que Google Cloud usa para migrar las conexiones actuales de los proxies de la subred de solo proxy que estaba activa.
Monitoriza el estado del drenaje con un comando
list
odescribe
. El estado de la subred esDRAINING
mientras se está vaciando.gcloud compute networks subnets list
Espera a que se complete el proceso. Cuando se purga la subred de solo proxy antigua, el estado de la subred es
READY
.Actualiza la regla de cortafuegos de la subred de solo proxy para que solo permita conexiones desde la nueva subred.
gcloud compute firewall-rules PROXY_ONLY_SUBNET_FIREWALL_RULE \ --source-ranges BACKUP_PROXY_ONLY_SUBNET_RANGE
Cuando tengas la certeza de que las conexiones a tus VMs o endpoints de backend no proceden de proxies de la subred de solo proxy que estaba activa (ahora es la de copia de seguridad), puedes eliminar la subred antigua.
gcloud compute networks subnets delete ACTIVE_PROXY_ONLY_SUBNET_NAME \ --region=REGION
Actualizar la instancia de VM o las plantillas
Puedes configurar direcciones IPv6 en una instancia de VM si la subred a la que está conectada la VM tiene configurado un intervalo IPv6. Solo los siguientes back-ends pueden admitir direcciones IPv6:
- Backends de grupos de instancias: uno o varios backends de grupos de instancias gestionados, sin gestionar o una combinación de ambos.
- NEGs por zonas: uno o varios NEGs por zonas de tipo
GCE_VM_IP_PORT
.
Actualizar instancias de VM
No puedes editar las instancias de VM que forman parte de un grupo de instancias gestionado o no gestionado. Para actualizar las instancias de VM a pila dual, sigue estos pasos:
- Eliminar instancias concretas de un grupo
- Crear una VM de doble pila
- Crear instancias con nombres específicos en grupos de instancias gestionados
Actualizar plantillas de instancias de VM
No puedes actualizar una plantilla de instancia. Si necesitas hacer cambios, puedes crear otra plantilla con propiedades similares. Para actualizar las plantillas de instancias de VM a pila dual, sigue estos pasos:
Consola
En la consola, ve a la página Plantillas de instancia. Google Cloud
- Haz clic en la plantilla de instancia que quieras copiar y actualizar.
- Haz clic en Crear similar.
- Expande la sección Opciones avanzadas.
- En Etiquetas de red, introduzca
allow-health-check-ipv6
. - En la sección Interfaces de red, haz clic en Añadir una interfaz de red.
- En la lista Red, selecciona la red de VPC en modo personalizado.
- En la lista Subred, selecciona
SUBNET
. - En Tipo de pila de IP, selecciona IPv4 e IPv6 (pila dual).
- Haz clic en Crear.
Inicia una actualización continua básica en el grupo de instancias administrado
MIG
asociado al balanceador de carga.
Actualizar el NEG de zona
Los endpoints de NEG zonales no se pueden editar. Debes eliminar los endpoints IPv4 y crear un endpoint de doble pila con direcciones IPv4 e IPv6.
Para configurar un NEG zonal (con endpoints de tipo GCE_VM_IP_PORT
) en la región REGION_A
, primero crea las VMs en la zona GCP_NEG_ZONE
. A continuación, añade los puntos finales de red de la VM al NEG zonal.
Crear VMs
Consola
En la consola de Google Cloud , ve a la página Instancias de VM.
Haz clic en Crear instancia.
Asigna el valor
vm-a1
a Nombre.En Región, elija
REGION_A
y, en el campo Zona, elija cualquier valor. En este procedimiento, nos referimos a esta zona comoGCP_NEG_ZONE
.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. Haz clic en Elegir para cambiar la imagen si es necesario.
Expande la sección Opciones avanzadas y haz los siguientes cambios:
- Despliega la sección Redes.
- En el campo Etiquetas de red, introduce
allow-health-check
. - En la sección Interfaces de red, haz los siguientes cambios:
- Red:
NETWORK
- Subred:
SUBNET
- Tipo de pila de IP: IPv4 e IPv6 (pila dual)
- Red:
- Haz clic en Listo.
Haz clic en Gestión. En el campo Startup script (Secuencia de comandos de inicio), copia y pega el siguiente contenido de la secuencia de comandos.
#! /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.
Repite los pasos siguientes para crear una segunda máquina virtual con la siguiente combinación de nombre y zona:
- Nombre:
vm-a2
, zona:GCP_NEG_ZONE
- Nombre:
gcloud
Crea las VMs ejecutando el siguiente comando dos veces y usando estas combinaciones para el nombre de la VM y su zona. El contenido de la secuencia de comandos es idéntico en ambas máquinas virtuales.
VM_NAME
devm-a1
y cualquier zonaGCP_NEG_ZONE
de tu elección.VM_NAME
devm-a2
y la misma zonaGCP_NEG_ZONE
.gcloud compute instances create VM_NAME \ --zone=GCP_NEG_ZONE \ --stack-type=IPV4_IPV6 \ --image-family=debian-12 \ --image-project=debian-cloud \ --tags=allow-health-check \ --subnet=SUBNET \ --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'
Añadir endpoints al NEG de zona
Consola
Para añadir endpoints a un NEG zonal, sigue estos pasos:
En la Google Cloud consola, ve a la página Grupos de endpoints de red.
En la lista Nombre, haga clic en el nombre del grupo de puntos finales de red (
ZONAL_NEG
). Verá la página Detalles del grupo de puntos finales de red.En la sección Puntos finales de red de este grupo, selecciona el endpoint de NEG que has creado anteriormente. Haz clic en Quitar endpoint.
En la sección Puntos finales de red de este grupo, haz clic en Añadir punto final de red.
Selecciona la instancia de VM.
En la sección Interfaz de red, se muestra el nombre, la zona y la subred de la máquina virtual.
En el campo Dirección IPv4, introduce la dirección IPv4 del nuevo endpoint de red.
En el campo Dirección IPv6, introduce la dirección IPv6 del nuevo endpoint de red.
Seleccione el Tipo de puerto.
- Si selecciona Predeterminado, el endpoint usará el puerto predeterminado
80
para todos los endpoints del grupo de endpoints de red. Esto es suficiente para nuestro ejemplo, ya que el servidor Apache sirve solicitudes en el puerto80
. - Si seleccionas Personalizado, introduce el Número de puerto del endpoint que quieras usar.
- Si selecciona Predeterminado, el endpoint usará el puerto predeterminado
Para añadir más endpoints, haz clic en Añadir endpoint de red y repite los pasos anteriores.
Una vez que hayas añadido todos los endpoints, haz clic en Crear.
gcloud
Añade puntos finales (
GCE_VM_IP_PORT
) aZONAL_NEG
.gcloud compute network-endpoint-groups update ZONAL_NEG \ --zone=GCP_NEG_ZONE \ --add-endpoint='instance=vm-a1,ip=IPv4_ADDRESS, \ ipv6=IPv6_ADDRESS,port=80' \ --add-endpoint='instance=vm-a2,ip=IPv4_ADDRESS, \ ipv6=IPv6_ADDRESS,port=80'
Haz los cambios siguientes:
IPv4_ADDRESS
:
dirección IPv4 del endpoint de la red. La dirección IPv4 debe pertenecer a una máquina virtual de Compute Engine (ya sea la IP principal o como parte de un intervalo de IPs de alias).
Si no se especifica la dirección IP, se usará la dirección IP principal de la instancia de VM de la red a la que pertenece el grupo de extremos de red.
IPv6_ADDRESS
:
Dirección IPv6 del endpoint de la red. La dirección IPv6 debe pertenecer a una instancia de máquina virtual de la red a la que pertenece el grupo de extremos de red (dirección IPv6 externa).
Crear una regla de cortafuegos para las sondas de comprobación del estado de IPv6
Debes crear una regla de cortafuegos para permitir las comprobaciones del estado desde los intervalos de IPs de los sistemas de sondeo de Google Cloud . Para obtener más información, consulta intervalos de IPs de sondeo.
Asegúrate de que la regla de entrada se aplique a las instancias que se están balanceando y de que permita el tráfico de los sistemas de comprobación del estado de Google Cloud .
En este ejemplo se usa la etiqueta de destino allow-health-check-ipv6
para identificar las instancias de VM a las que se aplica.
Sin esta regla de cortafuegos, la regla denegar de forma predeterminada entrada bloquea el tráfico IPv6 entrante a las instancias de backend.
Consola
En la Google Cloud consola, ve a la página Políticas de cortafuegos.
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
- Red:
NETWORK
- Prioridad:
1000
- Sentido del tráfico: entrada
- Objetivos: Etiquetas de destino especificadas
- Etiquetas de destino:
allow-health-check-ipv6
- Filtro de origen: Intervalos de IPv6
Intervalos de IPv6 de origen:
En el caso del balanceador de carga de aplicaciones externo global y del balanceador de carga de red con proxy externo global, introduce
2600:2d00:1:b029::/64
,2600:2d00:1:1::/64
En el caso de los balanceadores de carga de aplicación internos entre regiones, los balanceadores de carga de aplicación externos regionales, los balanceadores de carga de aplicación internos regionales, los balanceadores de carga de red con proxy internos entre regiones, los balanceadores de carga de red con proxy externos regionales y los balanceadores de carga de red con proxy internos regionales, introduce
2600:2d00:1:b029::/64
Protocolos y puertos: Permitir todo
- Nombre:
Haz clic en Crear.
gcloud
Crea la regla de cortafuegos
fw-allow-lb-access-ipv6
para permitir la comunicación con la subred.En el caso del balanceador de carga de aplicación externo global y del balanceador de carga de red con proxy externo global, usa el siguiente comando:
gcloud compute firewall-rules create fw-allow-lb-access-ipv6 \ --network=NETWORK \ --action=allow \ --direction=ingress \ --target-tags=allow-health-check-ipv6 \ --source-ranges=2600:2d00:1:b029::/64,2600:2d00:1:1::/64 \ --rules=all
Para los balanceadores de carga de aplicaciones internos entre regiones, los balanceadores de carga de aplicaciones externos regionales, los balanceadores de carga de aplicaciones internos regionales, los balanceadores de carga de red con proxy internos entre regiones, los balanceadores de carga de red con proxy externos regionales y los balanceadores de carga de red con proxy internos regionales, usa el siguiente comando:
gcloud compute firewall-rules create fw-allow-lb-access-ipv6 \ --network=NETWORK \ --action=allow \ --direction=ingress \ --target-tags=allow-health-check-ipv6 \ --source-ranges=2600:2d00:1:b029::/64 \ --rules=all
Crear una regla de cortafuegos para la subred de solo proxy
Si usas un balanceador de carga de red de proxy externo regional o un balanceador de carga de red de proxy interno, debes actualizar la regla de cortafuegos de entradafw-allow-lb-access-ipv6
para permitir el tráfico de la subred de solo proxy a los backends.
Para obtener el intervalo de direcciones IPv6 de la subred de solo proxy, ejecuta el siguiente comando:
gcloud compute networks subnets describe PROXY_ONLY_SUBNET \ --region=REGION \ --format="value(internalIpv6Prefix)"
Anota el intervalo de direcciones IPv6 internas. Más adelante, se hará referencia a este intervalo como IPV6_PROXY_ONLY_SUBNET_RANGE
.
Para actualizar la regla de cortafuegos fw-allow-lb-access-ipv6
de la subred de solo proxy, haz lo siguiente:
Consola
En la Google Cloud consola, ve a la página Políticas de cortafuegos.
En el panel Reglas de cortafuegos de VPC, haga clic en
fw-allow-lb-access-ipv6
.- Intervalos de IPv6 de origen:
2600:2d00:1:b029::/64
, IPV6_PROXY_ONLY_SUBNET_RANGE
- Intervalos de IPv6 de origen:
Haz clic en Guardar.
gcloud
Actualiza la regla de cortafuegos
fw-allow-lb-access-ipv6
para permitir la comunicación con la subred de solo proxy:gcloud compute firewall-rules update fw-allow-lb-access-ipv6 \ --source-ranges=2600:2d00:1:b029::/64,IPV6_PROXY_ONLY_SUBNET_RANGE
Actualizar el servicio de backend y crear una regla de reenvío IPv6
En esta sección se proporcionan instrucciones para actualizar el servicio de backend con backends de pila dual y crear una regla de reenvío de IPv6.
Ten en cuenta que la regla de reenvío de IPv6 solo se puede crear para balanceadores de carga de red de proxy externo globales. Las reglas de reenvío de IPv6 no se admiten en los balanceadores de carga de red con proxy interno entre regiones, los balanceadores de carga de red con proxy externo regionales ni los balanceadores de carga de red con proxy interno regionales.
Consola
En la Google Cloud consola, ve a la página Balanceo de carga.
Haz clic en el nombre del balanceador de carga.
Haz clic en Editar.
Configurar el servicio de backend para IPv6
- Haz clic en Configuración de backend.
- En Tipo de backend, selecciona Grupo de puntos finales de red por zonas.
- En la lista Política de selección de direcciones IP, selecciona Preferir IPv6.
- En el campo Protocol (Protocolo), haga lo siguiente:
- En Proxy TCP, selecciona TCP.
- En Proxy SSL, selecciona SSL.
- Para NEGs por zonas:
- En la sección Back-ends, haz clic en Añadir un back-end.
- En el panel Nuevo backend, haz lo siguiente:
- En la lista Grupo de puntos finales de red, selecciona
ZONAL_NEG
. - En el campo Número máximo de conexiones, introduce 10.
- En la lista Grupo de puntos finales de red, selecciona
- En el caso de los grupos de instancias: si ya has actualizado la instancia de VM o las plantillas a pila dual, no es necesario que lo hagas.
- Haz clic en Listo.
- En la lista Comprobación del estado, selecciona una comprobación del estado HTTP.
Configurar la regla de reenvío de IPv6
Las reglas de reenvío de IPv6 no se admiten en los balanceadores de carga de red con proxy internos entre regiones, los balanceadores de carga de red con proxy externos regionales ni los balanceadores de carga de red con proxy internos regionales.
- Haz clic en Configuración de frontend.
- Haz clic en Añadir IP y puerto de frontend.
- En el campo Nombre, introduce un nombre para la regla de reenvío.
- En el campo Protocol (Protocolo), haga lo siguiente:
- En Proxy TCP, selecciona TCP.
- En Proxy SSL, selecciona SSL.
- Configura Versión de IP como
IPv6
. - En Proxy SSL, seleccione un certificado de la lista Certificados.
- Haz clic en Listo.
- Haz clic en Actualizar.
gcloud
Añade los NEGs zonales de doble pila como backend al servicio de backend.
Mundial
En el caso del balanceador de carga de red con proxy externo global, usa el siguiente comando:
gcloud compute backend-services add-backend BACKEND_SERVICE \ --network-endpoint-group=ZONAL_NEG \ --max-rate-per-endpoint=10 \ --global
interregional
En el caso del balanceador de carga de red con proxy interno entre regiones, usa el siguiente comando:
gcloud compute backend-services add-backend BACKEND_SERVICE \ --network-endpoint-group=ZONAL_NEG \ --max-rate-per-endpoint=10 \ --global
regional
En el caso del balanceador de carga de red con proxy externo regional y del balanceador de carga de red con proxy interno regional, usa el siguiente comando:
gcloud compute backend-services add-backend BACKEND_SERVICE \ --network-endpoint-group=ZONAL_NEG \ --max-rate-per-endpoint=10 \ --region=REGION
Añade el grupo de instancias de doble pila como backend al servicio de backend. Como ya has actualizado la instancia o las plantillas de VM a pila dual, no tienes que hacer nada más.
Solo para balanceadores de carga de red con proxy externo global. Para crear la regla de reenvío de IPv6 de tu balanceador de carga de red de proxy externo global con un proxy SSL de destino, usa el siguiente comando:
gcloud compute forwarding-rules create FORWARDING_RULE_IPV6 \ --load-balancing-scheme=EXTERNAL_MANAGED \ --network-tier=PREMIUM \ --address=lb-ipv6-1 \ --global \ --target-ssl-proxy=TARGET_PROXY \ --ports=80
Para crear la regla de reenvío de IPv6 de tu balanceador de carga de red proxy externo global con un proxy TCP de destino, usa el siguiente comando:
gcloud compute forwarding-rules create FORWARDING_RULE_IPV6 \ --load-balancing-scheme=EXTERNAL_MANAGED \ --network-tier=PREMIUM \ --global \ --target-tcp-proxy=TARGET_PROXY \ --ports=80
Configurar la política de selección de direcciones IP
Este paso es opcional. Una vez que hayas convertido tus recursos y backends a dual-stack, puedes usar la política de selección de direcciones IP para especificar el tipo de tráfico que se envía desde el servicio de backend a tus backends.
Sustituye IP_ADDRESS_SELECTION_POLICY
por uno de los siguientes valores:
Política de selección de direcciones IP | Descripción |
---|---|
Solo IPv4 | Solo envía tráfico IPv4 a los backends del servicio de backend, independientemente del tráfico del cliente al GFE. Solo se utilizan comprobaciones del estado IPv4 para comprobar el estado de los backends. |
Preferir IPv6 | Prioriza la conexión IPv6 del backend sobre la conexión IPv4 (siempre que haya un backend correcto con direcciones IPv6). Las comprobaciones del estado monitorizan periódicamente las conexiones IPv6 e IPv4 de los backends. El GFE primero intenta establecer la conexión IPv6. Si la conexión IPv6 se interrumpe o es lenta, el GFE usa Happy Eyeballs para volver a IPv4 y conectarse a ella. Aunque una de las conexiones IPv6 o IPv4 no esté en buen estado, el backend se sigue considerando en buen estado y el GFE puede probar ambas conexiones. Finalmente, Happy Eyeballs selecciona cuál usar. |
Solo IPv6 | Solo envía tráfico IPv6 a los backends del servicio de backend, independientemente del tráfico del cliente al proxy. Solo se usan comprobaciones del estado de IPv6 para comprobar el estado de los backends. No se realiza ninguna validación para comprobar si el tipo de tráfico de backend coincide con la política de selección de direcciones IP. Por ejemplo, si tienes back-ends solo IPv4 y seleccionas |
Consola
En la Google Cloud consola, ve a la página Balanceo de carga.
Haz clic en el nombre del balanceador de carga.
Haz clic en Editar.
Haz clic en Configuración de backend.
En el campo Servicio de backend, selecciona
BACKEND_SERVICE
.El Tipo de backend debe ser Grupo de puntos finales de red por zonas o Grupo de instancias.
En la lista Política de selección de direcciones IP, selecciona
IP_ADDRESS_SELECTION_POLICY
.Haz clic en Listo.
gcloud
Actualiza la política de selección de direcciones IP del servicio de backend:
Mundial
En el caso del balanceador de carga de red con proxy externo global, usa el siguiente comando:
gcloud compute backend-services update BACKEND_SERVICE_IPV6 \ --load-balancing-scheme=EXTERNAL_MANAGED \ --protocol=SSL | TCP \ --ip-address-selection-policy=IP_ADDRESS_SELECTION_POLICY \ --global
interregional
En el caso del balanceador de carga de red con proxy interno entre regiones, usa el siguiente comando:
gcloud compute backend-services update BACKEND_SERVICE_IPV6 \ --load-balancing-scheme=INTERNAL_MANAGED \ --protocol=TCP \ --ip-address-selection-policy=IP_ADDRESS_SELECTION_POLICY \ --global
regional
Para el balanceador de carga de red de proxy externo regional, usa el siguiente comando:
gcloud compute backend-services update BACKEND_SERVICE_IPV6 \ --load-balancing-scheme=EXTERNAL_MANAGED \ --protocol=TCP \ --ip-address-selection-policy=IP_ADDRESS_SELECTION_POLICY \ --region=REGION
Para el balanceador de carga de red de proxy interno regional, usa el siguiente comando:
gcloud compute backend-services update BACKEND_SERVICE_IPV6 \ --load-balancing-scheme=INTERNAL_MANAGED \ --protocol=TCP \ --ip-address-selection-policy=IP_ADDRESS_SELECTION_POLICY \ --region=REGION
Probar el balanceador de carga
Debe validar que todos los recursos necesarios se hayan actualizado a pila dual. Una vez que hayas actualizado todos los recursos, el tráfico debe dirigirse automáticamente a los back-ends. Puedes consultar los registros y verificar que la conversión se ha completado.
Prueba el balanceador de carga para confirmar que la conversión se ha realizado correctamente y que el tráfico entrante llega a los backends como se espera.
Buscar las direcciones IP del balanceador de carga
Consola
En la Google Cloud consola, ve a la página Balanceo de carga.
Haz clic en el nombre del balanceador de carga.
En la sección Frontend, se muestran dos direcciones IP del balanceador de carga. En este procedimiento, la dirección IPv4 se denomina
IP_ADDRESS_IPV4
y la dirección IPv6,IP_ADDRESS_IPV6
.En la sección Backends (Back-ends), cuando la política de selección de direcciones IP es
Prefer IPv6
, se muestran dos estados de comprobación de estado de los back-ends.
Enviar tráfico al balanceador de carga
En este ejemplo, las solicitudes del comando curl
se distribuyen aleatoriamente entre los back-ends.
Para balanceadores de carga externos
Repite los siguientes comandos varias veces hasta que veas que responden todas las VMs de backend:
curl -m1 IP_ADDRESS_IPV4:PORT
curl -m1 IP_ADDRESS_IPV6:PORT
Por ejemplo, si la dirección IPv6 es
[fd20:1db0:b882:802:0:46:0:0]:80
, el comando tendrá un aspecto similar a este:curl -m1 [fd20:1db0:b882:802:0:46:0:0]:80
Para balanceadores de carga internos
Crea una VM de cliente de prueba en la misma red VPC y región que el balanceador de carga. No es necesario que esté en la misma subred o zona.
gcloud compute instances create client-vm \ --zone=ZONE \ --image-family=debian-12 \ --image-project=debian-cloud \ --tags=allow-ssh \ --subnet=SUBNET
Usa SSH para conectarte a la instancia de cliente.
gcloud compute ssh client-vm \ --zone=ZONE
Repite los siguientes comandos varias veces hasta que veas que responden todas las VMs de backend:
curl -m1 IP_ADDRESS_IPV4:PORT
curl -m1 IP_ADDRESS_IPV6:PORT
Por ejemplo, si la dirección IPv6 es
[fd20:1db0:b882:802:0:46:0:0]:80
, el comando tendrá un aspecto similar a este:curl -m1 [fd20:1db0:b882:802:0:46:0:0]:80
Consultar los registros
Cada entrada de registro captura la dirección IPv4 e IPv6 de destino del backend. Como admitimos el doble pila, es importante observar la dirección IP que usa el backend.
Para comprobar si el tráfico se dirige a IPv6 o vuelve a IPv4, consulta los registros.
Los registros contienen la dirección backend_ip
asociada al backend. Si examinas los registros y comparas la dirección IPv4 o IPv6 de destino de backend_ip
, puedes confirmar qué dirección IP se utiliza.