Я работаю над проектом, который включает функции хранения и совместного использования файлов, а после нескольких месяцев исследования наилучшего метода использования AWS я все еще немного обеспокоен.
В основном мое решение заключается в использовании хранилища EBS для размещения пользовательских файлов или S3. Система будет включать архивирование zip файлов на лету, когда пользователь захочет загрузить несколько файлов. Кроме того, когда пользователи загружают файлы, я не хочу, чтобы URL-адрес был открыт.
Два лучших варианта, которые я придумал, следующие:
-
Имейте экземпляр EC2, у которого есть несколько томов EBS, смонтированных для хранения пользовательских файлов.
- плюсы: он кажется намного быстрее, чем S3, и файлы zipping с объема EBS прямолинейны.
- cons: Я считаю, что Amazon закрывает количество хранилища EBS, которое вы можете использовать, и нет такого избыточного, как S3.
-
После загрузки и обработки файлов система подталкивает эти файлы в ведро S3 для долговременного хранения. Когда файлы запрашиваются, я получаю файлы с S3 и вывод обратно клиенту.
- плюсы: избыточность, отсутствие ограничений на хранение файлов
- cons: похоже, SLOW, не способ монтировать ведро S3 в качестве тома в файловой системе, обслуживание зашифрованных файлов означает перенос каждого файла на экземпляр EC2, zipping, а затем, наконец, передачу вывода (опять же, медленное!)
Являются ли какие-либо из моих допущений ошибочными? Может ли кто-нибудь подумать о лучшем способе управления огромными объемами хранения файлов?