Преимущества EBS против магазина экземпляров (и наоборот)

Непонятно, какие преимущества я получаю от EBS против экземпляра-хранилища для своих экземпляров на Amazon EC2. Во всяком случае, кажется, что EBS более полезен (остановка, начало, упорство + более высокая скорость) при относительно небольшой разнице в стоимости...? Кроме того, существует ли какая-либо метрика относительно того, все ли люди используют EBS сейчас, когда она доступна, учитывая, что она по-прежнему относительно новая?

Ответ 1

В нижней строке вы должны почти всегда использовать экземпляры, поддерживаемые EBS.

Здесь почему

  • Поддерживаемые экземпляры EBS могут быть установлены так, что они не могут быть (случайно) завершены через API.
  • Поддерживаемые экземпляры EBS можно остановить, когда вы их не используете, и возобновите их, когда они вам понадобятся (например, приостановка виртуального ПК), по крайней мере, мои шаблоны использования экономят гораздо больше денег, чем я трачу на несколько десятков ГБ EBS.
  • Поддерживаемые экземпляры EBS не теряют хранилище своих экземпляров при их сбое (это не требование для всех пользователей, но делает восстановление намного быстрее).
  • Вы можете динамически изменять размер хранилища экземпляров EBS.
  • Вы можете перенести хранилище экземпляров EBS на совершенно новый экземпляр (полезно, если аппаратное обеспечение на Amazon, на котором вы работали, становится flaky или умирает, что происходит время от времени)
  • Быстрее запускается экземпляр с поддержкой EBS, потому что изображение не нужно извлекать из S3.
  • Если аппаратное обеспечение вашего экземпляра с поддержкой EBS запланировано для обслуживания, остановка и запуск экземпляра автоматически переносятся на новое оборудование. Я также смог перенести экземпляр, поддерживаемый EBS, на поврежденное оборудование, принудительно прекратив экземпляр и снова запустив его (ваш пробег может отличаться от отказавшего оборудования).

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

EBS все еще может потерпеть неудачу - не серебряная пуля

Имейте в виду, что любая часть облачной инфраструктуры может выйти из строя в любое время. Планируйте свою инфраструктуру соответствующим образом. В то время как экземпляры с поддержкой EBS обеспечивают определенный уровень долговечности по сравнению с эфемерными экземплярами хранилища, они могут и не работают. Имейте AMI, из которого вы можете запускать новые экземпляры по мере необходимости в любой зоне доступности, создавать резервные копии важных данных (например, базы данных), и если ваш бюджет позволяет это, запустите несколько экземпляров серверов для балансировки нагрузки и резервирования (в идеале в нескольких зонах доступности).

Когда не нужно

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

Ответ 2

99% нашей установки AWS можно перерабатывать. Так что для меня не имеет значения, прекращаю ли я экземпляр - ничто не потеряно никогда. Например. мое приложение автоматически развертывается в экземпляре из SVN, наши журналы записываются на центральный сервер syslog.

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


[2012-07-16] Я бы сказал, что этот ответ сегодня много отличается.

У меня не было хорошего опыта работы с экземплярами, поддерживаемыми EBS за последний год или около того. Последние простоя на AWS в значительной степени разрушили EBS.

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

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

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

В дополнение к тому, как ведет себя сетевое хранилище, вся сеть разделяется на экземпляры EC2. Чем меньше экземпляр (например, t1.micro, m1.small), тем хуже он получается, потому что ваши сетевые интерфейсы на реальной хост-системе распределяются между несколькими виртуальными машинами (= ваш экземпляр EC2), которые работают поверх него.

Чем больше экземпляр, тем лучше, тем лучше. Лучше здесь означает разумно.

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

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

Ответ 3

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

Ответ 4

Эрик в значительной степени прибил его. Мы (Bitnami) - популярный поставщик бесплатных AMI для популярных приложений и рамок разработки (PHP, Joomla, Drupal, вы получаете идею), Я могу сказать вам, что AMI с поддержкой EBS значительно более популярны, чем поддержка S3. В общем, я думаю, что экземпляры с поддержкой s3 используются для распределенных заданий с ограничением по времени (например, для крупномасштабной обработки данных), где, если одна машина выходит из строя, другая просто прокручивается. Поддерживаемые EIS AMIS, как правило, используются для "традиционных" серверных задач, таких как веб-серверы или серверы баз данных, которые сохраняют состояние локально и, следовательно, требуют, чтобы данные были доступны в случае сбоя.

