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

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

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

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

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

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

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

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

[simterm]

$ 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"
        }
    }
}

[/simterm]

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

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

Готово.