Convierte el balanceador de cargas de red del proxy a IPv6

En este documento, se muestra cómo convertir recursos y backends del balanceador de cargas de red del proxy de solo IPv4 (pila única) a IPv4 e IPv6 (pila doble). La principal ventaja de usar IPv6 es que se puede asignar un grupo mucho más grande de direcciones IP a tu balanceador de cargas. Puedes configurar el balanceador de cargas para que finalice el tráfico IPv6 entrante y lo envíe a través de una conexión IPv4 o IPv6 a tus backends, según tu preferencia. Para obtener más información, consulta IPv6 para balanceadores de cargas de aplicaciones y balanceadores de cargas de red de proxy.

En este documento, IPv4 solo (pila única) se refiere a los recursos que solo usan direcciones IPv4, y IPv4 e IPv6 (pila doble) se refiere a los recursos que usan direcciones IPv4 e IPv6.

Las instrucciones de este documento se aplican a los balanceadores de cargas de red del proxy TCP y SSL.

Antes de comenzar

Ten en cuenta las siguientes condiciones antes de comenzar el proceso de conversión:

  • Debes usar uno de los siguientes tipos de balanceadores de cargas de red de proxy:

    • Balanceador de cargas de red del proxy externo global
    • Balanceador de cargas de red del proxy externo regional
    • Balanceador de cargas de red del proxy interno entre regiones
    • Balanceador de cargas de red del proxy interno regional

    Los balanceadores de cargas de red del proxy clásicos no admiten backends ni subredes de pila doble. Para obtener más información sobre la compatibilidad con IPv6, consulta IPv6 para balanceadores de cargas de aplicaciones y balanceadores de cargas de red de proxy.

  • Tu balanceador de cargas usa backends de grupos de instancias de VM o grupos de extremos de red (NEG) zonales con extremos GCE_VM_IP_PORT. Otros tipos de backend no son compatibles con la pila doble.

Además, el proceso de conversión difiere según el tipo de balanceador de cargas.

  • En el caso de los balanceadores de cargas de red de proxy externos globales, debes convertir los backends a doble pila y crear una regla de reenvío IPv6 que pueda controlar el tráfico IPv6 entrante.

  • En el caso de los balanceadores de cargas de red de proxy interno entre regiones, los balanceadores de cargas de red de proxy externo regionales y los balanceadores de cargas de red de proxy interno regionales, solo debes convertir los backends a pila doble. Las reglas de reenvío de IPv6 no son compatibles con estos balanceadores de cargas.

Para obtener información sobre cómo configurar balanceadores de cargas de red de proxy externos globales, consulta la siguiente documentación:

Identifica los recursos que se convertirán

Anota los nombres de los recursos con los que está asociado tu balanceador de cargas. Deberás proporcionar estos nombres más adelante.

  1. Para enumerar todas las subredes, usa el comando gcloud compute networks subnets list:

    gcloud compute networks subnets list
    

    Ten en cuenta el nombre de la subred con pila solo IPv4 para convertirla a pila doble. Más adelante, se denominará SUBNET. Más adelante, la red de VPC se denominará NETWORK.

  2. Para enumerar todos los servicios de backend, usa el comando gcloud compute backend-services list:

    gcloud compute backend-services list
    

    Toma nota del nombre del servicio de backend para convertir la pila doble. Más adelante, se denominará BACKEND_SERVICE.

  3. Si ya tienes un balanceador de cargas, para ver el tipo de pila de IP de tus backend, 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)"
    
  4. Para enumerar todas las instancias de VM y las plantillas de instancias, usa el comando gcloud compute instances list y el comando gcloud compute instance-templates list:

    gcloud compute instances list
    
    gcloud compute instance-templates list
    

    Anota los nombres de las instancias y las plantillas de instancias para convertirlas en pila doble. Más adelante, se denominará como VM_INSTANCE y INSTANCE_TEMPLATES.

  5. Para enumerar todos los grupos de instancias, usa el comando gcloud compute instance-groups list:

    gcloud compute instance-groups list
    

    Ten en cuenta el nombre de los grupos de extremos de red que se convertirán a la pila doble. Más adelante, se denominará INSTANCE_GROUP.

  6. Para enumerar todos los NEG zonales, usa el comando gcloud compute network-endpoint-groups list:

    gcloud compute network-endpoint-groups list
    

    Ten en cuenta el nombre de los grupos de extremos de red que se convertirán a la pila doble. Más adelante, se denominará ZONAL_NEG.

  7. Para obtener una lista de todos los proxies SSL de destino, usa el comando gcloud compute target-ssl-proxies list:

    gcloud compute target-ssl-proxies list
    

    Toma nota del nombre del proxy de destino asociado con tu balanceador de cargas. Más adelante, se denominará TARGET_PROXY.

  8. Para obtener una lista de todos los proxies TCP de destino, usa el comando gcloud compute target-tcp-proxies list:

    gcloud compute target-tcp-proxies list
    

    Toma nota del nombre del proxy de destino asociado con tu balanceador de cargas. Más adelante, se denominará TARGET_PROXY.

