Descripción general de Cloud Load Balancing

Un balanceador de cargas distribuye el tráfico del usuario en varias instancias de tus aplicaciones. Cuando se distribuye la carga, el balanceo de cargas reduce el riesgo de que las aplicaciones se sobrecarguen, sean lentas o no funcionen.

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 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 regional 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. Luego, un balanceador de cargas interno distribuye el tráfico entre las zonas us-central-1a y us-central-1b.

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 HTTP(S) externo
    • Balanceo de cargas HTTP(S) interno
  • Para el tráfico de TCP, usa:
    • Balanceo de cargas del proxy TCP
    • Balanceo de cargas de red
    • Balanceo de cargas 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
Balanceador de cargas 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 cargar el saldo a varios NIC en el mismo backend.
Balanceador de cargas 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. Las VM de backend de nic0 deben estar en la misma red y región que usa la regla de reenvío.
Balanceador de cargas HTTP(S) externo, balanceador de cargas del proxy SSL, balanceador 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.

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 agrandar)
  • 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 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 privada que actúa como frontend en tus instancias de backend.

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 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 más cercano que tenga capacidad y termina el tráfico HTTP(S) lo más cerca posible de sus usuarios.

Balanceo de cargas TCP/UDP interno

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

Próximos pasos

  • Para ayudarte a determinar cuál es el balanceador de cargas de Google Cloud que mejor satisface tus necesidades, consulta Elige un balanceador de cargas.