EBS для хранения баз данных и файлов сайта - PullRequest
12 голосов
/ 15 марта 2009

Я провел день, экспериментируя с AWS впервые. У меня запущен экземпляр EC2, и я смонтировал Elastic Block Store (EBS) для хранения баз данных MySQL.

Имеет ли смысл также помещать файлы моего веб-приложения в EBS или я должен просто развернуть их в обычной файловой системе EC2?

Ответы [ 4 ]

7 голосов
/ 27 июня 2009

Когда вы говорите файлы вашего веб-приложения, я не уверен, что именно вы имеете в виду.

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

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

EBS подойдет для: баз данных, люценовых индексов, файловой CMS, репозитория SVN или чего-либо подобного.

2 голосов
/ 29 апреля 2009

Если ваши файлы будут часто меняться (как это делает БД), и вы не хотите продолжать синхронизировать их с S3 (или где-то еще), тогда EBS - это хороший способ. Если вы вносите нечастые изменения и можете вручную (или по сценарию) синхронизировать файлы по мере необходимости, сохраните их в S3. Если вам необходимо завершить работу или вы потеряли свой экземпляр по какой-либо причине, вы можете просто сбросить его при запуске нового экземпляра. Это также предполагает, что вы заботитесь о стоимости. Если стоимость не является проблемой, использование EBS менее сложно. Я не уверен, планируете ли вы иметь отдельную EBS для вашей БД и ваших веб-файлов, но если вы планируете иметь только одну EBS, и у вас достаточно свободного места для ваших веб-файлов, то опять же, EBS менее сложен , Как уже упоминалось, если вас беспокоит производительность, лучше всего протестировать ваше конкретное приложение.

2 голосов
/ 16 марта 2009

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

1 голос
/ 20 июля 2009

Наш подход заключается в предварительном развертывании сценария в нашем AMI, который выбирает самую последнюю и лучшую версию кода из системы контроля версий. Это позволяет очень быстро запускать новые экземпляры или обновлять все запущенные экземпляры (мы вынимаем их из ротации балансировки нагрузки по одному, запускаем скрипт и возвращаем их в ротацию).

UPDATE:

Считывание между строк выглядит так, как будто вы монтируете отдельный том EBS в экземпляр, поддерживаемый хранилищем экземпляров. AWS недавно представила поддерживаемые EBS экземпляры, которые имеют массу преимуществ по сравнению со старыми экземплярами хранилища экземпляров. Тем не менее, я по-прежнему монтирую свои данные MySQL в отдельный раздел EBS, чтобы при необходимости легко смонтировать их на другой сервер.

Я настоятельно рекомендую экземпляр с поддержкой EBS с отдельным томом EBS для данных MySQL.

...