Как я могу начать все сначала с terraform? - PullRequest
0 голосов
/ 30 января 2019

В моей инфраструктуре AWS у меня есть несколько сред, существующих в приложении, а именно:

  • foo-application (приложение AWSasticbeanstalk)
  • foo-application-dev (tomcatenvs)
  • foo-application-int
  • foo-application-sys

Из этих envs SYS наиболее близка к архитектуре и конфигурации, которые мне нужны.Я хочу иметь возможность воссоздать другие среды, чтобы они выглядели как sys (но с именем dev, int).У меня есть сценарии terraform, которые изначально использовались для создания некоторых envs, но теперь они отличаются от текущего состояния.Я хотел бы взять текущее состояние из SYS и применить его к dev и int.Я новичок в terraform, и stackoverflow, поэтому, пожалуйста, сделайте мне немного расслабиться:)

Все envs имеют файл состояния, это то, что я пытаюсь сделать, но не знаю, как это сделать ..

  • удалить все файлы состояний
  • создать новый файл состояний из env SYS в рабочей области SYS
  • копировать состояние в рабочие пространства dev и int
  • применяйте планы dev и int и синхронизируйте envs.

Надеюсь, это имеет смысл.

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

что я хочу: три среды, которые очень идентичны, за исключением соглашений об именах.

1 Ответ

0 голосов
/ 30 января 2019

Вы должны использовать рабочий процесс terraform import , чтобы выровнять файл состояния вашей среды SYS с фактической инфраструктурой, которую вы создали.Обратите внимание, что это займет много работы, если вы вручную создали значительный объем инфраструктуры в среде SYS.

Однако в конце этого процесса у вас будет полный набор кода Terraform.для среды SYS, которую вы можете превратить в модуль повторно используемых компонентов. Затем вы можете использовать этот модуль для создания сред DEV и INT в качестве клонов среды SYS, но с другими соглашениями об именах.

...