Balanceo de Carga en AWS: Tipos y Usos Prácticos

Clase 24 de 80Curso AWS Cloud Practitioner Certification

Resumen

¿Qué es el balanceo de carga?

El balanceo de carga es un concepto fundamental en la arquitectura de sistemas en la nube. Su función principal es recibir el tráfico de Internet y distribuirlo entre múltiples destinos, que en Amazon Web Services (AWS) se llaman de destino o "Targets". Este mecanismo asegura que ninguna máquina se sobrecargue mientras que otras permanecen inactivas. Este equilibrio permite una utilización más eficiente de los recursos y mejora la experiencia del usuario al reducir tiempos de respuesta y aumentar la disponibilidad del servicio.

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

AWS ofrece varios tipos de balanceadores para satisfacer diferentes necesidades y escenarios. Es fundamental entenderlos para tomar decisiones informadas sobre cuál usar en cada situación.

  • Balanceador de aplicación: Funciona en la capa 7 del modelo OSI, la capa de aplicación. Es ideal para recibir tráfico HTTP/HTTPS (puertos 80 y 443) e incluso GRPC. Este tipo de balanceador se utiliza cuando se trata de tráfico a nivel de aplicación y permite tener un enrutamiento fino hacia los destinos.

  • Balanceador de red: Opera en la capa 4 del modelo OSI y utiliza protocolos de transporte como TCP y UDP. Está diseñado para aplicaciones donde se requiere manejar millones de peticiones por segundo, proporcionando dos direcciones IP estáticas y una alta disponibilidad a través de diferentes zonas de disponibilidad.

  • Balanceador tipo Gateway: Se enfoca en la capa 3 del modelo OSI, centrada en los paquetes IP. Está destinado a la seguridad, ya que dirige el tráfico hacia firewalls y herramientas de detección de intrusos.

  • Balanceador clásico: Aunque solía ser común, actualmente está en desuso y no se recomienda su elección en los exámenes o en implementaciones en la vida real.

¿Cómo se usa un balanceador de carga en la práctica?

Vamos a imaginar el caso de Platzi.com, donde tenemos tres servidores ejecutando la aplicación. Los usuarios que acceden al sitio son gestionados por el balanceador de carga, que se ubica entre ellos y los servidores. Aquí es donde entra en juego la magia del balanceo de carga. El balanceador recibe el tráfico y realiza "health checks" o comprobaciones de salud para asegurarse de que cada servidor está listo para recibir tráfico.

  • Comprobaciones de salud (health checks): Antes de enviar tráfico, el balanceador verifica la salud de los servidores preguntándoles si están operativos. Si un servidor responde con un HTTP 200, el balanceador entiende que está saludable. En caso contrario, redirige el tráfico a otro servidor disponible.

  • Distribución equitativa: El balanceador debe manejar el tráfico de manera equitativa, distribuyéndolo entre los servidores A, B y C, asegurando así que ninguno esté sobrecargado.

¿Cuándo usar cada tipo de balanceador en AWS?

La elección del tipo de balanceador depende de las características y requerimientos específicos de tu aplicación. A continuación, algunos escenarios y recomendaciones:

  • Para aplicaciones web estándar: Utiliza el balanceador de aplicación si estás manejando tráfico web común (HTTP/HTTPS) y necesitas enrutamiento detallado.

  • Para aplicaciones que requieren alto rendimiento: Opta por un balanceador de red si tu aplicación necesita manejar grandes volúmenes de tráfico con alta velocidad.

  • Para seguridad avanzada: Elige un balanceador tipo Gateway cuando necesites dirigir el tráfico hacia herramientas de seguridad para inspección y protección.

Cada balanceador tiene casos de uso específicos, y comprender estas diferencias es clave para optimizar la infraestructura en la nube. ¡Recuerda que la práctica y la experiencia son tus mejores aliados para dominar estos conceptos!