0Pricing
Cloud & IT Cert Prep · Leçon

Optimisation des coûts S3 et du transfert de données

Appliquez S3 Intelligent-Tiering, les règles de cycle de vie, S3 Select et CloudFront afin de réduire considérablement les coûts de stockage et de transfert de données.

Optimisation des coûts S3 et du transfert de données est une leçon Cloud & IT Cert Prep gratuite sur CoddyKit. Ceci est la leçon 4 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 Cloud & IT Cert Prep, et ta progression se synchronise sur le web et l'application CoddyKit. Le cours Cloud & IT Cert Prep comprend 4 leçons au total.

Principes fondamentaux des coûts de stockage S3

Les coûts de stockage Amazon S3 varient considérablement selon la classe de stockage et le mode d’accès. S3 Standard facture environ 0,023 $ par Go et par mois — à l’échelle du pétaoctet, cela devient significatif. La bonne nouvelle est que S3 propose sept classes de stockage optimisées pour différentes fréquences d’accès, avec des prix allant de 0,023 $/Go (Standard) à 0,00099 $/Go (Glacier Deep Archive). La clé de l’optimisation des coûts S3 consiste à associer vos données à la classe de stockage appropriée et à automatiser les transitions à l’aide de règles de cycle de vie.

# S3 storage class costs (us-east-1 approximate):
# S3 Standard:              $0.023/GB/month
# S3 Intelligent-Tiering:   $0.023/GB (frequent) + $0.0125 (infrequent)
# S3 Standard-IA:           $0.0125/GB/month + retrieval fee
# S3 One Zone-IA:           $0.01/GB/month (single AZ)
# S3 Glacier Instant:       $0.004/GB/month + retrieval fee
# S3 Glacier Flexible:      $0.0036/GB/month + retrieval time
# S3 Glacier Deep Archive:  $0.00099/GB/month + retrieval time

S3 Intelligent-Tiering

S3 Intelligent-Tiering déplace automatiquement les objets entre les niveaux d’accès en fonction des habitudes d’accès réelles — sans frais de récupération et sans durée minimale pour le niveau d’accès fréquent. Il surveille l’accès au niveau de chaque objet : les objets auxquels vous n’avez pas accédé depuis 30 jours passent au niveau d’accès peu fréquent (40 % moins cher), puis, après 90 jours, au niveau d’archivage à récupération instantanée (68 % moins cher). De petits frais mensuels de surveillance sont appliqués (0,0025 $ pour 1 000 objets). Utilisez Intelligent-Tiering lorsque vous ne pouvez pas prévoir les habitudes d’accès ou lorsque votre compartiment contient à la fois des données fréquemment et rarement consultées.

# Enable Intelligent-Tiering on objects
aws s3api put-object \
  --bucket my-bucket \
  --key data/report.parquet \
  --body report.parquet \
  --storage-class INTELLIGENT_TIERING

# Or set as default for entire bucket
aws s3api put-bucket-intelligent-tiering-configuration \
  --bucket my-bucket \
  --id whole-bucket-tiering \
  --intelligent-tiering-configuration '{
    "Id": "whole-bucket-tiering",
    "Status": "Enabled",
    "Tierings": [
      {"AccessTier": "ARCHIVE_ACCESS", "Days": 90},
      {"AccessTier": "DEEP_ARCHIVE_ACCESS", "Days": 180}
    ]
  }'

Règles de cycle de vie S3 pour le classement automatique

Les règles de cycle de vie S3 automatisent les transitions et les expirations des objets en fonction de leur ancienneté. Vous définissez les règles par préfixe ou par balise, puis indiquez les transitions à des seuils de jours précis. Exemple courant de cycle de vie pour l’archivage : Standard → Standard-IA (30 jours) → Glacier Instant Retrieval (90 jours) → Deep Archive (365 jours) → Delete (2 555 jours). Cela peut réduire progressivement les coûts de stockage par Go de 0,023 $ à 0,00099 $ — soit une réduction de 95 % pour les données archivées. Les transitions de cycle de vie exigent une taille minimale d’objet de 128 Ko pour IA et Glacier (la transition des objets plus petits n’est pas rentable).