Одним из аспектов, о котором я не упоминал, является тот факт, что во время работы вы можете делать снимки экземпляра, поддерживаемого EBS, что позволяет вам иметь очень экономичные резервные копии вашей инфраструктуры (моментальные снимки основаны на блоках и инкрементальных)

Ответ 5

У меня был тот же опыт, что и Эрик на моей последней должности. Теперь, на моей новой работе, я перехожу к тому же процессу, который я выполнял на своей последней работе... перестраивая все свои AMI для экземпляров, поддерживаемых EBS, и, возможно, 32-битные машины (дешевле - но не могут использовать один и тот же AMI на 32 и 64 машины).

Запускаемые экземпляры EBS запускаются достаточно быстро, чтобы вы могли начать использовать API Amazon AutoScaling, который позволяет использовать метрики CloudWatch для запуска запуска дополнительных экземпляров и регистрации их к ELB (балансировщик эластичной нагрузки), а также для их закрытия, когда больше не требуется.

Такая динамическая автомасштабирование - вот что такое AWS - где реальная экономия в ИТ-инфраструктуре может вступить в игру. Практически невозможно сделать автомасштабирование с помощью старых экземпляров s3 "InstanceStore".

Ответ 6

Я только начинаю использовать EC2 сам, а не эксперт, но Собственная документация Amazon говорит:

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

Акцент на мой.

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

Я попытаюсь забыть взвешивать снова после того, как я использовал оба.

Ответ 7

EC2 "Оборудование"

При запуске экземпляра EC2 виртуальная машина зарезервирована для запуска экземпляра. Эта виртуальная машина имеет конкретные спецификации в зависимости от типа экземпляра: 32-разрядный или 64-разрядный процессор, количество виртуальных ядер, размер жесткого диска и т.д. Подробности о спецификациях экземпляров можно найти на http://aws.amazon.com/ec2/#instance.

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

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

Amazon Web Services предоставляет экземпляры EC2 с двумя типами корневых устройств: "EBS-backed" и "store экземпляров".

Экземпляры экземпляра

Экземпляр экземпляра экземпляра представляет собой экземпляр EC2, корневое устройство которого находится на жестком диске виртуальных машин. Когда экземпляр создается, базовый AMI копируется на жесткий диск виртуальных машин и запускается. Экземпляр может работать до тех пор, пока вы хотите, но его нельзя остановить. Поскольку корневое устройство экземпляров является фактическим жестким диском, оно "застревает" на аппаратном обеспечении, и единственное, что вы можете сделать, это прервать экземпляр. Если вы это сделаете, экземпляр будет удален, а не восстановлен. Вы также рискуете, что, если оборудование виртуальных машин выходит из строя, вы также потеряете что-либо на жестком диске.

Если вы запустите экземпляр экземпляра экземпляра, будьте готовы оставить его, пока вы не закончите с ним. Обратите внимание, что с момента запуска экземпляра вам будет снята оплата до момента его завершения.

Экземпляры, поддерживаемые EBS

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

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

Другим преимуществом является то, что объемы EBS могут быть легко скопированы и дублированы. Таким образом, вы можете легко создавать резервные копии ваших томов, создавать новые тома и запускать новые экземпляры EC2 на основе этих дублированных томов.

Вероятно, самое большое преимущество экземпляров, поддерживаемых EBS, превышает экземпляры экземпляра экземпляра, так что они могут быть остановлены. Когда вы это делаете, виртуальная машина выключается, и объем EBS сохраняется для последующего извлечения. Затем аппаратное обеспечение доступно для использования другим пользователем. Кроме того, за это время вам не взимается плата за загрузку экземпляра EC2. Но вам платят за хранение EBS. Когда вы хотите, чтобы экземпляр снова запустился, вы просто запустите его снова. Новая виртуальная машина зарезервирована, ваш том EBS подключен, и ваш экземпляр загружен.

Но как насчет жестких дисков виртуальных машин?

Да, эти жесткие диски можно использовать, даже если ваш экземпляр EC2 "поддерживает EBS". По умолчанию они недоступны. Если вы используете программы командной строки для запуска своего экземпляра, вы можете использовать опцию "-b" в команде ec2-run-examples, чтобы прикрепить диски "хранилища экземпляров" к вашему экземпляру EC2.

