Инструменты / стратегии автоматизации EC2? - PullRequest
6 голосов
/ 28 февраля 2009

Какие инструменты или стратегии вы используете для автоматизации деятельности EC2?

Мне нужно иметь возможность вызывать несколько экземпляров EC2, предоставлять для него различное программное обеспечение (прежде всего пакеты Python), взаимодействовать с S3 (в основном загружать данные) и выполнять различные задания. Я буду делать это как по требованию, так и по расписанию.

Я пытаюсь решить, стоит ли мне:

  • Создать AMI со всеми загруженными на нем программами или
  • Запустите обычный экземпляр AMI linux linux и загрузите в него мое программное обеспечение

Для обеспечения и автоматизации Boto выглядит довольно хорошо. Или я мог бы написать что-нибудь с Paramiko . Порекомендовать мне или что-то еще, что я должен искать?

В основном я ищу советы / истории успеха, дайте мне знать, что работает для вас.

Ответы [ 3 ]

3 голосов
/ 28 февраля 2009

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

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

Преимущества этого подхода:

  • Не нужно платить за запуск одной и той же установки программного обеспечения тысячи раз.
  • AMI может оставаться довольно стабильным с течением времени.
  • Может использовать программное обеспечение, для установки которого требуется вмешательство или взаимодействие с графическим интерфейсом.

Основные недостатки:

  • Версия ОС вашего AMI со временем устареет.
  • Ваш AMI может не быть гибким в отношении типа / архитектуры экземпляра, на котором он будет работать. Например, вы можете создать его в 32-битной ОС и, таким образом, запретить его запуск на типах экземпляров с высоким процессором или наоборот. Таким образом, вы можете привязать себя к схеме ценообразования.

Я не использую Python, поэтому я не могу комментировать ни один из API, на которые вы ссылались.

1 голос
/ 05 декабря 2016

AWS только что выпустила пакет Systems Manager , который включает Службу автоматизации , которая (среди прочего) будет обрабатывать ваши сценарии использования для AMI .

0 голосов
/ 04 апреля 2012

Этот вопрос был задан некоторое время назад, но я считаю, что мой ответ может быть полезен для других пользователей. Я считаю, что лучшие инструменты автоматизации, доступные на рынке, предоставляются платформами Cloud Management. Например, они предлагают автоматическое масштабирование, интеграцию программного обеспечения конфигурации (Chef / Puppet), репликации баз данных, управление DNS ...

Наиболее популярными программами для управления облаком являются Scalr (отказ от ответственности: я там работаю), RightScale и enStratus. Scalr с открытым исходным кодом и выпущен под лицензией Apache 2.

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...