J'ai mis à jour des fichiers sur mes serveurs d'origine. Toutefois, Amazon CloudFront continue de proposer d'anciens contenus à mes utilisateurs. Pourquoi cela se produit-il et comment puis-je supprimer le cache ?
Brève description
Par défaut, CloudFront met en cache les réponses dans des emplacements périphériques en fonction des en-têtes Cache-control dans la réponse de l'origine et des valeurs TTL minimum, maximum et par défaut dans le comportement de cache d'une distribution CloudFront.
En fonction des valeurs que vous avez configurées, CloudFront diffuse les fichiers mis en cache jusqu'à ce que le cache expire. Pour diffuser immédiatement les fichiers mis à jour, invalidez les fichiers afin de supprimer des objets du cache de CloudFront.
**Remarque :**Vous ne pouvez pas invalider des versions spécifiques d'un objet qui utilise des cookies, des chaînes d'interrogation ou des en-têtes pour varier la réponse. L'invalidation supprime toutes les versions de l'objet.
Solution
Important : L'invalidation de fichiers peut entraîner des frais. Pour plus d'informations, voir Payer en cas d'invalidation de fichier.
Invalidation de fichiers à l'aide de la console AWS
Pour invalider des fichiers à l'aide de la console AWS, voir Invalidation de fichiers à l'aide de la console.
Invalidation de fichiers à l'aide de l'AWS CLI
Remarque : si vous recevez des erreurs lors de l'exécution des commandes de l'interface de la ligne de commande AWS (AWS CLI), assurez-vous que vous utilisez la version la plus récente d'AWS CLI.
Pour invalider des fichiers à l'aide d'AWS CLI, utilisez la commande create-invalidation :
aws cloudfront create-invalidation --distribution-id EDFDVBD6EXAMPLE --paths "/example-path/index.html"
Remarque : RemplacezEDFDVBD6EXAMPLE par l'ID de la distribution qui diffuse vos fichiers.
Pour connaître l'état actuel d'une invalidation, utilisez la commande get-invalidation :
aws cloudfront get-invalidation --id I2J0I21PCUYOIK --distribution-id EDFDVBD6EXAMPLE
Remarque : RemplacezEDFDVBD6EXAMPLE par l'ID de la distribution qui diffuse vos fichiers.
Pour interroger l'état d'une invalidation jusqu'à ce qu'elle soit terminée, utilisez la commande suivante :
aws cloudfront wait invalidation-completed --id I2J0I21PCUYOIK --distribution-id EDFDVBD6EXAMPLE
Remarque : RemplacezEDFDVBD6EXAMPLE par l'ID de la distribution qui diffuse vos fichiers.
Informations connexes
Pourquoi CloudFront fournit-il du contenu obsolète depuis Amazon S3 ?