Distributions CloudFront et origines
Créez une distribution CloudFront, configurez des origines S3 et HTTP personnalisées, et comprenez le contrôle d’accès à l’origine pour sécuriser S3.
Distributions CloudFront et origines 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 CloudFront ?
Amazon CloudFront est le réseau mondial de diffusion de contenu (CDN) d’AWS. Il met en cache et distribue le contenu depuis des emplacements périphériques répartis dans plus de 400 villes de plus de 90 pays. Lorsqu’un utilisateur demande du contenu, CloudFront le diffuse depuis l’emplacement périphérique le plus proche, ce qui réduit considérablement la latence par rapport à une récupération depuis le serveur d’origine.
CloudFront ne sert pas uniquement aux fichiers statiques : il accélère également le contenu dynamique, les API et la diffusion vidéo en continu. Il s’intègre à d’autres services AWS tels que S3, ALB, Lambda@Edge, WAF et Shield, ce qui en fait la couche de distribution standard des architectures AWS modernes.
Distributions CloudFront
Une distribution CloudFront est l’unité de configuration principale. Elle définit : une ou plusieurs origines (l’emplacement du contenu), les comportements de mise en cache (la manière dont les différents chemins d’URL sont mis en cache), les paramètres de sécurité et les niveaux de tarification. Vous accédez à votre contenu via le nom de domaine de la distribution (par exemple, d1234abcdef.cloudfront.net) ou un domaine personnalisé (par exemple, cdn.example.com) à l’aide d’un enregistrement CNAME ou ALIAS.
Après sa création, une distribution nécessite 10 à 15 minutes pour être déployée mondialement dans tous les emplacements périphériques. Les modifications apportées à une distribution existante nécessitent également plusieurs minutes pour se propager. Il existait historiquement deux types de distributions, mais aujourd’hui toutes les distributions utilisent l’interface de configuration unifiée.
# Create a CloudFront distribution backed by S3
aws cloudfront create-distribution \
--distribution-config '{
"Origins": {
"Quantity": 1,
"Items": [{
"Id": "S3Origin",
"DomainName": "my-bucket.s3.amazonaws.com",
"S3OriginConfig": {"OriginAccessIdentity": ""}
}]
},
"DefaultCacheBehavior": {
"TargetOriginId": "S3Origin",
"ViewerProtocolPolicy": "redirect-to-https",
"CachePolicyId": "658327ea-f89d-4fab-a63d-7e88639e58f6"
},
"Enabled": true,
"Comment": "My S3 distribution",
"CallerReference": "2026-06-20-unique"
}'S3 comme origine CloudFront
Utiliser un compartiment S3 comme origine CloudFront est l’un des modèles les plus courants. CloudFront récupère les objets depuis S3, les met en cache dans les emplacements périphériques, puis sert les requêtes suivantes depuis le cache sans solliciter à nouveau S3. Cela réduit les coûts des requêtes S3, améliore la latence pour les utilisateurs du monde entier et décharge S3 d’une partie de la bande passante.
Pour servir un site reposant sur S3, vous n’avez pas besoin de rendre le compartiment public. Utilisez plutôt Origin Access Control (OAC), le remplacement moderne de Origin Access Identity (OAI). OAC accorde uniquement à la distribution CloudFront l’autorisation de lire le compartiment, ce qui permet de conserver S3 privé tout en diffusant publiquement le contenu via CloudFront.
# S3 bucket policy granting OAC access to CloudFront
{
'Version': '2012-10-17',
'Statement': [{
'Effect': 'Allow',
'Principal': {
'Service': 'cloudfront.amazonaws.com'
},
'Action': 's3:GetObject',
'Resource': 'arn:aws:s3:::my-bucket/*',
'Condition': {
'StringEquals': {
'AWS:SourceArn': 'arn:aws:cloudfront::123456789:distribution/EDFDVBD6EXAMPLE'
}
}
}]
}Origines HTTP/HTTPS personnalisées
CloudFront prend également en charge les origines personnalisées : tout serveur HTTP ou HTTPS accessible depuis Internet, notamment les instances EC2, les équilibreurs de charge d’application, les points de terminaison API Gateway et les serveurs sur site. Les origines personnalisées permettent à CloudFront de mettre en cache et d’accélérer les applications dynamiques et les API, et pas seulement les fichiers statiques.
Lorsque vous utilisez un ALB comme origine personnalisée, configurez-le pour qu’il n’accepte dans son groupe de sécurité que les connexions provenant des plages d’adresses IP CloudFront. Tout le trafic externe passe ainsi par CloudFront, ce qui permet d’appliquer les règles WAF et de terminer TLS à la périphérie, tout en conservant l’ALB à l’intérieur d’AWS.
Origin Access Control (OAC) ou OAI
Origin Access Identity (OAI) était la méthode originale pour restreindre l’accès d’un compartiment S3 à CloudFront. Il s’agit d’une identité utilisateur CloudFront spéciale à laquelle une autorisation est accordée dans la stratégie du compartiment S3. Bien que OAI fonctionne toujours, cette solution est considérée comme obsolète.
Origin Access Control (OAC) est son remplacement moderne. OAC prend en charge tous les types de compartiments S3 (notamment S3 dans les Regions AWS Chine et les compartiments chiffrés avec SSE-KMS), utilise des principaux de service IAM pour un contrôle plus précis et signe automatiquement les requêtes adressées à S3 avec SigV4. Pour les nouvelles distributions, utilisez toujours OAC plutôt que OAI.
Stratégie de protocole des utilisateurs
La Viewer Protocol Policy contrôle la manière dont CloudFront gère les connexions entre les utilisateurs (visiteurs) et l’emplacement périphérique :
- HTTP et HTTPS : autoriser les deux protocoles ; déconseillé pour le contenu sensible
- Rediriger HTTP vers HTTPS : rediriger automatiquement les requêtes HTTP vers HTTPS ; le paramètre le plus courant
- HTTPS uniquement : rejeter entièrement les connexions HTTP ; à utiliser pour imposer strictement TLS
Séparément, la Origin Protocol Policy contrôle la manière dont CloudFront communique avec votre origine : HTTP uniquement, HTTPS uniquement ou correspondance avec le protocole de l’utilisateur. Pour les origines S3 avec OAC, CloudFront utilise toujours HTTPS.
Domaines personnalisés et certificats SSL/TLS
Pour diffuser du contenu depuis cdn.example.com au lieu du domaine CloudFront, vous configurez un nom de domaine alternatif (CNAME) dans la distribution et vous lui associez un certificat SSL/TLS provenant d’AWS Certificate Manager (ACM). Le certificat ACM doit se trouver dans la région us-east-1 (quel que soit l’emplacement depuis lequel votre distribution diffuse le trafic), car CloudFront est un service mondial géré depuis us-east-1.
Créez l’enregistrement Route 53 en tant qu’enregistrement ALIAS pointant vers le nom de domaine de la distribution CloudFront. CloudFront fournit automatiquement votre certificat pour les requêtes SNI correspondantes.
# Request a certificate in us-east-1 for CloudFront
aws acm request-certificate \
--domain-name cdn.example.com \
--validation-method DNS \
--region us-east-1Classes de prix
La classe de prix de CloudFront détermine les emplacements périphériques utilisés pour diffuser votre distribution. Les classes de prix supérieures incluent des emplacements périphériques plus coûteux (généralement dans les régions où la bande passante est plus chère) :
- Classe de prix 100 : Amérique du Nord et Europe uniquement (coût le plus faible)
- Classe de prix 200 : Amérique du Nord, Europe, Asie, Moyen-Orient et Afrique
- Toutes les classes de prix : tous les emplacements périphériques dans le monde (meilleures performances, coût le plus élevé)
Utilisez la classe de prix 100 pour les outils internes ou les audiences limitées à l’Amérique du Nord et à l’Europe. Utilisez toutes les classes de prix pour les applications grand public véritablement mondiales.
Groupes d’origines et basculement
Les groupes d’origines permettent le basculement entre les origines CloudFront. Vous définissez une origine principale et une origine secondaire dans un groupe. Si l’origine principale renvoie un code d’erreur HTTP spécifique (par exemple 500, 502, 503 ou 504), CloudFront réessaie automatiquement la requête auprès de l’origine secondaire.
Le basculement d’origine est utile pour la reprise après sinistre : conservez un compartiment S3 principal dans us-east-1 et une sauvegarde répliquée dans us-west-2 comme origine secondaire. CloudFront bascule de manière transparente pendant une interruption de S3, sans nécessiter de modification du DNS. Ce modèle complète la réplication interrégionale S3.
Journaux d’accès CloudFront
CloudFront peut envoyer des journaux d’accès vers un compartiment S3. Ceux-ci enregistrent les détails de chaque requête d’utilisateur : horodatage, emplacement périphérique, code d’état, octets transférés, résultat de cache (succès ou échec), agent utilisateur, etc. Les journaux sont envoyés par lots toutes les quelques minutes.
Utilisez les journaux d’accès pour analyser les tendances du trafic, repérer les contenus très consultés, contrôler les champs liés à la sécurité (IP, référent, agent utilisateur) et mesurer les taux de succès du cache. Le champ x-edge-result-type indique si la requête a produit un Hit, un Miss ou un RefreshHit à la périphérie.
# Enable access logging on a distribution
aws cloudfront update-distribution \
--id EDFDVBD6EXAMPLE \
--distribution-config '{
...existing config...
"Logging": {
"Enabled": true,
"Bucket": "my-logs-bucket.s3.amazonaws.com",
"Prefix": "cloudfront-logs/",
"IncludeCookies": false
}
}' \
--if-match ETVPDKIKX0DEREmplacements périphériques et caches périphériques régionaux
CloudFront dispose de deux niveaux d’infrastructure de mise en cache :
- Emplacements périphériques : des centaines de PoPs répartis dans le monde, proches des utilisateurs finaux ; ils diffusent le contenu mis en cache avec une latence minimale
- Caches périphériques régionaux (RECs) : 13 caches plus grands et à durée de vie plus longue, situés entre les emplacements périphériques et les origines ; ils diffusent les contenus qui ne sont pas suffisamment populaires pour rester dans les petits caches des emplacements périphériques
Lorsqu’une requête n’est pas trouvée dans le cache de l’emplacement périphérique, CloudFront consulte le REC avant de contacter l’origine. Les REC sont transparents : vous ne les configurez pas directement, mais ils améliorent nettement les taux de succès du cache pour les contenus de longue traîne et réduisent la charge de l’origine.
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 distributions CloudFront mettent le contenu en cache dans des emplacements périphériques répartis dans le monde entier, l’OAC conserve les compartiments S3 privés tout en autorisant l’accès de CloudFront, et les origines personnalisées prennent en charge les ALB, API Gateway et tout serveur HTTP. Les certificats ACM pour CloudFront doivent être provisionnés dans us-east-1. Nous allons maintenant étudier les comportements du cache et les paramètres TTL.
Questions Fréquemment Posées
La leçon « Distributions CloudFront et origines » est-elle gratuite ?
Oui — le texte complet de « Distributions CloudFront et origines » 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 « Distributions CloudFront et origines » ?
Créez une distribution CloudFront, configurez des origines S3 et HTTP personnalisées, et comprenez le contrôle d’accès à l’origine pour sécuriser S3. 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 « Distributions CloudFront et origines » ?
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
- Distributions CloudFront et origines
- Comportements du cache et paramètres TTL
- URL signées, cookies signés et restriction géographique
- CloudFront avec WAF et Lambda@Edge