Convierte backends de pila única a pila doble

En esta sección, se muestra cómo convertir los recursos y backends del balanceador de cargas que usan direcciones solo IPv4 (pila única) a direcciones IPv4 e IPv6 (pila doble).

Actualiza la subred

Las subredes de pila doble solo son compatibles con las redes de VPC de modo personalizado. Las subredes de pila doble no son compatibles con redes de VPC de modo automático ni con redes heredadas. Aunque las redes en modo automático pueden ser útiles para la exploración temprana, las VPC en modo personalizado son más adecuadas para la mayoría de los entornos de producción. Te recomendamos que uses VPCs en modo personalizado.

Para actualizar la VPC a la configuración de pila doble, sigue estos pasos:

  1. Si usas una red de VPC de modo automático, primero debes convertir la red de VPC de modo automático al modo personalizado.

    Si usas la red default, debes convertirla en una red de VPC en modo personalizado.

  2. Para habilitar IPv6, consulta Cambia el tipo de pila de una subred a pila doble.

    Asegúrate de que el tipo de acceso IPv6 de la subred esté configurado como External.

  3. Opcional: Si deseas configurar rangos de direcciones IPv6 internos en subredes de esta red, completa estos pasos:

    1. En Rango de IPv6 interno de ULA de la red de VPC, selecciona Habilitado.
    2. En Asignar rango de IPv6 interno, selecciona Automáticamente o Manualmente.

      Si seleccionas Manualmente, ingresa un rango /48 que pertenezca al rango fd20::/20. Si el rango está en uso, se te solicitará que proporciones un rango diferente.

Actualiza la subred de solo proxy

Si usas un balanceador de cargas basado en Envoy, te recomendamos que cambias el tipo de pila de subred solo de proxy a pila doble. Si deseas obtener información sobre los balanceadores de cargas que admiten subredes de solo proxy, consulta Balanceadores de cargas admitidos.

Para cambiar el tipo de pila de la subred de solo proxy a pila doble, haz lo siguiente:

Console

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

    Ir a las redes de VPC

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

  3. Haz clic en la pestaña Subredes.

  4. En la sección Subredes de solo proxy reservadas para el balanceo de cargas, haz clic en el nombre de la subred de solo proxy que deseas modificar.

  5. En la página Detalles de la subred, haz clic en Editar.

  6. En Tipo de pila IP, selecciona IPv4 e IPv6 (pila doble). Establece el tipo de acceso IPv6 en Interno.

  7. Haz clic en Guardar.

gcloud

Usa el comando subnets update

gcloud compute networks subnets update PROXY_ONLY_SUBNET \
    --stack-type=IPV4_IPV6 \
    --ipv6-access-type=INTERNAL \
    --region=REGION

Reemplaza lo siguiente:

  • PROXY_ONLY_SUBNET: El nombre de la subred de solo proxy
  • REGION: la región de la subred.
  • IPv6_ACCESS_TYPE: El tipo de acceso IPv6 de la subred es INTERNAL.

Actualiza la instancia o las plantillas de VM

