DevOpsFacile
AccueilParcours de formationCertificationsModulesCheat SheetÀ Propos
DevOpsFacile

Une plateforme d'apprentissage complète pour maîtriser les pratiques DevOps modernes, du débutant à l'expert.

contact@devopsfacile.fr

Formation

  • Parcours de formation
  • Modules

Informations

  • À Propos
  • Conditions d'utilisation
  • Confidentialité
  • Mentions légales

© 2026 DevOps Facile. Tous droits réservés.

Fait avec pour la communauté DevOps

ModulesAWS - Débutant : premiers pas dans le cloud Amazon05 - Créer et configurer un bucket S3

Détails

  • 25 minutes
  • Débutant

Objectifs

  • Créer un bucket S3 avec les bonnes options de sécurité
  • Uploader des fichiers via la console et l'AWS CLI
  • Activer le versioning pour protéger contre les suppressions accidentelles
  • Héberger un site statique depuis S3
Module AWS - Débutant : premiers pas dans le cloud Amazon

Exercice 05 : Créer et configurer un bucket S3

🎯 Objectifs

À la fin de cet exercice, vous serez capable de :

  • ✅ Créer un bucket S3 avec un nom unique dans la région de votre choix
  • ✅ Uploader des fichiers via la console et via l'AWS CLI
  • ✅ Activer le versioning et comprendre son intérêt
  • ✅ Configurer un bucket pour héberger un site web statique

Durée estimée : 25 minutes

Difficulté : ⭐☆☆☆☆ (Débutant)

Prérequis : Compte AWS créé (Exercice 01), AWS CLI configuré


📖 Contexte

S3 (Simple Storage Service) est le service de stockage d'objets d'AWS. Il est utilisé partout : hébergement de sites statiques, stockage de logs, de sauvegardes, d'artefacts de build, d'images... Sa durabilité est de 99.999999999% (11 neuf), ce qui en fait l'un des services de stockage les plus fiables au monde.


📋 Énoncé

Créez un bucket S3, explorez ses fonctionnalités et déployez un mini site web statique.


🧭 Déroulement de l'exercice

Tâche 1 : Créer le bucket depuis la console

  1. Console AWS → S3 → Créer un compartiment

Configuration :

  • Nom du compartiment : devops-exercice-<votre-prenom>-2024 (doit être unique globalement)
  • Région AWS : eu-west-3 (Paris) ou votre région habituelle
  • Propriété des objets : ACL désactivées (recommandé)
  • Paramètres de blocage de tout accès public : Activer (par défaut)
  • Gestion des versions : Activer ← important pour la tâche suivante

Indice : Les noms de bucket S3 sont uniques dans le monde entier (pas seulement dans votre compte). S'il est déjà pris, ajoutez votre nom ou un suffixe aléatoire. Les règles de nommage : minuscules, chiffres, tirets uniquement, 3-63 caractères.


Tâche 2 : Uploader des fichiers

Via la console :

  1. Cliquer sur votre bucket → Charger
  2. Créer un fichier hello.txt sur votre machine avec le contenu "Bonjour S3 !"
  3. Le charger via l'interface

Via l'AWS CLI :

bash
# Configurer l'AWS CLI (si pas encore fait)
aws configure
# AWS Access Key ID : [votre clé IAM]
# AWS Secret Access Key : [votre secret]
# Default region : eu-west-3
# Default output format : json

# Uploader un fichier
BUCKET="devops-exercice-<votre-prenom>-2024"
echo "Fichier uploadé via CLI !" > fichier-cli.txt
aws s3 cp fichier-cli.txt s3://$BUCKET/

# Lister le contenu du bucket
aws s3 ls s3://$BUCKET/

# Uploader un dossier entier
mkdir -p mon-site && echo "<h1>Mon site sur S3</h1>" > mon-site/index.html
aws s3 sync mon-site/ s3://$BUCKET/site/ --delete

Tâche 3 : Tester le versioning

bash
# Uploader une première version
echo "Version 1" > version-test.txt
aws s3 cp version-test.txt s3://$BUCKET/

