Elastic Load Balancer (ELB) , tipos y caracteristicas

Clase 26 de 69Curso de AWS Certified Solutions Architect Associate

Resumen

La gestión eficiente del tráfico en aplicaciones web es crucial para mantener la disponibilidad del servicio, especialmente durante periodos de alta demanda. Un ejemplo destacado es NexiBank, que logró manejar más de 48 millones de peticiones sin interrupciones gracias a los balanceadores de carga de AWS. Esta tecnología no solo optimiza el rendimiento, sino que también garantiza una experiencia fluida para los usuarios finales, convirtiéndose en un componente esencial de la infraestructura moderna en la nube.

¿Qué son los balanceadores de carga elásticos (ELB) en Amazon?

Los balanceadores de carga elásticos o ELB (Elastic Load Balancers) son servicios de AWS diseñados para distribuir el tráfico entrante entre diferentes recursos de forma homogénea. Estos recursos pueden ser instancias EC2, contenedores en ECS, aplicaciones en EKS u otros servicios AWS.

La principal ventaja de utilizar balanceadores de carga es que proporcionan un punto único de entrada para todo el tráfico, el cual se distribuye siguiendo reglas específicas configuradas por el usuario. Esto evita la sobrecarga de recursos individuales, mejorando significativamente la disponibilidad del servicio y facilitando la escalabilidad.

¿Cuáles son los diferentes tipos de balanceadores de carga en AWS?

AWS ofrece cuatro tipos principales de balanceadores de carga, cada uno diseñado para diferentes necesidades:

  1. ALB (Application Load Balancer):

    • Opera en la capa 7 del modelo OSI (la capa de aplicación)
    • Es ideal para aplicaciones web estándar
    • No recomendado para aplicaciones que requieran tiempos de respuesta en submilisegundos
  2. NLB (Network Load Balancer):

    • Funciona en la capa 4 (capa de red)
    • Proporciona tiempos de respuesta mucho más rápidos
    • Perfecto para cargas de trabajo con altos requisitos de rendimiento y eficiencia
  3. GLB (Gateway Load Balancer):

    • Opera entre las capas 3 y 4
    • Menos común que los anteriores
    • Se utiliza principalmente para comunicar appliances de red como firewalls
  4. CLB (Classic Load Balancer):

    • Asociado a la versión anterior de instancias EC2 (EC2-Classic)
    • Generalmente no se usa para nuevos despliegues

¿Cómo funcionan los balanceadores en un entorno real?

Para ilustrar el funcionamiento de un balanceador de carga, consideremos un ejemplo práctico: una aplicación desplegada en una región de AWS con una VPC que contiene dos zonas de disponibilidad. Cada zona tiene una subred pública con dos instancias de aplicación (demo1 y demo2).

El balanceador de carga (ALB en este caso) actúa como punto de entrada para los usuarios. Cuando un usuario intenta acceder a la aplicación, el ALB decide si enviar el tráfico a la instancia demo1 o demo2, basándose en las reglas configuradas. Esta distribución inteligente garantiza un funcionamiento continuo incluso si una de las instancias presenta problemas.

¿Qué configuraciones podemos aplicar a los balanceadores de carga?

Los balanceadores de carga ofrecen diversas configuraciones para optimizar su funcionamiento:

  • Health Checks: Monitorizan constantemente el estado de las instancias conectadas. Si una instancia deja de responder, el balanceador deja de enviarle tráfico automáticamente, redirigiendo las peticiones a instancias funcionales y manteniendo así la disponibilidad del servicio.

  • SSL/TLS Offloading: Permite gestionar el cifrado y descifrado de conexiones HTTPS, liberando a las instancias de esta carga computacional.

  • Sticky Sessions: Esta configuración asegura que las conexiones de un usuario específico siempre se dirijan a la misma instancia, reduciendo la latencia al mantener los datos de sesión cargados en memoria.

  • Cross-Zone Load Balancing: Permite que un único balanceador distribuya tráfico entre diferentes zonas de disponibilidad dentro de la misma región.

¿Cómo se integran los balanceadores con otros servicios de AWS?

Una de las principales ventajas de los balanceadores de carga en AWS es su integración nativa con otros servicios de computación de la plataforma. Esto incluye:

  • Instancias EC2
  • Contenedores en ECS
  • Cargas de trabajo en EKS (Kubernetes)

Esta integración se produce de forma transparente, sin necesidad de configuraciones adicionales complejas. El balanceador simplemente distribuye el tráfico según las reglas definidas por el administrador, facilitando enormemente la gestión de infraestructuras complejas.

Los balanceadores de carga representan una herramienta fundamental para garantizar la disponibilidad y escalabilidad de aplicaciones en entornos cloud. Su capacidad para distribuir eficientemente grandes volúmenes de tráfico los convierte en un componente crítico para cualquier arquitectura robusta en AWS. ¿Has utilizado balanceadores de carga en tu trabajo? Comparte en los comentarios qué casos de uso específicos de tu organización podrían beneficiarse de esta tecnología.