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. Cloud Load Balancing de Google se basa en tecnologías confiables y de alto rendimiento, como Maglev, Andromeda, Google Front Ends y Envoy, las mismas tecnologías que impulsan los propios productos de Google.

Cloud Load Balancing ofrece una cartera completa de balanceadores de cargas de aplicación y de red regionales. Usa nuestros balanceadores de cargas para distribuir millones de solicitudes por segundo entre backends en una sola región. Puedes configurar estos balanceadores de cargas para que sean accesibles a través de una sola dirección IP anycast. Implementa un control jurisdiccional sólido con nuestros balanceadores de cargas de proxy regionales, lo que mantiene los backends y proxies en tu región sin preocuparte por la descarga de TLS/SSL. Usa nuestros balanceadores de cargas de transferencia regionales para enrutar con rapidez varios protocolos a backends con el alto rendimiento de retorno del servidor directo.

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

Funciones clave de Cloud Load Balancing

Cloud Load Balancing 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.

  • 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 backends en otras zonas que puedan aceptarlos. El ajuste de escala automático no requiere preparación previa: puedes pasar de cero a tráfico completo en cuestión de segundos. Cloud Load Balancing reacciona instantáneamente 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, escala y administración inherentes a los balanceadores de carga basados en instancias.

  • 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. Define si el balanceador de cargas se puede usar para el acceso externo o interno. Puedes usar un balanceador de cargas externo cuando tus clientes necesiten acceder a tu aplicación desde Internet. Puedes usar un balanceador de cargas interno cuando tus clientes estén dentro deTrusted Cloud. Para obtener más información, consulta Diferencias entre el balanceo de cargas externo y el interno.

Tipos de Trusted Cloud balanceadores de cargas

Cloud Load Balancing ofrece dos tipos de balanceadores de cargas: balanceadores de cargas de aplicación y balanceadores de cargas de red. Deberías elegir un balanceador de cargas de aplicaciones cuando necesites un balanceador de cargas de capa 7 para las aplicaciones con tráfico HTTP(S). Elige un balanceador de cargas de red cuando necesites un balanceador de cargas de capa 4 que admita la descarga de TLS (con un balanceador de cargas de proxy) o necesites compatibilidad con protocolos de IP como UDP, ICMP y ESP (con un balanceador de cargas de transferencia).

Balanceadores de cargas de aplicaciones

Los balanceadores de cargas de aplicaciones son balanceadores de cargas de capa 7 basados en proxy que te permiten ejecutar y escalar tus servicios detrás de cualquier dirección IP. El balanceador de cargas de aplicaciones distribuye el tráfico HTTP y HTTPS a los backends alojados en una variedad de Trusted Cloud plataformas, como Compute Engine y Google Kubernetes Engine (GKE), así como backends externos fuera deTrusted Cloud.

Los balanceadores de cargas de aplicaciones se pueden implementar de forma externa o interna, según si tu aplicación está orientada a Internet o es interna. En ambos casos, estos balanceadores de cargas admiten backends solo en una sola región.

En el siguiente diagrama, se muestra una arquitectura de balanceador de cargas de aplicaciones de ejemplo.

Arquitectura del balanceador de cargas de aplicaciones.
Arquitectura del balanceador de cargas de aplicaciones (haz clic para ampliar).

Balanceadores de cargas de red

Los balanceadores de cargas de red son balanceadores de cargas de capa 4 que pueden controlar TCP, UDP o algún otro tráfico de protocolo IP. Estos balanceadores de cargas están disponibles como balanceadores de cargas de proxy o balanceadores de cargas de transferencia. Puedes elegir un balanceador de cargas según las necesidades de tu aplicación y el tipo de tráfico que necesita controlar. Elige un balanceador de cargas de red de proxy si quieres configurar un balanceador de cargas de proxy inverso compatible con controles de tráfico avanzados y backends locales y en otros entornos de nube. Elige un balanceador de cargas de red de transferencia si quieres conservar la dirección IP de origen de los paquetes de cliente, prefieres el retorno directo del servidor para las respuestas o si quieres manejar una variedad de protocolos IP como TCP, UDP, ESP, GRE, ICMP y ICMPv6.

Balanceadores de cargas de red de proxy

Los balanceadores de cargas de red de proxy son balanceadores de cargas de proxy inverso de capa 4 que distribuyen el tráfico de TCP a instancias de máquina virtual (VM) en tu red de Trusted CloudVPC. El tráfico finaliza en la capa de balanceo de cargas y, luego, se reenvía al backend disponible más cercano mediante el TCP.

Los balanceadores de cargas de red del proxy se pueden implementar de forma externa o interna, según si tu aplicación está orientada a Internet o es interna. En ambos casos, estos balanceadores de cargas admiten backends solo en una sola región.

En el siguiente diagrama, se muestra una arquitectura de muestra del balanceador de cargas de red de proxy.

Arquitectura del balanceador de cargas de red de proxy.
Arquitectura del balanceador de cargas de red de proxy (haz clic para ampliar).

Balanceadores de cargas de red de transferencia

Los balanceadores de cargas de red de transferencia son balanceadores de carga de transferencia regionales de capa 4. Estos balanceadores de cargas distribuyen el tráfico entre backends en la misma región que el balanceador de cargas. Se implementan con las herramientas de redes virtuales de Andromeda y Google Maglev.

