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. Usa nuestros balanceadores de cargas de proxy globales para distribuir millones de solicitudes por segundo entre backends en varias regiones con nuestra flota de Google Front End en más de 80 ubicaciones distintas en todo el mundo, todas con una dirección IP anycast única. Implementa un control jurisdiccional sólido con nuestros balanceadores de cargas de proxy regionales y mantén los backends y proxies en la región que elijas sin preocuparte por la descarga de TLS/SSL. Usa nuestros balanceadores de cargas de transferencia 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).

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

  • 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 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. Puedes usar el balanceo de cargas externo cuando los usuarios lleguen a tus aplicaciones desde Internet. Puedes usar el balanceo de cargas interno cuando tus clientes se encuentren dentro de Google Cloud.

  • Balanceo de cargas global y regional. Puedes distribiuir 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 IPv6, el direccionamiento del tráfico basado en la IP de origen, el balanceo de cargas ponderado, los WebSockets, los encabezados de solicitudes definidos por el usuario y el reenvío de protocolos para direcciones IP virtuales (VIP).

    También incluye las siguientes integraciones:

    • Integración en Cloud CDN para la publicación de contenido en caché. Cloud CDN es compatible con el balanceador de cargas de aplicaciones externo global y con el balanceador de cargas de aplicaciones clásico.
    • Integración en Google Cloud Armor para proteger tu infraestructura de ataques de denegación de servicio distribuido (DDoS) y otros ataques a aplicaciones dirigidas a aplicaciones. La protección contra DDoS siempre activa está disponible para el balanceador de cargas de aplicaciones externo global, el balanceador de cargas de aplicaciones clásico, el balanceador de cargas de red de proxy externo y el balanceador de cargas de red de transferencia externo. Además, Google Cloud Armor admite la protección contra DDoS de red avanzada solo para los balanceadores de cargas de red de transferencia externos. Para obtener más información, consulta Configura la protección contra DDoS de red avanzada.

Tipos de 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 plataformas de Google Cloud, como Compute Engine y Google Kubernetes Engine (GKE), así como backends externos a Google 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:

  • Los balanceadores de cargas de aplicaciones externas se implementan como servicios administrados en Google Front End (GFE) o proxies de Envoy. Los clientes pueden conectarse a estos balanceadores de cargas desde cualquier lugar de Internet. Ten en cuenta la siguiente información:

    • Estos balanceadores de cargas se pueden implementar en los siguientes modos: global, regional o clásico.
      • Los balanceadores de cargas de aplicaciones externos globales admiten backends en varias regiones.
      • Los balanceadores de cargas de aplicaciones externos regionales admiten backends en una sola región.
      • Los balanceadores de cargas de aplicaciones clásicos son globales en el nivel Premium, pero se pueden configurar para que sean regionales de forma eficaz en el nivel Estándar.
    • Los balanceadores de cargas de aplicaciones usan el proxy de Envoy de código abierto para habilitar las funciones avanzadas de administración del tráfico.
  • Los balanceadores de cargas de aplicaciones internos se basan en la pila de virtualización de red de Andromeda y 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. El balanceador de cargas usa 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. Ten en cuenta lo siguiente:

    • Estos balanceadores de cargas se pueden implementar en los siguientes modos: regional o interregional.
    • Los balanceadores de cargas de aplicaciones internos regionales admiten backends solo en una sola región.
    • Los balanceadores de cargas de aplicaciones internos interregionales (vista previa) admiten backends en varias regiones y siempre son accesibles de forma global. Los clientes de cualquier región de Google Cloud pueden enviar tráfico al balanceador de cargas.

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 la red de VPC de Google Cloud. 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. Estos balanceadores de cargas se implementan como servicios administrados en los GFE.

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.

  • Los balanceadores de cargas de red de proxy externos son balanceadores de cargas de capa 4 que distribuyen el tráfico que proviene de Internet a los backends en la red de VPC de Google Cloud de forma local o en otros entornos de nube.

    Estos balanceadores de cargas se pueden implementar en los siguientes modos: global, regional o clásico.

    • Los balanceadores de cargas de red del proxy externo global admiten backends en varias regiones.
    • Los balanceadores de cargas de red del proxy externo regionales admiten backends en una sola región.
    • Los balanceadores de cargas de red del proxy clásico son globales en el nivel Premium, pero se pueden configurar para que sean regionales de forma eficaz en el nivel Estándar.
  • Los balanceadores de cargas de red de proxy internos son balanceadores de cargas regionales de capa 4 de Envoy que te permiten 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.

    Estos balanceadores de cargas se pueden implementar en uno de los siguientes modos: regional o interregional.

    • Los balanceadores de cargas de red del proxy internos regionales admiten backends en una sola región.
    • Los balanceadores de cargas de red de proxy internos interregionales (vista previa) admiten backends en varias regiones y siempre son accesibles. Los clientes de cualquier región de Google Cloud pueden enviar tráfico al balanceador de cargas.

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 mediante las redes virtuales de Andromeda y Google Maglev.

Tal como lo sugiere el nombre, 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 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 las VMs de Google Cloud con direcciones IP externas o de las VMs de Google Cloud 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).

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 los requisitos de tu aplicación, por ejemplo, si es una app externa (orientada a Internet) o interna, si necesitas backends implementados de forma global o regional y si necesitas Premium o Nivel de servicio de red Estándar.

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

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

1 Los balanceadores de cargas de aplicaciones externos globales admiten dos modos de operación: global y clásica.

2 Los balanceadores de cargas de red del proxy externos globales admiten dos modos de operación: global y clásico.

3 Los balanceadores de cargas de red de transferencia conservan las direcciones IP de origen del cliente. Los balanceadores de cargas de red de transferencia también admiten protocolos adicionales como UDP, ICMP y ESP.

Resumen de tipos de balanceadores de carga de Google Cloud

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

Balanceador de cargas Modo de implementación Tipo de tráfico Nivel de servicio de red Esquema de balanceo de cargas
Balanceadores de cargas de aplicaciones Global externo HTTP o HTTPS Nivel Premium EXTERNAL_MANAGED
Regional y externo HTTP o HTTPS Nivel Premium o Estándar EXTERNAL_MANAGED
Clásica HTTP o HTTPS

Global en el nivel Premium

Regional en el nivel Estándar

EXTERNO
Regional interno HTTP o HTTPS Nivel Premium INTERNAL_MANAGED
Interno entre regiones HTTP o HTTPS Nivel Premium INTERNAL_MANAGED
Balanceadores de cargas de red de proxy Global externo TCP con transferencia de SSL opcional Nivel Premium EXTERNAL_MANAGED
Regional y externo TCP Nivel Premium o Estándar EXTERNAL_MANAGED
Clásica TCP con transferencia de SSL opcional

Global en el nivel Premium

Regional en el nivel Estándar

EXTERNO
Regional interno TCP sin descarga de SSL Nivel Premium INTERNAL_MANAGED
Interno entre regiones 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

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 *_MANAGED en el esquema de balanceo de cargas indica que el balanceador de cargas se implementa como un servicio administrado en Google Front End (GFE) o en el código abierto Proxy de Envoy. En un esquema de balanceo de cargas que es *_MANAGED, 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 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: Puedes aprovisionar, actualizar y borrar 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?