Что лучше: настроить экземпляр при запуске или запустить предварительно созданный образ? - PullRequest
0 голосов
/ 28 мая 2018

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

Я прочитал много практических руководств и пришел к выводу, что единственными способами обеспечения / настройки экземпляров в ASG являются:

  • для предварительной выпечки AMI;
  • для использования поля user_data.

Итак, предположим, у меня есть группа автомасштабирования.И я хочу настроить экземпляры для запуска, например, с помощью chef-solo (или ansible-local, но, как я понял, chef - лучший вариант для aws).

Я вижу только 2 способа сделать это:

  • Использовать упаковщик и предварительно выпекать изображение локально (с помощью поставщика chef-solo), затем обновить ASGнастройка с использованием только что созданного AMI;
  • Используйте базовый Amazon AMI и настройте образы при запуске, используя скрипт user_data: установите chef-solo, получите поваренные книги из git, запустите chef-solo на компьютере.

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

Кроме того, если вы знаете лучшие варианты, оставьте их здесь.Я открыт для обсуждения.

1 Ответ

0 голосов
/ 28 мая 2018

Это зависит от вашего варианта использования.

Предварительно запеченный AMI может быстрее запускаться при увеличении, но если вам нужно внести даже небольшие изменения в код или конфигурацию, вам потребуетсяиспечь другую АМИ.Использование пользовательских данных (будь то прямые команды ОС или Chef или что-то еще) может занять больше времени, если вы устанавливаете серверы приложений и развертываете приложения, и вы также можете вводить внешние зависимости для масштабирования: что, если репозиторий GitHub отключен илиНеобходимая загрузка заблокирована?

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

  • Запекайте свой AMI Chef DK и любые другие крупные объекты, которые вам нужны.Например, вы можете запечь установку сервера приложений в AMI, а затем просто настроить Chef для настройки его с помощью пользовательских данных.
  • Убедитесь, что ваши зависимости, сценарии и развертываемые файлы, такие как файлы WAR, находятся в надежных хранилищах, таких как S3.

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

...