DEV Community

Cover image for ¿Cómo crear un balanceador de Aplicaciones(ALB) en AWS?
gabe in cloud
gabe in cloud

Posted on

¿Cómo crear un balanceador de Aplicaciones(ALB) en AWS?

Prerrequisitos

  • Una cuenta de AWS activa.
  • Al menos dos instancias EC2 en ejecución para enrutar el tráfico.
  • Una VPC con al menos dos subnets en diferentes zonas de disponibilidad.

Paso 1: Acceder al AWS Management Console

  1. Inicia sesión en tu cuenta de AWS.
  2. En el panel de navegación, busca "EC2" y haz clic para acceder al servicio.

Pantalla principal del servicio EC2 en AWS, mostrando las opciones disponibles en la barra lateral izquierda, incluyendo 'Load Balancers'.

Paso 2: Crear el Application Load Balancer

  1. En el panel de navegación del servicio EC2, busca la sección "Load Balancing" y selecciona "Load Balancers".

Vista de la sección 'Load Balancers' dentro del servicio EC2 en AWS, mostrando un botón para crear un nuevo balanceador de carga.

  1. Haz clic en el botón "Create Load Balancer".

Pantalla de selección de tipo de Load Balancer en AWS, destacando la opción 'Application Load Balancer'.

  1. Selecciona "Application Load Balancer" y haz clic en "Create".

Pantalla de creación de un Application Load Balancer, mostrando los campos para nombrar el ALB y configurar su esquema.

Paso 3: Configuración Básica del ALB

  1. Name: Escribe un nombre para tu ALB (ejemplo: my-alb).
  2. Scheme: Selecciona el esquema de acceso:
    • Internet-facing: Para hacer que el ALB esté disponible en Internet.
    • Internal: Para un ALB que solo sea accesible dentro de la VPC.
  3. IP address type: Selecciona el tipo de dirección IP (ipv4 o dualstack para soportar IPv4 e IPv6).

Pantalla de configuración básica del ALB, incluyendo campos para el nombre, esquema, y tipo de dirección IP.

Paso 4: Configuración de la Red

  1. VPC: Selecciona la VPC donde se creará el ALB.
  2. Availability Zones: Selecciona al menos dos subnets en diferentes zonas de disponibilidad. Esto garantiza alta disponibilidad. NOTA: Las subredes tienen que ser Públicas.

Pantalla de configuración de red para el ALB, donde se selecciona la VPC y las subnets en diferentes zonas de disponibilidad.

Paso 5: Configuración de Listeners y Seguridad

  1. Listener: Deja el puerto predeterminado HTTP 80. Si deseas configurar HTTPS, selecciona HTTPS 443 y proporciona el certificado SSL.
  2. Security Groups: Selecciona o crea un grupo de seguridad que permita tráfico HTTP/HTTPS desde las direcciones IP deseadas. NOTA: El SG del ALB no es el mismo que el de nuestras EC2.

Pantalla de configuración de listeners y grupos de seguridad, mostrando opciones para HTTP y HTTPS.

Paso 6: Configurar Routing (Ruteo)

  1. Target group:
    • Name: Proporciona un nombre para el grupo de destino (ejemplo: my-target-group).

Pantalla para nombrar y configurar el grupo de destino (Target Group) para el ALB.

  • Target type: Selecciona Instance si deseas enrutar el tráfico a instancias EC2, o IP si deseas enrutar a direcciones IP específicas.

Pantalla para seleccionar el tipo de destino (Instance o IP) para el Target Group en el ALB.

  • Protocol: Selecciona HTTP o HTTPS.
  • Port: El puerto donde las instancias están recibiendo tráfico (normalmente 80 para HTTP o 443 para HTTPS).
    1. Health checks: Configura los chequeos de salud:
  • Protocol: Selecciona HTTP o HTTPS.
  • Path: Especifica el path para las verificaciones de salud (por ejemplo, /health).

