L’idée en 30 secondes : Orchestration de services AWS via API Gateway et Lambda dans un environnement émulé.
Cet atelier propose de concevoir une architecture API-driven dans laquelle une requête HTTP déclenche, via API Gateway et une fonction Lambda, des actions d’infrastructure sur des instances EC2, le tout dans un environnement AWS simulé avec LocalStack et exécuté dans GitHub Codespaces. L’objectif est de comprendre comment des services cloud serverless peuvent piloter dynamiquement des ressources d’infrastructure, indépendamment de toute console graphique.Cet atelier propose de concevoir une architecture API-driven dans laquelle une requête HTTP déclenche, via API Gateway et une fonction Lambda, des actions d’infrastructure sur des instances EC2, le tout dans un environnement AWS simulé avec LocalStack et exécuté dans GitHub Codespaces. L’objectif est de comprendre comment des services cloud serverless peuvent piloter dynamiquement des ressources d’infrastructure, indépendamment de toute console graphique.
RDV sur Codespace de Github : Codespace (click droit ouvrir dans un nouvel onglet) puis créer un nouveau Codespace qui sera connecté à votre Repository API-Driven.
Dans le terminal du Codespace copier/coller les codes ci-dessous etape par étape :
Installation de l'émulateur LocalStack
sudo -i mkdir rep_localstack
sudo -i python3 -m venv ./rep_localstack
sudo -i pip install --upgrade pip && python3 -m pip install localstack && export S3_SKIP_SIGNATURE_VALIDATION=0
Rendez-vous chez Localstack pour vous créez un Token : https://app.localstack.cloud/
localstack auth set-token <YOUR_AUTH_TOKEN>
localstack start -d
vérification des services disponibles
localstack status services
Réccupération de l'API AWS Localstack Votre environnement AWS (LocalStack) est prêt. Pour obtenir votre AWS_ENDPOINT cliquez sur l'onglet [PORTS] dans votre Codespace et rendez public votre port 4566 (Visibilité du port). Réccupérer l'URL de ce port dans votre navigateur qui sera votre ENDPOINT AWS (c'est à dire votre environnement AWS). Conservez bien cette URL car vous en aurez besoin par la suite.
Pour information : IL n'y a rien dans votre navigateur et c'est normal car il s'agit d'une API AWS (Pas un développement Web type UX).
Votre mission (si vous l'acceptez) : Concevoir une architecture API-driven dans laquelle une requête HTTP déclenche, via API Gateway et une fonction Lambda, lancera ou stopera une instance EC2 déposée dans environnement AWS simulé avec LocalStack et qui sera exécuté dans GitHub Codespaces. [Option] Remplacez l'instance EC2 par l'arrêt ou le lancement d'un Docker.
Architecture cible : Ci-dessous, l'architecture cible souhaitée.
- Installation de l'environnement Localstack (Séquence 2)
- Création de l'instance EC2
- Création des API (+ fonction Lambda)
- Ouverture des ports et vérification du fonctionnement
Complétez et documentez ce fichier README.md pour nous expliquer comment utiliser votre solution.
Faites preuve de pédagogie et soyez clair dans vos expliquations et processus de travail.
Cet atelier, noté sur 20 points, est évalué sur la base du barème suivant :
- Repository exécutable sans erreur majeure (4 points)
- Fonctionnement conforme au scénario annoncé (4 points)
- Degré d'automatisation du projet (utilisation de Makefile ? script ? ...) (4 points)
- Qualité du Readme (lisibilité, erreur, ...) (4 points)
- Processus travail (quantité de commits, cohérence globale, interventions externes, ...) (4 points)
