0Pricing
AWS Solutions Architect · Leçon

Compartiments, objets et régions

Créez des compartiments S3, chargez des objets, comprenez le nommage des clés et découvrez comment S3 réplique les données au sein d’une région.

Compartiments, objets et régions est une leçon AWS Solutions Architect gratuite sur CoddyKit. Ceci est la leçon 1 sur 4. Tu peux lire la leçon complète ci-dessous gratuitement — puis la pratiquer en direct dans le navigateur avec un éditeur de code intégré et un tuteur IA 24/7. Elle fait partie du parcours d'apprentissage AWS Solutions Architect, et ta progression se synchronise sur le web et l'application CoddyKit. Le cours AWS Solutions Architect comprend 4 leçons au total.

Qu'est-ce qu'Amazon S3 ?

Amazon Simple Storage Service (S3) est le service de stockage d'objets d'AWS, conçu pour stocker et récupérer toute quantité de données depuis n'importe quel endroit sur Internet. S3 offre une durabilité de 11 neuf (99.999999999 %) en stockant de manière redondante les objets sur plusieurs appareils répartis dans plusieurs Availability Zones de la Région sélectionnée. Il est évolutif à l'infini, ne présente aucune limite de capacité et prend en charge les objets de 0 octet à 5 TB. S3 constitue la base d'innombrables architectures AWS : sites web statiques, lacs de données, référentiels de sauvegarde, et bien plus encore.

Compartiments S3 : le conteneur de premier niveau

Un compartiment S3 est un conteneur nommé dont le nom est unique à l'échelle mondiale et qui contient des objets. Les compartiments sont créés dans une Région AWS précise, mais leurs noms doivent être uniques dans tous les comptes AWS du monde entier (car leur nom fait partie de l'URL). Les noms de compartiments doivent comporter de 3 à 63 caractères, être en minuscules, commencer par une lettre ou un chiffre et ne contenir ni trait de soulignement ni lettre majuscule. Bonne pratique : incluez l'ID de votre compte ou un suffixe aléatoire afin d'éviter les collisions de noms avec d'autres comptes.

# Create an S3 bucket in a specific region
aws s3api create-bucket \
  --bucket my-company-data-20240101 \
  --region us-west-2 \
  --create-bucket-configuration LocationConstraint=us-west-2

Objets et clés S3

Un objet dans S3 se compose des données (le contenu du fichier), d'une clé (le nom unique de l'objet dans le compartiment), des métadonnées (paires clé-valeur définies par le système et l'utilisateur) et, éventuellement, d'un identifiant de version (si la gestion des versions est activée). La clé est la chaîne complète ressemblant à un chemin, par exemple photos/2024/summer/beach.jpg. S3 est plat : il n'existe pas de véritables répertoires, uniquement des préfixes de clés qui leur ressemblent. La taille maximale d'un objet est de 5 TB ; pour les objets de plus de 100 MB, utilisez Multipart Upload afin d'améliorer les performances et la fiabilité.

# Upload an object
aws s3 cp ./report.pdf s3://my-company-data-20240101/reports/2024/report.pdf

# List objects with a specific prefix
aws s3 ls s3://my-company-data-20240101/reports/2024/

Formats d'URL S3

Les objets S3 sont accessibles avec deux formats d'URL. Style chemin : https://s3.<region>.amazonaws.com/<bucket>/<key> (déconseillé pour les nouveaux compartiments). Style hôte virtuel : https://<bucket>.s3.<region>.amazonaws.com/<key> (standard actuel). Le nom du compartiment devient un sous-domaine, raison pour laquelle les noms de compartiments doivent être conformes aux règles DNS. Pour les URL pré-signées et les distributions CloudFront, vous verrez toujours le format avec hôte virtuel. Comprendre la structure des URL vous aide à configurer correctement les politiques de compartiment et CORS.

# Generate a pre-signed URL valid for 1 hour (3600 seconds)
aws s3 presign s3://my-company-data-20240101/reports/2024/report.pdf \
  --expires-in 3600

Modèle de cohérence des données S3

Depuis décembre 2020, Amazon S3 fournit automatiquement une cohérence forte après écriture en lecture pour toutes les opérations, notamment les PUT de nouveaux objets, les remplacements et les DELETE, dans toutes les Régions, sans coût supplémentaire. Ainsi, dès qu'une écriture réussit, toute lecture ultérieure renvoie la dernière version de l'objet. Il s'agit d'une amélioration importante par rapport à l'ancien modèle de cohérence éventuelle, qui simplifie la conception des applications en supprimant le besoin d'attendre après une écriture ou de mettre en place une logique de nouvelle tentative.

S3 et les Régions : résidence des données

Lorsque vous créez un compartiment S3, vous spécifiez une Région et vos données restent dans cette Région, sauf si vous configurez explicitement une réplication. AWS réplique les données dans cette Région entre plusieurs AZ afin d'assurer leur durabilité, mais ne les déplace pas automatiquement vers d'autres Régions. Cette résidence régionale des données est importante pour la conformité : si la réglementation exige que les données restent dans l'UE, créez le compartiment dans eu-west-1 ou dans une autre Région de l'UE ; vos données n'en sortiront pas.

# Find the region of an existing bucket
aws s3api get-bucket-location \
  --bucket my-company-data-20240101

Multipart Upload pour les objets volumineux

Multipart Upload est obligatoire pour les objets de plus de 5 GB et recommandé pour ceux de plus de 100 MB. Il divise l'objet en parties (5 MB minimum par partie, jusqu'à 10 000 parties), téléverse chaque partie indépendamment (en parallèle), puis les assemble pour former l'objet final. Si une partie échoue, vous ne recommencez que cette partie. AWS CLI et les SDK gèrent automatiquement le téléversement en plusieurs parties lorsque vous utilisez la commande aws s3 cp pour les fichiers volumineux ; vous n'avez pas besoin de l'implémenter manuellement.

