Conceptos del balanceo de cargas del proxy TCP

El balanceo de cargas de proxy TCP de Google Cloud Platform (GCP) te permite usar una única dirección IP para todos los usuarios de todo el mundo. El balanceo de cargas de proxy TCP de GCP enruta de forma automática el tráfico a las instancias más cercanas al usuario.

Ten en cuenta que el balanceo de cargas global requiere que uses el nivel Premium de los niveles de servicio de red, que es el predeterminado. De lo contrario, el balanceo de cargas se maneja de manera regional.

El balanceo de cargas de proxy TCP de Cloud está diseñado para el tráfico que no es HTTP. Para el tráfico HTTP, usa el balanceo de cargas HTTP en su lugar. Para el tráfico SSL entregado por proxy, usa el balanceo de cargas de proxy SSL.

El balanceo de cargas de proxy TCP admite direcciones IPv6 y direcciones IPv4 para el tráfico del cliente. Las solicitudes de cliente de IPv6 se finalizan en la capa de balanceo de cargas y se redirigen mediante proxies IPv4 a tus backends.

Contenido

Descripción general

Cuando usas el balanceo de cargas de proxy TCP para tu tráfico TCP, puedes finalizar las sesiones TCP de tus clientes en la capa de balanceo de cargas y reenviar el tráfico a tus instancias de máquina virtual mediante TCP o SSL.

El balanceo de cargas de proxy TCP se puede configurar como un servicio de balanceo de cargas global. Con esta configuración, puedes implementar tus instancias en varias regiones y el balanceo de cargas global dirige de manera automática el tráfico a la región más cercana al usuario. Si una región está al máximo de capacidad, el balanceador de cargas dirige de forma automática las conexiones nuevas a otra región con capacidad disponible. Las conexiones de los usuarios existentes permanecen en la región actual.

Ventajas de balanceo de cargas de proxy TCP:

  • Enrutamiento inteligente: el balanceador de cargas puede enrutar solicitudes a ubicaciones de backend que tengan capacidad. En comparación, un balanceador de cargas L3/L4 debe enrutar a backends regionales sin importar la capacidad. El uso de enrutamiento más inteligente permite el aprovisionamiento en N + 1 o N + 2, en lugar de x * N.
  • Parches de seguridad: si surgen vulnerabilidades en la pila TCP, Cloud Load Balancing aplica parches al balanceador de cargas de manera automática para proteger tus instancias.
  • El balanceo de cargas de proxy TCP es compatible con los puertos 25, 43, 110, 143, 195, 443, 465, 587, 700, 993, 995, 1883 y 5222.

Componentes

Los siguientes son componentes de balanceadores de cargas de proxy TCP.

Direcciones y reglas de reenvío

Las reglas de reenvío enrutan el tráfico por dirección IP, puerto y protocolo a una configuración de balanceo de cargas que consiste en un proxy de destino y uno o más servicios de backend.

Cada regla de reenvío proporciona una única dirección IP que puedes usar en los registros DNS de tu aplicación. No se requiere balanceo de cargas basado en DNS. Puedes reservar una dirección IP estática para usarla o permitir que Google Cloud Load Balancing te asigne una. Recomendamos reservar una dirección IP estática; de lo contrario, debes actualizar tu registro DNS con la dirección IP efímera recién asignada cada vez que borres una regla de reenvío y crees una nueva.

Proxies de destino

El balanceo de cargas de proxy TCP finaliza las conexiones TCP desde el cliente y crea conexiones nuevas con las instancias. De forma predeterminada, la dirección IP de cliente original y la información del puerto no se conservan. Puedes conservar esta información con el protocolo PROXY. Los proxies de destino enrutan las solicitudes entrantes de forma directa a los servicios de backend.

Servicios de backend

Los servicios de backend dirigen el tráfico entrante a uno o más backends conectados. Cada backend está compuesto por un grupo de instancias o un grupo de extremos de red y metadatos de capacidad de entrega. La capacidad de entrega del backend se puede basar en CPU o solicitudes por segundo (RPS).

Cada servicio de backend especifica las verificaciones de estado a realizar para las instancias disponibles.

Para garantizar interrupciones mínimas a tus usuarios, puedes habilitar el desvío de la conexión en los servicios de backend. Estas interrupciones pueden ocurrir cuando una instancia se finaliza, se quita de forma manual o si un escalador automático la quita. Si quieres obtener más información sobre el uso del desvío de conexiones para minimizar las interrupciones del servicio, lee la documentación sobre habilitación del desvío de conexiones.

Protocolo para los backends

Cuando configuras un servicio de backend para el balanceador de cargas de proxy TCP, configura el protocolo que usa el servicio de backend a fin de comunicarse con estos. Puedes elegir SSL o TCP. El balanceador de cargas usa solo el protocolo que especifiques y no intentará negociar una conexión con el otro protocolo.

Depósitos de backend

