Code JavaScript exécuté en edge CloudFront pour transformations légères ultra-rapides.
CloudFront Functions est une fonctionnalité d'AWS CloudFront (CDN) lancée en 2021 permettant d'exécuter du code JavaScript ultra-léger sur les 600+ points de présence (PoP) CloudFront, avec latence <1ms et coût ~0.10\$/M invocations. Conçu pour les transformations simples au plus près de l'utilisateur final.
Cas d'usage typiques : (1) URL rewrites et redirects (HTTP→HTTPS, ajout/suppression de trailing slash, redirects A/B testing) ; (2) Header manipulation (Cache-Control, security headers comme CSP/HSTS/X-Frame-Options ajoutés à toutes les responses) ; (3) Cache key normalization (lowercase URL, strip query params, regrouper variations) ; (4) Request authentication tokens (JWT verification simple, signed URL/cookie) ; (5) Bot blocking simple ; (6) Geo-based routing.
Contraintes (par design pour la performance) : (1) JavaScript ECMAScript 5.1 + quelques features ES2015+, pas de Node.js APIs, pas de async/await ; (2) max 10 KB code size ; (3) max 1 ms execution time CPU ; (4) pas de network calls (fetch, XHR interdits) ; (5) pas de file system ; (6) pas d'environment variables ; (7) input/output limité aux objets request/response standard. Pour besoins plus complexes : Lambda@Edge (Node.js/Python complet, jusqu'à 30s, network calls, mais 10x plus lent et plus cher).
Événements : (1) viewer-request — exécuté avant lookup cache CloudFront (peut modifier la request, retourner directement une response sans aller à origin) ; (2) viewer-response — exécuté avant retour au viewer (peut modifier les headers/body).
Deployment : code écrit dans CloudFront console ou via API/CLI/CDK/Terraform, deploy via association à un Cache Behavior d'une distribution, propagation <1 min globalement.
CloudFront Functions vs Lambda@Edge vs Cloudflare Workers : (1) CloudFront Functions = ultra-rapide (<1ms), simple, 0.10\$/M, JS only ECMAScript 5 ; (2) Lambda@Edge = full Node/Python, jusqu'à 30s, network access, 0.60\$/M + duration, plus puissant mais 10x cher ; (3) Cloudflare Workers = ecosystem plus mature côté DX, V8 isolates, plus de features (Workers KV, R2, D1, Durable Objects, AI, queues), 0.30\$/M, multi-cloud feel ; AWS répond avec Lambda@Edge V2 plans.
Observabilité : CloudWatch Logs custom (depuis 2022 améliorations) avec sampling rate, CloudWatch Metrics (Invocations, ComputeUtilization, FunctionThrottles, FunctionExecutionErrors, FunctionValidationErrors). Test runner intégré.
Use cases popularisés : A/B testing routing pré-cache, security headers compliance audit, image optimization triggers (vers Lambda@Edge), authentication tokens.
200+ certifications, 400 000+ questions, examens blancs chronométrés.
Voir le catalogue →