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). 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 SSL y del proxy TCP.

Beneficios

Convertir tus balanceadores de cargas en una pila doble presenta varios beneficios clave:

  • La principal ventaja de IPv6 es que se puede asignar un grupo mucho más grande de direcciones IP.

  • Muchos clientes que ya usan balanceadores de cargas IPv4 solo pueden dar un paso más y aprovechar los métodos específicos de la nube para convertir backends compatibles solo con IPv4 en backends de IPv4 e IPv6 (pila doble).

  • Puedes configurar el balanceador de cargas para que finalice el tráfico IPv6 entrante y lo enrute 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.

Limitaciones

  • No puedes actualizar el tipo de pila de IP de la subred de IPv4 y de IPv6 (pila doble) a solo IPv4.

  • Cuando configuras la política de selección de direcciones IP en el servicio de backend solo como IPv6, aún puedes configurar backends de IPv4 solo. Sin embargo, esta configuración genera backends no saludables, los clientes obtienen el código de respuesta 503 y el tráfico no fluye hacia arriba. Los registros muestran failed_to_pick_backend en statusDetails.

  • Puedes configurar la política de selección de direcciones IP del servicio de backend a IPv6 solo, pero el tipo de pila de IP de los backends siempre es IPv4 e IPv6 (pila doble).

  • Solo los backends de grupos de instancias de VM y los grupos de extremos de red (NEG) zonales con extremos GCE_VM_IP_PORT admiten IPv4 y IPv6 (pila doble).

  • Los balanceadores de cargas de red de proxy interno entre regiones, los balanceadores de cargas de red de proxy externo regional y los balanceadores de cargas de red de proxy interno regional no admiten reglas de reenvío con IPv6. El tráfico IPv4 entrante se envía mediante proxies a través de una conexión IPv4 o IPv6 a los backends de pila doble.

  • Los balanceadores de cargas de red del proxy clásicos no admiten backends de pila doble. El balanceador de cargas finaliza el tráfico IPv6 entrante que recibe de los clientes IPv6 y lo envía mediante proxy a través de una conexión IPv4 a tus backends IPv4.

Antes de comenzar

Ya debes haber configurado un balanceador de cargas de red del proxy SSL o TCP con una pila solo IPv4 con un grupo de instancias o backends de grupo de extremos de red zonal (NEG).

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

Para obtener más información sobre cómo configurar balanceadores de cargas de red de proxy externo regional, consulta la siguiente documentación:

Para obtener más información sobre cómo configurar balanceadores de cargas de red de proxy interno entre regiones, consulta la siguiente documentación:

Para obtener más información sobre cómo configurar balanceadores de cargas de red de proxy interno regional, 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. Necesitará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 beta compute backend-services list:

    gcloud beta 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 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.

  6. 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.

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

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

  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. Haz clic en el nombre de una red para ver la página Detalles de la red de VPC.

  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). El tipo de acceso IPv6 es 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 de verificación de estado IPv6

Asegúrate de tener una regla de entrada aplicable a las instancias tiene balanceo de cargas y permite el tráfico desde Google Cloud, sistemas de verificación de estado (2600:2d00:1:b029::/64). En este ejemplo, se utiliza la etiqueta de destino allow-health-check-ipv6 para identificar las instancias de VM cómo 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
    

Agrega una regla de firewall de subred de solo proxy

Si usas un balanceador de cargas basado en Envoy, 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 internalIpv6Prefix de la subred de solo proxy, ejecuta el siguiente comando:

gcloud compute networks subnets describe PROXY_ONLY_SUBNET \
    --region=REGION \
    --format="value(internalIpv6Prefix)"

Anota la dirección IPv6 interna, que más adelante se denominará IPv6_PROXY.

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
  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,2600:2d00:1:1::/64,
          IPv6_PROXY \
    

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

En esta sección, se proporcionan instrucciones para actualizar el servicio de backend BACKEND_SERVICE con la política de selección de direcciones IP como Prefer IPv6 y agregar un backend de NEG zonal.

La regla de reenvío con IPv6 solo se puede crear para balanceadores de cargas de red de proxy externos globales. La regla de reenvío con IPv6 no es compatible 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.

Si tienes un grupo de instancias asociado con tu servicio de backend, consulta Cómo actualizar el servicio de backend de un grupo de instancias.

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. En la sección Backends, haz clic en Agregar un backend.
  6. 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.
  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

