Amazon S3

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).

02. S3 Security

Par défaut, quand tu crées un bucket S3, tout est fermé. Personne n'a accès à rien, sauf le créateur du compte.


1. Les deux outils pour ouvrir l'accès

Pour donner une permission, tu choisis l'une de ces deux méthodes (ou les deux) :

Method A : La méthode "Utilisateur" (IAM Policy)
  • C'est quoi ? Une feuille de permission que tu donnes à un utilisateur ou un rôle précis.

  • Logique : Tu dis à l'utilisateur : "Toi, tu as le droit d'aller lire le bucket X."

Method B : La méthode "Bucket" (Bucket Policy)
  • C'est quoi ? Une feuille de permission collée directement sur le bucket.

  • Logique : Le bucket dit : "J'autorise telle personne ou tel compte externe à venir chez moi."


2. Comment S3 prend sa décision ?

Quand quelqu'un clique sur un fichier dans S3, AWS vérifie les permissions dans cet ordre :

  1. Y a-t-il une interdiction (Deny) ? Si une règle dit "Interdit", c'est fini. L'accès est bloqué immédiatement, même si une autre règle disait oui.
  2. Y a-t-il une autorisation (Allow) ? S'il n'y a pas de Deny, il faut au moins un Allow (soit sur l'utilisateur, soit sur le bucket) pour que ça passe.

3. Trois cas particuliers pour l'examen

Scénario 1 : Bloquer les fuites de données sur Internet
Scénario 2 : Partager un fichier privé avec un client externe
Scénario 3 : Connecter tes serveurs privés à S3


03. S3 Replication

La réplication S3 est un mécanisme asynchrone et automatique permettant de copier des objets d'un bucket source vers un ou plusieurs buckets de destination.


1. Pourquoi utiliser la réplication ? (Business & Architecture Cases)

En architecture cloud, on ne duplique pas la donnée sans une excellente raison réglementaire ou technique. Voici la logique derrière chaque cas d'usage :


2. Les deux types de Réplication

AWS sépare la réplication en fonction des frontières géographiques des infrastructures :

CRR (Cross-Region Replication)
SRR (Same-Region Replication)

3. Les Prérequis Techniques (Requirements) ⚠️ Point chaud de l'examen

Si une question de l'examen mentionne que la réplication "ne fonctionne pas", la cause se trouve presque toujours dans le non-respect d'un de ces critères :


4. Fonctionnement logique & Options Avancées

Comprendre le comportement par défaut de S3 permet d'éviter les pièges sur les options spécifiques.

Sans S3 Batch Replication (par défaut)

Par défaut, la réplication ne regarde pas le passé. Dès que la règle est activée, seuls les nouveaux objets (ou les nouvelles versions d'objets existants) sont répliqués.

Avec S3 Batch Replication

04. S3 Storage Classes

Amazon S3 propose 8 classes de stockage adaptées à différents cycles de vie des données.

Source : https://aws.amazon.com/fr/s3/storage-classes/


1. Vue d'ensemble des 8 Classes de Stockage

Pour l'examen, imagine ces classes sur un axe allant de la donnée ultra-active (chaude) à la donnée archivée (froide).

1. S3 Standard (La classe par défaut)
2. S3 Intelligent-Tiering (L'optimisation automatique)
3. S3 Standard-Infrequent Access (S3 Standard-IA)

C'est-à-dire que tu peux tout à fait y placer des fichiers plus petits, mais tu seras facturé comme s'ils faisaient 128 Ko.

Exemple concret :

4. S3 One Zone-Infrequent Access (S3 One Zone-IA)
5. S3 Glacier Instant Retrieval
6. S3 Glacier Flexible Retrieval
7. S3 Glacier Deep Archive (L'archive ultime)

2. Le cas à part : S3 Express One Zone 🚀

Introduit pour répondre à des besoins de calcul intensif moderne, S3 Express One Zone change radicalement l'architecture traditionnelle de S3.

05. Advanced Amazon S3

Questions :

1. S3 Lifecycle Rules (Politiques de Cycle de Vie)

Transition Actions & The Transition Ladder (L'Échelle de Transition)

Pourquoi ? Automatiser la réduction des coûts de stockage au fil du temps sans intervention humaine. Les données vieillissent et deviennent généralement moins "chaudes".

Comment ? : Tu définis des règles pour déplacer les objets d'une classe de stockage à une autre après un nombre de jours précis. Tu ne peux pas transitionner vers le "haut" (du froid vers le chaud). Il existe un ordre strict imposé par AWS.

Remarque : AWS impose des délais minimaux avant de pouvoir passer à la classe suivante.

Exemple : Pour passer de S3 Standard à S3 Standard-IA, l'objet doit avoir au moins 30 jours. Si tu configures une règle à 15 jours, S3 refusera la transition.

image.png

Source : https://docs.aws.amazon.com/AmazonS3/latest/userguide/lifecycle-transition-general-considerations.html

Expiration Actions
Filtres : Prefix & Tags Rules

Une règle de cycle de vie ne s'applique pas forcément à tout le bucket. Tu peux cibler :

Amazon S3 Storage Class Analysis

Comment savoir s'il faut passer à Standard-IA après 30 jours ou 60 jours ?

Cet outil analytique observe tes patterns d'accès aux données pendant plusieurs semaines. Il génère des graphiques et te recommande la politique de cycle de vie idéale (le nombre de jours exact) pour maximiser tes économies.


2. S3 Requester Pays


3. Event Notifications

Filtrage des événements
Gestion des Permissions IAM : Les Politiques de Ressources

Pour que S3 puisse envoyer une notification à un autre service, il a besoin d'une autorisation. Contrairement à d'autres services, cela ne se fait pas via un rôle IAM classique attaché à S3, mais via des Resource-based Policies :

Exemples :

EventBridge (Advanced Filtering)

4. S3 Performance & Optimisation

S3 est conçu pour être massivement scalable par défaut, mais pour l'examen, tu dois connaître les limites physiques et les techniques d'optimisation.

Les limites par Préfixe (La règle d'or)

Les performances de S3 sont calculées par seconde et par préfixe (dossier). Un bucket n'a pas de limite globale, chaque préfixe est indépendant :

Multipart Upload

S3 Transfer Acceleration

S3 Byte-Range Fetches

5. S3 Batch Operations (Opérations en Lot)

6. S3 Storage Lens

S3 Storage Lens fournit un tableau de bord centralisé découpé en plusieurs piliers d'analyse :

  1. Summary (Résumé) : Vue globale sur la taille totale du stockage (en To) et le nombre d'objets.

  2. Cost-optimization (Optimisation des coûts) : Identifie les buckets qui ont des versions obsolètes non nettoyées ou des fichiers qui devraient être migrés vers Glacier.

  3. Data protection (Protection des données) : Te montre le pourcentage de buckets où le Versioning, MFA Delete ou la Réplication ne sont pas activés.

  4. Access management (Gestion des accès) : Repère les buckets configurés avec des accès publics dangereux.

  5. Event / Performance / Activity : Analyse la fréquence d'utilisation et les taux de requêtes.

  6. Status Code : Met en avant les erreurs récurrentes (ex: beaucoup d'erreurs 403 Forbidden ou 404 Not Found sur un bucket spécifique).

Free vs. Paid (Gratuit vs Payant)

🎯 Cheat Sheet Mentale pour l'Examen (Modules 3 à 6)

  1. Erreur de transition de cycle de vie $\rightarrow$ Vérifier la règle des 30 jours minimum pour Standard-IA.

  2. Partager un gros dataset sans payer le trafic sortant $\rightarrow$ S3 Requester Pays.

  3. Filtrage d'événement complexe ou cible exotique $\rightarrow$ Amazon EventBridge.

  4. Atteinte des limites de requêtes S3 (HTTP 503) $\rightarrow$ Créer des sous-préfixes (dossiers) supplémentaires pour diviser la charge.

  5. Action massive sur des millions d'objets existants $\rightarrow$ S3 Batch Operations.

  6. Rapport de conformité/coûts de S3 sur 50 comptes AWS différents $\rightarrow$ S3 Storage Lens.

Tu te sens prêt à tester tes connaissances avec une mise en situation réelle d'examen sur l'ensemble de tes notes S3 ?

06. S3 Encryption

1. Chiffrement au repos

Le dilemme à l'examen repose toujours sur deux critères : Qui gère la clé ? et Où se fait le chiffrement ?

A. Server-Side Encryption (SSE) : AWS chiffre pour vous

Les données arrivent brutes chez AWS, et c'est S3 qui s'occupe de les chiffrer avant de les écrire sur le disque.

B. Client-Side Encryption : Vous chiffrez avant d'envoyer

2. Chiffrement en transit (Encryption in Transit)

Le chiffrement en transit garantit que personne ne peut intercepter vos données entre votre client et les serveurs d'AWS.

Voici à quoi ressemble la règle absolue à connaître pour le SAA-C03 :

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Sid": "EnforceHTTPS",
      "Effect": "Deny",
      "Principal": "*",
      "Action": "s3:*",
      "Resource": [
        "arn:aws:s3:::mon-bucket-examen",
        "arn:aws:s3:::mon-bucket-examen/*"
      ],
      "Condition": {
        "Bool": {
          "aws:SecureTransport": "false"
        }
      }
    }
  ]
}

Comme aws:SecureTransport est false (donc du HTTP classique), l'accès est bloqué (Deny).

Advanced S3 Concepts - Part 2

1. Amazon S3 CORS (Cross-Origin Resource Sharing)

Le contexte et le problème

Par défaut, les navigateurs web appliquent une règle de sécurité très stricte appelée Same-Origin Policy (Politique de même origine). Si un utilisateur visite site-a.com, le code JavaScript de ce site ne peut pas, par défaut, aller chercher des ressources (comme des polices, des images ou des scripts) sur site-b.com ou sur un bucket S3 mon-bucket.s3.amazonaws.com. Le navigateur bloque la requête pour éviter les attaques malveillantes.

À quoi ça sert ?

CORS est un mécanisme qui permet de dire explicitement au navigateur web : "Hé, j'autorise le site A à venir piocher des ressources dans mon bucket S3".

Ce qu'il faut retenir pour l'examen

2. S3 MFA Delete

Le contexte et le problème

Imaginez qu'un employé en colère ou qu'un pirate réussisse à voler les identifiants d'un administrateur. Il pourrait supprimer définitivement des données critiques de l'entreprise en quelques clics.

À quoi ça sert ?

MFA Delete ajoute une double sécurité physique. Même si vous avez les droits d'accès, AWS va vous demander de saisir un code MFA (Multi-Factor Authentication) pour deux actions ultra-critiques.

Ce qu'il faut retenir pour l'examen (Attention aux pièges !)

3. S3 Access Logs (Journaux d'accès)

Le contexte et le problème

Dans une grande entreprise ou pour des raisons de conformité légale, vous devez être capable de répondre à la question : "Qui a consulté ou modifié ce fichier confidentiel mardi dernier à 14h ?"

À quoi ça sert ?

Les S3 Access Logs enregistrent toutes les requêtes (GET, PUT, DELETE) envoyées à votre bucket. Cela fournit des enregistrements détaillés (IP source, utilisateur, type de requête, date) à des fins d'audit et de sécurité.

Ce qu'il faut retenir pour l'examen

4. Pre-signed URLs (URLs pré-signées)

Le contexte et le problème

Vous avez des fichiers privés dans un bucket S3 (par exemple, des vidéos de formation payantes). Vous ne voulez pas rendre le bucket public. Comment permettre à un utilisateur qui a payé de télécharger sa vidéo sans lui créer un compte AWS ?

À quoi ça sert ?

Une URL pré-signée est une URL temporaire générée par vous (via du code) qui donne une autorisation d'accès temporaire à un objet S3 spécifique. Elle contient une clé de sécurité et une date d'expiration (par exemple, valide pendant 15 minutes).

Ce qu'il faut retenir pour l'examen

5. S3 Object Lock & Glacier Vault Lock

Le contexte et le problème

Dans les secteurs bancaires, de la santé ou du secteur public, la loi impose souvent de conserver des documents (ex: fiches de paie, dossiers médicaux) pendant plusieurs années sans qu'absolument personne (pas même le grand patron ou le pirate qui a volé le compte Root) ne puisse les modifier ou les supprimer.

À quoi ça sert ?

Ils implémentent le modèle WORM (Write Once, Read Many — Écrire une fois, lire plusieurs fois). Une fois le fichier écrit, il est gravé dans le marbre pour la durée choisie.

Ce qu'il faut retenir pour l'examen

S3 Object Lock (Au niveau de l'objet ou du bucket)

Il fonctionne avec deux modes principaux pour gérer la période de rétention (Retention Period) :

Glacier Vault Lock (Pour les archives à long terme)

6. S3 Access Points (Points d'accès S3)

Le contexte et le problème

Imaginez un bucket S3 unique qui centralise toutes les données d'une entreprise (données financières, RH, marketing, tech). Historiquement, vous deviez écrire une Bucket Policy (politique de bucket) géante. Au bout de quelques mois, la politique fait 300 lignes, elle est illisible, et si vous faites une erreur pour accorder un accès au marketing, vous risquez de casser les accès de la finance.

À quoi ça sert ?

Les Access Points permettent de simplifier la gestion des accès en créant des "portes d'entrée" uniques et dédiées pour chaque équipe ou application. Au lieu d'une seule grosse politique de bucket, vous créez un point d'accès pour le marketing (avec sa propre mini-politique), un pour la finance, etc.

Ce qu'il faut retenir pour l'examen

Pour restreindre l'accès à vos données S3 aux seules frontières de votre réseau d'entreprise, vous pouvez configurer un S3 Access Point pour qu'il soit exclusivement accessible depuis l'intérieur d'un VPC (Virtual Private Cloud) spécifique. Concrètement, l'application située dans votre VPC privé va interroger ce point d'accès en empruntant un VPC Gateway Endpoint (ou un VPC Interface Endpoint selon votre architecture), ce qui permet au trafic réseau de transiter intégralement via le réseau interne d'AWS sans jamais s'exposer sur l'Internet public. De cette manière, même si un utilisateur possède des identifiants valides, toute tentative de connexion via ce point d'accès en dehors du VPC ou depuis une connexion Internet classique sera automatiquement bloquée.

7. S3 Object Lambda

Le contexte et le problème

Vous avez un bucket contenant des images en haute résolution ou des fichiers de données clients au format JSON.

À quoi ça sert ?

S3 Object Lambda permet d'intercepter la requête de l'application appelante et de modifier l'objet à la volée via une fonction AWS Lambda avant de lui renvoyer.

Ce qu'il faut retenir pour l'examen