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 :

  1.       le navigateur contacte CloudFront ;
  2.       CloudFront reçoit la demande dans son réseau mondial ;
  3.       CloudFront recherche le contenu dans son cache ;
  4.       si le contenu n’est pas disponible, CloudFront contacte l’origine S3 ;
  5.       S3 retourne index.html ;
  6.       CloudFront transmet le contenu à l’utilisateur ;
  7.       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.