En este documento, se muestra cómo convertir los recursos y backends del balanceador de cargas de aplicaciones 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.
Ventajas
Convertir tus balanceadores de cargas en una pila doble presenta varios beneficios:
La principal ventaja de IPv6 es que se puede asignar un grupo de direcciones IP mucho más grande.
Muchos clientes que ya usan balanceadores de cargas IPv4 solo pueden convertir recursos de IPv4 solo en recursos IPv4 e IPv6 (pila doble) mediante el uso de los métodos específicos de la nube.
Puedes configurar el balanceador de cargas para finalizar el tráfico IPv6 de entrada y usar un proxy en este tráfico a través de una conexión IPv4 o IPv6 para 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 da como resultado backends en mal estado, los clientes obtienen el código de respuesta
503
y el tráfico no fluye ascendente. Los registros muestranfailed_to_pick_backend
en los mensajes de error HTTP de 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 aplicaciones internos entre regiones, los balanceadores de cargas de aplicaciones externos regionales y los balanceadores de cargas de aplicaciones internos regionales no son compatibles con las reglas de reenvío con IPv6. El tráfico de IPv4 de entrada se envía mediante un proxy a través de una conexión IPv4 o IPv6 a backends de pila doble.
Los balanceadores de cargas de aplicaciones clásicos no son compatibles con backends de pila doble. El balanceador de cargas finaliza el tráfico IPv6 de entrada recibido de los clientes IPv6 y usa un proxy en este tráfico a través de la conexión IPv4 para tus backends IPv4.
Antes de comenzar
Ya debes haber configurado un balanceador de cargas de aplicaciones con una pila IPv4 solo con un grupo de instancias o backends de NEG zonales.
Para obtener más información sobre cómo configurar balanceadores de cargas de aplicaciones externos globales, consulta la siguiente documentación:
- Configura un balanceador de cargas de aplicaciones externo global con backends de grupos de instancias de VM
- Configura un balanceador de cargas de aplicaciones externo global con NEGs zonales
Para obtener más información sobre cómo configurar balanceadores de cargas de aplicaciones externos regionales, consulta la siguiente documentación:
- Configura un balanceador de cargas de aplicaciones externo regional con backends de grupos de instancias de VM
- Configura un balanceador de cargas de aplicaciones externo regional con NEGs zonales
Para obtener más información sobre cómo configurar los balanceadores de cargas de aplicaciones internos entre regiones, consulta la siguiente documentación:
- Configura un balanceador de cargas de aplicaciones interno entre regiones con backends de grupos de instancias de VM
- Configura un balanceador de cargas de aplicaciones interno entre regiones con NEGs zonales
Para obtener más información sobre cómo configurar balanceadores de cargas de aplicaciones internos regionales, consulta la siguiente documentación:
- Configura un balanceador de cargas de aplicaciones interno regional con backends de grupos de instancias de VM.
- Configura un balanceador de cargas de aplicaciones interno regional con NEGs zonales
Identifica los recursos que deseas convertir
Toma nota de los nombres de los recursos con los que está asociado tu balanceador de cargas. Tendrás que proporcionar estos nombres más adelante.
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 direcciones solo IPv4 para convertirla a pila doble. Más adelante, se denominará
SUBNET
. Más adelante, la red de VPC se denominaráNETWORK
.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
.Para enumerar todos los mapas de URL, usa el comando
gcloud beta compute url-maps list
:gcloud beta compute url-maps list
Toma nota del nombre del mapa de URL asociado con tu balanceador de cargas. Más adelante, se denominará
URL_MAP
.Si ya tienes un balanceador de cargas, para ver el tipo de pila de IP de tus backends, 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 enumerar todas las instancias de VM y las plantillas de instancias, 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 instancias que se convertirán en pila doble. Más adelante, se denominará como
VM_INSTANCE
yINSTANCE_TEMPLATES
.Para enumerar todos los grupos de extremos de red (NEGs) zonales, usa el comando
gcloud compute network-endpoint-groups list
:gcloud compute network-endpoint-groups list
Ten en cuenta los nombres de los backends de NEGs zonales para convertirlos en pila doble. Más adelante, se denominará
ZONAL_NEG
.Para enumerar todos los proxies de destino, usa el comando
gcloud compute target-http-proxies list
:gcloud compute target-http-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 backends de 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 las VPC en modo personalizado.
Para actualizar la VPC a la configuración de pila doble, sigue estos pasos:
Si usas una red de VPC de modo automático, primero debes convertir la red de VPC de modo automático al modo personalizado.
Para habilitar IPv6, consulta Cambia el tipo de pila de una subred a pila doble.
Opcional: Si deseas configurar rangos de direcciones IPv6 internos en subredes de esta red, completa estos pasos:
- En Rango de IPv6 interno de ULA de la red de VPC, selecciona Habilitado.
En Asignar rango de IPv6 interno, selecciona Automáticamente o Manualmente.
Si seleccionas Manualmente, ingresa un rango
/48
que pertenezca al rangofd20::/20
. Si el rango 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 cambies el tipo de pila de subred de solo proxy a pila doble. Para obtener información sobre los balanceadores de cargas que admiten subredes de solo proxy, consulta Balanceadores de cargas compatibles.
Para cambiar el tipo de pila de la subred de solo proxy a pila doble, haz lo siguiente:
Console
En la consola de Google Cloud, ve a la página Redes de VPC.
Haz clic en el nombre de una red para ver la página Detalles de la red de VPC.
Haz clic en la pestaña Subredes.
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.
En la página Detalles de la subred, haz clic en Editar.
En Tipo de pila IP, selecciona IPv4 e IPv6 (pila doble). El tipo de acceso IPv6 es Interno.
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 proxyREGION
: la región de la subred.IPv6_ACCESS_TYPE
: El tipo de acceso IPv6 de la subred esINTERNAL
.
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 configurado un rango IPv6. 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:
- Borrar instancias específicas de un grupo
- Crea una VM de doble pila
- 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
En la consola de Google Cloud, ve a la página Plantillas de instancia.
- Haz clic en la plantilla de instancias que deseas copiar y actualizar.
- Haz clic en Crear una similar.
- Expande la sección Opciones avanzadas.
- En Etiquetas de red, ingresa
allow-health-check-ipv6
. - En la sección Interfaces de red, haz clic en Agregar una interfaz de red.
- En la lista Red, selecciona la red de VPC de modo personalizado.
- En la lista Subred, selecciona
SUBNET
. - En Tipo de pila IP, selecciona IPv4 e IPv6 (pila doble).
- Haz clic en Crear.
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 VM al NEG zonal.
Crea las VM
Console
En la consola de Google Cloud, ve a la página Instancias de VM.
Haga clic en Crear instancia.
Configura el campo Nombre como
vm-a1
.En Región, elige
REGION_A
y elige cualquier valor para el campo Zona. En este procedimiento, se hace referencia a esta zona comoGCP_NEG_ZONE
.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.
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)
- Red:
- 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
Haz clic en Crear.
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
- Nombre:
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
devm-a1
y cualquier zonaGCP_NEG_ZONE
que elijasVM_NAME
devm-a2
y la misma zona deGCP_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.
En la consola de Google Cloud, ve a la página Grupos de extremos de red.
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.En la sección Extremos de red de este grupo, selecciona el extremo de NEG que se creó antes. Haz clic en Quitar extremo.
En la sección Extremos de red de este grupo, haz clic en Agregar extremo 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 VM.
En el campo Dirección IPv4, ingresa la dirección IPv4 del nuevo extremo de la red.
En el campo Dirección IPv6, ingresa la dirección IPv6 del extremo de red nuevo.
Selecciona el tipo de puerto.
- 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 puerto80
. - Si seleccionas Personalizado, deberás ingresar el número de puerto para el extremo que se usará.
- Si seleccionas Predeterminado, el extremo usará el puerto predeterminado
Para agregar más extremos, haz clic en Agregar extremo de red y repite los pasos anteriores.
Después de agregar todos los extremos, haz clic en Crear.
gcloud
Agrega extremos (extremos
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'
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
En la consola de Google Cloud, ve a la página Políticas de firewall.
Para permitir el tráfico de subred de IPv6, vuelve a hacer clic en Crear regla de firewall y, luego, ingresa la siguiente información:
- Nombre:
fw-allow-lb-access-ipv6
- 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
- Nombre:
Haz clic en Crear.
gcloud
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, actualizaste la regla de firewall de entrada fw-allow-lb-access-ipv6
para permitir el tráfico de la subred de solo proxy 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)"
Ten en cuenta la dirección IPv6 interna, que más adelante se denominará IPv6_PROXY
.
Si deseas actualizar la regla de firewall fw-allow-lb-access-ipv6
para la subred de solo proxy, haz lo siguiente:
Console
En la consola de Google Cloud, ve a la página Políticas de firewall.
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
- Rangos de IPv6 de origen:
Haz clic en Guardar.
gcloud
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 \
Crea un servicio de backend y una regla de reenvío nuevos para IPv6
En esta sección, se describe el procedimiento a fin de crear un servicio de backend nuevo y una regla de reenvío para IPv6.
BACKEND_SERVICE
y BACKEND_SERVICE_IPV6
pueden entregar tráfico.
Para evitar la interrupción del tráfico, crea un nuevo servicio de backend con la política de selección de direcciones IP establecida en Prefer IPv6
.
Después de crear el servicio de backend nuevo, puedes enrutar el tráfico al servicio de backend IPv6 nuevo.
La regla de reenvío con IPv6 solo se puede crear para balanceadores de cargas de aplicaciones externos globales. La regla de reenvío con IPv6 no es compatible con balanceadores de cargas de aplicaciones internos entre regiones, balanceadores de cargas de aplicaciones externos regionales ni balanceadores de cargas de aplicaciones internos regionales.
Console
En la consola de Google Cloud, ve a la página Balanceo de cargas.
Haz clic en el nombre del balanceador de cargas.
Haz clic en Editar.
Configura el servicio de backend:
- Haz clic en Configuración de backend.
- En el campo Servicio de backend, selecciona Crear un servicio de backend.
- Establece el Nombre como BACKEND_SERVICE_IPV6.
- En Tipo de backend, selecciona Grupo de extremos de red zonal.
- En la lista Política de selección de direcciones IP, selecciona Preferir IPv6.
- En el campo Protocolo, selecciona HTTP.
- En el panel Backend nuevo, haz lo siguiente:
- En la lista grupo de extremos de red, selecciona ZONAL_NEG
- En Máximo de RPS, ingresa
10
.
- En la lista Verificación de estado, selecciona una verificación de estado HTTP.
- Haz clic en Listo.
Configura el frontend de IPv6:
La regla de reenvío con IPv6 no es compatible con balanceadores de cargas de aplicaciones internos entre regiones, balanceadores de cargas de aplicaciones externos regionales ni balanceadores de cargas de aplicaciones internos regionales.
- Haga clic en Configuración de frontend.
- Haz clic en Agregar IP y puerto de frontend.
- En el campo Nombre, ingresa un nombre para la regla de reenvío.
- En el campo Protocolo, selecciona
HTTP
. - Establece la Versión de IP como
IPv6
. - Haz clic en Listo.
- Haz clic en Actualizar.
Configura reglas de enrutamiento
- Haz clic en Reglas de enrutamiento.
- Haz clic en Regla avanzada de host y ruta de acceso.
- Haz clic en Actualizar.
gcloud
Crea una verificación de estado de la siguiente forma:
gcloud compute health-checks create http HEALTH_CHECK \ --port 80
Crea el servicio de backend para el tráfico HTTP:
global
Para el balanceador de cargas de aplicaciones externo global, usa el siguiente comando:
gcloud beta compute backend-services create BACKEND_SERVICE_IPV6 \ --load-balancing-scheme=EXTERNAL_MANAGED \ --protocol=HTTP \ --ip-address-selection-policy=PREFER_IPV6 \ --health-checks=HEALTH_CHECK \ --global
Para el balanceador de cargas de aplicaciones interno entre regiones, usa el siguiente comando:
gcloud beta compute backend-services create BACKEND_SERVICE_IPV6 \ --load-balancing-scheme=INTERNAL_MANAGED \ --protocol=HTTP \ --ip-address-selection-policy=PREFER_IPV6 \ --health-checks=HEALTH_CHECK \ --global
regional
Para el balanceador de cargas de aplicaciones externo regional, usa el siguiente comando:
gcloud beta compute backend-services create BACKEND_SERVICE_IPV6 \ --load-balancing-scheme=EXTERNAL_MANAGED \ --protocol=HTTP \ --ip-address-selection-policy=PREFER_IPV6 \ --health-checks=HEALTH_CHECK \ --region=REGION
Para el balanceador de cargas de aplicaciones interno regional, usa el siguiente comando:
gcloud beta compute backend-services create BACKEND_SERVICE_IPV6 \ --load-balancing-scheme=INTERNAL_MANAGED \ --protocol=HTTP \ --ip-address-selection-policy=PREFER_IPV6 \ --health-checks=HEALTH_CHECK \ --region=REGION
Agrega NEGs zonales como backend al servicio de backend:
global
Para el balanceador de cargas de aplicaciones externo global y el balanceador de cargas de aplicaciones interno entre regiones, usa el siguiente comando:
gcloud beta compute backend-services add-backend BACKEND_SERVICE_IPV6 \ --network-endpoint-group=ZONAL_NEG \ --max-rate-per-endpoint=10 \ --global
regional
Para el balanceador de cargas de aplicaciones externo regional y el balanceador de cargas de aplicaciones interno regional, usa el siguiente comando:
gcloud beta compute backend-services add-backend BACKEND_SERVICE_IPV6 \ --network-endpoint-group=ZONAL_NEG \ --max-rate-per-endpoint=10 \ --region=REGION
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 aplicaciones externo global, usa el siguiente comando:
gcloud compute addresses create lb-ipv6-1 \ --ip-version=IPV6 \ --network-tier=PREMIUM \ --global
Crea una regla de reenvío para el servicio de backend. Cuando crees la regla de reenvío, especifica la dirección IP externa en la subred.
global
Para el balanceador de cargas de aplicaciones 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-https-proxy=TARGET_PROXY \ --ports=443
Enruta el tráfico al nuevo servicio de backend IPv6
Actualiza el mapa de URL para dirigir una fracción del tráfico del cliente al nuevo servicio de backend IPv6 BACKEND_SERVICE_IPV6
.
Usa el siguiente comando para editar los mapas de URL:
global
Para el balanceador de cargas de aplicaciones externo global y el balanceador de cargas de aplicaciones interno entre regiones, usa el siguiente comando:
gcloud compute url-maps edit URL_MAP \ --global
regional
Para el balanceador de cargas de aplicaciones externo regional y el balanceador de cargas de aplicaciones interno regional, usa el siguiente comando:
gcloud compute url-maps edit URL_MAP \ --region=REGION
En el editor de texto que aparece, agrega un elemento
routeRule
con una acciónweightedBackendServices
que dirige un porcentaje del tráfico IPv6 aBACKEND_SERVICE_IPV6
.defaultService: global/backendServices/BACKEND_SERVICE hostRules: - hosts: - '*' pathMatcher: matcher1 name: URL_MAP pathMatchers: - defaultService: global/backendServices/BACKEND_SERVICE name: matcher1 routeRules: - matchRules: - prefixMatch: '' priority: 1 routeAction: weightedBackendServices: - backendService: global/backendServices/BACKEND_SERVICE weight: 95 - backendService: global/backendServices/BACKEND_SERVICE_IPV6 weight: 5
Para implementar una migración gradual a IPv6, aumenta el porcentaje de peso del nuevo servicio de backend de BACKEND_SERVICE_IPV6
de forma incremental al 100% si se edita muchas veces el mapa de URL.
Configura la política de selección de direcciones IP
Este paso es opcional. Después de convertir los recursos y backends en pila doble, puedes usar la política de selección de dirección IP para especificar el tipo de tráfico que se envía desde el 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 |
Console
En la consola de Google Cloud, ve a la página Balanceo de cargas.
Haz clic en el nombre del balanceador de cargas.
Haz clic en Editar.
Haz clic en Configuración de backend.
En el campo Servicio de backend, selecciona BACKEND_SERVICE_IPV6.
El Tipo de backend debe ser Grupo de extremos de red zonal 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 el servicio de backend:
global
Para el balanceador de cargas de aplicaciones externo global, usa el siguiente comando:
gcloud beta compute backend-services update BACKEND_SERVICE_IPV6 \ --load-balancing-scheme=EXTERNAL_MANAGED \ --protocol=HTTP \ --ip-address-selection-policy=IP_ADDRESS_SELECTION_POLICY \ --global
Para el balanceador de cargas de aplicaciones interno entre regiones, usa el siguiente comando:
gcloud beta compute backend-services update BACKEND_SERVICE_IPV6 \ --load-balancing-scheme=INTERNAL_MANAGED \ --protocol=HTTP \ --ip-address-selection-policy=IP_ADDRESS_SELECTION_POLICY \ --global
regional
Para el balanceador de cargas de aplicaciones externo regional, usa el siguiente comando:
gcloud beta compute backend-services update BACKEND_SERVICE_IPV6 \ --load-balancing-scheme=EXTERNAL_MANAGED \ --protocol=HTTP \ --ip-address-selection-policy=IP_ADDRESS_SELECTION_POLICY \ --region=REGION
Para el balanceador de cargas de aplicaciones interno regional, usa el siguiente comando:
gcloud beta compute backend-services update BACKEND_SERVICE_IPV6 \ --load-balancing-scheme=INTERNAL_MANAGED \ --protocol=HTTP \ --ip-address-selection-policy=IP_ADDRESS_SELECTION_POLICY \ --region=REGION
Prueba el balanceador de cargas
Debes validar que todos los recursos necesarios se actualicen a la pila doble. Después de actualizar todos los recursos, el tráfico debe fluir de manera automática a los backends. Puedes verificar los registros y comprobar que la conversión esté completa.
Prueba el balanceador de cargas para confirmar que la migración se realice de forma correcta y que el tráfico entrante llegue a los backends como se espera.
Busca la dirección IP externa del balanceador de cargas
Console
En la consola de Google Cloud, ve a la página Balanceo de cargas.
Haz clic en el nombre del balanceador de cargas.
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.
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 a tus instancias
En este ejemplo, las solicitudes del comando curl
se distribuyen de forma aleatoria a los backends.
Repite el siguiente comando un par de veces hasta que veas que todas las VMs de backend responden.
curl http://IP_ADDRESS_IPV4
curl http://IP_ADDRESS_IPV6
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 http://[fd20:1db0:b882:802:0:46:0:0]
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 que usa el backend.
Para verificar que el tráfico se dirija a IPv6 o conmuta por error a IPv4, visualiza los registros.
La clase HttpRequest
contiene la dirección backend_ip
asociada con la
de Terraform. Si examinas los registros y comparas la dirección IPv4 e IPv6 de destino de backend_ip
, puedes confirmar qué dirección IP se usa.