Назад | Перейти на главную страницу

Как администраторы управляют своими EC2 EBS и снимками состояния?

Моя компания переносит наш хостинг на Amazon, и я работаю над всеми проблемами миграции. Переход от физического оборудования к временным виртуальным машинам был довольно сложной задачей.

Одна из последних задач - понять, как управлять нашими EBS и снимками состояния. Поскольку в настоящее время у них нет возможности назвать их описательно или добавить смысла, мне интересно, как администраторы управляют своими ресурсами. Это не большая проблема с одним или двумя серверами, но как те, на которых запущено несколько серверов, справляются с этим. Все ли используют сторонние инструменты (например, RightScale / Scalr), когда получают доступ к горстке серверов? Или вы поддерживаете вики или другую вспомогательную документацию?

Я использую ec2-согласованный снимок ( http://alestic.com/2009/09/ec2-consistent-snapshot ) для создания моих снимков (в RHEL / CentOS, производном от Amazon Linux) - он написан на Perl и напрямую использует API. Вы указываете тома, которые хотите сделать снимком, и это позволяет вам добавить описание.

(В консоли AWS вы можете добавлять теги, если вам нужен более детальный контроль, но для простого резервного копирования, которое может не понадобиться и еще не поддерживается модулем Perl, используемым выше (Net :: Amazon :: EC2)).

Приведенный выше сценарий не удаляет снимки (только создает новые - последовательно (т.е. он может заморозить диск / базу данных перед снимком). Поскольку он довольно часто используется, и мне не удалось найти совместимый сценарий Perl для удаления старых снимков, которые я написал мой собственный ( http://www.thatsgeeky.com/2011/06/rotating-ebs-snapshots-ec2-prune-snapshots/ ). Он хорошо выполняет свою работу (ротацию дед-отец-сын) и использует те же зависимости и параметры, что и приведенный выше скрипт.

Конечно, оба настроены для работы через Cron.

(Теоретически должно быть достаточно легко подключить некоторые похожие сценарии (например, те, которые написаны на PHP и Ruby) к базе данных и вести собственный журнал выполненных томов и снимков - каждый снимок имеет уникальный идентификатор, поэтому при условии записи этого, любая дальнейшая внутренняя организация должна быть легко возможна. [Однако для целей резервного копирования часто бывает достаточно идентификатора тома и даты])

Не используйте инструменты CLI - они написаны на Java и до смешного медленны по сравнению с любыми прямыми реализациями API.

Постепенно Amazon добавляет все функции, необходимые для эффективного управления, если Amazon хочет привлечь внимание корпоративного рынка. Были добавлены теги, и скоро появятся улучшения, позволяющие пользователю иметь доступ только к определенным функциям. В будущем наверняка будут выполняться сценарии и развертывание. Я добавляю эти функции в свой бесплатный инструмент ElastDream.

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

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

я использую ElasticFox для управления моими снимками (и всеми моими серверами). У него есть теги, которые позволяют легко отслеживать, какие из них какие.

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

ElasticFox, безусловно, один из самых удобных инструментов для (ручного) управления EC2. Но ключевая часть этого - регулярное создание образов ваших экземпляров - настройка автоматической инициализации после запуска нового экземпляра: - разделение и монтирование временных дисков - монтирование тома EBS, когда он станет доступным - восстановление файлов и баз данных из EBS, a общее хранилище или S3. - запустить службы (MySQL, Apache, Tomcat, вы называете это).

Мы используем повар для управления всеми нашими ресурсами EC2.

Консоль AWS находится на слишком низком уровне для многих повседневных задач, хотя она быстро улучшается. Если вам нужна эта функция сейчас, вам нужно либо укусить пулю и написать свои собственные сценарии, используя инструменты ec2 cli для управления снимками, либо использовать сторонний инструмент. Для управления томами EBS подходят те, которые были упомянуты, другой вариант - инструмент управления EBS, чтобы вы могли планировать резервные копии, называть их, восстанавливать их и т. Д. Облачный хостинг BitNami (есть бесплатный уровень)

У меня в блоге есть собственный скрипт для создания ротационных резервных копий (дед - отец - сын) http://three99.com/posts/python-grandfather-father-son-snapshots-backup-for-ec2/