Нужна рекомендация для общего хранилища при автоматическом масштабировании ec2 w/ scalr
Я встретил так много ответов на этот вопрос, что я полностью потерян! Я перевожу наши 2 сайта в систему ec2 с балансировкой нагрузки, где в качестве менеджера по облачным вычислениям используется scalr. Теперь встает вопрос о постоянном хранилище для загруженного пользователем контента и других файлов. Может ли кто-нибудь дать мне предложение и, возможно, ссылку на учебник для следующих настроек и целей. 2 сайта (1 форум, 1 интернет-магазин). 1 LB 1 сервер приложений (для масштабирования до необходимого количества) 1 сервер БД (для масштабирования до необходимого количества)
Наши сайты должны будут автоматически масштабироваться, и в соответствии с тем, что я узнаю о scalr, это означает, что при загрузке новых экземпляров мне нужно запустить скрипт для настройки основ на этом сервере (git,php mods, pull site from git, move ключи и т. д.)
Чего я не понимаю, так это как мне обрабатывать загруженный пользователем контент, такой как картинки профиля, аватары, изображения товаров, темы и т. Д.
Монтировать ли папку EBS или s3fs для хранения веб-сайтов (может быть, /var/www/websitefolder) или я делаю что-то вроде монтирования папок с аватарами /var/www/websitefolder/images/avatars)
Я не уверен, куда идти с этим. Может ли кто-нибудь дать мне подробную помощь? -John
1 ответ
Это общая проблема при переходе на EC2. Ваши варианты являются одним из следующих:
S3
- Используйте s3fs как уже упоминалось, но у вас могут возникнуть проблемы с производительностью
- Перепишите приложение для хранения пользовательского контента на S3, а не на диске.
- Ваше приложение может прокси запрос на S3 или
- Вы можете получить ваш клиент для загрузки непосредственно на S3, используя предварительно подписанные URL-адреса.
- Затем пользователь может быть направлен на получение контента непосредственно из S3.
Используйте кластерную файловую систему, такую как Gluster.
- Используйте 2 выделенных сервера NFS в Active/Passive с использованием DRBD-сервера.
РЕДАКТИРОВАТЬ 20160705
В настоящее время AWS предлагает эластичную файловую систему (EFS) в ряде регионов. EFS - это размещенная служба NFS, эффективно предоставляющая вам NAS как службу.