Demo Instructions : Créer votre première distribution Amazon CloudFront
Instruction de Labs
Créer votre première distribution Amazon CloudFront
Présentation
Amazon CloudFront est un service de Content Delivery Network — CDN qui permet de distribuer du contenu aux utilisateurs à partir d’un réseau mondial de points de présence.
Lorsqu’un utilisateur demande un contenu distribué par CloudFront, celui-ci peut être servi depuis un emplacement CloudFront proche de l’utilisateur au lieu d’être systématiquement récupéré depuis le serveur d’origine.
Une origine correspond à l’emplacement où se trouve la version originale du contenu.
CloudFront peut notamment utiliser comme origine :
- Amazon S3 ;
- un Application Load Balancer ;
- un serveur web ;
- certaines autres ressources AWS.
Dans ce lab, une petite page web est déjà hébergée dans Amazon S3.
Vous allez :
- identifier l’origine S3 ;
- créer une distribution Amazon CloudFront ;
- utiliser le site web S3 comme origine ;
- accéder au contenu avec le domaine CloudFront ;
- comprendre le principe de mise en cache ;
- comprendre le rôle des Edge Locations ;
- identifier les principaux facteurs de coût CloudFront ;
- supprimer la distribution à la fin du lab.
Niveau : Débutant
Difficulté : Facile
Durée estimée : 20 à 25 minutes
Une partie de cette durée correspond au déploiement de la distribution CloudFront.
Services AWS utilisés
- Amazon CloudFront
- Amazon S3
Région AWS : CloudFront : Global. Origine Amazon S3 : Europe (Ireland) — eu-west-1
Notions CLF-C02 couvertes
Cloud Technology and Services : Networking and Content Delivery, cache, performance
Impact coût : Très faible.
Le lab utilise :
- un seul fichier HTML de quelques kilo-octets ;
- quelques requêtes CloudFront ;
- très peu de transfert de données ;
- aucun AWS WAF ;
- aucun logging ;
- aucune fonction Edge ;
- aucune invalidation ;
- aucun domaine personnalisé.
Nettoyage manuel requis : Oui.
Vous devrez désactiver puis supprimer la distribution CloudFront créée pendant le lab.
Les ressources S3 sont préinitialisées et seront automatiquement supprimées à la fin de votre session.
Environnement du lab
Afin de vous concentrer sur Amazon CloudFront, l’origine du contenu est automatiquement préparée avant le démarrage du lab.
Ressources préinitialisées
Bucket Amazon S3
Un bucket dont le nom commence par :
lab-cloudfront-origin-
est disponible.
Par exemple :
lab-cloudfront-origin-123456789012
Votre valeur sera différente.
Le bucket se trouve dans :
Europe (Ireland) — eu-west-1
Page web
Le bucket contient :
index.html
Cette page affiche notamment :
Bienvenue sur votre première distribution Amazon CloudFront
Hébergement statique
Le bucket est déjà configuré pour l’hébergement de site web statique.
Une URL de type :
http://lab-cloudfront-origin-xxxx.s3-website-eu-west-1.amazonaws.com
est donc déjà disponible.
Vous utiliserez cette URL comme origine CloudFront.
Important
La configuration d’accès au bucket a été préparée automatiquement pour ce lab.
Vous n’avez aucune permission S3 ou IAM à configurer.
Les mécanismes avancés permettant de sécuriser une origine S3 privée ne sont pas abordés dans ce lab.
Objectifs pédagogiques
À la fin de ce lab, vous serez capable de :
- expliquer le rôle d’Amazon CloudFront et d’un CDN ;
- identifier une origine CloudFront ;
- créer une distribution CloudFront à partir d’une origine S3 ;
- utiliser le domaine fourni par CloudFront ;
- comprendre le principe de cache et les notions de Cache Hit et Cache Miss ;
- comprendre le rôle des Edge Locations ;
- identifier les principaux facteurs de coût CloudFront.
Vérification avant de démarrer
Étape 1 — Accéder à Amazon S3
Dans la console AWS, recherchez :
S3
Ouvrez :
Amazon S3
Recherchez le bucket dont le nom commence par :
lab-cloudfront-origin-
Étape 2 — Vérifier le fichier
Ouvrez le bucket.
Vous devriez voir :
index.html
Ne modifiez pas et ne supprimez pas ce fichier.
Étape 3 — Identifier l’URL du site web
Ouvrez l’onglet :
Properties
Descendez jusqu’à :
Static website hosting
Repérez :
Bucket website endpoint
Vous devriez obtenir une URL ressemblant à :
http://lab-cloudfront-origin-xxxx.s3-website-eu-west-1.amazonaws.com
Copiez cette URL.
Vous l’utiliserez lors de la création de la distribution CloudFront.
Étape 4 — Tester rapidement l’origine
Ouvrez l’URL du site web dans un nouvel onglet.
La page :
Bienvenue sur votre première distribution Amazon CloudFront
doit apparaître.
Fermez ensuite cet onglet.
À retenir
Le site web S3 représente ici l’origine.
CloudFront va ensuite distribuer ce contenu à travers son réseau mondial.
Créer la distribution CloudFront
Étape 5 — Accéder à Amazon CloudFront
Dans la barre de recherche AWS, saisissez :
CloudFront
Sélectionnez :
CloudFront
CloudFront est un service global.
Étape 6 — Créer une distribution
Ouvrez :
Distributions
Cliquez sur :
Create distribution
Étape 7 — Donner un nom à la distribution
Si la console demande un nom, saisissez :
lab-cloudfront-distribution
Configurer l’origine
Étape 8 — Ajouter l’origine
Dans la configuration de l’origine, utilisez l’URL du site web S3 identifiée précédemment.
Elle ressemble à :
lab-cloudfront-origin-xxxx.s3-website-eu-west-1.amazonaws.com
Si nécessaire, retirez :
http://
et conservez uniquement le nom de domaine.
Étape 9 — Vérifier le type d’origine
Un endpoint de site web statique S3 est traité par CloudFront comme une origine web.
Conservez les paramètres proposés pour cette origine.
Vous n’avez aucune configuration de permissions S3 à effectuer.
Configurer le comportement du cache
Étape 10 — Configurer le protocole vers l’origine
Pour la connexion entre CloudFront et l’origine, utilisez :
HTTP only
Le site web statique Amazon S3 utilise HTTP.
À retenir
Cela concerne uniquement la communication entre CloudFront et l’origine.
Les utilisateurs pourront tout de même accéder à CloudFront en HTTPS.
Étape 11 — Configurer Viewer protocol policy
Pour :
Viewer protocol policy
sélectionnez :
Redirect HTTP to HTTPS
Ainsi, lorsqu’un utilisateur tente d’utiliser HTTP, CloudFront peut le rediriger vers HTTPS.
Étape 12 — Conserver uniquement les méthodes nécessaires
Conservez :
GET, HEAD
Ces méthodes suffisent pour distribuer la page web statique du lab.
Étape 13 — Utiliser une cache policy optimisée
Si la console propose :
Cache policy
sélectionnez :
CachingOptimized
ou conservez la policy de cache optimisée proposée par défaut.
Vous n’avez pas besoin de créer une nouvelle cache policy.
À retenir
CloudFront peut conserver temporairement des objets dans son cache afin de réduire le nombre de requêtes envoyées vers l’origine.
Ne pas activer les fonctionnalités avancées
Étape 14 — Ne pas utiliser AWS WAF
Si la console propose de protéger la distribution avec :
AWS WAF
ne l’activez pas.
AWS WAF sera étudié séparément dans des contenus consacrés à la sécurité.
Étape 15 — Ne pas configurer de domaine personnalisé
Ne configurez pas :
- Alternate domain name ;
- Custom domain ;
- certificat ACM personnalisé.
Vous utiliserez le domaine fourni automatiquement par CloudFront.
Étape 16 — Ne pas activer les logs
Ne configurez pas :
- Standard logging ;
- Real-time logs.
Ils ne sont pas nécessaires pour ce lab.
Étape 17 — Ne pas utiliser de fonctions Edge
Ne configurez pas :
- CloudFront Functions ;
- Lambda@Edge.
Ces fonctionnalités sont en dehors du périmètre de ce lab.
Étape 18 — Ne pas configurer Origin Shield
Laissez :
Origin Shield
désactivé.
Il n’est pas nécessaire pour un lab utilisant un unique fichier HTML.
Limiter les coûts
Étape 19 — Utiliser la tarification à l’usage
Si la console propose différents plans tarifaires CloudFront, utilisez :
Pay-as-you-go
Ne souscrivez pas à un forfait CloudFront pour ce lab.
Important
L’environnement du lab est éphémère.
La distribution doit pouvoir être supprimée à la fin de la session.
Étape 20 — Choisir Price Class 100
Si la console propose :
Price class
sélectionnez :
Price Class 100
Cette option utilise un ensemble plus limité de points de présence CloudFront et permet de limiter le coût.
Si cette option n’apparaît pas dans l’assistant de création, conservez la configuration proposée.
Le faible volume du lab garantit dans tous les cas un coût très limité.
Étape 21 — Configurer l’objet racine par défaut
Dans :
Default root object
saisissez :
index.html
Cela permettra d’utiliser directement le domaine CloudFront sans ajouter manuellement :
/index.html
à chaque fois.
À retenir
Le Default Root Object indique quel fichier CloudFront doit retourner lorsqu’un
utilisateur demande simplement la racine du site.
Étape 22 — Vérifier la configuration
Avant de créer la distribution, vérifiez :
Étape 23 — Créer la distribution
Cliquez sur :
Create distribution
CloudFront commence le déploiement.
Observer le déploiement
Étape 24 — Observer l’état
Dans :
CloudFront → Distributions
repérez :
lab-cloudfront-distribution
La distribution peut afficher un état indiquant qu’elle est en cours de déploiement.
Le déploiement peut prendre plusieurs minutes.
Important
N’essayez pas de créer une deuxième distribution si la première n’est pas encore disponible.
Attendez simplement la fin du déploiement.
Étape 25 — Attendre la disponibilité
Actualisez périodiquement la page.
Lorsque le déploiement est terminé, la distribution devient disponible.
Identifier le domaine CloudFront
Étape 26 — Repérer le Domain name
Sélectionnez :
lab-cloudfront-distribution
Repérez :
Distribution domain name
Vous devriez obtenir une valeur ressemblant à :
d123456789abcdef.cloudfront.net
Votre valeur sera différente.
Accéder au contenu avec CloudFront
Étape 27 — Ouvrir le domaine
Copiez le domaine CloudFront.
Ouvrez :
https://d123456789abcdef.cloudfront.net
en remplaçant le domaine par votre propre valeur.
La page doit apparaître.
Vous devriez voir :
Bienvenue sur votre première distribution Amazon CloudFront
Étape 28 — Observer le changement de point d’entrée
Au début du lab, vous avez accédé à la page avec l’URL du site web S3.
Vous utilisez maintenant une URL ressemblant à :
https://dxxxxxxxx.cloudfront.net
Le contenu est toujours stocké dans Amazon S3.
Mais CloudFront est désormais placé entre :
l’utilisateur
et :
l’origine S3
Comprendre le fonctionnement de CloudFront
Étape 29 — Comprendre le chemin d’une requête
Lorsqu’un utilisateur demande la page :
- le navigateur contacte CloudFront ;
- CloudFront reçoit la demande dans son réseau mondial ;
- CloudFront recherche le contenu dans son cache ;
- si le contenu n’est pas disponible, CloudFront contacte l’origine S3 ;
- S3 retourne index.html ;
- CloudFront transmet le contenu à l’utilisateur ;
- CloudFront peut conserver une copie du contenu dans son cache.
Comprendre Cache Miss
Étape 30 — Première demande
Lors de la première demande d’un objet depuis un emplacement CloudFront, celui-ci peut ne pas être présent dans le cache.
CloudFront doit alors contacter l’origine.
Cette situation est appelée :
Cache Miss
Comprendre Cache Hit
Étape 31 — Demandes suivantes
Actualisez la page :
3 à 5 fois maximum
Lorsqu’une copie de l’objet est déjà présente dans le cache CloudFront, certaines requêtes peuvent être servies directement depuis ce cache.
Cette situation est appelée :
Cache Hit
À retenir
La mise en cache peut :
- réduire la latence ;
- réduire le nombre de requêtes vers l’origine ;
- réduire la charge supportée par l’origine.
Comprendre les Edge Locations :
CloudFront dispose d’un réseau mondial de points de présence.
Ces emplacements sont souvent appelés :
Edge Locations
Le contenu mis en cache peut être rapproché géographiquement des utilisateurs.
Cela permet notamment d’améliorer les performances de distribution de contenus à une audience répartie dans plusieurs régions du monde.
À retenir
CloudFront est un service global.
L’origine peut en revanche être située dans une Région AWS particulière.
Dans ce lab :
- CloudFront est global ;
- Amazon S3 se trouve dans eu-west-1.
Comparer S3 et CloudFront :
Amazon S3 et Amazon CloudFront jouent deux rôles différents.
À retenir
Amazon CloudFront ne remplace pas Amazon S3.
Les deux services peuvent être utilisés ensemble.
Comprendre HTTPS
Étape 32 — Observer l’adresse utilisée
Votre domaine CloudFront utilise :
https://
Même si l’origine S3 du lab fonctionne en HTTP, CloudFront peut fournir une connexion HTTPS aux utilisateurs.
Cette distinction permet de comprendre que :
- la connexion utilisateur → CloudFront ;
- la connexion CloudFront → origine ;
sont deux connexions distinctes.
Comprendre les facteurs de coût
Étape 33 — Identifier ce qui influence le coût
Le coût de CloudFront dépend notamment :
- du volume de données transféré vers les utilisateurs ;
- du nombre de requêtes ;
- des zones géographiques utilisées ;
- de certaines fonctionnalités optionnelles.
Étape 34 — Observer l’optimisation du lab
Ce lab est volontairement conçu pour réduire au maximum le coût.
Le coût d’une exécution du lab reste donc très faible.
Nettoyage du lab :
La distribution CloudFront a été créée par l’apprenant.
Elle doit être supprimée.
Les ressources suivantes ont été préinitialisées et ne doivent pas être supprimées manuellement :
- le bucket lab-cloudfront-origin-* ;
- index.html ;
- la configuration du site web S3 ;
- les permissions nécessaires au fonctionnement de l’origine.
Étape 35 — Désactiver la distribution
Ouvrez :
CloudFront → Distributions
Sélectionnez :
lab-cloudfront-distribution
Cliquez sur :
Disable
Confirmez.
Étape 36 — Attendre la désactivation
CloudFront doit propager la nouvelle configuration.
La suppression n’est donc pas nécessairement disponible immédiatement.
Actualisez périodiquement la page.
Attendez que la distribution soit complètement désactivée.
Étape 37 — Supprimer la distribution
Sélectionnez :
lab-cloudfront-distribution
Delete
Confirmez la suppression.
Étape 38 — Vérifier le nettoyage
Dans :
CloudFront → Distributions
vérifiez que :
lab-cloudfront-distribution
n’apparaît plus.
Ne supprimez pas le bucket S3.
Il sera automatiquement supprimé lors du nettoyage de l’environnement.
Validation du lab :
Vous avez terminé le lab si vous avez réussi à :
- identifier l’origine S3 pré-provisionnée ;
- identifier le site web S3 ;
- créer une distribution Amazon CloudFront ;
- définir l’origine ;
- configurer index.html comme Default Root Object ;
- utiliser HTTPS pour les utilisateurs ;
- utiliser une cache policy ;
- utiliser Pay-as-you-go ;
- ne pas activer de fonctionnalités avancées inutiles ;
- identifier le domaine CloudFront ;
- accéder au contenu avec ce domaine ;
- comprendre le rôle d’une origine ;
- comprendre le principe du cache ;
- différencier Cache Hit et Cache Miss ;
- comprendre le rôle des Edge Locations ;
- différencier Amazon S3 et Amazon CloudFront ;
- identifier les principaux facteurs de coût ;
- désactiver et supprimer la distribution.
En cas de problème
Je ne trouve pas le bucket
Ouvrez :
Amazon S3
Recherchez un bucket dont le nom commence par :
lab-rds-dbav
Je ne trouve pas l’URL du site web
Ouvrez :
S3 → bucket → Properties
Descendez jusqu’à :
Static website hosting
Repérez :
Bucket website endpoint
L’URL S3 ne fonctionne pas
Vérifiez que vous utilisez bien le :
Bucket website endpoint
et non l’URL standard d’un objet S3.
Si le problème persiste, l’environnement du lab n’a peut-être pas été correctement initialisé.
CloudFront reste en cours de déploiement
C’est normal pendant plusieurs minutes.
Attendez et actualisez périodiquement.
Ne créez pas de nouvelle distribution.
CloudFront demande un Origin Access Control
Vérifiez que vous utilisez bien le :
S3 website endpoint
comme origine.
Un endpoint de site web statique S3 doit être utilisé comme une origine web et non comme une origine S3 privée.
Vous n’avez aucun OAC à créer pour ce lab.
La page CloudFront affiche une erreur
Vérifiez que :
- l’origine correspond au Bucket website endpoint ;
- index.html existe ;
- le Default Root Object est index.html ;
- la distribution a terminé son déploiement.
Je dois choisir entre plusieurs fonctionnalités de sécurité
Ne configurez pas :
- AWS WAF ;
- OAC ;
- OAI ;
- domaine personnalisé ;
- certificat ACM personnalisé.
Ces fonctionnalités ne font pas partie de ce lab.
Je ne trouve pas Price Class 100
Ce paramètre peut ne pas être proposé directement dans certaines versions de l’assistant.
Poursuivez avec la valeur proposée.
Le volume de données utilisé par le lab est extrêmement faible.
Je ne peux pas supprimer la distribution
Vérifiez d’abord qu’elle est :
Disabled
et que la modification a terminé sa propagation.
La suppression peut nécessiter quelques minutes après la désactivation.
Lab terminé
Vous savez maintenant :
- expliquer le rôle d’Amazon CloudFront ;
- expliquer ce qu’est un CDN ;
- comprendre le rôle d’une origine ;
- créer une distribution CloudFront ;
- utiliser Amazon S3 comme origine de contenu ;
- identifier un domaine CloudFront ;
- comprendre le principe de mise en cache ;
- différencier Cache Hit et Cache Miss ;
- comprendre le rôle des Edge Locations ;
- comprendre pourquoi CloudFront est un service global ;
- différencier le rôle de CloudFront et d’Amazon S3 ;
- identifier les principaux facteurs influençant le coût CloudFront ;
- désactiver et supprimer une distribution CloudFront.