2 dic 2024
Agregar, eliminar o reemplazar contenido distribuido por CloudFront
CloudFront ofrece un servicio de entrega de contenido robusto y escalable, permitiendo a las empresas distribuir archivos y recursos de manera eficiente a usuarios en todo el mundo. Gestionar el contenido de manera efectiva en CloudFront requiere comprender cómo agregar, actualizar o eliminar contenido dentro de las distribuciones. Este artículo explora las mejores prácticas y estrategias para optimizar la gestión de contenido en CloudFront.
Agregar contenido a CloudFront
Para distribuir nuevo contenido usando CloudFront, debes cargar archivos en uno de los orígenes especificados en la configuración de tu distribución. Los orígenes generalmente incluyen buckets de Amazon S3 o orígenes personalizados alojados en tu dominio.
Consideraciones clave:
Asegúrate de que se defina el patrón de ruta correcto en tu comportamiento de caché.
Ejemplo: Si tu patrón de ruta está configurado como *.html, CloudFront solo distribuirá archivos .html. Otros tipos de archivos, como .jpg, no se servirán a menos que un comportamiento de caché los incluya específicamente.
Mejor práctica:
Define explícitamente los comportamientos de caché para todos los tipos de archivo requeridos para prevenir exclusiones no intencionadas.
Actualizar contenido con versionado de archivos
Cuando necesites actualizar contenido existente, usar identificadores de versión en los nombres de archivos o carpetas proporciona un mejor control sobre lo que CloudFront sirve.
Beneficios del versionado de archivos:
Elimina la necesidad de esperar a que los objetos en caché expiren.
Evita el costo asociado con la invalidación de objetos.
Ejemplo:
En lugar de reemplazar style.css, carga una nueva versión como style_v2.css.
Actualiza las referencias en tu código para apuntar a la nueva versión.
Recomendación adicional:
Incluso al usar el versionado, establece una fecha de expiración para el contenido en caché para gestionar el control de caché a largo plazo.
Eliminar contenido de CloudFront
Para dejar de distribuir archivos específicos:
Elimina archivos del origen.
Considera los tiempos de expiración de la caché. Los archivos permanecen en la caché de borde hasta que expiren.
Opciones de eliminación inmediata:
Invalidar archivos: Usa la consola de CloudFront o la API para invalidad objetos específicos.
Versionado de archivos: Cambia a servir una versión diferente con un nombre único.
Nota: Invalidar múltiples formatos de URL (con y sin barras al final) puede aumentar los costos si superas el límite mensual gratuito.
Personalizando URLs en CloudFront
Usando un nombre de dominio personalizado:
Reemplaza el dominio predeterminado de CloudFront con un dominio personalizado, como example.com, para mejorar la marca.
Ejemplo de URL: https://example.com/images/pic.jpg
Consistencia en las barras finales:
Elige un solo formato de URL (con o sin una barra al final) y úsalo de manera consistente.
Ejemplo:
Usa https://example.com/images/ o https://example.com/images en todo tu sitio.
Por qué es importante: CloudFront trata diferentes formatos de URL como únicos. La consistencia evita invalidaciones innecesarias y costos.
Restringiendo el acceso con URLs firmadas
Para la entrega de contenido seguro, usa URLs firmadas o cookies para restringir el acceso según autenticación o límites de tiempo.
Ejemplo:
Una URL firmada puede permitir el acceso a un archivo de video durante un período de tiempo específico o desde direcciones IP específicas.
Los detalles de implementación están disponibles en la documentación de CloudFront sobre Cómo servir contenido privado.
Conclusión
Gestionar la distribución de contenido en CloudFront implica una planificación cuidadosa en torno a los comportamientos de caché, el versionado y la gestión de URLs. Al seguir estas mejores prácticas, puedes asegurar una entrega eficiente, minimizar costos innecesarios y proporcionar una experiencia de usuario optimizada.