Puedes configurar direcciones IPv6 en una instancia de VM si la subred a la que está conectada la VM tiene un rango IPv6 configurado. Solo los siguientes backends pueden admitir direcciones IPv6:

  • Backends de grupos de instancias: Uno o más backends de grupos de instancias administrados, no administrados o una combinación de ambos.
  • NEG zonales: Uno o más NEG zonales de tipo GCE_VM_IP_PORT

Actualiza instancias de VM

No puedes editar instancias de VM que forman parte de un servicio administrado grupo de instancias. Para actualizar las instancias de VM a la pila doble, sigue estos pasos:

  1. Borrar instancias específicas de un grupo
  2. Crea una VM de doble pila
  3. Crea instancias con nombres específicos en MIG

Actualiza plantillas de instancias de VM

No puedes actualizar una plantilla de instancias existente. Si necesitas hacer cambios, puedes crear otra plantilla con propiedades similares. Para actualizar las plantillas de instancias de VM a pila doble, sigue estos pasos:

Console

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

    Ir a Plantillas de instancia

    1. Haz clic en la plantilla de instancias que deseas copiar y actualizar.
    2. Haz clic en Crear una similar.
    3. Expande la sección Opciones avanzadas.
    4. En Etiquetas de red, ingresa allow-health-check-ipv6.
    5. En la sección Interfaces de red, haz clic en Agregar una interfaz de red.
    6. En la lista Red, selecciona la red de VPC de modo personalizado.
    7. En la lista Subred, selecciona SUBNET.
    8. En Tipo de pila IP, selecciona IPv4 e IPv6 (pila doble).
    9. Haz clic en Crear.
  2. Inicia una actualización progresiva básica en el grupo de instancias administrada MIG asociado con el balanceador de cargas.

Actualiza el NEG zonal

Los extremos de NEG zonales no se pueden editar. Debes borrar los extremos IPv4 y crear un nuevo extremo de pila doble con direcciones IPv4 e IPv6.

Para configurar un NEG zonal (con extremos de tipo GCE_VM_IP_PORT) en la región REGION_A, primero crea las VM en la zona GCP_NEG_ZONE. Luego, agrega los extremos de red de la VM al NEG zonal.

Crea las VM

Console

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

    Ir a Instancias de VM

  2. Haga clic en Crear instancia.

  3. Configura el campo Nombre como vm-a1.

  4. En Región, elige REGION_A y elige cualquier valor para el campo Zona. En este procedimiento, se hace referencia a esta zona como GCP_NEG_ZONE.

  5. 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. Haz clic en Elegir para cambiar la imagen si es necesario.

  6. Expande la sección Opciones avanzadas y, a continuación, realiza los siguientes cambios:

    • Expande la sección Herramientas de redes.
    • En el campo Etiquetas de red, ingresa allow-health-check.
    • En la sección Interfaces de red, realiza los siguientes cambios:
      • Red: NETWORK
      • Subred: SUBNET
      • Tipo de pila IP: IPv4 e IPv6 (pila doble)
    • Haz clic en Listo.
    • Haz clic en Administración. En el campo 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
      
  7. Haz clic en Crear.

  8. Repite los siguientes pasos para crear una segunda VM mediante la siguiente combinación de nombre y zona:

    • Nombre: vm-a2, zona: GCP_NEG_ZONE

gcloud

Para crear las VMs, ejecuta el siguiente comando dos veces, con estas combinaciones para el nombre de la VM y su zona. El contenido de la secuencia de comandos es idéntico para ambas VMs.

  • VM_NAME de vm-a1 y cualquier zona GCP_NEG_ZONE que elijas
  • VM_NAME de vm-a2 y la misma zona de GCP_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'
    

Agrega extremos al NEG zonal.

Console