La regla de reenvío con IPv6 no es compatible 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 Actualizar.

gcloud

  1. Actualiza el servicio de backend para el tráfico SSL o TCP:

    global

    Para el balanceador de cargas de red de proxy externo global, usa el siguiente comando:

    gcloud beta compute backend-services update BACKEND_SERVICE \
       --load-balancing-scheme=EXTERNAL_MANAGED \
       --protocol=[SSL|TCP] \
       --ip-address-selection-policy=PREFER_IPV6 \
       --global
    

    Para el balanceador de cargas de red de proxy interno entre regiones, usa el siguiente comando:

    gcloud beta compute backend-services update BACKEND_SERVICE \
       --load-balancing-scheme=INTERNAL_MANAGED \
       --protocol=[SSL|TCP] \
       --ip-address-selection-policy=PREFER_IPV6 \
       --global
    

    regional

    Para el balanceador de cargas de red del proxy externo regional, usa el siguiente comando:

    gcloud beta compute backend-services update BACKEND_SERVICE \
       --load-balancing-scheme=EXTERNAL_MANAGED \
       --protocol=[SSL|TCP] \
       --ip-address-selection-policy=PREFER_IPV6 \
       --region=REGION
    

    Para el balanceador de cargas de red del proxy interno regional, usa el siguiente comando:

    gcloud beta compute backend-services update BACKEND_SERVICE \
       --load-balancing-scheme=INTERNAL_MANAGED \
       --protocol=[SSL|TCP] \
       --ip-address-selection-policy=PREFER_IPV6 \
       --region=REGION
    
  2. Agrega NEGs zonales como backend al servicio de backend:

    global

    Para el balanceador de cargas de red de proxy externo global y el balanceador de cargas de red de proxy interno entre regiones, usa el siguiente comando:

    gcloud beta compute backend-services add-backend BACKEND_SERVICE \
      --network-endpoint-group=ZONAL_NEG \
      --max-rate-per-endpoint=10 \
      --global
    

    regional

    Para balanceadores de cargas de red del proxy externo regionales y balanceadores de cargas de red del proxy interno regionales, usa el siguiente comando:

    gcloud beta compute backend-services add-backend BACKEND_SERVICE \
      --network-endpoint-group=ZONAL_NEG \
      --max-rate-per-endpoint=10 \
      --region=REGION
    
  3. Reserva una dirección IPv6 externa que tus clientes utilicen para comunicarse con tu balanceador de cargas HTTP(S) global externo.

    global

    Para el balanceador de cargas de red de proxy externo global, usa el siguiente comando:

    gcloud compute addresses create lb-ipv6-1 \
       --ip-version=IPV6 \
       --network-tier=PREMIUM \
       --global
    
  4. En el caso del proxy SSL, crea una regla de reenvío para el servicio de backend.

    gcloud beta compute target-ssl-proxies create TARGET_PROXY \
       --backend-service=BACKEND_SERVICE \
       --ssl-certificates=[SSL_CERT_1][,[SSL_CERT_2],...] \
       --ssl-policy=my-ssl-policy \
       --proxy-header=NONE
    

    global

    Para el balanceador de cargas de red de proxy externo global, usa el siguiente comando:

    gcloud beta 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
    
  5. En el caso del proxy TCP, crea una regla de reenvío para el servicio de backend.

    gcloud beta compute target-tcp-proxies create TARGET_PROXY \
       --backend-service=BACKEND_SERVICE \
       --proxy-header=NONE
    

    global

    Para el balanceador de cargas de red de proxy externo global, usa el siguiente comando:

    gcloud beta compute forwarding-rules create FORWARDING_RULE_IPV6 \
       --load-balancing-scheme=EXTERNAL_MANAGED \
       --network-tier=PREMIUM \
       --address=lb-ipv6-1 \
       --global \
       --target-tcp-proxy=TARGET_PROXY \
       --ports=80
    

    Para el balanceador de cargas de red de proxy interno entre regiones, usa el siguiente comando:

    gcloud beta compute forwarding-rules create FORWARDING_RULE_IPV6 \
       --load-balancing-scheme=INTERNAL_MANAGED \
       --network-tier=PREMIUM \
       --network=NETWORK \
       --subnet=SUBNET \
       --subnet-region=REGION \
       --address=lb-ipv6-1 \
       --global \
       --target-tcp-proxy=TARGET_PROXY \
       --ports=80
    

    regional

    Para el balanceador de cargas de red del proxy externo regional, usa el siguiente comando:

    gcloud beta compute forwarding-rules create FORWARDING_RULE_IPV6 \
       --load-balancing-scheme=EXTERNAL_MANAGED \
       --network-tier=PREMIUM \
       --network=NETWORK \
       --subnet=SUBNET \
       --address=lb-ipv6-1 \
       --region=REGION \
       --target-tcp-proxy==TARGET_PROXY \
       --target-tcp-proxy-region=REGION \
       --ports=80
    

    Para el balanceador de cargas de red del proxy interno regional, usa el siguiente comando:

    gcloud beta compute forwarding-rules create FORWARDING_RULE_IPV6 \
       --load-balancing-scheme=INTERNAL_MANAGED \
       --network-tier=PREMIUM \
       --network=NETWORK \
       --subnet=SUBNET \
       --address=lb-ipv6-1 \
       --region=REGION \
       --target-tcp-proxy=TARGET_PROXY \
       --target-tcp-proxy-region=REGION \
       --ports=80
    

