0Pricing
Cloud & IT Cert Prep · Lección

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 Cloud & IT Cert Prep 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 Cloud & IT Cert Prep, y tu progreso se sincroniza en la web y la app de CoddyKit. El curso de Cloud & IT Cert Prep 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-Control ni Expires (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-age del 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=aws y /search?q=s3 son entradas de caché independientes si q forma parte de la clave de caché
  • Encabezados: incluir Accept-Encoding permite 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-1

Configuració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 Cloud & IT Cert Prep, actualiza a CoddyKit PRO. El curso de Cloud & IT Cert Prep 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 Cloud & IT Cert Prep 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 Cloud & IT Cert Prep?

No se requiere experiencia previa. Cloud & IT Cert Prep 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 Cloud & IT Cert Prep?

Sí. Cada lección de Cloud & IT Cert Prep 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

  1. Distribuciones y orígenes de CloudFront
  2. Comportamientos de caché y configuración de TTL
  3. URL firmadas, cookies firmadas y restricción geográfica
  4. CloudFront con WAF y Lambda@Edge
← Volver a Cloud & IT Cert Prep