В чем смысл модулей Terraform?

Меня немного интересуют модули Terraform. Каковы их точки? Я продолжаю видеть, что это должно сэкономить мне время, не копировать вставку и тому подобное, но я думаю, что могу упустить смысл, потому что не понимаю, зачем мне их использовать?

Я использовал их только один раз, поэтому мой опыт ограничен. Мне нужно создать 2 разные среды, и я не уверен, зачем мне это делать. Возможно, у меня было бы другое мнение, если бы мне пришлось делать 10 окружений. Среды будут в разных учетных записях, с использованием разных vpcs, разных IAM, ... Это навело меня на мысль, что я могу создать в основном 2 папки и ссылаться на некоторые переменные.

По поводу "не копировать-вставить", мне кажется вы делаете файл, который потом ссылается на модули и переменные. В какой-то момент вам все равно нужно написать все ресурсы (например, int-sg, test-sg). так почему бы не записать его прямо в нужную папку?

Я надеюсь, что этот вопрос имеет смысл, я был бы признателен за любое конструктивное мнение

3 метода стилизации элементов HTML
3 метода стилизации элементов HTML
Когда дело доходит до применения какого-либо стиля к нашему HTML, существует три подхода: встроенный, внутренний и внешний. Предпочтительным обычно...
Формы c голосовым вводом в React с помощью Speechly
Формы c голосовым вводом в React с помощью Speechly
Пытались ли вы когда-нибудь заполнить веб-форму в области электронной коммерции, которая требует много кликов и выбора? Вас попросят заполнить дату,...
Стилизация и валидация html-формы без использования JavaScript (только HTML/CSS)
Стилизация и валидация html-формы без использования JavaScript (только HTML/CSS)
Будучи разработчиком веб-приложений, легко впасть в заблуждение, считая, что приложение без JavaScript не имеет права на жизнь. Нам становится удобно...
Flatpickr: простой модуль календаря для вашего приложения на React
Flatpickr: простой модуль календаря для вашего приложения на React
Если вы ищете пакет для быстрой интеграции календаря с выбором даты в ваше приложения, то библиотека Flatpickr отлично справится с этой задачей....
В чем разница между Promise и Observable?
В чем разница между Promise и Observable?
Разберитесь в этом вопросе, и вы значительно повысите уровень своей компетенции.
Что такое cURL в PHP? Встроенные функции и пример GET запроса
Что такое cURL в PHP? Встроенные функции и пример GET запроса
Клиент для URL-адресов, cURL, позволяет взаимодействовать с множеством различных серверов по множеству различных протоколов с синтаксисом URL.
1
0
50
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

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

Допустим, у вас есть три среды dev, staging и prod. Вы хотели бы, чтобы они были как можно равными, особенно staging и prod.

Итак, если вы хотите создать сервер с EIP, определенными группами безопасности и всем, что ему нужно, чтобы он был доступен, вы можете создать модуль для группировки этих ресурсов. Затем модуль можно легко включить в ваши файлы .tf для соответствующих сред с различные параметры для каждой среды.

Таким образом, вы можете сохранить ресурсы очень общими, а также иметь преимущество в том, что Terraform автоматически обновит все среды одинаково, если вы измените ресурсы в модуле. Таким образом, у вас будет единая точка для применения изменений вместо редактирования всех измененных ресурсов во всех файлах env.

Теперь только представьте, что у вас есть более 2 или 3 сред (или вариантов использования для одних и тех же групп ресурсов), и вы увидите преимущество модулей;)

Другие вопросы по теме