# Modifier le fichier et re-uploader
echo "Version 2 - modifiée" > version-test.txt
aws s3 cp version-test.txt s3://$BUCKET/

# Lister les versions (versioning activé = toutes les versions conservées)
aws s3api list-object-versions \
  --bucket $BUCKET \
  --prefix version-test.txt

# Récupérer une ancienne version
VERSION_ID=$(aws s3api list-object-versions \
  --bucket $BUCKET \
  --prefix version-test.txt \
  --query 'Versions[-1].VersionId' \
  --output text)

aws s3api get-object \
  --bucket $BUCKET \
  --key version-test.txt \
  --version-id "$VERSION_ID" \
  version-recuperee.txt

cat version-recuperee.txt
# → Version 1

Indice : Le versioning protège contre les suppressions et modifications accidentelles. Même si vous supprimez un objet, il reste accessible via sa version. Attention : le versioning augmente les coûts de stockage. En production, combinez-le avec une règle de cycle de vie pour supprimer les anciennes versions après X jours.


Tâche 4 : Héberger un site statique

bash
# Créer les fichiers du site
cat > mon-site/index.html << 'HTML'
<!DOCTYPE html>
<html lang="fr">
<head><title>Mon site S3</title></head>
<body>
  <h1>Mon premier site hébergé sur AWS S3 !</h1>
  <p>Déployé avec la AWS CLI</p>
</body>
</html>
HTML

Console AWS :

  1. Bucket → Propriétés → Hébergement de site Web statique → Activer
  2. Document d'index : index.html
  3. Sauvegarder

Rendre les fichiers publics :

  1. Bucket → Autorisations → Désactiver "Bloquer tout accès public" pour ce bucket
  2. Ajouter une politique de bucket :
json
{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Sid": "PublicReadGetObject",
      "Effect": "Allow",
      "Principal": "*",
      "Action": "s3:GetObject",
      "Resource": "arn:aws:s3:::devops-exercice-<votre-prenom>-2024/*"
    }
  ]
}
bash
# Uploader le site
aws s3 sync mon-site/ s3://$BUCKET/ --delete

# L'URL du site est : http://$BUCKET.s3-website.eu-west-3.amazonaws.com
echo "http://$BUCKET.s3-website.eu-west-3.amazonaws.com"

✅ Vérification du résultat

  • Le bucket est créé avec le versioning activé
  • aws s3 ls s3://$BUCKET/ liste les fichiers uploadés
  • Une ancienne version d'un fichier est récupérable via aws s3api get-object --version-id
  • L'URL du site statique affiche la page HTML dans le navigateur

💡 À retenir

Classes de stockage S3 (coût vs fréquence d'accès) :

ClasseCas d'usageCoût relatif
S3 StandardAccès fréquent$$$
S3 Standard-IAAccès peu fréquent$$
S3 GlacierArchives (minutes à heures)$
S3 Glacier Deep ArchiveArchives long terme¢

Free Tier S3 : 5 Go de stockage Standard, 20 000 requêtes GET, 2 000 requêtes PUT par mois.


✨ Solution Complète

bash
BUCKET="mon-bucket-unique"

# Uploader
aws s3 cp fichier.txt s3://$BUCKET/
aws s3 sync ./dossier/ s3://$BUCKET/dossier/ --delete

# Lister
aws s3 ls s3://$BUCKET/ --recursive

# Télécharger
aws s3 cp s3://$BUCKET/fichier.txt ./local/

# Supprimer
aws s3 rm s3://$BUCKET/fichier.txt
Retour au module

Sur cette page

  • 🎯 Objectifs
  • 📖 Contexte
  • 📋 Énoncé
  • 🧭 Déroulement de l'exercice
  • Tâche 1 : Créer le bucket depuis la console
  • Tâche 2 : Uploader des fichiers
  • Tâche 3 : Tester le versioning
  • Tâche 4 : Héberger un site statique
  • ✅ Vérification du résultat
  • 💡 À retenir
  • ✨ Solution Complète