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

Con Cloud Load Balancing, puedes entregar contenido lo más cerca posible a tus usuarios en un sistema que pueda responder a más de un millón de consultas por segundo.

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:

  • Una sola dirección IP para usar como frontend
  • Ajuste de escala automático inteligente de tus backends
  • Balanceo de cargas externo para cuando tus usuarios lleguen a tus aplicaciones desde Internet
  • Balanceo de cargas interno para cuando tus clientes se encuentren dentro de Google Cloud
  • Balanceo de cargas regional para cuando tus aplicaciones estén disponibles en una sola región
  • Balanceo de cargas global para cuando tus aplicaciones estén disponibles en todo el mundo
  • Balanceo de cargas de traspaso (consulta también retorno directo del servidor [DSR] o enrutamiento directo)
  • Balanceo de cargas basado en proxy (como alternativa al traspaso)
  • 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 dirección IP y puerto TCP o UDP
  • Balanceo de cargas basado en la capa 7 para agregar decisiones de enrutamiento basadas en el contenido en función de atributos, como el encabezado HTTP y el identificador uniforme de recursos
  • Integración con Cloud CDN para la publicación de contenido en caché

Para obtener una lista más completa de funciones, consulta Funciones del balanceador de cargas.

Tipos de Cloud Load Balancing

En la siguiente tabla, se resumen las funciones de cada balanceador de cargas de Google Cloud, incluido si el balanceador de cargas usa una dirección IP interna o externa, si el balanceador de cargas es regional o global y los tipos de tráfico y niveles de servicio de red admitidos.

Interna o externa Regional o global Niveles de red admitidos Proxy o de traspaso Tipo de tráfico Tipo de balanceador de cargas
Interna Regional Premium solamente De traspaso TCP o UDP TCP/UDP interno
Regional Premium solamente Proxy HTTP o HTTPS HTTP(S) interno
Externo Regional Premium o Estándar De traspaso TCP o UDP Red TCP/UDP
Global en el nivel Premium

Efectivamente regional 1 en el nivel Estándar
Premium o Estándar Proxy TCP Proxy TCP
Premium o Estándar Proxy SSL Proxy SSL
Premium o Estándar Proxy HTTP o HTTPS HTTP(S) externo

1Efectivamente regional significa que, si bien el servicio de backend es global, si eliges el nivel Estándar, la regla de reenvío externo y la dirección IP externa deben ser regionales, y los grupos de instancias de backend o los grupos de extremos de red (NEG) conectados al servicio de backend global deben estar en la misma región que la regla de reenvío y la dirección IP. A fin de obtener más información, consulta Configura el nivel Estándar para el balanceo de cargas HTTP(S) y proxy TCP/SSL.

Diferencias entre el balanceo de cargas global y el regional

Usa el balanceo de cargas global cuando tus backends se distribuyan en varias regiones, tus usuarios necesiten acceso a las mismas aplicaciones y contenido, y quieras proporcionar acceso mediante una sola dirección IP anycast. El balanceo de cargas global también puede proporcionar la terminación de IPv6.

Usa el balanceo de cargas regional cuando tus backends se encuentren en una región y solo necesites la terminación de IPv4.

Diferencias entre el balanceo de cargas interno y el externo

Los balanceadores de cargas de Google Cloud se pueden dividir en balanceadores de cargas internos y externos:

  • Los balanceadores de cargas externos distribuyen el tráfico proveniente de Internet a tu red de nube privada virtual (VPC) de Google Cloud. El balanceo de cargas global requiere que uses el nivel Premium de los Niveles de servicio de red. Para el balanceo de cargas regional, puedes usar el nivel Estándar.

  • Los balanceadores de cargas internos distribuyen el tráfico a instancias dentro de Google Cloud.

Tipos de balanceo de cargas interno y externo (haz clic para ampliar)
Tipos de balanceo de cargas interno y externo (haz clic para ampliar)

En el siguiente diagrama, se ilustra un caso práctico común: cómo usar el balanceo de cargas interno y externo al mismo tiempo. En la ilustración, el tráfico de los usuarios en San Francisco, Iowa y Singapur se dirige a un balanceador de cargas externo, que distribuye ese tráfico a diferentes regiones en una red de Google Cloud. Dos balanceadores de cargas internos distribuyen el tráfico dentro de las dos regiones: us-central1 y asia-east1. Dentro de us-central1, ese balanceador de cargas interno distribuye el tráfico entre dos zonas: us-central1-a y us-central1-b.

Cómo trabajan juntos el balanceo de cargas interno y externo (haz clic para ampliar)
Cómo trabajan juntos el balanceo de cargas interno y externo (haz clic para ampliar)

Tipo de tráfico

El tipo de tráfico que necesitas que controle tu balanceador de cargas es otro factor para determinar qué balanceador de cargas usar:

  • Para el tráfico HTTP y HTTPS, usa:
    • Balanceo de cargas de HTTP(S) externo
    • Balanceo de cargas de HTTP(S) interno
  • Para el tráfico de TCP, usa:
    • Balanceo de cargas del proxy TCP
    • Balanceo de cargas de red
    • Balanceo de cargas de TCP/UDP interno
  • Para el tráfico de UDP, usa:
    • Balanceo de cargas de red
    • Balanceo de cargas TCP/UDP interno

