Terminación de IPv6 para el balanceo de cargas de HTTP(S) y de proxies SSL y TCP

Google Cloud Platform (GCP) es compatible con clientes IPv6 con el balanceo de cargas de HTTP(S), proxy de SSL y proxy de TCP. El balanceador de cargas acepta conexiones IPv6 de tus usuarios que luego envía mediante proxy a tus instancias.

Descripción general

Puedes configurar direcciones externas IPv4 e IPv6 para balanceadores de cargas de HTTP(S), proxy de SSL y proxy de TCP.

Balanceo de cargas IPv6 global (haz clic para agrandar)
Balanceo de cargas IPv6 global (haz clic para agrandar)

La terminación de IPv6 para el balanceo de cargas de HTTP(S) y de proxies SSL y TCP te permite controlar las solicitudes de IPv6 de tus usuarios y enviarlas mediante proxy a través de IPv4 a tus backends.

  • Uso de una sola dirección IPv6 anycast para implementaciones multirregionales: solo necesitas una dirección IPv6 del balanceador de cargas destinado a las instancias de aplicación que se ejecutan en varias regiones. Esto significa que tu servidor DNS tiene un único registro AAAA y que no necesitas balancear las cargas entre varias direcciones IPv6. El almacenamiento en caché de los registros AAAA por parte de los clientes no es un problema, ya que solo existe una dirección para almacenar en caché. Las solicitudes de los usuarios a la dirección IPv6 balancean las cargas de forma automática a la instancia en buen estado más cercana con capacidad disponible.
  • Se balancean las cargas de HTTP, HTTPS, HTTP/2, TCP y tráfico de clientes IPv6 de SSL y TLS.
  • Desbordamiento en regiones con una sola dirección de balanceador de cargas IPv6: si las instancias en una región se quedaron sin recursos o están en mal estado, el balanceador de cargas global dirige las solicitudes de los usuarios a la siguiente región más cercana con recursos disponibles de forma automática. Una vez que la región más cercana cuente con recursos disponibles, el balanceo de cargas global reanuda la entrega a través de esta región. El balanceo de cargas global requiere que uses el nivel Prémium de los Niveles de servicio de red.
  • Ejecución de doble pila: a fin de entregar contenido a clientes IPv6 y a clientes IPv4, debes crear dos recursos IP de balanceador de cargas, uno para IPv6 y el otro para IPv4, y asociar ambos a las mismas instancias de aplicación IPv4. Los clientes IPv4 se conectan a la dirección IPv4, al tiempo que los clientes IPv6 se conectan a la dirección IPv6. Estos clientes balancean las cargas de forma automática a las instancias en buen estado más cercanas con capacidad disponible. Proporcionamos reglas de reenvío de IPv6 sin cargo, por lo que solo debes pagar las de IPv4.
    Dirige el tráfico IPv4 e IPv6 a las mismas instancias de backend (haz clic para agrandar)
    Dirige el tráfico IPv4 e IPv6 a las mismas instancias de backend (haz clic para agrandar)

Terminación y envío mediante proxy de IPv6

Configurar la terminación de IPv6 para tus balanceadores de cargas permite que tus instancias de backend aparezcan como aplicaciones IPv6 en tus clientes IPv6.

Terminación de IPv6 del balanceo de cargas (haz clic para agrandar)
Terminación de IPv6 del balanceo de cargas (haz clic para agrandar)

Cuando un usuario se conecta al balanceador de cargas mediante IPv6, sucede lo que se indica a continuación:

  1. Tu balanceador de cargas, con su dirección IPv6 y la regla de reenvío, espera las conexiones del usuario.
  2. Un cliente IPv6 se conecta al balanceador de cargas a través de IPv6.
  3. El balanceador de cargas actúa como un proxy inverso y finaliza la conexión del cliente IPv6. Este coloca la solicitud en una conexión IPv4 a un backend.
  4. En la ruta de acceso inversa, el balanceador de cargas recibe la respuesta IPv4 del backend y, luego, la coloca en la conexión IPv6 de regreso al cliente original.

Asignación de direcciones IPv6 para las reglas de reenvío del balanceador de cargas

Cuando configuras un balanceador de cargas de HTTP(S), proxy SSL o proxy TCP, le proporcionas una o más reglas de reenvío globales, cada una con una dirección IP IPv4 o IPv6 externa enrutada de forma pública. Puedes usar esta dirección IP en los registros DNS de tu sitio.

Cuando creas una regla de reenvío, puedes usar una dirección IP estática reservada para tu proyecto o hacer que la regla de reenvío adquiera de forma automática una dirección IP efímera cuando creas la regla. Una dirección IP estática está reservada para tu proyecto y puedes conservarla hasta que la liberes de forma deliberada. Una dirección efímera pertenece a la regla de reenvío en tanto exista la regla de reenvío. Si borras la regla de reenvío, la dirección efímera se devuelve al grupo de GCP.

Si necesitas una dirección IPv4 e IPv6 para tu balanceador de cargas, puedes crear dos reglas de reenvío y asociar una dirección IPv4 a una, y una dirección IPv6 a la otra. Luego, puedes asociar ambas reglas al mismo balanceador de cargas.

Encabezado IP de cliente con terminación IPv6 para el balanceo de cargas de HTTP(S)

Cuando el balanceador de cargas envía mediante proxy la conexión IPv6 del cliente a una conexión IPv4 a tu backend, la dirección IP fuente original se reemplaza con la dirección IP del balanceador de cargas. Sin embargo, a menudo los backends necesitan saber cuál es la IP fuente original para fines de registro y toma de decisiones, entre otros. GCP proporciona un encabezado HTTP que se propaga a los backends y que incluye la IP de cliente IPv6 original.

Los encabezados HTTP para IPv6 son similares a aquellos para IPv4. El formato para las solicitudes es el que se muestra a continuación:

  • X-Forwarded-For: <IP de cliente>, <IP externa de la regla de reenvío global>
  • El último elemento muestra la IP del balanceador de cargas. El penúltimo elemento muestra la IP de cliente tal como la ve el balanceador de cargas. Puede haber otros elementos en el encabezado X-Forwarded-For en casos en que el cliente o los proxies intermedios agregan otros encabezados X-Forwarded-For antes de enviar la solicitud al balanceador de cargas

Un ejemplo de encabezado X-Forwarded-For puede verse así:

X-Forwarded-For: 2001:db8:abcd:1::1234, 2607:f8b0:4005:801::200e

La primera (penúltima) dirección es la dirección IPv6 del cliente. La segunda dirección es la dirección IPv6 del balanceador de cargas de HTTP(S).

Precios

Las reglas de reenvío para la terminación de IPv6 se proporcionan sin costo adicional. No se te cobrará por las direcciones IPv6 efímeras. Las direcciones IPv6 reservadas se cobran según las tarifas existentes, sin importar si están en uso o no. El resto del precio es el mismo que para el balanceo de cargas IPv4. Consulta los detalles de precios del balanceo de cargas aquí.

Próximos pasos

¿Te ha resultado útil esta página? Enviar comentarios:

Enviar comentarios sobre...