Proyecto Flask en EC2 con GitHub
Clase 10 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
Viendo ahora - 11

Cómo desplegar Flask en AWS con puertos y dependencias
06:20 min - 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
Implementa un proyecto en Python con Flask en tu instancia S2 con pasos claros y seguros: clona el repositorio desde GitHub, instala git con yum y configura parámetros clave como host y debug para exponer tu API sin filtrar información sensible. Aquí tienes la ruta práctica para lograrlo.
¿Qué hace la aplicación Flask y cómo probarla?
Esta app es un ejemplo sencillo en Flask con rutas básicas para validar que tu instancia S2 responde desde Internet. Al abrir la raíz, verás un texto de index. Con la ruta members, obtienes un texto de miembros y, si envías un argumento con un nombre, devuelve ese nombre. Además, hello renderiza una página desde un template y muestra un saludo como “hello Platzi”.
¿Cómo responden index y members?
- La ruta raíz devuelve el texto: index.
- La ruta /members devuelve el nombre del miembro si pasas un argumento con el nombre.
- Sin argumento, /members responde con un texto genérico.
- Es una interacción mínima para verificar que la API funciona.
¿Cómo muestra hello un template?
- La ruta /hello usa un template para renderizar una página.
- Muestra un saludo dinámico, por ejemplo: hello Platzi.
- Confirma que Flask sirve contenido HTML además de texto simple.
from flask import Flask, render_template, request
app = Flask(__name__)
@app.route("/")
def index():
return "index"
@app.route("/members")
def members():
name = request.args.get("name")
return name if name else "members"
@app.route("/hello")
def hello():
return render_template("hello.html", name="Platzi")
if __name__ == "__main__":
# Permite conexiones externas y evita filtrar información sensible.
app.run(host="0.0.0.0", debug=False)
¿Cómo clonar el proyecto desde GitHub en tu instancia S2?
Primero necesitas el código. Si tu instancia no tiene git instalado, debes habilitarlo como administrador y luego clonar con HTTPS. Después, valida el directorio y abre los archivos con Imax.
- Cambia a administrador: ejecuta sudo su.
- Instala git: yum install git y confirma cuando pregunte.
- Vuelve al usuario normal: sal del modo administrador.
- Clona el repositorio: git clone con la URL HTTPS de GitHub.
- Verifica el nuevo directorio: lista y entra al proyecto.
- Abre el código con Imax para revisar las rutas y el archivo principal.
Consejo práctico: limpia la terminal para trabajar ordenado y repite el git clone cuando ya esté instalado git.
¿Qué configuraciones de Flask y seguridad debes cuidar?
Para exponer la app en Internet desde S2, necesitas ajustar el host y controlar el debug. También, instalar las dependencias de Python, como Flask, y preparar permisos de seguridad en S2.
- Define el host para que no asuma localhost y permita conexiones externas.
- Mantén debug en false en producción: evita revelar trazas e información sensible si algo falla.
- Activa debug en true solo durante desarrollo y pruebas.
- Asegura dependencias: instala Flask para Python antes de ejecutar.
- Prepara la seguridad en S2: configura permisos para realizar pruebas desde Internet.
En el archivo principal, el bloque de ejecución debería incluir parámetros de host y debug adecuados:
if __name__ == "__main__":
app.run(host="0.0.0.0", debug=False)
¿Tienes dudas sobre el git clone, el ajuste de debug o cómo probar las rutas? Cuéntame en comentarios qué parte quieres que profundicemos.