Actualiza el servicio de backend para un grupo de instancias

Si tienes un grupo de instancias asociado con tu servicio de backend, debes actualizar este servicio de la siguiente manera:

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

  1. Haz clic en Configuración de backend.
  2. En Tipo de backend, selecciona Grupo de instancias.
  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. Si tienes actualizaste la instancia o las plantillas de VM para pila doble, la sección Backends, no necesitan actualizarse de nuevo.
  6. Selecciona una verificación de estado.
  7. Haz clic en Actualizar.

gcloud

  1. Agrega tu grupo de instancias como backend al servicio de backend. Si tienes actualizaste la instancia o las plantillas de VM para pila doble, puedes omitir este paso.

    global

    Para el balanceador de cargas de red de proxy externo global y el balanceador de cargas de red de proxy interno entre regiones, usa el siguiente comando:

    gcloud beta compute backend-services add-backend BACKEND_SERVICE \
      --instance-group=INSTANCE_GROUP \
      --global
    

    regional

    Para balanceadores de cargas de red del proxy externo regionales y balanceadores de cargas de red del proxy interno regionales, usa el siguiente comando:

    gcloud beta compute backend-services add-backend BACKEND_SERVICE \
      --instance-group=INSTANCE_GROUP \
      --region=REGION
    

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 de IPv4 y seleccionas Only IPv6 como la política de selección de direcciones IP, no observarás errores de configuración, pero el tráfico no fluirá a tus backends.

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

  1. Actualiza el servicio de backend:

    global

    Para el balanceador de cargas de red de proxy externo global, usa el siguiente comando:

    gcloud beta compute backend-services update BACKEND_SERVICE_IPV6 \
       --load-balancing-scheme=EXTERNAL_MANAGED \
       --protocol=[SSL|TCP] \
       --ip-address-selection-policy=IP_ADDRESS_SELECTION_POLICY \
       --global
    

    Para el balanceador de cargas de red de proxy interno entre regiones, usa el siguiente comando:

    gcloud beta compute backend-services update BACKEND_SERVICE_IPV6 \
       --load-balancing-scheme=INTERNAL_MANAGED \
       --protocol=[SSL|TCP] \
       --ip-address-selection-policy=IP_ADDRESS_SELECTION_POLICY \
       --global
    

    regional

    Para el balanceador de cargas de red del proxy externo regional, usa el siguiente comando:

    gcloud beta compute backend-services update BACKEND_SERVICE_IPV6 \
       --load-balancing-scheme=EXTERNAL_MANAGED \
       --protocol=[SSL|TCP] \
       --ip-address-selection-policy=IP_ADDRESS_SELECTION_POLICY \
       --region=REGION
    

    Para el balanceador de cargas de red del proxy interno regional, usa el siguiente comando:

    gcloud beta compute backend-services update BACKEND_SERVICE_IPV6 \
       --load-balancing-scheme=INTERNAL_MANAGED \
       --protocol=[SSL|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 externas

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.

Prueba el tráfico enviado a las instancias

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

  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
    

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.