2015-04-12 5 views
-1

Я разрабатываю проект MVC Asp.Net, который будет размещен в Amazon AWS, но у меня есть некоторые вопросы о хранении файлов клиента. Документация от Amazon не ясна для меня, и я ищу здесь несколько направлений и впечатлений.Sugestions о хранении файлов в Amazon AWS

1 - каждый клиент имеет несколько файлов с низким объемом дискового пространства, низкую частоту обновления, но очень высокую частоту доступа (например, изображение бренда и даже чувствительные файлы, такие как сертификаты). Уместно хранить эти файлы в папке app_data на веб-сервере?

2 - для меня наиболее важными являются конфиденциальные документы (от сотен до десятка тысяч на одного клиента, в большинстве случаев файлы с XML-символами). Эти файлы имеют среднюю частоту чтения, но очень высокий спрос на создание. Одним из решений, которое я нашел, является MongoDB, который дает мне свободу управления политикой хранения и позволяет мне легко создавать резервные копии, но я не уверен в этом. Другие варианты - использовать Amazon Storage и обрабатывать все эти файлы и ГБ в них с большим количеством папок или, возможно, использовать обычную базу данных и сохранять файлы в виде xml или bin.

Мои опасения касательно количества данных, безопасности и надежности в случае бедствия, поскольку большинство этих документов имеет юридическое значение.

ответ

3
  1. Вы можете, но сохраняя их локально, нарушать архитектуру общего ничего и ограничивать параметры масштабирования. Amazon S3 - хороший вариант здесь. Вы можете установить некоторые файлы общедоступными и обслуживать их напрямую с s3 (или с облачным), а также сохранять другие конфиденциальные и предоставлять доступ через подписанные URL-адреса.

  2. Снова вы можете поместить файлы на s3 и сделать их частными. Вы по-прежнему будете хранить ссылки на файлы в своей базе данных. Как правило, это не отличная идея хранить большие файлы blob в базе данных, так как они часто не очень оптимизированы для доступа к ним.

+1

Единственное, что нужно добавить здесь: Пожалуйста, используйте сертификаты, защищенные паролем, только если вы намерены хранить их на сервере, который не находится под вашим физическим контролем (даже в противном случае это хорошая идея). –

+1

Другим вариантом является сохранение всех файлов, зашифрованных паролем при запуске приложения. –

+0

Клиентские сертификаты должны подписывать файлы xml и являются частью метода аутентификации внешнего webservice. Я знаю, что это не идеально, но моя идея - хранить их с паролем, хранящимся в другом месте. Насколько я знаю, это лучшее, что я могу сделать в этой ситуации. –

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