Re: прозрачное проксирование с AWS S3

Anatoly Mikhailov anatoly at sonru.com
Tue Apr 9 12:45:17 UTC 2013


On Apr 4, 2013, at 1:13 PM, denis <denis at webmaster.spb.ru> wrote:

> 04.04.2013 15:04, Anatoly Mikhailov пишет:
>> Добрый день,
>> 
>> появилась бизнес-задача организовать контролируемую доставку файлов
>> с S3, разумеется, nginx будет заниматься проверкой условий и отдавать
>> файл при их соблюдении. Заодно у нас появится возможность использовать
>> SPDY для файлов с S3.
>> 
>> пока нашел вариант с X-Accel-Redirect (http://kovyrin.net/2010/07/24/nginx-fu-x-accel-redirect-remote/)
>> с отключенным proxy_max_temp_file_size и proxy_hide_header Content-Disposition.
>> 
>> вопрос - использует ли кто данный подход и как правильно организовать прозрачное проксирование?
> А какой смысл? У меня есть в планах чуть другая система: запрошенный файл качаем с S3, кладём локально и в дальнейшем он будет отдаваться только локально. Но нужно такое чуть для другого: если у нас произошел полный отказ сервера, разворачиваем ядро сайта на новом месте + конфиги, и система сама будет качать нужные файлы из резервного хранилища, а остатки потом докачать в фоне с минимальным приоритетом.
> 
> У вас получается, что файл будет каждый раз закачиваться с S3 на машину и отдаваться, то есть трафик до амазона, трафик до юзера, нагрузка на сервер даже больше, лаг отдачи (для файлов более 1мб может быть очень заметно). Лучше тогда запустить инстанс в амазоне, который будет этот файл читать почти как локальный, и уже напрямую отдавать (на поддомене может висеть). Плюс там же можно отдавать через безопасные линки.

Смысл следующий, S3 - это не standalone сервер, а нормальное высокодоступное и отказоустойчивое распределенное файловое хранилище,
поэтому мы используем его по назначению без лишних абстракций, сейчас задача - скрыть URL как это делает CNAME, но у нас HTTPS,
поэтому CNAME отдается с невалидным сертификатом, что само по себе очевидно.

У вас хорошая идея, но в нашем случае кэширование - это не та задача, которую мы решаем, у нас данные, что называется горячие,
поэтому cache hit rate будет невысоким, а overhead лишним, так как придется очищать локальный кэш.

Насколько мне известно, входящий и/или (надо уточнить про и/или) исходящий трафик внутри AWS бесплатный, и сервера у нас в тех
же зонах, что и S3 корзины, поэтому я не вижу проблем со скоростью доступа к файлам, мы даже уберем буфер, чтобы отдавать напрямую

Анатолий

> 
> _______________________________________________
> nginx-ru mailing list
> nginx-ru at nginx.org
> http://mailman.nginx.org/mailman/listinfo/nginx-ru



Подробная информация о списке рассылки nginx-ru