2013-02-06 8 views
1

Я создаю веб-приложение для совместной работы. У меня есть текст с активами (большинство из них имеют качество печати, скажем, 5 МБ, всего около 5 ГБ в месяц).Amazon Cloud, хранение активов

Я собираюсь разместить это на облаке амазонки, используя экземпляры EC2 для сервера node.js и mongodb с прикрепленным блочным хранилищем.

Активы являются частными для объекта, поэтому не каждый может иметь к нему доступ.

Как мне обращаться с активами? Сохраните их как двоичные файлы в базе данных или загрузите их до S3? (или любая другая услуга amazon)

Есть ли у кого-нибудь опыт? Или, может быть, некоторые полезные ссылки. Заранее спасибо

+0

Вы можете использовать GridFS в MongoDB - но я не уверен, учитывая количество данных, о которых вы говорите, и шаблон роста, который будет иметь долгосрочный смысл. Это может сделать для очень дорогого хостинга. Вы изучили стоимость хостинга и т. Д.? – WiredPrairie

+0

Я думаю, что в моем случае (Европа) дешевле сохранить материал на S3 или CloudFront (я не знаю, могу ли я ограничить доступ к облачным файлам, и мне кажется, что это для больших файлов), потому что хранение блоков более экспансивное чем S3-хранилище espacially, когда объем растет – pfried

+0

Cloudfront довольно дорогой, но S3 в уменьшенной настройке избыточности действительно дешевле около половины цены на обычное хранилище S3, с той же скоростью чуть меньше избыточности в их центре обработки данных. – Sammaye

ответ

1

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

1

Если вам нужно сделать контроль доступа, вы можете многое сделать, но самым очевидным будет сервер, который утверждает через ваш веб-сервер, и чтобы он реализовал логику управления доступом. Ваше приложение может проксировать через исходный объект из S3 или MongoDB GridFS. Если вы уже используете MongoDB, в этом конкретном случае я бы использовал GridFS, если вам не нужны некоторые функции экономии затрат S3, такие как сокращение избыточности.

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