Agrega extremos al NEG zonal.

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

    Ir a Grupos de extremos de red

  2. En la lista Nombre, haz clic en el nombre del grupo de extremos de red (ZONAL_NEG). Verás la página Detalles del grupo de extremos de red.

  3. En la sección Extremos de red de este grupo, selecciona el extremo de NEG que se creó antes. Haz clic en Quitar extremo.

  4. En la sección Extremos de red de este grupo, haz clic en Agregar extremo de red.

  5. Selecciona la instancia de VM.

  6. En la sección Interfaz de red, se muestra el nombre, la zona y la subred de la VM.

  7. En el campo Dirección IPv4, ingresa la dirección IPv4 del nuevo extremo de la red.

  8. En el campo Dirección IPv6, ingresa la dirección IPv6 del extremo de red nuevo.

  9. Selecciona el tipo de puerto.

    1. Si seleccionas Predeterminado, el extremo usará el puerto predeterminado 80 para todos los extremos del grupo de extremos de red. Esto es suficiente para nuestro ejemplo, ya que el servidor Apache entrega solicitudes en el puerto 80.
    2. Si seleccionas Personalizado, deberás ingresar el número de puerto para el extremo que se usará.
  10. Para agregar más extremos, haz clic en Agregar extremo de red y repite los pasos anteriores.

  11. Después de agregar todos los extremos, haz clic en Crear.

gcloud

  1. Agrega extremos (extremos GCE_VM_IP_PORT) a ZONAL_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'
    

Reemplaza lo siguiente:

IPv4_ADDRESS: es la dirección IPv4 del extremo de red. La IPv4 debe pertenecer a una VM en Compute Engine (ya sea la IP principal o como parte de un rango de IP con alias). Si no se especifica la dirección IP, se usa la dirección IP principal de la instancia de VM en la red a la que pertenece el grupo de extremos de red.

IPv6_ADDRESS es la dirección IPv6 del extremo de red. La dirección IPv6 debe pertenecer a una instancia de VM en la red a la que pertenece el extremo pertenece al grupo (dirección IPv6 externa).

Crea una regla de firewall para los sondeos de verificación de estado IPv6

Debes crear una regla de firewall para permitir las verificaciones de estado de los rangos de IP de los sistemas de sondeo de Google Cloud. Para obtener más información, consulta Rangos de IP de sondeo.

Asegúrate de que la regla de entrada se aplique a las instancias con balanceo de cargas y que permita el tráfico de los sistemas de verificación de 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 firewall, la regla predeterminada de denegación de entrada bloquea el tráfico IPv6 entrante a las instancias de backend.

Console

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

    Ir a Políticas de firewall

  2. 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
    • Red: NETWORK
    • Prioridad: 1000
    • Dirección del tráfico: Entrada
    • Destinos: Etiquetas de destino especificadas
    • Etiquetas de destino: allow-health-check-ipv6
    • Filtro de fuente: Rangos de IPv6
    • Rangos de IPv6 de origen:

      • Para el balanceador de cargas de aplicaciones externo global y el balanceador de cargas de red de proxy externo global, ingresa 2600:2d00:1:b029::/64,2600:2d00:1:1::/64

      • Para el balanceador de cargas de aplicaciones interno entre regiones, el balanceador de cargas de aplicaciones externo regional, el balanceador de cargas de aplicaciones interno regional, el balanceador de cargas de red de proxy interno entre regiones, el balanceador de cargas de red de proxy externo regional y el balanceador de cargas de red de proxy interno regional, ingresa 2600:2d00:1:b029::/64

    • Protocolos y puertos: Permitirlos todos

  3. Haz clic en Crear.

gcloud

  1. Crea la regla de firewall fw-allow-lb-access-ipv6 para permitir la comunicación con la subred.

    Para el balanceador de cargas de aplicaciones externo global y el balanceador de cargas de red de 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 el balanceador de cargas de aplicaciones interno entre regiones, el balanceador de cargas de aplicaciones externo regional, el balanceador de cargas de aplicaciones interno regional, el balanceador de cargas de red de proxy interno entre regiones, el balanceador de cargas de red de proxy externo regional y el balanceador de cargas de red de proxy interno regional, 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
    

Crea una regla de firewall para la subred de solo proxy

Si usas un balanceador de cargas de red del proxy externo regional o un balanceador de cargas de red del proxy interno, debes actualizar la regla de firewall de entrada fw-allow-lb-access-ipv6 para permitir que el tráfico de la subred de solo proxy llegue a los backends.

Para obtener el rango 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 rango de direcciones IPv6 internas, que más adelante se denominará IPV6_PROXY_ONLY_SUBNET_RANGE.

