Amazon CloudFront
Servicio CDN global que distribuye contenido con baja latencia desde más de 450 ubicaciones de borde en todo el mundo
Descripción general
Amazon CloudFront es un servicio de red de distribución de contenido (CDN) que entrega contenido como sitios web, APIs, videos y archivos estáticos a los usuarios finales con baja latencia a través de más de 450 ubicaciones de borde (PoP) distribuidas globalmente. Almacena en caché el contenido de los servidores de origen (S3, EC2, ALB, orígenes personalizados, etc.) en las ubicaciones de borde, sirviéndolo desde la ubicación más cercana al usuario. Soporta HTTP/3, TLS 1.3, compresión Brotli y streaming en tiempo real, proporcionando una experiencia de entrega de contenido de alto rendimiento.
Diseño de políticas de caché y TTL
El diseño de la estrategia de caché de CloudFront impacta directamente en el rendimiento y los costos. Las políticas de caché definen qué headers, cookies y query strings se incluyen en la clave de caché, y el TTL (Time To Live) controla cuánto tiempo se mantiene el contenido en caché en el borde. Para contenido estático (imágenes, CSS, JS), se recomienda un TTL largo (1 año) combinado con versionado de archivos (hash en el nombre). Para contenido dinámico (APIs), se usa un TTL corto o se desactiva el caché, pasando las solicitudes directamente al origen. Las políticas de solicitud de origen controlan qué información se envía al origen, separándola de la clave de caché para evitar una fragmentación excesiva del caché. La invalidación permite purgar contenido específico del caché cuando se actualiza, pero su uso excesivo incrementa los costos, por lo que el versionado de archivos es preferible.
Lambda@Edge vs CloudFront Functions
CloudFront ofrece dos opciones de computación en el borde. CloudFront Functions es ultraligero (máximo 10 KB, solo JavaScript, sin acceso a red), ejecutándose en microsegundos para manipulaciones simples de headers, redirecciones URL y normalización de solicitudes. Lambda@Edge es más potente (hasta 10 segundos de ejecución, Node.js/Python, acceso a red), adecuado para personalización de contenido, autenticación, generación de respuestas dinámicas y llamadas a APIs externas. La regla de selección es clara: si la lógica es simple y no requiere acceso a red, usar CloudFront Functions (más barato y rápido); si se necesita lógica compleja o acceso a servicios externos, usar Lambda@Edge. Libros sobre diseño CDN (Amazon) permiten aprender sobre optimización de distribución de contenido.
Seguridad y estructura de costos
CloudFront proporciona múltiples capas de seguridad. La integración con AWS WAF permite filtrar solicitudes maliciosas en el borde antes de que lleguen al origen. Los certificados SSL/TLS gratuitos de ACM habilitan HTTPS sin costo adicional. Origin Access Control (OAC) restringe el acceso directo a buckets S3, asegurando que todo el tráfico pase por CloudFront. Las signed URLs y signed cookies permiten restringir el acceso a contenido premium. En cuanto a costos, se cobra por transferencia de datos desde el borde y por número de solicitudes, con precios que varían por región geográfica. Las Price Classes permiten limitar las ubicaciones de borde utilizadas para reducir costos, aunque esto puede aumentar la latencia para usuarios en regiones excluidas. Comparado con Azure CDN, CloudFront ofrece integración más estrecha con el ecosistema AWS y funciones de computación en el borde más maduras.