Разработчик размещает статический веб-сайт на Amazon S3 и обслуживает его через CloudFront, используя собственный домен. Конвейер CI/CD (запускаемый CodeCommit) выполняет этап сборки, который запускает проект CodeBuild, ссылающийся на buildspec.yml. Сборка загружает обновленные статические файлы в бакет S3, и обновления видны по URL-адресу веб-сайта S3, но дистрибутив CloudFront по-прежнему обслуживает старое содержимое. Что должен сделать buildspec.yml, чтобы CloudFront обслуживал обновленные файлы?
Выберите ответ
Нажмите на вариант, чтобы проверить свой ответ.
Правильный ответ: Сделать недействительными кэшированные объекты для дистрибутива CloudFront, чтобы CloudFront получил обновленные файлы..
Почему это правильный ответ
CloudFront кэширует содержимое на своих граничных узлах, чтобы обеспечить низкую задержку. Даже если файлы в бакете S3 обновлены, CloudFront продолжит обслуживать старые, кэшированные версии, пока кэш не истечет или не будет принудительно очищен. Аннулирование кэшированных объектов (invalidation) в CloudFront заставляет его заново получать содержимое из источника (в данном случае из S3) при следующем запросе. Синхронизация объектов S3 или удаление старых файлов перед загрузкой новых не решает проблему кэширования CloudFront; эти действия лишь гарантируют, что S3 содержит актуальные данные. CloudFront все равно будет обслуживать свои кэшированные версии. Изменение конфигурации CORS бакета S3 не имеет отношения к проблеме устаревшего кэша CloudFront.
Сдайте экзамен — без бесконечного поиска ответов
Получите все проверенные вопросы и объяснения для этого экзамена в одном месте и сэкономьте часы подготовки. 1000+ сертификаций · 20+ языков · начните бесплатно.
Сдайте экзамен быстрее → Карта не требуется