Изменения конфигурации в неизменной инфраструктуре

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

Я имею в виду, как мне создать единый ami, который я могу развернуть для разработки, подготовки и производства, но это указывает на правильный ELB и т. Д. Для этой среды. На данный момент единственные варианты, которые я могу придумать:

  • Создайте AMI для каждой среды для каждой роли (рабочий веб-сервер, сервер прод. Приложений, промежуточный веб-сервер и т. Д.). Это, кажется, противоречит цели II, заключающейся в том, чтобы одно и то же изображение передавалось во все среды.
  • Создайте почти полный AMI и выполните окончательную настройку после его запуска, но перед добавлением в ELB. Кажется, это близко, но я чувствую, что чего-то не хватает.

Можно ли как-нибудь передать набор параметров AMI при его создании или что-то еще? Как другие используют неизменную инфраструктуру?

Благодарю.

1 ответ

Решение

В Boxfuse мы живем и дышим неизменной инфраструктурой. Мы рекомендуем сочетание следующих двух подходов:

  1. Выпекайте как можно больше конфигурации для всех сред непосредственно в AMI (и автоматически выбирайте правильный набор во время выполнения)
  2. Передайте оставшиеся параметры в качестве экземпляра сценария оболочки пользовательских данных (cloud-init), который экспортирует среды среды со значениями, необходимыми для этого компьютера / среды.
Другие вопросы по тегам