Наличие этих дисков может быть полезным, если вы хотите хранить временные данные. Доступ к чтению и записи должен быть быстрее, чем чтение и запись на том EBS, потому что вы не отправляете данные по сети. Кроме того, вы не будете платить за передачу данных или хранение данных. Но это работает только в том случае, если данные могут быть потеряны в любое время.

Источник: https://skeddly.desk.com/customer/portal/articles/1346918-ebs-backed-versus-instance-store

Ответ 8

EBS похож на виртуальный диск виртуальной машины:

  • Долговечные экземпляры, поддерживаемые EBS, могут свободно запускаться и останавливаться (экономить деньги)
  • Может быть снята в любой момент времени, чтобы получить резервные копии момента времени.
  • AMI могут быть созданы из снимков EBS, поэтому объем EBS становится шаблоном для новых систем.

Хранилище экземпляров:

  • Локальный, поэтому обычно быстрее
  • Не в сети, в нормальных случаях EBS I/O поставляется за счет пропускной способности сети (кроме
  • Ограниченный IOO в секунду IOPS). Даже подготовленные выходы ввода-вывода превышают несколько тысяч IOPS
  • Хрупкое. Как только экземпляр будет остановлен, вы потеряете все в хранилище экземпляра.

Здесь, где использовать каждый:

  • Используйте EBS для резервного раздела ОС и постоянного хранилища (данные БД, критические журналы, конфигурацию приложения)
  • Использовать хранилище экземпляров для данных процесса, некритических журналов и состояния переходных приложений. Пример: внешнее хранилище сортировки, временные файлы и т.д.
  • Хранилище экземпляров также может использоваться для критически важных данных при репликации между экземплярами (базы данных NoSQL, распределенные системы очереди/сообщений и базы данных с репликацией).
  • Используйте S3 для данных, разделяемых между системами: входной набор данных и обработанные результаты, или для статических данных, используемых каждой системой при запуске.
  • Использовать AMI для prebaked, запускаемых серверов

Ответ 9

Большинство людей предпочитают использовать экземпляр с поддержкой EBS, поскольку он является состоятельным. Это безопаснее, потому что все, что вы запускаете и устанавливаете внутри него, выдержит остановку/остановку или сбой любого экземпляра.

Хранилище экземпляров не имеет апатридов, вы потеряете его со всеми данными внутри в случае любой ситуации сбоя экземпляра. Тем не менее, он свободен и быстрее, поскольку объем экземпляра привязан к физическому серверу, на котором работает виртуальная машина.

Ответ 10

Для кого-то нового для всего этого и если случайно приземлился здесь

На данный момент все AMI в разделе быстрого запуска поддерживаются EBS

введите описание изображения здесь

Также есть хорошее объяснение в официальном документе для разницы между EBS и хранилищем экземпляров

& это изображение в значительной степени суммирует его введите описание изображения здесь

Ответ 11

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

Как описано в документации EBS Объемыи ответ от j2d3 и Сиддхарт Шармаэкземпляр-хранилище может работать до тех пор, пока вы хотите, но он не может быть остановлен. Означает, что услуга не может быть запланирована с помощью Automatic Пуск/Стоп или Экземпляр Восстановление.

Кроме того, для такого типа схемы также нет пользы для использования EBS Backed на Elastic Beanstalk, поскольку он предназначен для обеспечения того, чтобы все необходимые вам ресурсы продолжали работать. Он всегда будет автоматически перезапускать любые сервисы, которые вы остановите. enter image description here Рассмотрение все остальное, из общей суммы расходов при использовании VPC, EBS и ELB, который добавлен в EC2-Classic, EC2-VPC с ELB - лучший выбор, в отличие от EC2 -Classic, остановленный экземпляр сохраняет связанные с ним Эластичные IP-адреса и объем EBS автоматически сохраняется.

Как заключение, взяв основную часть вашего вопроса:

кажется, что EBS более полезен (остановка, начало, упорство + лучше скорость) при относительно небольшой разнице в стоимости...?

Ответ да, но если ваш экземпляр основан на EBS, его можно остановить. Он останется в вашем аккаунте за него не будет взиматься плата. Вы будете платить только объем, но EBS взимается почасовой. Вы можете также учитывать, что среди всех доступных типов вы можете гибко изменить размер тома EBS.

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

Однако, если есть сценарий для запуска приложения в службе с более низкой стоимостью, вытащите всю необработанную задачу и поместите их в VPC/EBS через трубопровод или lambda за короткое время скажите <1 час в день , что невозможно сделать при использовании хранилища экземпляров, затем это будет другая история.