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
-
CloudFront - Documentation du CDN AWS
-
Certificate Manager - Certificats SSL
Articles connexes
- Architecture Multi-Serveurs - Le CDN dans l'architecture
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.