Descripción general de Cloud Load Balancing

Un balanceador de cargas distribuye el tráfico del usuario en varias instancias de tus aplicaciones. Si se distribuye la carga, el balanceo de cargas reduce el riesgo de que la aplicación experimente problemas de rendimiento.

Descripción general simple del balanceo de cargas (haz clic para ampliar)
Descripción general simple del balanceo de cargas (haz clic para ampliar)

Acerca de Cloud Load Balancing

Cloud Load Balancing es un servicio administrado completamente distribuido y definido por software. No se basa en hardware, por lo que no es necesario que administres una infraestructura física de balanceo de cargas.

Cloud Load Balancing está compilado en la misma infraestructura de servicio de frontend que usa Google. Es capaz de procesar más de 1 millón de consultas por segundo con un rendimiento alto y una latencia baja uniformes. El tráfico ingresa en Cloud Load Balancing a través de más de 80 ubicaciones diferentes de balanceo de cargas global, lo que maximiza la distancia recorrida en la red troncal rápida y privada de Google. Con Cloud Load Balancing, puedes entregar contenido lo más cerca posible a tus usuarios.

Cloud Load Balancing es un servicio administrado completamente distribuido y definido por software. No se basa en hardware, por lo que no es necesario que administres una infraestructura física de balanceo de cargas.

Google Cloud ofrece las siguientes funciones de balanceo de cargas:

  • Dirección IP Anycast única. Con Cloud Load Balancing, una sola dirección IP Anycast es el frontend de todas las instancias de backend en regiones de todo el mundo. Proporciona un balanceo de cargas entre regiones con conmutación automática por error multirregional, que traslada el tráfico a los backends de conmutación por error si los backends principales están en mal estado. Cloud Load Balancing reacciona de inmediato ante los cambios en los usuarios, el tráfico, la red, el estado del backend y otras condiciones relacionadas.

  • Balanceo de cargas definido por software. Cloud Load Balancing es un servicio completamente distribuido, definido por software y administrado para todo tu tráfico. No es una solución basada en instancias ni en dispositivos, por lo que no estarás encerrado en una infraestructura de balanceo de cargas física ni tendrás que enfrentar los desafíos de alta disponibilidad (HA), escala y administración inherentes a los balanceadores de carga basados en instancias.

  • Ajuste de escala automático sin interrupciones. Cloud Load Balancing puede escalarse a medida que aumentan la cantidad de usuarios y el tráfico; esto incluye la administración con facilidad de aumentos de tráfico inesperados, inmediatos y enormes, ya que los desvía a otras regiones del mundo que puedan aceptarlos. El ajuste de escala automático no requiere preparación previa: puedes pasar de cero a un funcionamiento pleno en cuestión de segundos.

  • Balanceo de cargas de la capa 4 y la capa 7. Usa el balanceo de cargas basado en la capa 4 para dirigir el tráfico en función de los datos de los protocolos de red y capa de transporte, como TCP, UDP, ESP o ICMP. Usar capa Balanceo de cargas basado en 7 para agregar decisiones de enrutamiento de solicitudes en función de atributos, como el encabezado HTTP y el identificador uniforme de recursos

  • Balanceo de cargas interno y externo. Puedes usar el balanceo de cargas externo cuando tus usuarios lleguen a tus aplicaciones desde Internet y el balanceo de cargas interno cuando tus clientes estén dentro de Google Cloud.

  • Balanceo de cargas global y regional. Distribuye tus recursos con balanceo de cargas en una o varias regiones, para finalizar las conexiones cerca de tus usuarios y cumplir con tus requisitos de alta disponibilidad.

  • Compatibilidad con funciones avanzadas. Cloud Load Balancing admite características como el balanceo de cargas global IPv6, WebSockets, encabezados de solicitudes definidos por el usuario y reenvío de protocolos para VIP privadas.

    También incluye las siguientes integraciones para el balanceo de cargas de HTTP(S) externo:

    • Integración con Cloud CDN para la publicación de contenido en caché
    • Integración con Google Cloud Armor para proteger tu infraestructura de ataques de denegación de servicio distribuido (DSD) y otros ataques a aplicaciones dirigidas

Resumen de balanceadores de cargas de Google Cloud

En el siguiente diagrama, se resumen los productos disponibles de Cloud Load Balancing.

Descripción general de Cloud Load Balancing (haz clic para ampliar)
Descripción general de Cloud Load Balancing (haz clic para ampliar)

