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
- Inicia sesión en tu cuenta de AWS.
- En el panel de navegación, busca "EC2" y haz clic para acceder al servicio.
Paso 2: Crear el Application Load Balancer
- En el panel de navegación del servicio EC2, busca la sección "Load Balancing" y selecciona "Load Balancers".
- Haz clic en el botón "Create Load Balancer".
- Selecciona "Application Load Balancer" y haz clic en "Create".
Paso 3: Configuración Básica del ALB
-
Name: Escribe un nombre para tu ALB (ejemplo:
my-alb
). -
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.
-
-
IP address type: Selecciona el tipo de dirección IP (
ipv4
odualstack
para soportar IPv4 e IPv6).
Paso 4: Configuración de la Red
- VPC: Selecciona la VPC donde se creará el ALB.
- Availability Zones: Selecciona al menos dos subnets en diferentes zonas de disponibilidad. Esto garantiza alta disponibilidad. NOTA: Las subredes tienen que ser Públicas.
Paso 5: Configuración de Listeners y Seguridad
-
Listener: Deja el puerto predeterminado
HTTP 80
. Si deseas configurar HTTPS, seleccionaHTTPS 443
y proporciona el certificado SSL. - 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.
Paso 6: Configurar Routing (Ruteo)
-
Target group:
-
Name: Proporciona un nombre para el grupo de destino (ejemplo:
my-target-group
).
-
Name: Proporciona un nombre para el grupo de destino (ejemplo:
-
Target type: Selecciona
Instance
si deseas enrutar el tráfico a instancias EC2, oIP
si deseas enrutar a direcciones IP específicas.
-
Protocol: Selecciona
HTTP
oHTTPS
. -
Port: El puerto donde las instancias están recibiendo tráfico (normalmente
80
para HTTP o443
para HTTPS).- Health checks: Configura los chequeos de salud:
-
Protocol: Selecciona
HTTP
oHTTPS
. -
Path: Especifica el path para las verificaciones de salud (por ejemplo,
/health
).
Paso 7: Registrar Targets
- En la sección Register targets, selecciona las instancias EC2 que se agregarán al grupo de destino.
- Haz clic en "Include as pending below" y luego en "Create target group".
Paso 8: Revisar y Crear el ALB
- Revisa todas las configuraciones en la pantalla de revisión.
- Haz clic en "Create" para finalizar la creación del ALB.
Paso 9: Verificar el Estado del ALB
- Una vez creado, regresa a la sección "Load Balancers" en el panel de EC2.
- Verifica que el ALB esté en estado
active
. - 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)
¡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.