Comportamientos de caché y configuración de TTL
Defina comportamientos de caché basados en rutas, establezca TTL mínimos, predeterminados y máximos, y utilice cabeceras cache-control para ajustar el almacenamiento en caché.
Comportamientos de caché y configuración de TTL es una lección gratuita de AWS Solutions Architect en CoddyKit. Esta es la lección 2 de 4. Puedes leer la lección completa abajo gratuitamente — luego la practicas en el navegador con un editor de código integrado y un tutor de IA 24/7. Forma parte de la ruta de aprendizaje de AWS Solutions Architect, y tu progreso se sincroniza en la web y la app de CoddyKit. El curso de AWS Solutions Architect incluye 4 lecciones en total.
Comportamientos de caché: ¿qué son?
Los comportamientos de caché son las reglas que indican a CloudFront cómo gestionar las solicitudes para distintos patrones de ruta URL. Cada comportamiento de caché asigna un patrón de ruta (por ejemplo, /images/*, /api/* o *.css) a un origen específico y a una configuración de caché.
Una distribución tiene un comportamiento de caché predeterminado (que coincide con todas las rutas que no cubren comportamientos más específicos) y hasta 25 comportamientos adicionales basados en rutas. CloudFront evalúa los comportamientos en orden, del más específico al menos específico, y finalmente aplica el comportamiento predeterminado.
Coincidencia de patrones de ruta
Los patrones de ruta admiten comodines: * coincide con cualquier combinación de caracteres, incluidas las barras, y ? coincide con un solo carácter. Ejemplos:
/images/*— todas las URL que comienzan por /images/*.jpg— todas las solicitudes que terminan en .jpg en cualquier parte de la ruta/api/v2/*— todas las rutas de la API v2/static/??.css— archivos CSS estáticos con exactamente dos caracteres antes de .css
Los comportamientos se evalúan en el orden indicado en la configuración de la distribución. Coloque primero los patrones más específicos. El comportamiento predeterminado (*) siempre se aplica en último lugar.
Política de caché frente a política de solicitudes al origen
CloudFront separa la lógica de almacenamiento en caché en dos tipos de políticas:
- Política de caché: define qué utiliza CloudFront como clave de caché: la combinación de encabezados, cadenas de consulta y cookies que determina si un objeto en caché coincide con una solicitud. También establece los límites de TTL.
- Política de solicitudes al origen: define qué encabezados, cadenas de consulta y cookies se reenvían al origen, aunque no formen parte de la clave de caché (para enviar encabezados de autenticación al origen sin variar la caché según el token)
AWS proporciona políticas administradas (por ejemplo, CachingOptimized y CachingDisabled) que cubren la mayoría de los casos de uso, o puede crear políticas personalizadas.
Configuración de TTL en CloudFront
CloudFront respeta tres valores de TTL de la política de caché:
- TTL mínimo: el tiempo más corto durante el que CloudFront almacena un objeto en caché, independientemente de los encabezados del origen (valor predeterminado: 0)
- TTL predeterminado: el tiempo durante el que CloudFront almacena un objeto en caché cuando el origen no envía un encabezado
Cache-ControlniExpires(valor predeterminado: 86.400 segundos = 1 día) - TTL máximo: el tiempo más largo durante el que CloudFront almacena un objeto en caché, limitando la directiva
Cache-Control max-agedel origen (valor predeterminado: 31.536.000 = 1 año)
Estos tres valores delimitan la duración real de la caché indicada por los orígenes mediante encabezados Cache-Control.
Encabezados Cache-Control de los orígenes
Cuando el origen envía un encabezado Cache-Control: max-age=3600, CloudFront almacena el objeto en caché durante 3.600 segundos, siempre que este valor se encuentre dentro de los límites de TTL mínimo y máximo de la política de caché. Si el origen envía Cache-Control: no-cache o Cache-Control: no-store, CloudFront comprobará el origen antes de servir la copia en caché cada vez.
Para los recursos estáticos que rara vez cambian, establezca un max-age largo (por ejemplo, 31536000 = 1 año) y utilice invalidación de caché mediante versiones: incluya un hash del contenido en los nombres de archivo (por ejemplo, app.a3f4b5.js) para que la URL cambie cuando cambie el contenido e invalide automáticamente la versión anterior almacenada en caché.
# S3 object metadata with long cache TTL
aws s3 cp app.a3f4b5.js s3://my-bucket/ \
--cache-control 'max-age=31536000, immutable' \
--content-type 'application/javascript'Separación de comportamientos estáticos y dinámicos
Un patrón eficaz de comportamientos de caché separa el contenido estático del dinámico:
/static/*,*.css,*.js,*.jpg→ origen de S3, política CachingOptimized (TTL alto, sin cookies ni cadenas de consulta en la clave de caché)/api/*→ origen de ALB, política CachingDisabled (siempre se obtiene del origen; se reenvían todos los encabezados y cookies)/*(predeterminado) → origen de ALB, almacenamiento en caché moderado
Esto separa el nivel de contenido estático, que se puede almacenar ampliamente en caché, del nivel de API dinámico, lo que maximiza las tasas de aciertos de caché del contenido estático y garantiza que las respuestas de la API estén siempre actualizadas.
Invalidación de caché
Cuando actualiza contenido en S3 o en su origen y desea servir inmediatamente la nueva versión desde CloudFront sin esperar a que expire el TTL, debe crear una invalidación de caché. Especifique las rutas que desea invalidar (por ejemplo, /images/logo.png o /images/*) y CloudFront eliminará esos objetos de todas las cachés de borde.
Las invalidaciones tienen un costo: las primeras 1.000 rutas al mes son gratuitas; las rutas adicionales tienen un costo por ruta. Las invalidaciones con comodines (por ejemplo, /*) cuentan como una ruta. Práctica recomendada: utilice nombres de archivo versionados para los recursos estáticos (invalidación de caché mediante versiones) en lugar de invalidaciones frecuentes, para reducir costos y retrasos.
# Create a cache invalidation for updated images
aws cloudfront create-invalidation \
--distribution-id EDFDVBD6EXAMPLE \
--paths '/images/logo.png' '/css/main.css'Componentes de la clave de caché
La clave de caché es el identificador único que CloudFront utiliza para buscar una respuesta almacenada en caché. De forma predeterminada, la clave de caché solo contiene la ruta URL. Incluir componentes adicionales aumenta el número de entradas de caché distintas:
- Cadenas de consulta:
/search?q=awsy/search?q=s3son entradas de caché independientes siqforma parte de la clave de caché - Encabezados: incluir
Accept-Encodingpermite a CloudFront almacenar por separado las versiones comprimidas con gzip y las versiones sin gzip - Cookies: incluir cookies de sesión crea entradas de caché por usuario, lo que deshabilita eficazmente el almacenamiento en caché
Minimice los componentes de la clave de caché para lograr la máxima eficiencia. Incluya únicamente los que realmente produzcan contenido de respuesta diferente.
Compresión en el borde
CloudFront puede comprimir automáticamente objetos basados en texto (HTML, CSS, JavaScript y JSON) mediante gzip o Brotli antes de entregarlos a los usuarios. Esto reduce el tamaño de la carga entre un 60 % y un 80 % y mejora los tiempos de carga de las páginas sin realizar cambios en el origen.
Para habilitar la compresión: asegúrese de que la política de caché incluya Accept-Encoding en la clave de caché (CloudFront necesita almacenar por separado las versiones comprimidas con gzip y las versiones sin gzip) y habilite Compress Objects Automatically en el comportamiento de caché. CloudFront comprime los objetos de más de 1.000 bytes y menos de 10 MB.
Tasa de aciertos de caché y supervisión
La tasa de aciertos de caché es el porcentaje de solicitudes servidas desde la caché de CloudFront sin acudir al origen. Una tasa alta (80 % o más) implica menores costos del origen y un mejor rendimiento. Supervísela mediante el informe Cache Statistics de la consola de CloudFront o mediante la métrica de CloudWatch CacheHitRate.
Formas de mejorar la tasa de aciertos de caché: aumente los valores de TTL, reduzca el número de encabezados y cookies incluidos en la clave de caché, utilice la normalización de cadenas de consulta (reenvíe únicamente las cadenas de consulta que realmente utilice su aplicación) y establezca encabezados Cache-Control adecuados en el origen.
# Get CloudFront metrics for cache hit rate
aws cloudwatch get-metric-statistics \
--namespace AWS/CloudFront \
--metric-name CacheHitRate \
--dimensions Name=DistributionId,Value=EDFDVBD6EXAMPLE \
--start-time 2026-06-19T00:00:00Z \
--end-time 2026-06-20T00:00:00Z \
--period 3600 \
--statistics Average \
--region us-east-1Configuración del origen y del protocolo por comportamiento
Cada comportamiento de caché puede apuntar a un origen diferente, lo que permite que una sola distribución de CloudFront sirva contenido desde varios backends. Por ejemplo:
/static/*→ origen de S3 (bucket privado mediante OAC)/api/*→ origen de ALB en us-east-1/media/*→ origen de CDN de MediaPackage para streaming de vídeo
Cada comportamiento también configura de forma independiente la política de protocolo del usuario, los métodos HTTP permitidos y las asociaciones de funciones (CloudFront Functions o Lambda@Edge). Esto convierte una sola distribución en una capa de entrega flexible y multipropósito.
Comprobación rápida
Compruebe su comprensión de los conceptos de AWS Solutions Architect (SAA-C03) de esta lección.
Resumen de la lección
En esta lección aprendió que: los comportamientos de caché asignan patrones de ruta URL a orígenes y reglas de almacenamiento en caché, los límites de TTL mínimo, predeterminado y máximo controlan durante cuánto tiempo se almacena el contenido en caché, y los encabezados Cache-Control del origen tienen prioridad cuando están presentes; además, las invalidaciones de caché eliminan inmediatamente el contenido obsoleto de todas las ubicaciones de borde. Minimice los componentes de la clave de caché para maximizar la tasa de aciertos. A continuación, exploraremos las URL firmadas, las cookies firmadas y la restricción geográfica.
Preguntas frecuentes
¿La lección «Comportamientos de caché y configuración de TTL» es gratis?
Sí — el texto completo de «Comportamientos de caché y configuración de TTL» es gratis para leer aquí en la web. Para practicarla de forma interactiva (editor de código integrado y tutor de IA 24/7) y desbloquear el resto del curso de AWS Solutions Architect, actualiza a CoddyKit PRO. El curso de AWS Solutions Architect incluye 4 lecciones en total.
¿Qué aprenderé en «Comportamientos de caché y configuración de TTL»?
Defina comportamientos de caché basados en rutas, establezca TTL mínimos, predeterminados y máximos, y utilice cabeceras cache-control para ajustar el almacenamiento en caché. Practicas AWS Solutions Architect con código real que ejecutas directamente en el navegador, y un tutor de IA 24/7 responde tus preguntas mientras trabajas en la lección.
¿Necesito experiencia previa para empezar AWS Solutions Architect?
No se requiere experiencia previa. AWS Solutions Architect en CoddyKit está estructurado para principiantes hasta estudiantes avanzados, así que puedes empezar aquí o desde el inicio y avanzar a tu ritmo. Esta es la lección 2 de 4.
¿Cuánto tiempo toma la lección «Comportamientos de caché y configuración de TTL»?
La mayoría de las lecciones de CoddyKit toman alrededor de 5–10 minutos. Cada una es compacta e interactiva, así que avanzas constantemente y retomas exactamente por donde dejaste en la web y la app.
¿Puedo escribir y ejecutar código en esta lección de AWS Solutions Architect?
Sí. Cada lección de AWS Solutions Architect incluye un editor de código integrado, así que escribes y ejecutas código real directamente en tu navegador y obtienes retroalimentación instantánea de IA — sin configuración local necesaria.
Todas las lecciones de este curso
- Distribuciones y orígenes de CloudFront
- Comportamientos de caché y configuración de TTL
- URL firmadas, cookies firmadas y restricción geográfica
- CloudFront con WAF y Lambda@Edge