Para actualizar la regla de firewall fw-allow-lb-access-ipv6 de la subred de solo proxy, haz lo siguiente:

Console

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

    Ir a Políticas de firewall

  2. En el panel Reglas de firewall de VPC, haz clic en fw-allow-lb-access-ipv6.

    • Rangos de IPv6 de origen: 2600:2d00:1:b029::/64, IPV6_PROXY_ONLY_SUBNET_RANGE
  3. Haz clic en Guardar.

gcloud

  1. Actualiza la regla de firewall 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
    

Actualiza el servicio de backend y crea una regla de reenvío de IPv6

En esta sección, se proporcionan instrucciones para actualizar el servicio de backend con backends de pila doble 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 cargas de red de proxy externos globales. Las reglas de reenvío de IPv6 no son compatibles con los balanceadores de cargas de red de proxy interno entre regiones, los balanceadores de cargas de red de proxy externo regional ni los balanceadores de cargas de red de proxy interno regional.

Console

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

    Ir a Balanceo de cargas

  2. Haz clic en el nombre del balanceador de cargas.

  3. Haz clic en Editar.

Configura el servicio de backend para IPv6

  1. Haz clic en Configuración de backend.
  2. En Tipo de backend, selecciona Grupo de extremos de red zonal.
  3. En la lista Política de selección de direcciones IP, selecciona Preferir IPv6.
  4. En el campo Protocolo, haz lo siguiente:
    • Para el proxy de TCP, selecciona TCP.
    • Para el proxy SSL, selecciona SSL.
  5. Para NEG zonales:
    1. En la sección Backends, haz clic en Agregar un backend.
    2. En el panel Backend nuevo, haz lo siguiente:
      • En la lista grupo de extremos de red, selecciona ZONAL_NEG
      • En el campo Cantidad máxima de conexiones, ingresa 10.
  6. Para grupos de instancias: Si ya actualizaste la instancia o las plantillas de VM a pila doble, no es necesario que lo hagas.
  7. Haz clic en Listo.
  8. En la lista Verificación de estado, selecciona una verificación de estado HTTP.

Configura la regla de reenvío de IPv6

Las reglas de reenvío de IPv6 no son compatibles con los balanceadores de cargas de red de proxy interno entre regiones, los balanceadores de cargas de red de proxy externo regional ni los balanceadores de cargas de red de proxy interno regional.

  1. Haga clic en Configuración de frontend.
  2. Haz clic en Agregar IP y puerto de frontend.
  3. En el campo Nombre, ingresa un nombre para la regla de reenvío.
  4. En el campo Protocolo, haz lo siguiente:
    • Para el proxy de TCP, selecciona TCP.
    • Para el proxy SSL, selecciona SSL.
  5. Establece la Versión de IP como IPv6.
  6. Para el proxy SSL, selecciona un certificado en la lista Certificados.
  7. Haz clic en Listo.
  8. Haz clic en Update.

gcloud

  1. Agrega los NEGs zonales de pila doble como backend al servicio de backend.

    global

    Para el balanceador de cargas de red de 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
    

    entre regiones

    Para el balanceador de cargas de red de 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

    Para el balanceador de cargas de red del proxy externo regional y el balanceador de cargas de red del 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
    
  2. Agrega el grupo de instancias de doble pila como backend al servicio de backend. Dado que ya actualizaste la instancia o las plantillas de VM a la pila doble, no es necesario que realices ninguna otra acción.

  3. Solo para balanceadores de cargas de red de proxy externos globales. Para crear la regla de reenvío IPv6 para tu balanceador de cargas 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 para tu balanceador de cargas de red de 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
    

Configura la política de selección de direcciones IP

Este paso es opcional. Después de convertir tus recursos y backends a la pila doble, puedes usar la política de selección de direcciones IP para especificar el tipo de tráfico que se envía del servicio de backend a tus backends.

Reemplaza IP_ADDRESS_SELECTION_POLICY con cualquiera 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, sin importar el tráfico del cliente al GFE. Solo IPv4 de estado se usan para comprobar el estado de los backends.
Preferir IPv6

