Пытаюсь понять, как настроить автоматическое масштабирование EC2 для автоматического подключения и тома EBS при создании нового экземпляра.
В идеале мы пытаемся достичь следующего при создании новых экземпляров.
Создайте моментальный снимок из главного экземпляра, одного из текущих экземпляров в группе (это может отличаться, поскольку автоматическое масштабирование добавляет и удаляет экземпляры).
Создайте новый экземпляр из нашего AMI
Создайте том EBS из снимка в 1.
Прикрепите и смонтируйте том к экземпляру
Добавьте новый экземпляр в балансировщик нагрузки.
Это возможно. ключевая проблема связана с работой с EBS ...
Любой совет
В определенной степени это возможно с помощью некоторых основных вызовов API. Как выполнять вызовы API, зависит от вас, их можно сделать из командной строки, используя инструменты, которые уже есть в пути (или, по крайней мере, они уже должны быть там), или с помощью различных библиотек, для которых Amazon построил SDK, включая Java, Ruby, Python, PHP и .NET. Приведенные ниже инструкции предназначены для Linux-машины, использующей сценарии bash, хотя для них есть сопоставимые команды Windows, я не знаю причуд, связанных с их использованием.
Я использую AMI для ссылки на образ машины Amazon и вызов API для ссылки на инструменты командной строки, как инструменты AMI, так и инструменты API, поскольку их имена уникальны.
Чтобы создать моментальный снимок из тома EBS, том должен быть отсоединен от экземпляра. Чтобы реализовать это в производственной среде, вы, вероятно, захотите иметь ведомое устройство только для записи с каким-либо журналом операций, чтобы вы могли его размонтировать, сделать снимок, перемонтировать диск и применить любые недостающие операции, чтобы его наверстать.
Объединение нового экземпляра из уже развернутого AMI довольно просто. В идеале ваш AMI настроен так, чтобы вся в основном статическая информация (конфигурации, библиотеки, установленные программы и т. Д.) Находилась в временном хранилище устройства, а все данные (базы данных, журналы и т. Д.) Хранились на подключенных дисках. Это идеальный вариант, поскольку команды объединения AMI должны блокировать FS, но позволяют исключить определенные каталоги. ПРИМЕЧАНИЕ. Для каждого из них вам нужно будет предоставить свои учетные данные Amazon, которые охватывают несколько вещей со страницы вашей учетной записи, включая идентификатор ключа доступа, секретный ключ доступа, сертификат, закрытый ключ и идентификатор учетной записи AWS.
Создать EBS из моментального снимка легко с помощью вызова API.
Чтобы подключить и смонтировать диск, вам необходимо выполнить комбинацию вызовов API для команд операционной системы.
Опять еще один вызов API. У меня нет большого опыта использования этого с помощью автоматических скриптов, но это должно быть так же просто, как вызов Эльб-регистр-экземпляры-с-фунтом.
Обязательно выполните обработку ошибок с ответами на эти вызовы. Несколько месяцев назад у меня были особые проблемы с тайм-аутом вызовов ec2-upload-bundle и невозможностью завершить загрузку всего изображения. Если вы решите использовать SDK, действия должны быть в основном такими же, поскольку все команды Amazon API включены в SDK, хотя и с другим синтаксисом.