En la siguiente tabla, se proporciona más información específica sobre cada balanceador de cargas.

Tipo de balanceador de cargas Tipo de tráfico Global o regional Nivel de servicio de red Esquema de balanceo de cargas Puertos de frontend del balanceador de cargas Proxy o de paso
Balanceador de cargas HTTP(S) externo HTTP o HTTPS Global en el nivel Premium. Regional en el nivel Estándar. Premium o Estándar EXTERNAL HTTP en 80 o 8080; HTTPS en 443 Proxy
Balanceador de cargas HTTP(S) regional externo (Vista previa) HTTP o HTTPS Regional Solo estándar EXTERNAL_MANAGED HTTP en 80 o 8080; HTTPS en 443 Proxy
Balanceador de cargas HTTP(S) interno HTTP o HTTPS Regional Premium solamente INTERNAL_MANAGED HTTP en 80 o 8080; HTTPS en 443 Proxy
Balanceador de cargas del proxy SSL TCP con descarga de SSL Global en el nivel Premium. Regional en el nivel Estándar. Premium o Estándar EXTERNAL 25, 43, 110, 143, 195, 443, 465, 587, 700, 993, 995, 1883, 3389, 5222, 5432, 5671, 5672, 5900, 5901, 6379, 8085, 8099, 9092, 9200, y 9300 Proxy
Balanceador de cargas del proxy TCP TCP sin descarga de SSL Global en el nivel Premium. Regional en el nivel Estándar. Premium o Estándar EXTERNAL 25, 43, 110, 143, 195, 443, 465, 587, 700, 993, 995, 1883, 3389, 5222, 5432, 5671, 5672, 5900, 5901, 6379, 8085, 8099, 9092, 9200, y 9300 Proxy
Balanceador de cargas de red de TCP/UDP externo TCP, UDP, ESP, o ICMP (Vista previa) Regional Premium o Estándar EXTERNAL Cualquiera De paso
Balanceadores de cargas TCP/UDP internos TCP o UDP Backends y frontends regionales (acceso global compatible) Premium solamente INTERNAL Cualquiera De paso

Elige un balanceador de cargas

Para determinar qué producto de Cloud Load Balancing usar, primero debes determinar qué tipo de tráfico deben manejar tus balanceadores de cargas y si necesitas balanceo de cargas global o regional, balanceo de cargas externo o interno, y proxy o balanceo de cargas de traspaso. Para obtener detalles sobre cada una de estas decisiones, consulta Elige un balanceador de cargas.

Luego, usa este árbol de decisión a fin de determinar qué balanceadores de cargas están disponibles para tu cliente, protocolo y configuración de red.

Árbol de decisión para elegir un balanceador de cargas (haz clic si deseas ampliarlo)
Árbol de decisión para elegir un balanceador de cargas (haz clic si deseas ampliarlo)

Tecnología subyacente de los balanceadores de cargas de Google Cloud

En esta sección, se proporciona más información sobre cada tipo de balanceador de cargas de Google Cloud, incluidos los vínculos a la documentación general para comprenderlos mejor.

  • Google Front End (GFE) son sistemas distribuidos definidos por software que se ubican en puntos de presencia de Google (PoP) y realizan balanceo de cargas global junto con otros sistemas y planos de control.
  • Andromeda es una pila de virtualización de red definida por software de Google Cloud.
  • Maglev es un sistema distribuido para el balanceo de cargas de red.
  • El proxy Envoy es un proxy de servicio y de código abierto, diseñado para aplicaciones nativas de la nube.
Balanceador de cargas Tecnología subyacente
Balanceador de cargas HTTP(S) externo GFE
Balanceador de cargas de HTTP(S) externo regional Envoy, Maglev
Balanceador de cargas HTTP(S) interno Andromeda, Envoy
Balanceador de cargas de red de TCP/UDP externo Maglev
Balanceadores de cargas TCP/UDP internos Andromeda
Balanceador de cargas del proxy TCP GFE
Balanceador de cargas del proxy SSL GFE

Balanceo de cargas HTTP(S) interno

El balanceo de cargas HTTP(S) interno se basa en la pila de virtualización de red de Andromeda y es un servicio administrado basado en el proxy Envoy de código abierto. Este balanceador de cargas proporciona un balanceo interno basado en proxy para los datos de aplicación de la capa 7. Especificas cómo se enruta el tráfico con mapas de URL. El balanceador de cargas usa una dirección IP interna que actúa como frontend para tus backends.