Prioriza la conexión IPv6 del backend sobre el Conexión IPv4 (siempre que haya un backend en buen estado con direcciones IPv6).

Las verificaciones de estado supervisan de forma periódica las conexiones IPv6 e IPv4 de los backends. GFE primero intenta establecer la conexión IPv6. Si la conexión IPv6 está interrumpida o es lenta, GFE usa visitantes felices para recurrir y conectarse a IPv4.

Incluso si una de las conexiones IPv6 o IPv4 está en mal estado, el backend se considera en buen estado, y GFE puede probar ambas conexiones, y los visitantes felices, en última instancia, seleccionan cuál usar.

Solo IPv6

Solo envía tráfico IPv6 a los backends del servicio de backend, sin importar el tráfico del cliente al proxy. Solo IPv6 de estado se usan para comprobar el estado de los backends.

No hay validación para verificar si el tipo de tráfico de backend coincide con la política de selección de direcciones IP. Por ejemplo, si tienes backends solo de IPv4 y seleccionas Only IPv6 como la política de selección de direcciones IP, la configuración genera backends en mal estado porque el tráfico no llega a esos backends y se muestra el código de respuesta HTTP 503 a los clientes.

Console

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

    Ir a Balanceo de cargas

  2. Haz clic en el nombre del balanceador de cargas.

  3. Haz clic en Editar.

  4. Haz clic en Configuración de backend.

  5. En el campo Servicio de backend, selecciona BACKEND_SERVICE.

  6. El Tipo de backend debe ser Grupo de extremos de red zonal o Grupo de instancias.

  7. En la lista Política de selección de direcciones IP, selecciona IP_ADDRESS_SELECTION_POLICY.

  8. Haz clic en Listo.

gcloud

Actualiza la política de selección de direcciones IP del servicio de backend:

global

Para el balanceador de cargas de red de 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

entre regiones

Para el balanceador de cargas de red de 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 cargas 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 cargas 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

Prueba el balanceador de cargas

Debes validar que todos los recursos necesarios se hayan actualizado a la pila doble. Después de actualizar todos los recursos, el tráfico debe fluir automáticamente a los backends. Puedes revisar los registros y verificar que la conversión se haya completado.

Prueba el balanceador de cargas para confirmar que la conversión se realice de forma correcta y que el tráfico entrante llegue a los backends como se espera.

Busca las direcciones IP del balanceador de cargas

Console

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

    Ir a Balanceo de cargas

  2. Haz clic en el nombre del balanceador de cargas.

  3. En la sección Frontend, se muestran dos direcciones IP del balanceador de cargas. En este procedimiento, la dirección IPv4 se denomina IP_ADDRESS_IPV4 y la dirección IPv6 se denomina IP_ADDRESS_IPV6.

  4. En la sección Backends, cuando la política de selección de direcciones IP es Prefer IPv6, se muestran dos estados de verificación de estado para los backends.

Envía tráfico al balanceador de cargas

En este ejemplo, las solicitudes del comando curl se distribuyen de forma aleatoria a los backends.

Para balanceadores de cargas externos

  1. Repite el siguiente comando un par de veces hasta que veas que todas las VMs de backend responden.

    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 se verá de la siguiente manera:

    curl -m1 [fd20:1db0:b882:802:0:46:0:0]:80
    

Para balanceadores de cargas internos

  1. Crea una VM de cliente de prueba en la misma red de VPC y región que el balanceador de cargas. 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
    
  2. Usa SSH para conectarte a la instancia de cliente.

    gcloud compute ssh client-vm \
       --zone=ZONE
    
  3. Repite el siguiente comando un par de veces hasta que veas que todas las VMs de backend responden.

    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 se verá de la siguiente manera:

    curl -m1 [fd20:1db0:b882:802:0:46:0:0]:80
    

Verifica los registros

Cada entrada de registro captura la dirección IPv4 y la dirección IPv6 de destino del backend. Debido a que admitimos la pila doble, es importante observar la dirección IP utilizada por el backend.

Para verificar que el tráfico se dirija a IPv6 o conmuta por error a IPv4, visualiza los registros.

Los registros contienen la dirección backend_ip asociada con el 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 usa.