Descripción general de Cloud Load Balancing

Organízate con las colecciones Guarda y clasifica el contenido según tus preferencias.

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.

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, GRE, ICMP y ICMPv6 . Usa balanceo de cargas basado en la capa 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 funciones como el balanceo de cargas global IPv6 el direccionamiento del tráfico basado en IP de origen , los WebSockets, los encabezados de solicitudes que define el usuario y el reenvío de protocolos para VIP privadas.

    También incluye las siguientes integraciones:

    • Integración con Cloud CDN para la publicación de contenido en caché. Cloud CDN es compatible con el balanceador de cargas de HTTP(S) externo global y el balanceador de cargas de HTTP(S) externo global.
    • 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 a aplicaciones. La protección contra DSD siempre activa está disponible para el balanceador de cargas de HTTP(S) externo global, el balanceador de cargas de HTTP(S) externo global, el balanceador de cargas de proxy TCP externo, el balanceador de cargas de proxy SSL externo. y el balanceador de cargas de red. Además, Google Cloud Armor admite la protección contra DSD de red avanzada solo para los balanceadores de cargas de red. Para obtener más información, consulta Configura la protección contra DSD de red avanzada.

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 Dirección IP 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 de HTTP(S) externo global HTTP o HTTPS IPv4, IPv6 Global Premium solamente EXTERNAL_MANAGED HTTP en 80 o 8080; HTTPS en 443 Proxy
Balanceador de cargas de HTTP(S) global externo (clásico) HTTP o HTTPS IPv4, IPv6 (solo IPv6 en el nivel Premium) 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 HTTP o HTTPS Solo IPv4 Regional Solo estándar EXTERNAL_MANAGED HTTP en 80 o 8080; HTTPS en 443 Proxy
Balanceador de cargas HTTP(S) interno HTTP o HTTPS Solo IPv4 Regional Premium solamente INTERNAL_MANAGED HTTP en 80 o 8080; HTTPS en 443 Proxy
Balanceador de cargas de proxy SSL externo TCP con descarga de SSL IPv4, IPv6 (solo IPv6 en el nivel Premium) Global en el nivel Premium. Regional en el nivel Estándar. Premium o Estándar EXTERNO Exactamente un puerto del 1 al 65535 Proxy
Balanceador de cargas de proxy TCP externo TCP sin descarga de SSL IPv4, IPv6 (solo IPv6 en el nivel Premium) Global en el nivel Premium. Regional en el nivel Estándar. Premium o Estándar EXTERNO Exactamente un puerto del 1 al 65535 Proxy
Balanceador de cargas del proxy TCP regional interno TCP sin descarga de SSL Solo IPv4 Regional Premium INTERNAL_MANAGED Cualquiera Proxy
Balanceador de cargas de red de TCP/UDP externo TCP, UDP, ESP, GRE, ICMP y ICMPv6 IPv4, IPv6 (solo IPv6 en el nivel Premium) Regional Premium o Estándar EXTERNAL Cualquiera De paso
Balanceadores de cargas TCP/UDP internos TCP o UDP Solo IPv4 Backends y frontends regionales (acceso global compatible) Premium solamente INTERNAL Cualquiera De paso

El esquema de balanceo de cargas es un atributo de la regla de reenvío y del servicio de backend de un balanceador de cargas y también indica si el balanceador de cargas se puede usar para tráfico interno o externo. Los valores posibles son EXTERNAL, EXTERNAL_MANAGED, INTERNAL y INTERNAL_MANAGED.

El término *_MANAGED en el esquema de balanceo de cargas indica que el balanceador de cargas se implementa como un servicio administrado en Google Front Ends (GFE) o como un servicio administrado en la Proxy de Envoy de código abierto En un esquema de balanceo de cargas que es *_MANAGED, las solicitudes se enrutan al GFE o al proxy de Envoy.

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 de HTTP(S) externo global GFE, Envoy
Balanceador de cargas de HTTP(S) global externo (clásico) GFE
Balanceador de cargas HTTP(S) regional externo Envoy, Maglev
Balanceador de cargas HTTP(S) interno Andromeda, Envoy
Balanceador de cargas de proxy TCP externo GFE
Balanceador de cargas de proxy SSL externo GFE
Balanceador de cargas del proxy TCP regional interno Andromeda, Envoy
Balanceador de cargas de red de TCP/UDP externo Maglev
Balanceadores de cargas TCP/UDP internos Andromeda

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

La implementación del balanceo de cargas HTTP(S) difiere según el modo del balanceador de cargas.

El balanceador de cargas HTTP(S) externo global con capacidad avanzada de administración de tráfico se implementa en los GFE. Los GFE se distribuyen globalmente y operan juntos mediante el plano de control y la red global de Google. 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. Además, el balanceador de cargas HTTP(S) externo global usa el proxy de Envoy de código abierto para habilitar las funciones avanzadas de administración del tráfico. El balanceador de cargas HTTP(S) externo global solo es compatible con el nivel Premium.

El balanceador de cargas HTTP(S) externo global (clásico) también se implementa en los GFE. Es un balanceador de cargas global en el nivel Premium, pero se puede configurar para que sea efectivamente regional en el nivel Estándar. Efectivamente regional significa que, si bien el servicio de backend siempre es global, cuando eliges el nivel Estándar, la regla de reenvío externa y la dirección IP externa deben ser regionales y los backends conectados al servicio de backend global deben estar en la misma región que la regla de reenvío y la dirección IP.

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, ESP, GRE, ICMP y ICMP.

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

Balanceo de cargas de proxy SSL externo

El balanceo de cargas del proxy SSL externo 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 externo 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 externo solo puede dirigir el tráfico entre backends en una sola región.

Balanceo de cargas de proxy TCP externo

El balanceo de cargas de proxy TCP externo 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 externo 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 externo solo puede dirigir el tráfico entre backends en una sola región.

Balanceo de cargas del proxy TCP regional interno

El balanceador de cargas de proxy TCP regional interno es un balanceador de cargas Envoy regional de capa 4 basado en proxy que te permite ejecutar y escalar el tráfico de servicio TCP detrás de una dirección IP interna a la que solo pueden acceder los clientes de la misma red de VPC o los clientes conectados a tu red de VPC.

El balanceador de cargas distribuye el tráfico de TCP a los backends alojados en Google Cloud, en entornos locales o en otros entornos de nube. Solo se puede acceder a este balanceador de cargas en la región elegida de tu red de VPC en una dirección IP interna.

Interfaces

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

  • Google Cloud CLI: Es una herramienta de línea de comandos incluida en Google Cloud CLI la documentación que se llama en esta herramienta con frecuencia para realizar tareas. Para obtener una descripción general completa de la herramienta, consulta la guía de la CLI 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
    
  • La consola de Google Cloud: Las tareas de balanceo de cargas se pueden realizar con la consola de Google Cloud.

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

  • Terraform: Aprovisiona, actualiza y borra la infraestructura de balanceo de cargas de Google Cloud mediante una herramienta de código abierto de infraestructura como código, como Terraform.

¿Qué sigue?