CloudFront & AWS Global Accelerator

Amazon CloudFront


1. Amazon CloudFront (Le concept de base)

Le contexte et le problème

Imaginez que votre site web et vos vidéos soient hébergés dans un bucket S3 à Paris. Un utilisateur à Tokyo clique sur votre site. Sa requête doit traverser la Terre entière via des dizaines de câbles sous-marins pour récupérer les fichiers à Paris, puis faire le chemin inverse. Résultat : le site est extrêmement lent pour lui (latence élevée).

À quoi ça sert ?

CloudFront est le CDN (Content Delivery Network) d'AWS. C'est un réseau mondial de serveurs de cache (appelés Edge Locations ou emplacements réseaux) répartis partout dans le monde.

Lorsqu'un utilisateur à Tokyo demande une image, CloudFront va la chercher une première fois à Paris (l'Origine), la livre à l'utilisateur, et en garde une copie (en cache) à Tokyo. Le prochain utilisateur japonais obtiendra l'image instantanément depuis le serveur local de Tokyo.


2. CloudFront Distribution (La Distribution)

Le contexte et le problème

Lorsque vous décidez d'utiliser CloudFront, AWS ne sait pas automatiquement quel site ou quel bucket il doit mettre en cache, ni comment il doit se comporter (faut-il forcer le HTTPS ? combien de temps garder les fichiers en mémoire ?).

À quoi ça sert ?

Une Distribution est tout simplement la configuration de votre service CloudFront pour un site ou une application donnée. C'est l'entité que vous créez dans la console AWS pour activer le CDN.

Ce qu'il faut retenir pour l'examen

Lorsque vous créez une distribution, vous devez lui définir :


3. Origin Access Control - OAC (Contrôle d'accès à l'origine)

Le contexte et le problème

Par définition, vous voulez que vos utilisateurs passent uniquement par CloudFront pour bénéficier du cache et des protections de sécurité (comme AWS WAF).

Si votre bucket S3 est complètement public, un utilisateur malin pourrait contourner CloudFront, récupérer l'URL directe de S3, et télécharger vos fichiers en masse. Cela saturerait votre bucket S3 et ferait grimper votre facture, tout en contournant vos règles de sécurité.

À quoi ça sert ?

OAC (Origin Access Control) est le mécanisme de sécurité moderne qui permet de verrouiller votre bucket S3 pour qu'il n'accepte que les requêtes provenant de votre distribution CloudFront spécifique. Le bucket S3 reste 100 % privé pour le reste du monde.

Ce qu'il faut retenir pour l'examen

4. CloudFront VPC Origins

Le contexte et le problème

Pendant longtemps, pour que CloudFront puisse aller chercher du contenu sur une application située dans votre réseau privé (derrière un Application Load Balancer ou sur une instance EC2), cette application devait obligatoirement avoir une adresse IP publique ou être exposée sur Internet. C'était un problème pour les architectures d'entreprise ultra-sécurisées.

À quoi ça sert ? (What for?)

Les VPC Origins permettent à CloudFront de se connecter directement et de manière privée à des ressources situées à l'intérieur de votre VPC, sans qu'elles aient besoin d'être exposées sur l'Internet public.

Ce qu'il faut retenir pour l'examen

5. CloudFront Geo-restrictions (Géo-restrictions)

Le contexte et le problème

Vous lancez une plateforme de streaming vidéo, mais vous n'avez les droits de diffusion pour un film qu'en France. Si un utilisateur américain essaie de le regarder, vous êtes dans l'illégalité. À l'inverse, vous subissez une attaque informatique (DDoS) massive provenant d'un pays spécifique et vous voulez couper l'accès immédiatement.

À quoi ça sert ?

CloudFront regarde l'adresse IP de l'utilisateur, en déduit son pays, et bloque ou autorise l'accès avant même que la requête n'arrive à votre serveur.

Ce qu'il faut retenir pour l'examen

Si vous avez besoin d'un contrôle plus fin (bloquer par ville ou par code postal, ou selon d'autres critères avancés), CloudFront seul ne suffit pas : l'examen attendra que vous coupliez CloudFront avec AWS WAF (Web Application Firewall).


6. Cache Invalidation (Invalidation du cache)

Le contexte et le problème

Par défaut, CloudFront garde vos fichiers en mémoire pendant une certaine durée (définie par le TTL - Time To Live, généralement 24 heures). Mais imaginez que vous veniez de corriger un bug critique dans votre fichier script.js ou que vous ayez modifié le logo de votre entreprise. Si vous attendez que le TTL expire, vos utilisateurs continueront de voir l'ancienne version buggée pendant 24 heures. C'est indésirable.

À quoi ça sert ?

L'invalidation est une commande d'urgence qui dit à toutes les Edge Locations de CloudFront dans le monde : "Supprimez immédiatement votre copie locale de ce fichier, elle n'est plus bonne. Allez chercher la nouvelle version sur l'origine au prochain clic."

Ce qu'il faut retenir pour l'examen

AWS Global Accelerator

Le contexte et le problème (Many hops = Latency)

Quand vous naviguez sur Internet pour atteindre un serveur à l'autre bout du monde, vos paquets de données passent par le "public internet". Ils sautent de routeur en routeur chez différents fournisseurs d'accès (ce sont les hops). S'il y a de la friture sur la ligne ou un routeur surchargé au milieu de l'océan, votre connexion ralentit ou coupe.

À quoi ça sert ?

Global Accelerator contourne l'Internet public. Dès que le paquet sort de chez l'utilisateur, il entre immédiatement dans l'Edge Location AWS la plus proche et voyage ensuite exclusivement sur le réseau privé mondial d'AWS (une autoroute de fibre optique ultra-rapide et ultra-stable) jusqu'à votre application.

Ce qu'il faut retenir pour l'examen


CloudFront vs. Global Accelerator

Critère Amazon CloudFront AWS Global Accelerator
Principe de base Met le contenu en cache au plus près de l'utilisateur. Optimise le chemin réseau via l'autoroute AWS.
Type de contenu Idéal pour le contenu HTTP/HTTPS (statique ou dynamique) comme les images, vidéos, fichiers HTML/JS. Idéal pour une large gamme de protocoles (TCP et UDP), le gaming, la VoIP, la data brute, ou les API HTTP.
Mise en cache Oui, c'est son but principal. Non, il ne stocke aucun fichier. Il ne fait que transporter les données plus vite.
Adresses IP Fournit un nom de domaine (ex: d111111abcdef8.cloudfront.net). Fournit 2 adresses IP statiques et fixes (Anycast).