Proyecto Flask en EC2 con GitHub

Clase 10 de 36Curso Práctico de AWS Cloud

Resumen

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.

      Proyecto Flask en EC2 con GitHub