# Lifecycle rule: transition logs to archive
aws s3api put-bucket-lifecycle-configuration \
  --bucket app-logs-bucket \
  --lifecycle-configuration '{
    "Rules": [{
      "ID": "log-archive",
      "Filter": {"Prefix": "logs/"},
      "Status": "Enabled",
      "Transitions": [
        {"Days": 30,  "StorageClass": "STANDARD_IA"},
        {"Days": 90,  "StorageClass": "GLACIER_IR"},
        {"Days": 365, "StorageClass": "DEEP_ARCHIVE"}
      ],
      "Expiration": {"Days": 2555}
    }]
  }'

S3 Select et Glacier Select

S3 Select vous permet de récupérer uniquement les données dont vous avez besoin dans un objet S3 à l’aide d’expressions SQL, au lieu de télécharger l’objet entier. Pour un fichier CSV de 10 Go dont vous n’avez besoin que de 100 lignes, S3 Select peut récupérer uniquement ces lignes — ce qui réduit considérablement les coûts de transfert de données et le temps de traitement par l’application. Glacier Select fait de même pour les objets stockés dans Glacier. S3 Select prend en charge les formats CSV, JSON et Parquet. Cette fonctionnalité est particulièrement utile dans les pipelines d’analyse de données, où de nombreuses requêtes n’accèdent qu’à un sous-ensemble de chaque fichier de données.

# S3 Select: query a CSV object using SQL expression
aws s3api select-object-content \
  --bucket analytics-data \
  --key sales/2026-06.csv \
  --expression-type SQL \
  --expression "SELECT * FROM S3Object WHERE region = 'us-east'" \
  --input-serialization 'CSV={FileHeaderInfo=USE}' \
  --output-serialization 'CSV={}' \
  output.csv

# Only the matching rows are returned
# Saves data transfer cost vs downloading entire file

S3 Multipart Upload et accélération des transferts

Pour téléverser de gros objets, S3 Multipart Upload les divise en parties (5 Mo minimum par partie) qui sont téléversées en parallèle, ce qui améliore le débit et permet de reprendre les téléversements. Les parties en échec peuvent être réessayées sans recommencer l’intégralité du téléversement. Supprimez les téléversements multipart incomplets à l’aide de règles de cycle de vie afin d’éviter de payer pour les parties incomplètes. S3 Transfer Acceleration achemine les téléversements via les emplacements périphériques AWS CloudFront pour accélérer les téléversements depuis des sites éloignés — ce qui est utile pour les utilisateurs qui téléversent des fichiers volumineux depuis différentes régions du monde, mais entraîne un coût supplémentaire (0,04 à 0,08 $/Go). Utilisez cette fonctionnalité uniquement lorsqu’elle apporte une amélioration mesurable.

# Multipart upload example
aws s3api create-multipart-upload \
  --bucket my-bucket --key large-file.zip

# Abort incomplete multipart uploads via lifecycle
aws s3api put-bucket-lifecycle-configuration \
  --bucket my-bucket \
  --lifecycle-configuration '{
    "Rules": [{
      "ID": "cleanup-incomplete-uploads",
      "Status": "Enabled",
      "AbortIncompleteMultipartUpload": {"DaysAfterInitiation": 7}
    }]
  }'

Comprendre les coûts de transfert de données

Les coûts de transfert de données comptent parmi les factures AWS les plus surprenantes. Règles principales : le transfert de données entrant (vers AWS) est gratuit. Le transfert de données sortant vers Internet coûte environ 0,09 $/Go (pour les 10 premiers To/mois). Le transfert de données entre régions coûte environ 0,02 $/Go. Le transfert de données entre AZ au sein d’une même région coûte 0,01 $/Go dans chaque sens. Au sein d’une même AZ, le transfert est gratuit. Concevez vos architectures de manière à réduire au minimum les transferts de données entre régions et vers Internet — c’est pourquoi les déploiements régionaux et CloudFront sont essentiels pour distribuer du contenu à moindre coût.

# Data transfer cost examples (us-east-1):
# Internet (outbound):       $0.09/GB (first 10 TB)
# CloudFront -> internet:    $0.0085/GB (much cheaper!)
# Cross-region:              $0.02/GB
# Cross-AZ (same region):    $0.01/GB each direction
# Same AZ:                   $0.00/GB (free)
# S3 -> CloudFront:          $0.00/GB (free!)

# Cost reduction tip:
# S3 -> CloudFront -> users
# vs
# EC2 -> internet -> users
# CloudFront is 10x cheaper for data egress

