Lab : Configuration de l'Environnement
Objectifs du Lab
À la fin de ce lab, vous aurez :
- ✅ Un environnement de travail complet et fonctionnel
- ✅ Docker Desktop installé et opérationnel
- ✅ AWS CLI v2 configuré avec un profil LocalStack
- ✅ LocalStack démarré et testé
- ✅ Un mini-rapport avec preuves de configuration
Durée Estimée
1 à 2 heures (selon votre système et connexion Internet)
Prérequis
- Ordinateur avec Windows 10/11, macOS ou Linux
- Droits administrateur
- Connexion Internet stable
- 10 GB d'espace disque libre minimum
Partie 1 : Installation de Docker Desktop
Étapes
1.1 Télécharger Docker Desktop
Rendez-vous sur : https://www.docker.com/products/docker-desktop/
Téléchargez la version correspondant à votre système.
1.2 Installer Docker Desktop
- Windows : Double-cliquez sur l'installateur, suivez l'assistant
- macOS : Glissez Docker dans Applications
- Linux : Suivez les instructions de votre distribution
1.3 Démarrer Docker Desktop
Lancez Docker Desktop depuis le menu Démarrer (Windows) ou Applications (macOS).
Attendez que l'icône Docker indique "Docker is running".
1.4 Vérifier l'installation
Ouvrez un terminal et exécutez :
docker --version
docker run hello-world
Validation Partie 1
Prenez une capture d'écran montrant :
- La sortie de
docker --version - Le message "Hello from Docker!" de
docker run hello-world
Nommez ce fichier : 01-docker-version.png
Partie 2 : Installation d'AWS CLI v2
Étapes
2.1 Télécharger AWS CLI v2
- Windows : https://awscli.amazonaws.com/AWSCLIV2.msi
- macOS : https://awscli.amazonaws.com/AWSCLIV2.pkg
- Linux : Voir commandes ci-dessous
2.2 Installer
Windows :
# Double-cliquez sur AWSCLIV2.msi et suivez l'assistant
# OU
msiexec.exe /i https://awscli.amazonaws.com/AWSCLIV2.msi
macOS :
curl "https://awscli.amazonaws.com/AWSCLIV2.pkg" -o "AWSCLIV2.pkg"
sudo installer -pkg AWSCLIV2.pkg -target /
Linux :
curl "https://awscli.amazonaws.com/awscli-exe-linux-x86_64.zip" -o "awscliv2.zip"
unzip awscliv2.zip
sudo ./aws/install
2.3 Vérifier l'installation
Fermez et rouvrez votre terminal, puis :
aws --version
2.4 Configurer le profil LocalStack
aws configure --profile localstack
Entrez les valeurs suivantes :
AWS Access Key ID [None]: test
AWS Secret Access Key [None]: test
Default region name [None]: us-east-1
Default output format [None]: json
2.5 Vérifier la configuration
aws configure list --profile localstack
Validation Partie 2
Prenez une capture d'écran montrant :
- La sortie de
aws --version - La sortie de
aws configure list --profile localstack
Nommez ce fichier : 02-aws-cli-config.png
Partie 3 : Démarrage de LocalStack
Étapes
3.1 Créer un dossier de travail
# Créez un dossier pour ce cours
mkdir aws-course
cd aws-course
3.2 Créer le fichier docker-compose.yml
Créez un fichier docker-compose.yml avec le contenu suivant :
version: '3.8'
services:
localstack:
container_name: localstack
image: localstack/localstack:latest
ports:
- "4566:4566"
- "4510-4559:4510-4559"
environment:
- SERVICES=s3,lambda,sqs,sns,dynamodb,cloudwatch,cloudformation,iam
- DEBUG=1
- DATA_DIR=/tmp/localstack/data
volumes:
- "./localstack-data:/var/lib/localstack"
- "/var/run/docker.sock:/var/run/docker.sock"
3.3 Démarrer LocalStack
docker-compose up -d
Ou sans docker-compose :
docker run -d \
--name localstack \
-p 4566:4566 \
-e SERVICES=s3,lambda,sqs,dynamodb,cloudwatch,cloudformation \
localstack/localstack
3.4 Attendre le démarrage (30-60 secondes)
# Vérifier que le conteneur tourne
docker ps
# Voir les logs (optionnel)
docker logs localstack
3.5 Vérifier l'état de santé
# Linux/macOS
curl http://localhost:4566/_localstack/health
# Windows PowerShell
Invoke-RestMethod http://localhost:4566/_localstack/health
Validation Partie 3
Prenez une capture d'écran montrant :
- La sortie de
docker psavec le conteneur localstack - La sortie du health check
Nommez ce fichier : 03-localstack-running.png
Partie 4 : Test des Commandes AWS
Étapes
4.1 Configurer l'alias (optionnel mais recommandé)
Windows PowerShell :
# Tester d'abord sans alias
aws --endpoint-url=http://localhost:4566 s3 ls --profile localstack
macOS/Linux :
alias awslocal='aws --endpoint-url=http://localhost:4566 --profile localstack'
4.2 Créer un bucket S3
# Avec alias
awslocal s3 mb s3://mon-premier-bucket-test
# Sans alias (Windows)
aws --endpoint-url=http://localhost:4566 s3 mb s3://mon-premier-bucket-test --profile localstack
4.3 Lister les buckets
awslocal s3 ls
Résultat attendu :
2024-12-18 10:30:00 mon-premier-bucket-test
4.4 Créer un fichier de test
# Créer un fichier local
echo "Hello AWS LocalStack!" > test.txt
# Uploader vers S3
awslocal s3 cp test.txt s3://mon-premier-bucket-test/
# Vérifier
awslocal s3 ls s3://mon-premier-bucket-test/
4.5 Télécharger le fichier
awslocal s3 cp s3://mon-premier-bucket-test/test.txt downloaded.txt
cat downloaded.txt
4.6 Nettoyer
# Supprimer le fichier du bucket
awslocal s3 rm s3://mon-premier-bucket-test/test.txt
# Supprimer le bucket
awslocal s3 rb s3://mon-premier-bucket-test
Validation Partie 4
Prenez une capture d'écran montrant :
- La création du bucket (
s3 mb) - Le listing du bucket avec le fichier (
s3 ls) - Le contenu du fichier téléchargé
Nommez ce fichier : 04-aws-s3-test.png
Partie 5 : Test Lambda (Bonus)
Étapes
5.1 Créer une fonction Lambda simple
Créez un fichier lambda_function.py :
def handler(event, context):
return {
'statusCode': 200,
'body': 'Hello from LocalStack Lambda!'
}
5.2 Zipper la fonction
# Linux/macOS
zip function.zip lambda_function.py
# Windows PowerShell
Compress-Archive -Path lambda_function.py -DestinationPath function.zip
5.3 Créer la fonction Lambda
awslocal lambda create-function \
--function-name ma-premiere-fonction \
--runtime python3.9 \
--handler lambda_function.handler \
--zip-file fileb://function.zip \
--role arn:aws:iam::000000000000:role/lambda-role
5.4 Invoquer la fonction
awslocal lambda invoke \
--function-name ma-premiere-fonction \
--payload '{}' \
output.txt
cat output.txt
5.5 Lister les fonctions
awslocal lambda list-functions
Validation Partie 5
Prenez une capture d'écran montrant :
- La création de la fonction Lambda
- L'invocation réussie avec le résultat
Nommez ce fichier : 05-lambda-test.png
Livrables du Lab
Mini-Rapport "Environnement Prêt"
Créez un document (Word, PDF ou Markdown) contenant :
1. Page de titre
- Nom de l'étudiant
- Date
- Titre : "Lab 1 - Configuration de l'Environnement AWS"
2. Captures d'écran Incluez les 4 captures obligatoires (5 avec le bonus Lambda) :
01-docker-version.png02-aws-cli-config.png03-localstack-running.png04-aws-s3-test.png05-lambda-test.png(bonus)
3. Tableau récapitulatif
| Composant | Version | Statut |
|---|---|---|
| Docker | X.X.X | ✅ Installé |
| AWS CLI | X.X.X | ✅ Configuré |
| LocalStack | latest | ✅ Fonctionnel |
4. Problèmes rencontrés (si applicable) Décrivez brièvement tout problème rencontré et comment vous l'avez résolu.
5. Checklist finale
- Docker Desktop installé et fonctionnel
- AWS CLI v2 installé
- Profil LocalStack configuré
- LocalStack démarré
- Test S3 réussi (création bucket, upload fichier)
- Test Lambda réussi (bonus)
Grille d'Évaluation
| Critère | Points |
|---|---|
| Docker installé et fonctionnel | 2 |
| AWS CLI installé et configuré | 2 |
| LocalStack démarré | 2 |
| Test S3 réussi | 2 |
| Captures d'écran complètes | 1 |
| Rapport bien structuré | 1 |
| Total | 10 |
Bonus : Test Lambda réussi (+2 points)
Dépannage Commun
Docker ne démarre pas
Windows :
- Activez la virtualisation dans le BIOS
- Activez WSL2 :
wsl --install - Redémarrez votre ordinateur
AWS CLI non reconnu
- Fermez et rouvrez le terminal
- Vérifiez le PATH
- Réinstallez AWS CLI
LocalStack ne répond pas
- Attendez 60 secondes après le démarrage
- Vérifiez les logs :
docker logs localstack - Redémarrez :
docker restart localstack
Erreur "No credentials"
# Reconfigurer
aws configure --profile localstack
# Vérifier
aws configure list --profile localstack
Résumé des Commandes
# Docker
docker --version
docker run hello-world
docker ps
docker logs localstack
# AWS CLI
aws --version
aws configure --profile localstack
aws configure list --profile localstack
# LocalStack
docker-compose up -d
curl http://localhost:4566/_localstack/health
# Tests S3
awslocal s3 mb s3://bucket-name
awslocal s3 ls
awslocal s3 cp file.txt s3://bucket/
awslocal s3 rm s3://bucket/file.txt
awslocal s3 rb s3://bucket-name
# Tests Lambda
awslocal lambda create-function ...
awslocal lambda invoke ...
awslocal lambda list-functions
Quiz de Fin de Lab
- Quel est le port par défaut de LocalStack ?
- Quelle option AWS CLI permet de pointer vers LocalStack ?
- Quelle commande crée un bucket S3 ?
- Comment vérifier que LocalStack fonctionne ?
- Pourquoi utilise-t-on des credentials "test" avec LocalStack ?
Félicitations ! Vous avez configuré votre environnement AWS. Vous êtes prêt pour la MODULE 2 !