Mise en cache CDN : Stratégie de distribution CloudFront

Cet article explique comment nous utilisons le CDN CloudFront pour mettre en cache le contenu et améliorer les performances globales.

Le Problème : Latence mondiale

Les utilisateurs accèdent à notre site web depuis le monde entier :

  • Inde : 50ms de latence

  • États-Unis : 200ms de latence

  • Europe : 250ms de latence

  • Asie : 150ms de latence

Servir tout le trafic depuis l'Inde provoque des temps de chargement lents pour les utilisateurs internationaux.

La Solution : CDN CloudFront

CloudFront : Réseau de diffusion de contenu AWS

Emplacements Edge : 400+ emplacements dans le monde

Avantage : Contenu servi depuis l'emplacement le plus proche

Ce qui est mis en cache

Ressources statiques (TTL long)

Contenu : Images, CSS, JavaScript, polices

TTL : 1 an

Chemin : /s/*

Avantage : Change rarement, cache agressif

Pages produit (TTL moyen)

Contenu : Spécifications produit, images

TTL : 1 heure

Chemin : /p/*

Avantage : Équilibre fraîcheur et performance

Pages de requête (TTL court)

Contenu : Résultats de recherche, vues filtrées

TTL : 5 minutes

Chemin : /q/*

Avantage : Mises à jour fréquentes, cache court

Articles (TTL long)

Contenu : Documentation technique

TTL : 24 heures

Chemin : /a/*

Avantage : Change rarement

Ce qui n'est PAS mis en cache

Contenu dynamique :

  • Résultats de recherche (/q/?q=<query>)

  • Contenu spécifique à l'utilisateur (panier, compte)

  • Points de terminaison API (/api/*)

Raison : Doit être frais, spécifique à l'utilisateur

Comportement du cache

Clé de cache

CloudFront utilise l'URL comme clé de cache :

Même URL : Servi depuis le cache

URL différente : Nouvelle entrée de cache

Paramètres de requête : Inclus dans la clé (sauf paramètres de suivi)

En-têtes de cache

Le serveur d'origine définit les en-têtes de cache :

Cache-Control: public, max-age=3600

public : Peut être mis en cache par le CDN

max-age : Durée du cache en secondes

Invalidation du cache

Manuelle : Créer une demande d'invalidation

Automatique : Attendre l'expiration du TTL

Coût : 1 000 premiers chemins gratuits par mois

Voir : CACHE_INVALIDATION_RULE.md pour la politique

Protection de l'origine

Le CDN protège le serveur d'origine :

Absorption du trafic : Le CDN gère les pics de trafic

Atténuation DDoS : Filtre le trafic malveillant

Limitation du débit : Empêche la surcharge de l'origine

Avantage : L'origine reste réactive

SSL/TLS

Certificat : AWS Certificate Manager

Protocole : TLS 1.2+

Avantage : Trafic chiffré, certificat gratuit

Compression

Gzip : Activé pour le contenu texte

Brotli : Activé pour les navigateurs modernes

Avantage : Téléchargements plus rapides, bande passante réduite

Restrictions géographiques

Aucune : Disponible dans le monde entier

Avantage : Portée mondiale

Surveillance

Métriques :

  • Taux de succès du cache

  • Requêtes à l'origine

  • Taux d'erreur

  • Latence par région

CloudWatch : Service de surveillance AWS

Optimisation des coûts

Taux de succès du cache : Plus élevé = coûts réduits

Requêtes à l'origine : Moins nombreuses = coûts réduits

Transfert de données : Mis en cache = moins cher

Avantage : Le CDN réduit les coûts d'infrastructure

Références

Services AWS

Articles connexes

Résumé

Le CDN CloudFront améliore les performances globales :

Contenu mis en cache :

  • ✅ Ressources statiques (TTL 1 an)

  • ✅ Pages produit (TTL 1 heure)

  • ✅ Pages de requête (TTL 5 minutes)

  • ✅ Articles (TTL 24 heures)

Non mis en cache :

  • ✅ Recherche dynamique

  • ✅ Contenu spécifique à l'utilisateur

  • ✅ Points de terminaison API

Avantages :

  • ✅ Latence réduite (emplacements edge)

  • ✅ Protection de l'origine (absorption du trafic)

  • ✅ Atténuation DDoS

  • ✅ Réduction des coûts (moins de requêtes à l'origine)

Fonctionnalités :

  • ✅ Chiffrement SSL/TLS

  • ✅ Compression Gzip/Brotli

  • ✅ Disponibilité mondiale

Cette stratégie CDN équilibre performance, fraîcheur et coût.


← Retour à l'index de la documentation