Где поместить общие файлы на дизайн Amazon AWS для архитектуры отказа? - PullRequest
0 голосов
/ 19 января 2012

У меня есть простой веб-сайт LAMP на AWS.Я хочу по крайней мере 2 экземпляра, которые будут подключаться к RDS, и у меня будет балансировщик нагрузки.Простой вопрос, на который нет ответа в Интернете: куда вы помещаете загруженные пользователем файлы общего доступа, такие как изображения?

NFS должен быть одним ответом.Я имею в виду что-то вроде создания другого экземпляра, совместного использования папки через NFS, а другие экземпляры монтируют их.Но это точка отказа.

Rsync папок между экземплярами ¿? !!

Лучший ответ, который я нашел, это использовать s3fs и смонтировать корзину s3 на всех моих экземплярах.Но я не люблю использовать вещи, не поддерживаемые Amazon.

Какое правильное решение?

Спасибо!

РЕШЕНИЕ

Я пробовал s3fs, но у меня возникло много проблем (то есть сВозможная последовательность).

Итак, наконец, я реализовал AWS SDK и использовал библиотеку S3 для прямой загрузки в S3.Затем указал домен непосредственно на корзину s3.

Спасибо всем

Ответы [ 3 ]

2 голосов
/ 19 января 2012

Почему бы не положить файлы в S3? Вам не нужно использовать что-то вроде s3fs - просто используйте обычный s3 apis для загрузки файлов в s3.

Пользователи также могут загружать файлы прямо на s3, не заходя на ваш сервер, если использовать post api

0 голосов
/ 19 января 2012

Как вы говорите, вы уже смотрите на s3fs.Вы правы - зачем иметь дополнительный уровень программного обеспечения.

Вероятно, лучше создать ограниченные по времени подписанные URL-адреса - или, если файлы действительно общедоступны - просто сделать эту часть корзины общедоступной и напрямую использоватьS3 URL для обслуживания файлов.Вы также можете указать DNS на S3, поэтому http://my -bucket.s3.amazonaws.com / path / to / file.png становится files.mycompany.com/path/tofile.png.

0 голосов
/ 19 января 2012

Как сказал Фредерик, S3, вероятно, лучше, потому что единственный другой вариант - поместить их на балансировщик нагрузки и сразу же вернуть их. Но затем, если вы делаете несколько балансировщиков нагрузки с каким-то типом DNS Round Robin или чем-то вроде этого, вы становитесь на вершину и должны копировать их по всему аду, и это просто не будет работать. А если вы используете ELB, вы все равно не сможете этого сделать.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...