Balanceo de cargas HTTP(S) externo

El balanceo de cargas HTTP(S) se implementa en los GFE. Los GFE se distribuyen globalmente y operan juntos mediante el plano de control y la red global de Google. En el nivel Premium, los GFE ofrecen balanceo de cargas multirregional, lo que dirige el tráfico al backend más cercano que tenga capacidad y termina el tráfico HTTP(S) lo más cerca posible de sus usuarios.

El balanceador de cargas de HTTP(S) externo regional es un servicio administrado basado en el proxy de Envoy de código abierto, que habilita las funciones avanzadas de administración de tráfico. Este es un balanceador de cargas HTTP(S) regional que solo es compatible con el nivel Estándar.

Balanceo de cargas TCP/UDP interno

El Balanceo de cargas TCP/UDP interno se basa en la pila de virtualización de red de Andromeda. El balanceo de cargas TCP/UDP interno te permite balancear la carga del tráfico de TCP/UDP detrás de una dirección IP de balanceo de cargas interno a la que solo pueden acceder tus instancias de máquinas virtuales (VM) internas. Mediante el uso del balanceo de cargas TCP/UDP interno, se configura una dirección IP de balanceo de cargas interno para actuar como frontend en tus instancias de backend internas. Solo usas direcciones IP internas para tu servicio con balanceo de cargas. En general, tu configuración es más simple.

El balanceo de cargas TCP/UDP interno admite grupos de instancias administrados regionales, para que puedas realizar un ajuste de escala automático en una región, y así proteger tu servicio de fallas zonales.

Balanceo de cargas de redes TCP/UDP externo

El balanceo de cargas de red se basa en Maglev. Este balanceador de cargas te permite balancear las cargas de tráfico en tus sistemas en función de los datos del protocolo de IP entrante, que incluyen la dirección, el protocolo y el puerto (opcional). Es un sistema de balanceo de cargas sin proxy regional. Es decir, un balanceador de cargas de red es un balanceador de cargas de traspaso que no permite las conexiones de proxy de los clientes.

Los balanceadores de cargas de red basados en servicios de backend admiten el tráfico de TCP, UDP, ICMP y ESP.

Los balanceadores de cargas de red basados en grupos de destino admiten tráfico TCP o UDP.

Balanceo de cargas del proxy de SSL

El balanceo de cargas del proxy SSL se implementa en los GFE distribuidos globalmente. Si eliges el nivel Premium de los niveles de servicio de red, el balanceador de cargas del proxy SSL es global. En el nivel Premium, puedes implementar backends en varias regiones y el balanceador de cargas dirige automáticamente el tráfico del usuario a la región más cercana que tenga capacidad. Si eliges el nivel Estándar, un balanceador de cargas del proxy SSL solo puede dirigir el tráfico entre backends en una sola región.

Balanceo de cargas del proxy de TCP

El balanceo de cargas de proxy TCP se implementa en los GFE que se distribuyen globalmente. Si eliges el nivel Premium de los niveles de servicio de red, el balanceador de cargas del proxy TCP es global. En el nivel Premium, puedes implementar backends en varias regiones y el balanceador de cargas dirige automáticamente el tráfico del usuario a la región más cercana que tenga capacidad. Si eliges el nivel Estándar, un balanceador de cargas del proxy TCP solo puede dirigir el tráfico entre backends en una sola región.

Interfaces

Puedes configurar y actualizar tus balanceadores de cargas mediante las siguientes interfaces:

  • La herramienta de línea de comandos de gcloud: Es una herramienta de línea de comandos que se incluye en el SDK de Cloud. La documentación de balanceo de cargas HTTP(S) llama a esta herramienta con frecuencia para realizar tareas. Para obtener una descripción general completa de la herramienta, consulta la guía de la herramienta de gcloud. Puedes encontrar comandos relacionados con el balanceo de cargas en el grupo de comandos gcloud compute.

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

    gcloud compute http-health-checks create --help
    
  • Google Cloud Console: Las tareas de balanceo de cargas se pueden realizar con Cloud Console.

  • API de REST: Todas las tareas de balanceo de cargas pueden realizarse con la API de Google Cloud Load Balancing. En los documentos de referencia de la API, se describen los recursos y métodos disponibles.

¿Qué sigue?