Introduction à Amazon CloudFront et son architecture
1. Qu'est-ce qu'Amazon Cloudfront?
Si vous avez un site Web avec des utilisateurs venant de quatre coins du monde, il y aura un problème à vos utilisateurs qui habitent loin de l'endroit où se trouve votre serveur. Ils devront attendre longtemps pour recevoir une réponse du site Web.
CDN est l'acronyme de Content Delivery Network(Réseau de livraison de contenu). CDN est un réseau de nombreux serveurs situés dans différentes régions du monde. Ces serveurs stockent des copies du contenu de votre site Web afin de les distribuer aux utilisateurs à proximité. Amazon CloudFront est l'un des plus grands systèmes CDN au monde.
Il y a deux notions:
Origin Server
Origin Server (Serveur d'origine): c'est l'endroit où sont placés vos fichiers d'origine. Il peut s'agir d'un HTTP Server, d'un Amazon S3 Bucket, etc.
Edge Location (POP - Point of Presence)
Edge Location (L'emplacement périphérique) est également connu sous le nom de POP(Point of Presence) (point de présence) où les demandes de l'utilisateur seront envoyées. Notez que les demandes de l'utilisateur ne seront pas envoyées directement à l'Origin Server.
Observer l'illustration ci-dessous. On va analyser comment Cloudfront fonctionne lorsque l'utilisateur demande un fichier à votre site Web:
1- L'utilisateur accède à votre site Web et demande un fichier tel qu'un fichier image ou HTML, etc.
2 - DNS achemine la demande vers le POP(Edge Location) réactif le plus rapide (latence minimale). Normalement, un POP avec l'emplacement géographique le plus proche de l'utilisateur, et il servira la demande de l'utilisateur.
3 - Au POP (Edge Location), CloudFront vérifiera son cache pour voir si le fichier demandé par l'utilisateur est disponible ou pas. Si oui, le fichier sera renvoyé à l'utilisateur. Cependant, si le fichier n'est pas dans le cache, CloudFront effectuera les étapes suivantes:
- 3a - CloudFront enverra une demande à Origin Server pour obtenir le fichier.
- 3b - Origin Server enverra le fichier à Edge Location.
- 3c - Dès que les premiers bytes de données depuis Origin Server sont envoyés à Edge Location,ils sont envoyés à l'utilisateur. De plus, CloudFront ajoute ce fichier au cache de Edge Location pour le prochain service au cas où quelqu'un demanderait le fichier la prochaine fois.
2. Nouvelle architecture de CloudFront
En novembre 2016, Amazon a mis à niveau l'architecture de CloudFront. Vous pouvez voir la différence entre l'ancienne et la nouvelle architecture via l'illustration ci-dessous.
On peut voir la présence de Regional Edge Cache dans la nouvelle architecture.
Quant à la nouvelle architecture de CloudFront, que se passera-t-il si l'utilisateur demande un fichier à votre site Web?
1 - Un utilisateur accède à votre site Web et demande un fichier tel qu'un fichier image ou HTML, etc.
2 - La demande de l'utilisateur sera envoyée au POP (Edge Location) réactif le plus rapide (latence minimale).
3 - At POP (Edge Location): si le fichier demandé existe dans le cache POP, il sera renvoyé à l'utilisateur. Sinon, CloudFront effectuera les étapes suivantes:
- 3a - CloudFront transmettra la demande au Regional Edge Cache.
- 3b - Si le fichier existe dans le cache du Regional Edge Cache, il sera envoyé à Edge Location. Sinon, il transmet la demande à Origin Server (...)
- 3c - Dès que les premiers bytes de données du Regional Edge Cache sont envoyés à Edge Location, ils sont envoyés à l'utilisateur. De plus, CloudFront ajoute ce fichier au cache de Edge Location pour le prochain service au cas où quelqu'un demanderait le fichier la prochaine fois.
Regional Edge Cache dispose d'un cache beaucoup plus volumineux qu'un seul Edge Location,de manière qu'il stocke plus longtemps les fichiers, y compris les moins courants. Bien que Edge Location ait un cache plus petit, les fichiers communs seront stockés pendant une longue période. Au fil du temps, si un fichier devient moins courant, il sera supprimé du cache de Edge Location.
La présence de Regional Edge Cache permet de réduire le nombre de demandes envoyées à Origin Server.
3. Edge Locations Map
La carte ci-dessous vous montrera les endroits géographiques de(s) Edge Location(s) et les Regional Edge Cache dans le monde:
4. Invalidation
Lorsqu'un fichier est stocké dans Edge Location (ou Regional Edge Cache),il aura une période de validité (combien de temps il est dans le cache). Si avant la fin de la période de validité, l'utilisateur y accède, cette période de validité du fichier sera réinitialisée, sinon le fichier sera supprimé du cache.
Remarque: La période de validité des fichiers dans Regional Edge Cache est beaucoup plus longtemps que celle des fichiers dans Edge Location.
Si vous modifiez le contenu d'un certain fichier sur le serveur Origine Server, l'utilisateur peut ne pas être en mesure d'accéder au nouveau contenu car CloudFront enverra à l'utilisateur l'ancienne version du fichier s'il se trouve dans le cache
Vous pouvez envoyer une demande Invalidate à CloudFront pour indiquer à CloudFront de supprimer une liste de certains fichiers du cache de tous les Edge Location et du Regional Edge Cache.
- Amazon CloudFront Invalidation