Dans ce TP, nous allons déployer une application web Python utilisant Flask sur Amazon Elastic Container Service (ECS). Nous allons suivre plusieurs étapes pour containeriser notre application, la pousser sur Amazon Elastic Container Registry (ECR), et finalement la déployer sur ECS.

Prérequis

Étape 1 : Créer l'application Flask

Commencez par créer une application Flask simple :

from flask import Flask

app = Flask(__name__)

@app.route('/')
def hello():
    return "Hello, AWS ECS!"

if __name__ == '__main__':
    app.run(host='0.0.0.0', port=5000)

Sauvegardez ce code dans un fichier nommé app.py.

Étape 2 : Créer un Dockerfile

Créez un fichier nommé Dockerfile dans le même répertoire que votre app.py :

FROM python:3.9-slim

WORKDIR /app

COPY requirements.txt .
RUN pip install --no-cache-dir -r requirements.txt

COPY . .

EXPOSE 5000

CMD ["python", "app.py"]

Créez également un fichier requirements.txt contenant :

flask==2.0.1

Étape 3 : Construire l'image Docker

Dans le terminal, naviguez vers le répertoire contenant votre application et exécutez :

docker build -t flask-app .

Étape 4 : Créer un repository ECR