Paso 7: Registrar Targets

  1. En la sección Register targets, selecciona las instancias EC2 que se agregarán al grupo de destino.
  2. Haz clic en "Include as pending below" y luego en "Create target group".

Paso 8: Revisar y Crear el ALB

  1. Revisa todas las configuraciones en la pantalla de revisión.
  2. Haz clic en "Create" para finalizar la creación del ALB.

Paso 9: Verificar el Estado del ALB

  1. Una vez creado, regresa a la sección "Load Balancers" en el panel de EC2.
  2. Verifica que el ALB esté en estado active.
  3. Prueba el ALB accediendo a la URL del DNS proporcionada por AWS para el ALB.

Paso 10: Configuración Adicional (Opcional)

  • Redirección HTTP a HTTPS: Configura una regla de listener para redirigir automáticamente el tráfico HTTP a HTTPS.
  • Configuración de WAF: Si es necesario, configura AWS WAF para proteger tu ALB de amenazas comunes.
  • Auto Scaling: Configura políticas de Auto Scaling para que el ALB gestione automáticamente la escala de tus instancias en función de la demanda.

Enhorabuena, ya tienes tu primer ALB!!

Top comments (1)

Collapse
 
_firelinks profile image
Mike Dabydeen

¡Excelente post! Configurar un Application Load Balancer (ALB) en AWS es, sin duda, una habilidad fundamental para cualquiera que trabaje en infraestructura en la nube, y has cubierto los aspectos básicos muy bien.

Me gustaría añadir algunos puntos adicionales para aquellos que estén planeando implementar ALB en entornos más complejos:

Configuración de Reglas: Aunque mencionaste la configuración de reglas de oyentes, animaría a los lectores a explorar configuraciones más avanzadas. Por ejemplo, aprovechar el enrutamiento basado en rutas puede ser particularmente poderoso cuando se trata de arquitecturas de microservicios, donde diferentes rutas en tu aplicación pueden apuntar a servicios completamente distintos.

Grupos de Seguridad: También es esencial prestar atención a los grupos de seguridad asociados con tu ALB y las instancias de EC2. Asegurarse de que solo se permita el tráfico necesario puede mejorar significativamente tu postura de seguridad.

Balanceo de Carga entre Zonas: Por defecto, el ALB distribuye el tráfico de manera uniforme entre todas las Zonas de Disponibilidad habilitadas. Esto es crucial para una alta disponibilidad, pero es importante asegurarse de que tus grupos de destino estén configurados correctamente para manejar esta distribución, especialmente en términos de latencia y asignación de recursos.

Monitoreo y Registros: A medida que tu aplicación escala, mantener un ojo en las métricas de CloudWatch y habilitar los registros de acceso para tu ALB te ayudará a diagnosticar problemas y optimizar el rendimiento. Configurar alarmas para métricas como TargetResponseTime o UnHealthyHostCount puede proporcionar advertencias tempranas antes de que pequeños problemas se conviertan en problemas mayores.

Gestión de SSL/TLS: Si manejas datos sensibles, configurar SSL/TLS en tu ALB es imprescindible. Utilizar AWS Certificate Manager (ACM) facilita mucho este proceso, pero recuerda estar al tanto de las renovaciones de certificados, especialmente si estás usando certificados de terceros.

Consideraciones de Costos: Finalmente, es fácil pasar por alto las implicaciones de costos al configurar ALBs, especialmente en entornos de desarrollo. Ten en cuenta que características como el balanceo de carga entre zonas, múltiples oyentes o el enrutamiento avanzado pueden aumentar los costos. Revisa regularmente tu uso para evitar sorpresas en tu factura de AWS.

De nuevo, ¡gracias por la excelente visión general! Configurar correctamente un ALB es un paso crítico para garantizar que tus aplicaciones sean escalables, seguras y resilientes. Para cualquiera que sea nuevo en AWS, dominar esta habilidad definitivamente vale la pena.