Amazon S3 as cdn копирует изображения с моего сервера - PullRequest
0 голосов
/ 18 января 2019

Я много искал по этому вопросу, но все, что я получаю, - это использование CloudFront (CDN) в сотрудничестве с S3.

Я хочу сделать что-то другое.

CloudFront работает как CDN, для его источника задано либо мой домен, где находятся изображения, либо S3.

Если я установлю его на свой домен, возникнет проблема с использованием моего хостинга.

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

Возможно ли, что CloudFront работает с S3, но если изображение отсутствует на S3, оно копирует его с моего сервера на S3?

Или, может быть, S3 сам по себе работает как CDN (лучшее решение). Я видел на некоторых сайтах, что они используют s3 URL для размещения своих изображений, например: https://retsimages.s3.amazonaws.com/14/A10363214_6.jpg

Как это возможно?

Ответы [ 2 ]

0 голосов
/ 18 января 2019

Возможно ли, что CloudFront работает с S3, но если изображение отсутствует на S3, оно копирует его с моего сервера на S3?

Закрыть.

CloudFront имеет функцию, которая поможет вам двигаться в этом направлении - исходные группы . Создайте исходную группу с S3 в качестве основного и вашего сервера в качестве дополнительного. Каждый раз, когда CloudFront сталкивается с отсутствием кэша, он сначала проверяет S3, и только если изображение отсутствует, он повторяет попытку, отправляя запрос на ваш сервер. Он будет кэшировать ответ, но не будет помнить источник объекта - поэтому последующие запросы на будущие пропуски кэша для того же объекта всегда будут сначала пытаться выполнить S3.

Это означает, что что-то на вашем сервере должно отвечать за конечное перемещение изображений в S3 - но пока изображение существует в одном или другом месте, оно будет обслуживаться CloudFront и кэшироваться. в CloudFront на ребре или ребрах (до двух - один глобальный / внешний, один региональный / внутренний), который обработал запрос.

0 голосов
/ 18 января 2019

Если я установлю его на свой домен, возникнет проблема с использованием моего хостинга.

Более дорогой, чем объем хранилища, является стоимость наличия сервера, готового обработать запрос. Логика вашего приложения будет знать, когда изображения меняются; это время, чтобы поместить их в S3.

как получить мои изображения на S3 без особых хлопот?

SDK есть практически для каждого языка, поэтому загружайте изображение по мере его поступления. Используйте s3cmd sync для перемещения имеющихся изображений. Тогда вы можете просто выключить свой сервер.

Или может быть S3 сам по себе работает как CDN

CloudFront может использовать предоставленное клиентом DNS-имя и соответствующий сертификат , чтобы вы могли использовать собственный домен с https. Он может интегрироваться в AWS WAF, который S3 не может напрямую. В противном случае CDN ведет себя аналогично s3. CloudFront должен обеспечивать лучшее кэширование и локальность конечных точек, но вы увидите небольшие функциональные различия при низких объемах. Ни одно из них не является постоянным для чтения после записи, но Cloudfront кеширует дополнительно. Ценообразование вряд ли сделает CloudFront более дешевым для большинства применений.

...