Qué es
AWS Elastic Beanstalk es una plataforma como servicio (PaaS) para aplicaciones web y de trabajo en segundo plano. Subes el código (Java, .NET, Node.js, Python, PHP, Ruby, Go) o una imagen Docker y Beanstalk aprovisiona todo lo necesario: instancias EC2 (Elastic Compute Cloud), grupo de Auto Scaling, balanceador de carga, security groups y alarmas de CloudWatch. Tú te ocupas de la aplicación y Beanstalk del despliegue, el escalado, la monitorización y las actualizaciones de la plataforma. Los recursos siguen en tu cuenta y puedes ajustarlos.
Conceptos clave
- Aplicación, versión y entorno: una aplicación tiene versiones del código (guardadas en S3 (Simple Storage Service)) y entornos (por ejemplo, producción y pruebas) que ejecutan una versión.
- Tipos de entorno: servidor web (atiende peticiones HTTP (HyperText Transfer Protocol: protocolo de la web) detrás de un balanceador) y trabajador (procesa mensajes de una cola SQS (Simple Queue Service) que Beanstalk crea y lee por ti, útil para tareas largas en segundo plano).
- Plataformas: sistema operativo, lenguaje y servidor preparados y mantenidos por AWS; las actualizaciones gestionadas aplican parches en una ventana de mantenimiento.
- Políticas de despliegue:
- All at once: todas las instancias a la vez; rápido pero con corte.
- Rolling: por tandas; sin corte, con menos capacidad durante el despliegue.
- Rolling with additional batch: añade una tanda nueva para mantener la capacidad completa.
- Immutable: crea instancias nuevas en un grupo temporal y las cambia solo si están sanas; el rollback es inmediato.
- Traffic splitting: despliegue canario que envía un porcentaje del tráfico a la nueva versión.
- Blue/green: clonar el entorno, desplegar en el nuevo y intercambiar las URL (Uniform Resource Locator: dirección web) (swap de CNAME (Canonical Name: registro DNS que apunta a otro nombre)) para cambiar sin corte.
- Configuración: ficheros
.ebextensionsy.platformen el paquete, la CLI (Command Line Interface: línea de comandos) de Beanstalk (eb) y opciones del entorno. - Base de datos: se puede crear una RDS (Relational Database Service) dentro del entorno, pero entonces su ciclo de vida va ligado al entorno; en producción se recomienda una RDS independiente.
Casos de uso típicos
- Publicar una aplicación web tradicional rápidamente, sin montar la infraestructura.
- Equipos de desarrollo sin experiencia en operaciones de AWS.
- Migrar aplicaciones monolíticas en lenguajes compatibles con cambios mínimos.
- Procesos en segundo plano con el entorno de trabajador y su cola SQS.
Cuándo NO usarlo
- Arquitecturas de muchos microservicios en contenedores: ECS (Elastic Container Service) o EKS (Elastic Kubernetes Service).
- Funciones por evento y cargas intermitentes: Lambda.
- Infraestructura compleja o reutilizable que quieres describir como código: CloudFormation o CDK.
- Una web sencilla con precio fijo mensual: Lightsail.
Comparativa con servicios parecidos
| Necesidad | Servicio adecuado |
|---|---|
| Subir código y que AWS monte la infraestructura web | Elastic Beanstalk |
| Contenedores web con pocos parámetros | ECS Express Mode |
| Web y sitios frontales con CI/CD (Continuous Integration / Continuous Delivery: integración y entrega continuas) desde Git | Amplify Hosting |
| Control total de las instancias | EC2 con Auto Scaling |
| Servidor sencillo a precio fijo | Lightsail |
Modelo de precios
Elastic Beanstalk no tiene coste propio: se pagan los recursos que crea (instancias EC2, balanceador, volúmenes, base de datos, transferencia de datos) como si los hubieras creado a mano.
Seguridad y alta disponibilidad
- Entornos con balanceador y Auto Scaling en varias zonas de disponibilidad.
- Perfil de instancia (rol de IAM (Identity and Access Management)) para los permisos de la aplicación y rol de servicio para Beanstalk.
- Actualizaciones gestionadas de la plataforma para aplicar parches de seguridad.
- Despliegue en subredes privadas de una VPC (Virtual Private Cloud) y HTTPS (HTTP Secure: HTTP cifrado con TLS) con certificados de ACM (AWS Certificate Manager) en el balanceador.
Trampas de examen
- "Desplegar una aplicación web sin gestionar infraestructura" y "subir el código": Elastic Beanstalk.
- "Sin pérdida de capacidad y rollback rápido": despliegue immutable.
- "Probar la nueva versión con un 10 % del tráfico": traffic splitting.
- "Cambio instantáneo entre entornos": blue/green con swap de URL (CNAME).
- "Tareas largas en segundo plano": entorno de trabajador con cola SQS.
- "Al borrar el entorno se perdió la base de datos": la RDS estaba dentro del entorno; debe crearse aparte.
- "Personalizar la configuración en el paquete":
.ebextensions.
Preguntas de práctica
Preguntas originales escritas para estos apuntes. No son preguntas reales de examen.
Fuentes
- What is AWS Elastic Beanstalk?, documentación de AWS (consultada el 26/09/2026).
- Deploying applications to Elastic Beanstalk environments, documentación de AWS (consultada el 26/09/2026).
- Blue/Green deployments with Elastic Beanstalk, documentación de AWS (consultada el 26/09/2026).
- Elastic Beanstalk worker environments, documentación de AWS (consultada el 26/09/2026).