AWS: очистить кеш CloudFront

Автор: | 09/27/2019
 

Имеется картинка в AWS S3, которую перезалили, но CloudFront отдаёт её старый вариант.

Что бы удалить её из кеша CloudFront — необходимо выполнить invalidation объекта.

Создать его можно из веб-панели, либо с помощью AWS CLI.

В веб-панели переходим в нужную дистрибьюцию, добавлем Invalidation:

И чистим кеш для всех картинок:

Либо — добавляем invalidation с помощью CLI:

aws --profile bm-backend  cloudfront create-invalidation --distribution-id E3V72S54L4XFN5 --paths "/courses/images/youthful_face.png"
{
"Location": "https://cloudfront.amazonaws.com/2019-03-26/distribution/E3V72S54L4XFN5/invalidation/I1TU7YRJRXCOAF",
"Invalidation": {
"Id": "I1TU7YRJRXCOAF",
"Status": "InProgress",
"CreateTime": "2019-09-27T13:16:31.089Z",
"InvalidationBatch": {
"Paths": {
"Quantity": 1,
"Items": [
"/courses/images/youthful_face.png"
]
},
"CallerReference": "cli-1569590190-500229"
}
}
}

Пошёл процесс очистки кеша:

По умолчанию — CloudFront держит данные в кеше 24 часа, при необходимости — можно изменить TTL объектов в настройках дистрибьюции:

Готово.