¿Cuál es la diferencia entre el equilibrio de carga de aplicaciones, redes y puertas de enlace?


¿Cuál es la diferencia entre el equilibrio de carga de aplicaciones, redes y puertas de enlace?

El equilibrador de carga de aplicación (ALB), el equilibrador de carga de red (NLB) y el equilibrador de carga de puertas de enlace (GLB) son tres tipos de equilibradores de carga que se usan en la nube. El equilibrio de carga es el proceso de distribuir el tráfico de red de manera equitativa en un conjunto de recursos que admiten una aplicación. Las aplicaciones modernas procesan millones de usuarios simultáneamente. Estos volúmenes elevados de tráfico requieren muchos servidores de recursos con datos duplicados. Para redirigir el tráfico de la aplicación, los ALB examinan el contenido solicitado, como los encabezados HTTP o los ID de sesión SSL. Los NLB examinan las direcciones IP y otra información de red para redirigir el tráfico de manera óptima. Los GLB actúan como una puerta de enlace de red transparente (un único punto de entrada y salida para todo el tráfico) y distribuyen el tráfico a la vez que escalan los dispositivos virtuales según la demanda.

Obtenga más información sobre el equilibrado de carga

Cómo funcionan: ALB en comparación con NLB en comparación con GLB

Los ALB, NLB y GLB proporcionan funciones diferentes. Debido a esto, funcionan de maneras ligeramente diferentes e incluyen componentes distintos. 

Cómo funciona un equilibrador de carga de aplicación

Los ALB distribuyen el tráfico entrante entre varios destinos, como las instancias de EC2. Por ejemplo, una aplicación de comercio electrónico tiene un directorio de productos, un carrito de compras y funciones de pago. El ABL envía solicitudes para explorar productos a servidores que contienen imágenes y videos, pero que no necesitan mantener conexiones abiertas. En comparación, envía solicitudes de carrito de compras a servidores que pueden mantener muchas conexiones de clientes y guardar los datos del carro durante mucho tiempo.

El ALB tiene un componente de oyente que comprueba las solicitudes de conexión de los clientes. Puedes definir reglas de un agente de escucha para determinar cómo el equilibrador de carga enruta las solicitudes a sus destinos registrados. Un grupo de destinos clasifica los destinos registrados en grupos. Puede definir reglas para enrutar el tráfico común a todo un grupo. Por ejemplo, puede crear un grupo de destinos para las solicitudes generales y otros grupos de destinos para las solicitudes a los microservicios de su aplicación.

El siguiente diagrama muestra cómo funciona un ALB.

Cómo funciona un equilibrador de carga de red

Los NLB distribuyen el tráfico en función de las condiciones de la red. Por ejemplo, si tiene varios servidores de bases de datos con datos duplicados, el NLB enruta el tráfico en función de las direcciones IP predeterminadas del servidor o de la disponibilidad del servidor.

El NLB monitorea el estado de sus destinos registrados y desvía el tráfico únicamente hacia los destinos en buen estado. Una vez que el equilibrador de carga recibe una solicitud de conexión, selecciona un destino del grupo de destino para la regla predeterminada. Intenta abrir una conexión TCP con el destino seleccionado en el puerto especificado en la configuración del agente de escucha. Cada conexión TCP individual se enruta a un único destino durante la duración de la conexión. Del mismo modo, también puede enrutar un flujo UDP de forma coherente a un único destino durante su vida útil. 

Cómo funciona el equilibrador de carga de puerta de enlace

Con un GLB, puede implementar, administrar y escalar dispositivos virtuales, como los sistemas de detección y prevención de intrusiones, firewalls y sistemas de inspección profunda de paquetes. Crea un único punto de entrada y salida para todo el tráfico de los dispositivos y escala los dispositivos virtuales en función de la demanda. También puede usarlo para intercambiar tráfico a través de los límites de la nube virtual privada (VPC). 

En el caso del GLB, las reglas se establecen mediante tablas de enrutamiento. En función de las reglas configuradas, selecciona diferentes grupos de destino a los que reenviar el tráfico. Recibe paquetes IP y reenvía el tráfico a grupos de destino específicos.

Diferencias clave: ALB en comparación con NLB en comparación con GLB

Los ALB, NLB y GLB funcionan en diferentes capas de la comunicación de su red. Un ALB opera en la séptima capa de OSI y permite la manipulación y el enrutamiento del tráfico a nivel de aplicación. Un NLB opera en la cuarta capa para la administración del tráfico a nivel de red basada en los puertos y las direcciones IP. Un GLB funciona entre la tercera y séptima capa, proporcionando servicios de equilibrado y enrutamiento a nivel de red junto con la funcionalidad de puerta de enlace.

Obtenga más información sobre el modelo OSI

Estas son otras diferencias clave entre los ALB, los NLB y los GLB.

Tipos de destino

El tipo de destino es el punto de conexión hacia donde cada uno de estos equilibradores de carga dirige el tráfico. Un ALB funciona con direcciones IP, instancias y tipos de destino de AWS Lambda. Los NLB funcionan con direcciones IP e instancias, y también pueden enrutar el tráfico a un ALB para solicitudes más complejas. Los GLB funcionan con direcciones IP y tipos de destino de instancias.

