Постоянство данных Amazon EC2

25

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

Кайл Кронин
источник
2
Заметка о терминологии: обратите внимание, что завершение экземпляра отличается от простой перезагрузки . Завершение стирает хранилище экземпляра, а перезагрузка - нет (см., Например, stackoverflow.com/questions/637790/… ). Таким образом, вы на самом деле не имеете в виду перезагрузку :)
Jonik

Ответы:

25

Как и другие говорили, EBS - Elastic Block Storage. Я использую это непосредственно теперь, когда это выпущено широкой публике. Это лучше, чем S3 по нескольким пунктам:

  • EBS быстр . По словам Амазонки, он быстрее, чем даже местные.
  • EBS монтируется как правильные устройства . В отличие от S3, для которого вам понадобится настраиваемая логика доступа к объектам S3 в вашем коде или промежуточное программное обеспечение (JungleDisk, ElasticDisk и др.), Представляющее свои собственные проблемы и затраты
  • Резервное копирование EBS легко . Amazon дает возможность делать снимки, сохраненные на S3
  • EBS переносимы между экземплярами - объем может быть размонтирован из одного экземпляра и присоединен к другому экземпляру
  • Устройства EBS могут даже объединяться в RAID для повышения надежности

Мой опыт работы с EBS до сих пор был самым положительным моментом в AWS, с которым я когда-либо сталкивался.


Обновление: хотя мой опыт работы с EBS был положительным, у других были проблемы. В частности, EBS неправильно реализует fsync (). У Теда Дзюбы есть несколько интересных слов об этом в его блоге Amazon - Цель боли : миф 2: архитектура спасет вас от облачных сбоев

Это становится еще интереснее с Amazon Elastic Block Store, который, как обнаружили администраторы Reddit, с радостью примет вызовы fsync () и лжет вам в лицо, говоря, что данные были записаны на диск, когда они могут не иметь было.

Стю Томпсон
источник
EBS иногда бывают быстрыми, иногда медленными. RAID для нескольких томов вместе очень помогает.
ceejayoz
4

EBS, безусловно, будет работать для базы данных, и является одним из примеров в описании EBS Amazon . «Amazon EBS особенно подходит для приложений, которым требуется база данных ...»

EBS будет работать как блочное устройство (например, жесткий диск), предоставляя вам широкую свободу и удобство использования. Концептуально S3 больше похож на действительно быстрый FTP со специальным API. Вы могли бы предположительно использовать его как часть базы данных, но стандартные базы данных не работают на нем (пока?).

Вы захотите просмотреть описания Amazon по производительности (EBS> S3), долговечности (S3> EBS) и цене (зависит).

Joshdan
источник
2

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

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

EBS охватывает основные варианты использования, но имейте в виду:

  • S3 разработан для большей долговечности, чем EBS. Проще говоря, они хранят больше копий ваших данных и требуют очень высокой прочности 99,999999999% для S3 (см. FAQ по S3). Фактическая числовая вероятность здесь (которая настолько высока, что марсианские вторжения выглядят более вероятными) не так важна, как тот факт, что AWS поставил свою репутацию на прочность S3 и имеет здесь очень хорошие результаты. То же самое не относится к EBS.
  • Хотя Amazon не будет предоставлять статистику по этому вопросу напрямую, многие считают, что хранилище экземпляров исторически предлагало более высокую доступность, чем EBS.

Недавние сбои в работе AWS, такие как серьезный многодневный сбой в 2011 году и еще один в 2012 году , дают некоторые иллюстрации сложности EBS и небольших, но не пренебрежимо малых рисков сбоев и потери данных.

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

jlevy
источник
0

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

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

Скотт Беннетт-Маклиш
источник