# The CLI uses multipart automatically for large files
aws s3 cp large-file-50GB.tar.gz s3://my-bucket/ \
  --storage-class STANDARD

# Or use s3api to control multipart manually
aws s3api create-multipart-upload \
  --bucket my-bucket \
  --key large-file-50GB.tar.gz

Métadonnées des objets S3

Chaque objet S3 possède des métadonnées système définies par AWS (Content-Type, Content-Length, ETag, Last-Modified) et des métadonnées facultatives définies par l'utilisateur (paires clé-valeur personnalisées préfixées par x-amz-meta-). Les métadonnées sont stockées avec l'objet et renvoyées dans les en-têtes de réponse HTTP lors du téléchargement de l'objet. Content-Type est particulièrement important pour la diffusion sur le web : si vous téléversez un fichier HTML sans définir Content-Type: text/html, les navigateurs peuvent proposer son téléchargement au lieu de l'afficher.

# Upload with explicit Content-Type metadata
aws s3 cp index.html s3://my-website-bucket/ \
  --content-type 'text/html' \
  --metadata 'author=alice,env=production'

Hébergement de sites web statiques avec S3

Amazon S3 peut servir d'hébergeur de sites web statiques : il diffuse directement depuis un compartiment les fichiers HTML, CSS, JavaScript, les images et d'autres fichiers. Activez l'hébergement de site web statique dans les propriétés du compartiment, puis spécifiez un document d'index (index.html) et, éventuellement, un document d'erreur (404.html). L'URL du point de terminaison du site web du compartiment suit le format : http://<bucket>.s3-website.<region>.amazonaws.com. Pour prendre en charge HTTPS et les domaines personnalisés, placez une distribution CloudFront devant le compartiment du site web statique S3.

# Enable static website hosting
aws s3api put-bucket-website \
  --bucket my-website-bucket \
  --website-configuration '{"IndexDocument":{"Suffix":"index.html"},"ErrorDocument":{"Key":"404.html"}}'

Accélération des transferts S3

L'accélération des transferts S3 accélère les téléversements d'objets sur de longues distances en acheminant les données via la CloudFront Edge Location la plus proche, puis sur le réseau privé AWS jusqu'à la Région du compartiment S3. Au lieu de téléverser directement vers le point de terminaison S3, le client téléverse vers un point de terminaison accéléré tel que my-bucket.s3-accelerate.amazonaws.com. L'accélération des transferts ajoute de petits frais par GB, mais peut améliorer considérablement la vitesse de téléversement pour les utilisateurs géographiquement éloignés de la Région du compartiment.

