AWS CloudFront не обновляется - PullRequest
0 голосов
/ 21 ноября 2018

Когда бы я ни вносил изменения в свою корзину S3, мой CloudFront не обновляется до нового содержимого.Мне нужно каждый раз создавать аннулирование, чтобы увидеть новый контент.Есть ли другой способ заставить CloudFront загружать новый контент всякий раз, когда я загружаю контент в свою корзину S3?

Ответы [ 3 ]

0 голосов
/ 21 ноября 2018

Cloudfront хранит кеш в пограничных точках не менее одного часа.

Что вы можете сделать, как указано в документах , вы можете использовать версионные файлы.

НО :

Новые версии файлов для самых популярных страниц могут не обслуживаться в течение 24 часов, поскольку CloudFront мог получить файлы для этих страниц непосредственно перед заменой.файлы с новыми версиями

Так что я думаю, что ваша лучшая ставка - это аннулирование.

EDIT : вы можете предотвратить кэширование версионных файлов, если вы измените ихимена.

0 голосов
/ 21 ноября 2018

Позвольте мне ответить на ваши вопросы в строке.

Всякий раз, когда я изменяю свою корзину S3, мой CloudFront не обновляется до нового содержимого.Мне нужно каждый раз создавать аннулирование, чтобы увидеть новый контент.

Да, это поведение по умолчанию в CloudFront, если только вы не определили значения TTL равными нулю (0).

Есть ли другой способ заставить CloudFront загружать новый контент всякий раз, когда я загружаю контент в свою корзину S3?

Вы можете автоматизировать аннулирование с помощью AWS Lambda.Сделать это;

  1. Создание триггера событий S3 для вызова лямбда-функции при загрузке любого нового контента в S3.
  2. Внутри лямбда-функции напишите код для аннулирования распределения CloudFront с помощью AWS CloudFrontSDK метод createInvalidation .

Примечание. Убедитесь, что у функции Lambda есть роль IAM с разрешением политики для запуска аннулирования в CloudFront.

0 голосов
/ 21 ноября 2018

Вы создали источник S3 с настройками кэша или добавили заголовки кэша в свою политику сегмента S3.

Если вы проверяете запрос браузера, вы можете проверить заголовки кэша и узнать, почему он кэшируется.

Вы можете найти список заголовков кэша http и их использование здесь

Надеюсь, это поможет.

...