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("/")defindex():return"index"@app.route("/members")defmembers(): name = request.args.get("name")return name if name else"members"@app.route("/hello")defhello():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.
He dejado en stopped la instancia, hasta continuar la clase, leí en un comentario que cobraban si sobrepasaba las horas disponibles en modo gratuito, es así o me equivoco? a alguien le han debitado mas?
Interesante tu pregunta; Creo que lo mejor, siempre es apagar nuestra instancia, incluso por temas de no gastar recursos que no necesitamos y que se convierte en energía desperdiciada.
Yo tampoco pude hacer que se corra. Lo que no me queda claro y si alguien puede ayudarme o ya pudo hacerlo es lo siguiente:
La IP que pone en el navegador no corresponde a la instancia que Mauro tiene en su instancia. No se de donde la saca porque yo use la IP Publica de mi instancia y me marca error
El esta haciendo una llamada a un puerto 5000 que no se como lo abrio o si viene por defecto en este tipo de instancias
Se entiende que al posicionar cualquier folder con algún desarrollo o recurso en la carpeta raíz del usuario, y con el parametro del archivo app.py que menciona, este se puede aperturar sin problema desde fuera. Esto se me hace raro porque en los entornos clásicos, tienes que definir una carpeta dentro de la máquina que es donde residira todo lo que publiques y en este caso no.
No tengo idea si me estoy omitiendo alguna configuración previa pero según yo no porque hago mis anotaciones y leo las aportaciones de todos.
¡Perfecto! Aquí tienes una guía paso a paso para clonar un repositorio de GitHub en tu instancia EC2, una vez que ya estás conectado vía SSH. Esto es útil para subir tu proyecto, por ejemplo, una aplicación Node.js, Python, etc.
🛠️ Requisitos previos
Ya estás conectado a tu instancia EC2 desde macOS, Windows o Linux.
Tu instancia tiene acceso a internet (vía una IP pública o saliendo por un NAT Gateway si está en una VPC).
El repositorio en GitHub es público o tienes una forma de autenticarte (token o SSH key) si es privado.
Buenas, he notado que al reinicar la instancia, la ip se renueva. Si quisiera tener una ip statica, como se coordina con aws? podría setear una ip publica que tenga disponible?
Puedes usar un procedimiento similar, debes tener un servidor web como Nginx o Apache para servir tu html y en ese tener montada tu aplicación de Angular.
Basicamente si engloban AWS junto a Big Data y machine learning.... es obvio que vayan a poner los ejemplos en python, dado que vienen relacionados....