Aller au contenu principal

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​

Capture d'écran requise

Prenez une capture d'écran montrant :

  1. La sortie de docker --version
  2. 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

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​

Capture d'écran requise

Prenez une capture d'écran montrant :

  1. La sortie de aws --version
  2. 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​

Capture d'écran requise

Prenez une capture d'écran montrant :

  1. La sortie de docker ps avec le conteneur localstack
  2. 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​

Capture d'écran requise

Prenez une capture d'écran montrant :

  1. La création du bucket (s3 mb)
  2. Le listing du bucket avec le fichier (s3 ls)
  3. 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​

Capture d'écran requise (Bonus)

Prenez une capture d'écran montrant :

  1. La création de la fonction Lambda
  2. 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.png
  • 02-aws-cli-config.png
  • 03-localstack-running.png
  • 04-aws-s3-test.png
  • 05-lambda-test.png (bonus)

3. Tableau récapitulatif

ComposantVersionStatut
DockerX.X.X✅ Installé
AWS CLIX.X.X✅ Configuré
LocalStacklatest✅ 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èrePoints
Docker installé et fonctionnel2
AWS CLI installé et configuré2
LocalStack démarré2
Test S3 réussi2
Captures d'écran complètes1
Rapport bien structuré1
Total10

Bonus : Test Lambda réussi (+2 points)


Dépannage Commun​

Docker ne démarre pas​

Windows :

  1. Activez la virtualisation dans le BIOS
  2. Activez WSL2 : wsl --install
  3. Redémarrez votre ordinateur

AWS CLI non reconnu​

  1. Fermez et rouvrez le terminal
  2. Vérifiez le PATH
  3. Réinstallez AWS CLI

LocalStack ne répond pas​

  1. Attendez 60 secondes après le démarrage
  2. Vérifiez les logs : docker logs localstack
  3. 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​

  1. Quel est le port par défaut de LocalStack ?
  2. Quelle option AWS CLI permet de pointer vers LocalStack ?
  3. Quelle commande crée un bucket S3 ?
  4. Comment vérifier que LocalStack fonctionne ?
  5. 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 !