Los depósitos de backend dirigen tráfico de entrada a depósitos de Google Cloud Storage.

Los depósitos son contenedores que conservan datos. Puedes usar los depósitos como almacenamiento común entre las instancias de VM, Google App Engine y otros servicios en la nube. Usa un depósito de almacenamiento cuando tengas una gran cantidad de datos que no necesiten almacenarse de forma local en una sola instancia de VM.

Reglas de firewall

Las reglas de firewall permiten que el tráfico llegue a tus instancias. Debes configurar reglas de firewall para permitir el tráfico tanto del balanceador de cargas como del verificador de estado.

Puedes usar una sola regla de firewall si se cumple lo siguiente:

  • La regla permite tráfico en el puerto que usa tu regla de reenvío global.
  • El verificador de estado usa el mismo puerto.

Si tu verificador de estado usa un puerto diferente, debes crear una regla de firewall diferente para ese puerto.

Ten en cuenta que las reglas de firewall bloquean y permiten el tráfico al nivel de instancia, no en los extremos de la red. No pueden evitar que el tráfico llegue al balanceador de cargas.

También ten en cuenta que Google Cloud Platform usa una gran variedad de direcciones IP, que cambian con el tiempo. Si necesitas conocer las direcciones IP externas en un momento determinado, sigue las instrucciones que se brindan en las preguntas frecuentes de Google Compute Engine.

Ruta de acceso de retorno

Para las verificaciones de estado, GCP usa rutas especiales que no están definidas en tu red de VPC. Para obtener más información sobre este tema, consulta las rutas de retorno del balanceador de cargas.

Ejemplo de balanceo de cargas de proxy TCP

Con el proxy TCP, el tráfico que llega a través de una conexión TCP se finaliza en la capa de balanceo de cargas y se envía al grupo de instancias disponible más cercano.

En este ejemplo, las conexiones para el tráfico de usuarios en Iowa y Boston se finalizan en la capa de balanceo de cargas. En el diagrama, estas conexiones están etiquetadas como 1a y 2a. Se establecen conexiones independientes desde el balanceador de cargas hasta las instancias de backend seleccionadas. Estas conexiones están etiquetadas como 1b y 2b.

Google Cloud Load Balancing con finalización TCP (haz clic para ampliar)
Google Cloud Load Balancing con finalización TCP (haz clic para ampliar)

Afinidad de sesión

La afinidad de sesión envía todas las solicitudes del mismo cliente a la misma instancia de máquina virtual, si la instancia está en buen estado y tiene capacidad.

El balanceo de cargas de proxy TCP ofrece afinidad de IP de cliente, que reenvía todas las solicitudes desde la misma dirección IP de cliente hasta la misma instancia.

Interfaces

Configura y actualiza el servicio de balanceo de cargas de proxy TCP mediante las siguientes interfaces:

  • La herramienta de línea de comandos de gcloud: una herramienta de línea de comandos incluida en el SDK de Cloud. En la documentación de balanceo de cargas de proxy TCP, se proporcionan ejemplos con esta herramienta. Para obtener una descripción general completa de la herramienta, consulta la guía de la herramienta de gcloud. Encontrarás comandos relacionados con el balanceo de cargas en el grupo de comandos de gcloud compute.

    También puedes obtener ayuda detallada para cualquier comando de gcloud si usas la marca --help:

    gcloud compute http-health-checks create --help
    
  • Google Cloud Platform Console: Google Cloud Platform Console puede realizar todas las tareas de balanceo de cargas.

  • API de REST: la API de Google Cloud Load Balancing puede realizar todas las tareas de balanceo de cargas. En la documentación de referencia de la API se describen los recursos y métodos disponibles para ti.

Puertos abiertos

Los balanceadores de cargas de proxy TCP son balanceadores de cargas de proxy inverso. El balanceador de cargas finaliza las conexiones entrantes y abre nuevas conexiones del balanceador de cargas a los backends. La función de proxy inverso la proporciona Google Front Ends (GFE).

Las reglas de firewall que configuras bloquean el tráfico de los GFE a los backends, pero no bloquean el tráfico entrante a los GFE.

Los balanceadores de cargas de proxy TCP tienen una cantidad de puertos abiertos para admitir otros servicios de Google que se ejecutan en la misma arquitectura. Si ejecutas un escaneo de puertos o de seguridad sobre la dirección IP externa de tu balanceador de cargas, parece que hay puertos adicionales abiertos.

Esto no afecta a los balanceadores de cargas de proxy TCP. Las reglas de reenvío externas que se usan en la definición de un balanceador de cargas SSL solo pueden hacer referencia a los puertos TCP 25, 43, 110, 143, 195, 443, 465, 587, 700, 993, 995, 1883 y 5222. El tráfico con un puerto de destino TCP diferente no se reenvía al backend del balanceador de cargas.

Próximos pasos

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

Enviar comentarios sobre...