Cómo desplegar Flask en AWS con puertos y dependencias
Clase 11 de 36 • Curso Práctico de AWS Cloud
Contenido del curso
Introducción a la oferta de AWS y sus interacciones
- 4

Elastic Beanstalk: arquitectura escalable en AWS
05:26 min - 5

EC2: conceptos clave y configuración básica
07:04 min - 6

Crear instancia EC2 en AWS gratuita
09:54 min - 7

Conectarse por SSH a instancias EC2 desde Windows
10:07 min - 8

Conectar a instancia S2 desde Linux con SSH
02:11 min - 9

Conectar Mac a instancia EC2 con Terminal
02:31 min - 10

Proyecto Flask en EC2 con GitHub
04:08 min - 11

Cómo desplegar Flask en AWS con puertos y dependencias
Viendo ahora - 12

Qué es Lambda de Amazon y por qué es serverless
07:29 min - 13

Función AWS Lambda en Python desde la consola
07:09 min
Elastic Beanstalk
Bases de Datos
- 19

Amazon RDS: prestaciones enterprise sin data center
02:36 min - 20

RDS Postgres: optimizaciones y respaldos AWS
06:59 min - 21

Crear una base de datos PostgreSQL en AWS RDS
05:06 min - 22

Importar dump de Postgres en AWS RDS
04:38 min - 23

Aurora PG: 3x más rápido que RDS Postgres
04:12 min - 24

Creando Aurora PostgreSQL en AWS
11:58 min - 25

Respaldos en RDS Postgres: cuándo y cómo
02:50 min
Redes
Herramientas de administración
Seguridad
Bonus
Cierre del curso
Lanza con confianza un proyecto de Python en S2 usando Flask: desde clonar con Git y instalar con pip, hasta abrir el puerto 5000 en Security Groups para ver tu app en el navegador. Verás cómo evitar el típico error de conexión y cómo probar rutas dinámicas como /Hello.
¿Cómo preparar el entorno con git y flask?
Para iniciar, se clona el proyecto con Git y aparece un directorio nuevo con el código. Ahí se observan las dependencias de Flask y las rutas web definidas. El objetivo es instalar las dependencias y poner a correr el ejemplo.
- Salir del editor y convertirse en root para instalar paquetes.
- Usar el manejador de dependencias pip para instalar Flask.
- Volver al usuario normal, limpiar la consola y ejecutar el proyecto.
Comando clave:
pip install flask
¿Qué rol cumplen pip y flask?
- pip: manejador de dependencias de Python. Instala librerías requeridas por el proyecto.
- Flask: dependencia principal para levantar el servicio web y definir rutas.
Al correr el ejemplo, el ambiente indica production y muestra que escucha en el puerto 5000, accesible “abierto a Internet” desde la perspectiva de Python.
¿Cómo exponer el servicio en el puerto 5000?
Luego de ejecutar, se toma la IP de la instancia en S2 desde la consola (ver instancias en ejecución) y se intenta acceder con IP:5000 en el navegador. Aparece el mensaje de que no se puede conectar. La causa es simple: las Inbound Rules del Security Group solo permiten Secure Shell (SSH) en el puerto 22.
¿Qué regla inbound debo añadir?
- Editar el Security Group y añadir una regla TCP custom para el puerto 5000.
- Origen: cualquier lugar para facilitar la prueba. Alternativa: My IP usando un sitio tipo what is my IP punto com.
- Nota importante: con My IP, si tu conexión usa un módem por cable con IP pública compartida, puede fallar.
Tras guardar, el puerto 5000 queda abierto. Ahora, al ir a IP:5000, la app responde correctamente.
Puntos clave: - Abrir el puerto 5000 en Security Groups es imprescindible para pruebas externas. - SSH (22) no basta para servir contenido web. - Puedes verificar permisos desde la instancia: Security Groups → Inbound Rules.
¿Cómo probar rutas y ajustar el puerto en el código?
El proyecto incluye rutas dinámicas. Un ejemplo útil es Hello: permite pasar un argumento (por ejemplo, “Platzi” o tu nombre) y la respuesta se personaliza.
- Probar con: IP:5000/Hello/Platzi.
- Útil para desarrollo o calidad al validar respuestas dinámicas.
- El puerto por omisión es 5000, y se puede modificar en el código si lo requieres.
Buenas prácticas al trabajar con S2 y Flask: - Revisar dependencias y rutas al clonar con Git. - Instalar con pip desde root cuando se requiera. - Confirmar el estado “corriendo” y el puerto en la salida del servidor. - Abrir puertos necesarios en Security Groups antes de probar vía navegador.
¿Tienes dudas, errores al ejecutar o quieres compartir tu configuración de Security Groups? Deja tu comentario y con gusto revisamos tu caso y damos recomendaciones. Además, pronto veremos funciones Lambda: cómo se crean y cómo se ejecutan.