CloudFront pour réduire les coûts de transfert de données

La distribution de contenu via Amazon CloudFront réduit considérablement les coûts de transfert de données de deux façons. Premièrement, CloudFront applique des tarifs de sortie inférieurs à ceux d’EC2 ou de l’accès direct à Internet depuis S3 (environ 0,0085 $/Go contre 0,09 $/Go). Deuxièmement, CloudFront met le contenu en cache dans des emplacements périphériques, ce qui réduit le nombre de fois où les données sont fournies depuis votre origine — un même contenu peut ainsi être fourni des millions de fois depuis le cache après une seule récupération auprès de l’origine. Le transfert de données de S3 vers CloudFront est également gratuit. CloudFront est donc un outil d’optimisation des coûts, et pas seulement un outil d’amélioration des performances.

# Cost comparison for 100 TB/month of outbound traffic:
# Direct from EC2/S3 to internet:
#   100,000 GB x $0.09/GB = $9,000/month

# Via CloudFront (assuming 80% cache hit rate):
#   20,000 GB origin pull: free (S3->CF) or $0.02 (EC2->CF)
#   100,000 GB CF->internet: 100,000 x $0.0085 = $850
#   Total: ~$1,250 vs $9,000 = 86% savings

# Create CloudFront distribution with S3 origin
aws cloudfront create-distribution \
  --distribution-config file://cf-config.json

VPC Endpoints pour éviter les coûts de NAT Gateway

Les frais de traitement des données de NAT Gateway (0,045 $/Go) peuvent devenir importants lorsque des instances EC2 situées dans des sous-réseaux privés accèdent fréquemment à S3 ou DynamoDB. Utilisez plutôt des VPC Gateway Endpoints pour S3 et DynamoDB : ils acheminent le trafic via le réseau fédérateur AWS à coût nul et ne nécessitent pas de NAT Gateway pour ces services. De plus, les VPC Interface Endpoints (PrivateLink) destinés aux autres services AWS évitent les frais de traitement de NAT Gateway pour le trafic de ces services, même si les Interface Endpoints eux-mêmes entraînent un faible coût horaire.

# Create VPC Gateway Endpoint for S3 (free!)
aws ec2 create-vpc-endpoint \
  --vpc-id vpc-12345 \
  --service-name com.amazonaws.us-east-1.s3 \
  --vpc-endpoint-type Gateway \
  --route-table-ids rtb-private-AZ1 rtb-private-AZ2

# Traffic from EC2 in private subnet to S3:
# WITHOUT endpoint: EC2 -> NAT GW ($0.045/GB) -> S3
# WITH endpoint:    EC2 -> S3 via VPC endpoint ($0.00/GB)

# For DynamoDB:
aws ec2 create-vpc-endpoint \
  --service-name com.amazonaws.us-east-1.dynamodb \
  --vpc-endpoint-type Gateway

Optimiser les coûts des requêtes S3

S3 facture chaque requête d’API ainsi que chaque Go stocké. Les requêtes PUT, COPY, POST, LIST coûtent 0,005 $ pour 1 000 requêtes ; les requêtes GET, SELECT coûtent 0,0004 $ pour 1 000 requêtes. Pour les applications qui effectuent des millions de requêtes, ces coûts s’accumulent. Optimisez vos coûts en : regroupant les petits objets dans des objets plus volumineux (moins de requêtes), utilisant CloudFront pour fournir des réponses mises en cache (ce qui réduit les requêtes GET vers l’origine), évitant les opérations de listage lorsque c’est possible (LIST est coûteux), et utilisant S3 Batch Operations pour les opérations en masse au lieu d’effectuer des millions d’appels d’API individuels.

# S3 Batch Operations: process millions of objects at once
aws s3control create-job \
  --account-id 123456789012 \
  --manifest '{
    "Spec":{"Format":"S3BatchOperations_CSV_20180820","Fields":["Bucket","Key"]},
    "Location":{"ObjectArn":"arn:aws:s3:::manifest-bucket/manifest.csv","ETag":"abc123"}
  }' \
  --operation '{
    "S3CopyObject": {
      "TargetResource": "arn:aws:s3:::destination-bucket",
      "StorageClass": "GLACIER"
    }
  }' \
  --report '{"Bucket":"arn:aws:s3:::report-bucket","Enabled":true}'

AWS DataSync pour le transfert de données

