Configuración de Balanceador de Carga en AWS EC2

Clase 28 de 80Curso AWS Cloud Practitioner Certification

Resumen

¿Cómo configurar un balanceador de carga en AWS?

La implementación de un balanceador de carga de aplicaciones (Application Load Balancer o ALB) en AWS es crucial para distribuir equitativamente el tráfico entre varias instancias. Este proceso es esencial para mejorar tanto la disponibilidad como la resiliencia de aplicaciones en la nube. En este artículo, exploraremos detalladamente cómo configurar un ALB, paso a paso, utilizando la consola de AWS.

¿Cuál es el balanceador de carga adecuado a utilizar?

AWS ofrece diversas opciones de balanceadores, cada uno destinado para diferentes propósitos:

  • Application Load Balancer (ALB): Ideal para aplicaciones web, operando a nivel capa 7.
  • Network Load Balancer (NLB): Diseñado para aplicaciones que requieren realizar un balanceo de carga a nivel capa 4.
  • Gateway Load Balancer (GLB): Se utiliza principalmente para ejecutar tareas que requieran la integración con firewalls y herramientas de seguridad.

Para aplicaciones web, especialmente aquellas que manejan tráfico HTTP/HTTPS, el ALB es el más adecuado.

¿Cómo se configura un Application Load Balancer?

  1. Navegar a EC2 en la consola de AWS:

    • Desde la consola de AWS, buscar y seleccionar "EC2" en el menú.
    • En el lado izquierdo, seleccionar la opción "Load Balancers".
    • Hacer clic en "Create Load Balancer".
  2. Seleccionar el tipo de balanceador de carga:

    • Elegir "Application Load Balancer" y hacer clic en "Create".
    • Nombrar el balanceador, por ejemplo, "mi-primer-ALB".
    • Elegir si será público o privado; en este caso, seleccionar "internet facing".
    • Seleccionar el tipo de dirección IP, aquí trabajamos con "IPv4".
  3. Configurar las subredes y VPC:

    • Cambiar la VPC por "mi primer VPC".
    • Seleccionar las subredes en las zonas de disponibilidad adecuadas (Pública 1 y Pública 2).
  4. Configurar el Security Group:

    • Crear un nuevo grupo de seguridad (Security Group), por ejemplo, "SG-ALB".
    • Añadir reglas para permitir tráfico HTTP desde cualquier dirección IP.
  5. Definir parámetros del listener:

    • Un "listener" es dónde el ALB 'escucha' tráfico entrante; configurar para que el ALB escuche por el puerto HTTP 80.
  6. Crear un grupo de destino (Target Group):

    • Definir cómo se manejan los destinatarios del tráfico (instancias).
    • Nombrar el grupo de destino, por ejemplo, "mi-primer-target".
    • Configurar el Health Check para verificar el estado de las instancias.

¿Cómo asegurar que las instancias están saludables?

El balanceador utiliza Health Checks para comunicarse con las instancias:

  • Healthy Threshold: Define el número de respuestas positivas necesarias para declarar una instancia como saludable.
  • Unhealthy Threshold: Número de respuestas negativas antes de considerarla no saludable.
  • Timeout: Tiempo que espera el balanceador antes de parar de enviar tráfico si la instancia no responde.
  • Intervalo: Tiempo entre cada Health Check.
  • Respuesta esperada: Un HTTP 200 indica que la instancia está funcionando correctamente.

¿Qué hacer después de configurar el balanceador?

Volver al Load Balancer en la consola, actualizar las instancias en el Target Group y confirmar que están saludables. Si una de las instancias no es saludable, asegúrese de que las reglas del Security Group están correctamente configuradas para aceptar el tráfico desde el ALB.

¿Cómo comprobar que la configuración es correcta?

Después de que el ALB esté activo, copiar el DNS proporcionado por AWS e ingresarlo en un navegador web. Al actualizar repetidamente la página, se debería observar que el tráfico se distribuye equitativamente entre las instancias configuradas.

¿Qué implicaciones tiene detener una instancia?

Detener una instancia debe reflejarse en el balanceador. Si una instancia deja de estar saludable, el ALB redirige automáticamente todo el tráfico a las instancias restantes que estén saludables.

Este proceso no solo mejora la distribución del tráfico, sino que también asegura la disponibilidad de las aplicaciones, minimizando riesgos de caídas. Sigue explorando y profundizando en esta tecnología para maximizar tus recursos en la nube. ¡Adelante, el conocimiento es poder!