Como su nombre lo indica, estos balanceadores de cargas no son proxies. Las VMs de backend reciben paquetes con balanceo de cargas, direcciones IP de origen y destino, y el protocolo del paquete y, si el protocolo se basa en puertos, los puertos de origen y de destino sin cambios. Las conexiones con balanceo de cargas se finalizan en los backends. Las respuestas de las VMs de backend van directo a los clientes, no pasan a través del balanceador de cargas. El término del sector para esto es retorno directo del servidor (DSR).

Estos balanceadores de cargas, como se muestra en la siguiente imagen, se implementan en dos modos, según si el balanceador de cargas está orientado a Internet o es interno.

  • Los balanceadores de cargas de red de transferencia externos se basan en Maglev. Los clientes pueden conectarse a estos balanceadores de cargas desde cualquier lugar de Internet, independientemente de sus Niveles de servicio de red. El balanceador de cargas también puede recibir tráfico de Trusted Cloud VMs con direcciones IP externas o de Trusted Cloud VMs que tienen acceso a Internet a través de Cloud NAT o NAT basada en la instancia.

    Los backends para balanceadores de cargas de red de transferencia externos se pueden implementar a través de un servicio de backend o un grupo de destino. Para implementaciones nuevas, recomendamos usar servicios de backend.

  • Los balanceadores de cargas de red de transferencia internos se basan en la pila de virtualización de red de Andromeda. Un balanceador de cargas de red de transferencia interno te permite balancear la carga del tráfico de TCP/UDP detrás de una dirección IP de balanceo de cargas interna a la que solo pueden acceder los sistemas en la misma red de VPC o los sistemas conectados a tu red de VPC. Además, este balanceador de cargas solo se puede configurar en el nivel Premium.

En el siguiente diagrama, se muestra un ejemplo de arquitectura de un balanceador de cargas de red.

Arquitectura del balanceador de cargas de red de transferencia.
Arquitectura del balanceador de cargas de red de transferencia (haz clic para ampliar).

Tecnologías subyacentes de los Trusted Cloud balanceadores de cargas

En la siguiente tabla, se indica la tecnología subyacente sobre la que se basa cada balanceador de cargasTrusted Cloud .

  • Google Front Ends (GFEs) son sistemas distribuidos definidos por software que se ubican en puntos de presencia (PoP) de Google 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.
  • Envoy es un proxy de servicio y de código abierto, diseñado para aplicaciones nativas de la nube.
Balanceador de cargas Tecnología
Balanceador de cargas de aplicaciones externo regional Envoy
Balanceador de cargas de aplicaciones interno regional Envoy
Balanceador de cargas de red del proxy externo regional Envoy
Balanceador de cargas de red del proxy interno regional Envoy
Balanceador de cargas de red de transferencia externo Maglev
Balanceador de cargas de red de transferencia interno Andromeda

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. Como regla general, cuando necesites un conjunto de funciones flexibles para tus aplicaciones con tráfico HTTP(S), debes elegir un balanceador de cargas de aplicaciones. Y debes elegir un balanceador de cargas de red cuando necesites descarga de TLS a gran escala o compatibilidad con UDP, o si necesitas exponer direcciones IP de cliente a tus aplicaciones.

Puedes reducir aún más las opciones en función de si tu aplicación es externa (orientada a Internet) o interna.

En el siguiente diagrama, se muestran todos los modos de implementación disponibles para Cloud Load Balancing. Para obtener más información, consulta la guía Cómo elegir un balanceador de cargas.

Elige un balanceador de cargas.
Elige un balanceador de cargas (haz clic para ampliar).

Resumen de los tipos de Trusted Cloud balanceadores de cargas

En la siguiente tabla, se proporcionan detalles, como el nivel de servicio de red en el que opera cada balanceador de cargas, junto con su esquema de balanceo de cargas.

Balanceador de cargas Modo de implementación Tipo de tráfico Nivel de servicio de red Esquema de balanceo de cargas1
Balanceadores de cargas de aplicaciones Regional y externo HTTP o HTTPS Nivel Premium o Estándar EXTERNAL_MANAGED
Regional interno HTTP o HTTPS Nivel Premium INTERNAL_MANAGED
Balanceadores de cargas de red de proxy Regional y externo TCP Nivel Premium o Estándar EXTERNAL_MANAGED
Regional interno TCP sin descarga de SSL Nivel Premium INTERNAL_MANAGED
Balanceadores de cargas de red de transferencia

Externo

Siempre regional

TCP, UDP, ESP, ICMP, ICMPv6 y GRE Nivel Premium o Estándar EXTERNO

Interno

Siempre regional

TCP, UDP, ICMP, ICMPv6, SCTP, ESP, AH y GRE Nivel Premium INTERNAL

1 El esquema de balanceo de cargas es un atributo de la regla de reenvío y el servicio de backend de un balanceador de cargas y, luego, indica si el balanceador de cargas se puede usar para tráfico interno o externo.

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

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 comandosgcloud 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 deTrusted Cloud : Las tareas de balanceo de cargas se pueden realizar con la consola deTrusted 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: Puedes aprovisionar, actualizar y borrar la infraestructura de balanceo de cargas de Trusted Cloudcon una herramienta de código abierto de infraestructura como código, como Terraform.

¿Qué sigue?