Región y red de backend

La siguiente tabla resume la compatibilidad con backends que residen en diferentes redes de VPC. En la tabla, también se proporciona información sobre la compatibilidad con el balanceo de cargas de varios NIC.

Tipo de balanceador de cargas Región y red de backend Notas de varios NIC
Balanceo de cargas de TCP/UDP interno Todos los backends deben estar en la misma red de VPC y en la misma región que el servicio de backend. El servicio de backend también debe estar en la misma región y red de VPC que la regla de reenvío. Si usas varios balanceadores de cargas, puedes realizar un balanceo de cargas a varios NIC en el mismo backend.
Balanceo de cargas de HTTP(S) interno Todos los backends deben estar en la misma red de VPC y en la misma región que el servicio de backend. El servicio de backend también debe estar en la misma región y red de VPC que la regla de reenvío. La nic0 de la VM de backend debe estar en la misma red y región que usa la regla de reenvío.
Balanceo de cargas de HTTP(S), balanceo de cargas del proxy SSL, balanceo de cargas del proxy TCP En el nivel Premium: los backends pueden estar en cualquier región y cualquier red de VPC.

En el nivel Estándar: los backends deben estar en la misma región que la regla de reenvío, pero pueden estar en cualquier red de VPC.
El balanceador de cargas solo envía tráfico a la primera interfaz de red (nic0), independientemente de la red de VPC en la que esté nic0.

Reglas de firewall

En la siguiente tabla, se resumen las reglas de firewall mínimas requeridas para el acceso del balanceador de cargas.

Tipo de balanceador de cargas Reglas de firewall de entrada mínimas requeridas Resumen Ejemplo
Balanceo de cargas HTTP(S) externo
  • Rangos de verificación de estado
Descripción general Ejemplo
Balanceo de cargas HTTP(S) interno
  • Rangos de verificación de estado
  • Subred de solo proxy
Descripción general Ejemplo
Balanceo de cargas TCP/UDP interno
  • Rangos de verificación de estado
  • Direcciones IP de origen internas de los clientes
Descripción general Ejemplo
Balanceo de cargas del proxy SSL
  • Rangos de verificación de estado
Descripción general Ejemplo
Balanceo de cargas del proxy TCP
  • Rangos de verificación de estado
Descripción general Ejemplo
Balanceo de cargas de red
  • Rangos de verificación de estado
  • Direcciones IP de origen externas de clientes en Internet
    (por ejemplo, 0.0.0.0/0 o un conjunto específico de rangos)
Descripción general Ejemplo

Protecciones contra DSD para balanceadores de cargas externos

Google Cloud proporciona diferentes protecciones contra DSD, según el tipo de balanceador de cargas.

Balanceadores de cargas externos basados en proxy

Todos los balanceadores de cargas externos basados en proxy de Google Cloud heredan automáticamente la protección contra DSD de Google Front End (GFE), que forma parte de la infraestructura de producción de Google.

Además de la protección DSD automática que proporcionan los GFE, puedes configurar Google Cloud Armor para balanceadores de cargas HTTP(S) externos.

Balanceadores de cargas externos de traspaso

El único balanceador de cargas externo de traspaso es el balanceador de cargas de red. Estos balanceadores de cargas se implementan con la misma infraestructura de enrutamiento de Google que se usa a fin de implementar direcciones IP externas para las VM de Compute Engine. Para el tráfico entrante a un balanceador de cargas de red, Google Cloud limita los paquetes entrantes por VM.

Para obtener más información, consulta entrada a destinos de direcciones IP externas.

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.

Tipos de balanceo de cargas interno y externo y la tecnología subyacente (haz clic para agrandar)
Tipos de balanceo de cargas interno y externo y la tecnología subyacente (haz clic para ampliar)
  • 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.

Balanceo de cargas de 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 de cargas 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 interfaz para tus backends.

Balanceo de cargas de HTTP(S) externo

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

Balanceo de cargas de 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 IP entrantes, que incluyen la dirección, el puerto y el tipo de protocolo. Es un sistema de balanceo de cargas sin proxy regional. Usa el balanceo de cargas de red para el tráfico de UDP, y para el tráfico de TCP y SSL en los puertos que no son compatibles con los balanceadores de cargas de proxy SSL y TCP. Un balanceador de cargas de red es un balanceador de cargas de traspaso que no permite las conexiones de proxy de los clientes.

Balanceo de cargas del proxy 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 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 a través de las siguientes interfaces:

  • La herramienta de línea de comandos de gcloud: 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 de gcloud compute.

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

    gcloud compute http-health-checks create --help
    
  • Google Cloud Console: las tareas de balanceo de cargas se pueden realizar a través de Google 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 para ti.

Qué sigue

  • Si deseas obtener ayuda para determinar qué balanceador de cargas de Google Cloud satisface mejor tus necesidades, consulta Elige un balanceador de cargas.