2015-07-29 3 views
1

У меня есть приложение, которое будет использоваться только в Индии. Я использую распределение Cloudfront для обслуживания активов. У меня уже есть стратегия управления версиями для изменения имен активов, которые были изменены для сборки.Ограничение Cloudfront до определенного региона

Учитывая все, что мне нужно сделать invalidate index.html, который заботится об использовании версий других активов.

Я использую недействительность облачного облака для invalidate index.html. Я заметил, что аннулирование этого единственного файла всегда занимает более 2 минут. Я понимаю его, потому что он недействительный файл в 42 крайних местах. Мне не нужно, чтобы файл был помещен и недействителен на 42 крайнем месте. Если есть какая-либо конфигурация, которая будет хранить файл только в крайних местах в Индии, я думаю, что недействительность будет быстрее.

Есть ли такая конфигурация, которая ограничивает копирование файла в определенных местах краев.

ответ

2

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

Например:

  • Пользователь в Интернете запрашивает файл из дистрибутива CloudFront (например dxxx.cloudfront.net/index.html)
  • Пользователь направляется к ближайшему края места (например, Ченнаи)
  • Если cache не содержит копию файла, затем CloudFront извлекает файл из Origin (например, Amazon S3, сервер Amazon EC2 или где-либо еще)
  • Если кэш-память содержит копию файла, но она прошла мимо дата истечения срока действия, CloudFront будет запрашивать y источник, чтобы определить, был ли файл изменен с момента последнего извлечения. Если он был изменен, обновляется файл.
  • Затем файл возвращается пользователю.

Невозможно проинструктировать CloudFront хранить файл только в одном краевом местоположении. Ближайшей возможностью является использование Цена Класс.

От Amazon CloudFront pricing:

  • Цена Класс 100: США, Европа
  • Цена Класс 200: США, Европа, Гонконг, Филиппины, Южная Корея, Сингапур, Тайвань, Япония, Индия
  • Цена Класс Все: США, Европа, Гонконг, Филиппины, Южная Корея, Сингапур, Тайвань, Япония, Индия, Южная Америка, Австралия

Эти ценовые классы могут использоваться для ограничения местоположения, с которого Amazon CloudFront обслуживает контент, с целью снижения затрат (например, в Южной Америке и Австралии самая высокая стоимость передачи данных на ГБ).

Однако они не могут использоваться для указания CloudFront только хранить контент в одном месте или ускорять процесс недействительности.

+0

Спасибо за подробный ответ.Теперь у меня есть идея понять облачный. Можете ли вы догадаться, почему это может занять до 2 минут, чтобы аннулировать один файл. Это в очереди, ожидающей своей очереди или чего-то в этом роде. – Vishwanath

+0

В документации указано, что «CloudFront» обычно занимает от 10 до 15 минут, чтобы завершить запрос о недействительности, в зависимости от количества путей недействительности, которые вы включили в запрос ». Я не мог найти никакой информации о том, почему это так долго. –

+0

Ну, все, что я хотел, было сделать недействительным один файл. Позже выяснилось, что лучший способ сделать это - использовать 'cache-control: private', чтобы файл вообще не был сохранен облачной областью. – Vishwanath

Смежные вопросы