Obtenga más información sobre las instancias de computación en la nube

Comportamiento del proxy

La acción que realiza un equilibrador de carga cuando recibe una solicitud de cliente depende de una de estas dos cosas:

  • Si el equilibrador de carga actúa como proxy y luego finaliza la conexión del cliente
  • Si reenvía la solicitud sin finalizar el flujo

La finalización del flujo permite a los equilibradores de carga realizar funciones adicionales de administración del tráfico, como la finalización de SSL, la persistencia de las sesiones y el enrutamiento basado en contenido. 

Un ALB finaliza la conexión del cliente y, a continuación, establece una nueva conexión, que actúa como proxy. Un NLB también finaliza la conexión del cliente y crea una nueva en representación del cliente. Sin embargo, un GLB no actúa como proxy ni finaliza la conexión, sino que reenvía el tráfico directamente.

Protocolos

Estos equilibradores de carga admiten diferentes protocolos para gestionar tipos específicos de tráfico y realizar funciones avanzadas. Los ALB admiten los protocolos HTTP, HTTPS y gRPC para el tráfico basado en la web. Un NLB admite los protocolos TCP, UDP y TLS, que cubren las distribuciones de tráfico a nivel de red. Por último, un GLB cubre el enrutamiento basado en IP y administra cualquier protocolo basado en IP. 

Algoritmos

Estos equilibradores de carga utilizan diferentes tipos de algoritmos para distribuir el tráfico de manera uniforme entre sus destinos. Un ALB utiliza un algoritmo de turnos rotativos de forma predeterminada, que enruta el tráfico uno tras otro. Sin embargo, un NLB usa un algoritmo de hash de flujo para que el tráfico se dirija a destinos específicos de una manera predeterminada. Un GLB utiliza búsquedas en la tabla de enrutamiento para determinar hacia dónde enrutar el tráfico. 

Cuándo utilizar: ALV en comparación con NLB en comparación con GLB

Un ALB es una buena opción cuando se necesita una administración y un enrutamiento del tráfico flexibles a nivel de aplicación. Funciona mejor con microservicios, entornos en contenedores y aplicaciones web. Sus características, como la terminación de SSL, la persistencia de las sesiones y el enrutamiento basado en contenido, le permiten ofrecer asistencia en situaciones de enrutamientos complejos. 

Un NLB es ideal para un equilibrado de nivel de red escalable, de alto rendimiento y baja latencia. Las aplicaciones que distribuyen el tráfico en la capa de transporte utilizan NLB, especialmente teniendo en cuenta su fiabilidad. Los sistemas de videojuegos, los servicios de transmisión multimedia y los principales sistemas de IoT utilizan NLB. 

Un GLB es ideal para equilibrar cargas a nivel de puerta de enlace de red. Por ejemplo, un GLB funciona bien si administra el tráfico entre los entornos locales y en la nube o en diferentes regiones. Debido a que combina el equilibrado de la tercera y cuarta capa de OSI, puede enrutar el tráfico entre distintas regiones y redes. Dado que admite el enrutamiento basado en IP, puede distribuir el tráfico entre las puertas de enlace virtuales, por lo que puede ofrecer una alta escalabilidad y disponibilidad.

Resumen de las diferencias: ALB en comparación con NLB en comparación con GLB

 

Equilibrador de carga de aplicación (ALB)

Equilibrador de carga de red (NLB)

Equilibrador de carga de puerta de enlace (GLB)

Capa OSI

Funciona en la capa 7, la capa de aplicación.

Funciona en la capa 4, la capa de transporte.

Funciona en la capa de red y las capas 3 y 7.

Tipos de destino

Funciona con los tipos de destino IP, instancia y lambda.

Funciona con los tipos de destino IP, instancia y ALB.

Funciona con los tipos de destino IP e instancia.

Comportamiento del proxy

Fin de la conexión.

Fin de la conexión.

No interrumpe el flujo.

Protocolos

Admite los protocolos HTTP, HTTPS y gRPC.

Admite los protocolos TCP, UDP y TLS.

Admite el enrutamiento basado en IP. 

Algoritmos

Turno rotativo.

Hash de flujo.

Búsqueda en la tabla de enrutamiento.

¿Cómo puede ayudarlo AWS con sus requisitos de equilibrio de carga?

Elastic Load Balancing (ELB) es un servicio de equilibrio de carga totalmente administrado. Distribuye automáticamente el tráfico de aplicaciones entrantes a varios objetivos y dispositivos virtuales entre los recursos locales y de Amazon Web Services (AWS). Además, admite el equilibrio de cargas entre zonas en todas las regiones de AWS. Puede utilizar ELB para configurar ALB, NLB o GLB según sus necesidades. 

El ALB es un componente del ELB. ELB también es compatible con NLB, GLB y equilibrador de carga clásico. Estos equilibradores de carga son puntos de contacto con los clientes y ayudan a mejorar la escalabilidad de las aplicaciones con una administración segura. Puede elegir uno o varios equilibradores de carga y configurarlos al configure el ELB para su entorno de nube.

Para comenzar a utilizar el equilibrador de carga, cree una cuenta de AWS hoy mismo.