Pour les transferts de données à grande échelle entre votre infrastructure sur site et AWS, ou entre des services AWS, AWS DataSync est plus économique que l’écriture d’un code de transfert personnalisé. DataSync utilise un protocole spécialement conçu à cet effet, qui offre un débit jusqu’à 10 fois supérieur à celui des outils open source, et intègre la validation des données, la planification et la surveillance. Les données transférées via DataSync vers S3, EFS ou FSx sont facturées selon les tarifs standard de transfert de données AWS — mais l’efficacité de DataSync permet de terminer les transferts plus rapidement, ce qui réduit le temps de calcul EC2 (et le coût) nécessaire aux migrations volumineuses.

# Create DataSync task to copy S3 bucket to another region
aws datasync create-task \
  --source-location-arn arn:aws:datasync:us-east-1:123:location/loc-source \
  --destination-location-arn arn:aws:datasync:us-west-2:123:location/loc-dest \
  --name 'DR-replication' \
  --options '{
    "VerifyMode": "ONLY_FILES_TRANSFERRED",
    "OverwriteMode": "ALWAYS",
    "TransferMode": "CHANGED"
  }'

# DataSync pricing: $0.0125/GB transferred

Storage Lens pour la visibilité sur S3

Amazon S3 Storage Lens offre une visibilité à l’échelle de l’organisation sur l’utilisation du stockage S3 et les métriques d’activité dans les comptes et les régions. Il met en évidence des possibilités d’optimisation des coûts, comme l’identification des compartiments sans règles de cycle de vie, des compartiments contenant des téléversements multipart incomplets ou de la répartition entre les classes de stockage. Le tableau de bord par défaut de S3 Storage Lens est gratuit ; le tableau de bord des métriques avancées (0,20 $/million d’objets) ajoute une analyse détaillée par préfixe et des métriques sur l’ancienneté des données. Utilisez Storage Lens comme point de départ de toute démarche d’optimisation des coûts S3 afin d’identifier les compartiments ayant le plus fort impact.

# Enable S3 Storage Lens dashboard
aws s3control put-storage-lens-configuration \
  --account-id 123456789012 \
  --config-id default \
  --storage-lens-configuration '{
    "Id": "default",
    "IsEnabled": true,
    "DataExport": {
      "S3BucketDestination": {
        "AccountId": "123456789012",
        "Arn": "arn:aws:s3:::my-storage-lens-export",
        "Format": "CSV",
        "OutputSchemaVersion": "V_1"
      }
    }
  }'

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 S3 Intelligent-Tiering et les règles de cycle de vie réduisent les coûts de stockage en déplaçant automatiquement les données vers des classes de stockage moins coûteuses, que CloudFront réduit considérablement les coûts de transfert de données par rapport à une distribution directe depuis S3 ou EC2, et que les VPC Gateway Endpoints éliminent les frais de NAT Gateway pour le trafic S3 et DynamoDB. S3 Storage Lens offre une visibilité sur les possibilités d’optimisation. Nous allons maintenant étudier KMS, ACM et les modèles de chiffrement.

Questions Fréquemment Posées

La leçon « Optimisation des coûts S3 et du transfert de données » est-elle gratuite ?

Oui — le texte complet de « Optimisation des coûts S3 et du transfert de données » 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 Cloud & IT Cert Prep, passe à CoddyKit PRO. Le cours Cloud & IT Cert Prep comprend 4 leçons au total.

Qu'est-ce que j'apprendrai dans « Optimisation des coûts S3 et du transfert de données » ?

Appliquez S3 Intelligent-Tiering, les règles de cycle de vie, S3 Select et CloudFront afin de réduire considérablement les coûts de stockage et de transfert de données. Tu pratiques Cloud & IT Cert Prep 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 Cloud & IT Cert Prep ?

Aucune expérience préalable n'est requise. Cloud & IT Cert Prep 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 4 sur 4.

Combien de temps prend la leçon « Optimisation des coûts S3 et du transfert de données » ?

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 Cloud & IT Cert Prep ?

Oui. Chaque leçon Cloud & IT Cert Prep 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. Dimensionnement adapté et Compute Optimizer
  2. Instances réservées, Savings Plans et Spot
  3. Cost Explorer, budgets et balises d’allocation des coûts
  4. Optimisation des coûts S3 et du transfert de données
← Retour à Cloud & IT Cert Prep