2009-03-15 2 views
12

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

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

+0

Никто не знает ваших требований, кроме вас. Может быть, вам следует аннулировать ... –

+0

Проголосовали за резервное копирование, потому что это совершенно законный вопрос. –

+0

Как указывает Кевин Петерсон в своем ответе, было бы очень важно знать, хотите ли вы использовать развернутый код или файлы данных. – Jonik

ответ

7

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

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

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

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

+1

+1, это самый ясный ответ здесь.Кроме того, если ОП задается вопросом о скорости EBS и хранилище экземпляров, он должен проверить это: http://serverfault.com/questions/111594/which-is-faster-for-read-access-on-ec2-local -Драйв или-EBS – Jonik

2

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

2

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

1

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

UPDATE:

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

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