01. S3 Overview

1. L'origine et Le besoin

Lancé en 2006, Amazon S3 est l'un des tout premiers services proposés par AWS. L'idée d'Amazon était de créer un système de stockage "infini", ultra-disponible, et accessible de n'importe où via de simples requêtes HTTP (via une API Web).

Avant le stockage objet, on gérait des serveurs de fichiers traditionnels (NAS/SAN) ou des disques durs (stockage de blocs comme AWS EBS). Les problèmes ? C'est difficile à scaler, cher, et limité en capacité. S3 répond au besoin de stocker des volumes massifs de données non structurées (images, vidéos, fichiers de logs, sauvegardes, fichiers statiques de sites web) de manière :


2. Différence entre Objets et Buckets

S3 est un service de stockage d'objets (et non un système de fichiers classique).


3. Le Fullpath : Préfixe vs Nom d'objet

Dans S3, les dossiers n'existent pas physiquement. C'est une architecture totalement plate (flat). L'illusion des dossiers est créée par la structure du nom de la clé (le Key Name).

Prenons l'URL (ou fullpath) suivante : s3://mon-bucket-examen/images/2026/photo.jpg

La console AWS va utiliser les barres obliques (/) comme délimiteurs pour t'afficher une interface avec des dossiers cliquables, mais pour S3, il s'agit simplement d'une chaîne de caractères unique.


4. Le Naming : Global vs Account-Regional Namespace

Là encore, bravo ! C'est une nouveauté majeure introduite par AWS début 2026. Tu as désormais le choix entre deux modèles d'espace de nommage (namespaces) :

A. Le modèle Historique : Shared / Global Namespace

C'est le mode par défaut que tout le monde connaît. Le nom du bucket doit être unique au monde, tous comptes AWS confondus. Si quelqu'un a pris mon-bucket-data, tu ne peux pas l'utiliser.

B. La Nouveauté 2026 : Account-Regional Namespace

Pour éviter la "guerre" des noms de buckets et simplifier l'automatisation (Infrastructure as Code), AWS permet maintenant de créer des buckets dans un espace de nommage propre à ton compte et à ta région.


5. Taille maximale d'un objet (Max object size)


6. Multi-part Upload (Téléchargement en plusieurs parties)

Si tu veux uploader un fichier qui dépasse 5 Go, tu dois utiliser le Multi-part Upload. Cependant, AWS recommande fortement de l'utiliser pour tous les fichiers dès qu'ils dépassent 100 Mo.

Comment ça marche ?

Le fichier est découpé en plusieurs morceaux (parts) qui sont envoyés en parallèle vers S3. Une fois toutes les parties reçues, S3 les réassemble pour recréer l'objet final.

Les avantages pour l'examen :
  1. Meilleure bande passante : Les morceaux sont envoyés en parallèle.
  2. Résilience aux pannes réseau : Si l'upload du morceau 4 échoue sur un fichier de 50 Go, tu as juste à renvoyer le morceau 4, pas tout le fichier.
  3. Pause et reprise : Tu peux mettre l'upload en pause et le reprendre plus tard.

⚠️ Alerte SAA-C03 : Les morceaux non réassemblés (en cas d'upload abandonné) restent stockés dans S3 et te sont facturés ! Pour éviter cela, la bonne pratique est de configurer une S3 Lifecycle Policy (politique de cycle de vie) pour supprimer automatiquement les Incomplete Multipart Uploads après quelques jours.


7. Les Métadonnées (Metadata)

Chaque objet possède des métadonnées sous forme de paires Clé/Valeur. On en distingue deux types :


8. Les Tags (Étiquettes)

Similaires aux métadonnées, les tags sont des paires Clé/Valeur (jusqu'à 10 par objet), mais ils ont un rôle très différent et dynamique.

Différence cruciale avec les métadonnées :

9. Le Version ID (L'identifiant de version)

Par défaut, le Versioning est désactivé sur un bucket. Une fois activé, il ne peut plus être désactivé, seulement suspendu (Suspended).


Revision #3
Created 2026-05-28 09:36:45 UTC by Victor
Updated 2026-05-28 10:02:04 UTC by Victor