# Enable Transfer Acceleration on a bucket
aws s3api put-bucket-accelerate-configuration \
  --bucket my-company-data-20240101 \
  --accelerate-configuration Status=Enabled

Étiquetage des objets S3

Les balises d'objet sont des paires clé-valeur que vous associez aux objets S3 pour les catégoriser et les gérer. Les balises servent aux règles de cycle de vie (transférer ou expirer les objets portant certaines balises), au contrôle des accès (conditions des politiques IAM et de compartiment fondées sur les valeurs des balises), à la répartition des coûts (Cost Explorer suit les dépenses S3 par balise), ainsi qu'à l'inventaire et à l'analyse. Chaque objet peut comporter jusqu'à 10 balises. Les balises peuvent être ajoutées lors du téléversement ou mises à jour après la création de l'objet, sans modifier les données de l'objet lui-même.

# Add tags to an existing object
aws s3api put-object-tagging \
  --bucket my-company-data-20240101 \
  --key reports/2024/report.pdf \
  --tagging '{"TagSet":[{"Key":"env","Value":"production"},{"Key":"owner","Value":"finance"}]}'

Vérification rapide

Vérifiez votre compréhension des concepts AWS Solutions Architect (SAA-C03) présentés dans cette leçon.

Récapitulatif de la leçon

Dans cette leçon, vous avez appris que : les compartiments S3 sont des conteneurs dont le nom est unique à l'échelle mondiale et qui sont associés à une Région précise ; les objets sont stockés selon une structure de clés plate et prennent en charge les métadonnées et les balises ; et S3 fournit une cohérence forte après écriture en lecture ainsi qu'une durabilité de 11 neuf grâce à la redondance multi-AZ. Nous allons maintenant étudier le contrôle des accès S3 avec les politiques de compartiment et les ACL.

Questions Fréquemment Posées

La leçon « Compartiments, objets et régions » est-elle gratuite ?

Oui — le texte complet de « Compartiments, objets et régions » est gratuit à lire ici sur le web. Pour la pratiquer de manière interactive (un éditeur de code intégré et un tuteur IA 24/7) et déverrouiller le reste du cours AWS Solutions Architect, passe à CoddyKit PRO. Le cours AWS Solutions Architect comprend 4 leçons au total.

Qu'est-ce que j'apprendrai dans « Compartiments, objets et régions » ?

Créez des compartiments S3, chargez des objets, comprenez le nommage des clés et découvrez comment S3 réplique les données au sein d’une région. Tu pratiques AWS Solutions Architect avec du code pratique que tu exécutes directement dans le navigateur, et un tuteur IA 24/7 répond à tes questions au fur et à mesure que tu avances dans la leçon.

Dois-je avoir de l'expérience pour commencer AWS Solutions Architect ?

Aucune expérience préalable n'est requise. AWS Solutions Architect sur CoddyKit est structuré pour les débutants jusqu'aux apprenants avancés, donc tu peux commencer ici ou depuis le début et avancer à ton rythme. Ceci est la leçon 1 sur 4.

Combien de temps prend la leçon « Compartiments, objets et régions » ?

La plupart des leçons CoddyKit prennent environ 5–10 minutes. Chacune est courte et interactive, tu progresses régulièrement et tu repiques exactement où tu t'es arrêté sur le web et l'app.

Peux-tu écrire et exécuter du code dans cette leçon AWS Solutions Architect ?

Oui. Chaque leçon AWS Solutions Architect inclut un éditeur de code intégré, tu écris et exécutes du vrai code directement dans ton navigateur et tu reçois des retours IA instantanés — aucune configuration locale requise.

Toutes les leçons de ce cours

  1. Compartiments, objets et régions
  2. Contrôle d’accès S3 : stratégies de compartiment et ACL
  3. Gestion des versions, suppression MFA et réplication
  4. Classes de stockage et stratégies de cycle de vie
← Retour à AWS Solutions Architect