Моя компания создает продукт SAAS (PHP), которому требуется некоторое дисковое пространство, сначала 1 ТБ должно быть достаточно, но в будущем может потребоваться больше дискового пространства.
1 – Изучая опции AWS, решение EBS кажется надежным вариантом. Но если мне нужно больше 1 ТБ? Теперь я могу использовать несколько томов EBS, но потом мне также нужно будет управлять файлами, где хранятся, поскольку большинство моих файлов находятся под одной папкой.
2- S3, вероятно, лучшее решение, но нам нужно будет переписать весь доступ к файлу приложения для S3 API …
3- Также, если мне нужно использовать несколько веб-серверов для балансировки нагрузки, смогу ли я смонтировать том EBS в нескольких экземплярах EC2? Я полагаю, это неправильно …
4 – Хорошая практика для хранения исходных файлов в хранилище экземпляров (быстрее, чем EBS), и файлов содержимого на EBS? Или все должно храниться в EBS?
Ответ на 3: Нет, вы не можете монтировать том EBS в нескольких экземплярах одновременно. Я считаю, что AWS не подходит для NFS, если вы хотите установить их через NFS.
Ответ на 4: Используйте хранилище экземпляров только для информации, которая вас не волнует, если она уничтожена при завершении работы экземпляра. Конечно, это быстрее, но это также более неустойчиво.
Для хранения я считаю, что вы должны архитектовать свое приложение, используя следующую иерархию памяти (также рекомендованную Amazon) от самого быстрого до самого медленного и от возможности более низкой емкости к более высокой емкости.
Instance Store -> EBS -> S3 -> Glacier
Как сказал @Mark Baker, для долгосрочного большого роста данных я бы просто рекомендовал придерживаться S3 и позволить пользователям получать доступ к нему через http (или https) и позволять Amazon обрабатывать все балансировки нагрузки. Хранилище EBS и Instance (в указанном порядке) больше для более короткого срока.
Если вы в настоящее время используете EBS, вы, вероятно, можете написать некоторую автоматизацию, которая периодически перемещает данные из EBS на S3.
Другой подход, который я использовал в прошлом, – это установка вашего ведра S3 с использованием s3fs и периодическое перемещение некоторых файлов на S3, оставляя только символические ссылки в томе EBS.