Terraform Best Practices
Terraform consultingTwitter @antonbabenkoTerraform Weekly
Українська (Ukrainian)
Українська (Ukrainian)
  • Ласкаво просимо
  • Ключові концепції
  • Структура коду
  • Приклади структури коду
    • Terragrunt
    • Terraform
      • Малорозмірна структура із Terraform
      • Середня інфраструктура з Terraform
      • Велика структура Terraform
  • Умови найменувань
  • Стиль коду
  • FAQ (Часті запитання)
  • Посилання
  • Написання конфігурацій Terraform
  • Workshop
Powered by GitBook
On this page
Export as PDF
  1. Приклади структури коду
  2. Terraform

Велика структура Terraform

PreviousСередня інфраструктура з TerraformNextУмови найменувань

Last updated 3 years ago

Джерело:

Цей приклад містить код як приклад структурування конфігурацій Terraform для інфраструктури великого розміру, яка використовує:

  • 2 AWS акаунти

  • 2 регіона

  • 2 окремих середовища (prod та stage, у яких немає нічого спільного). Кожне середовище живе в окремому акаунті AWS і охоплює ресурси між 2 регіонами

  • Кожне середовище використовує різну версію готового інфраструктурного модуля (alb), отриманого з

  • Кожне середовище використовує одинакову версію модулів/мережі внутрішнього модуля, оскільки джерело отримане з локального каталогу.

У великому проекті, як описано тут, переваги використання Terragrunt стають дуже помітними. Перегляньте .

  • Ідеально підходить для проектів, де інфраструктура логічно розділена (окремі акаунти AWS)

  • Добре, коли немає необхідності змінювати ресурси, спільні між акаунтами AWS (одне середовище = один акаунт AWS = один файл стану)

  • Добре, коли немає потреби в оркестровці змін між середовищами

  • Добре, коли ресурси інфраструктури відрізняються для кожного середовища спеціально і не можуть бути узагальнені (наприклад, деякі ресурси відсутні в одному середовищі або в деяких регіонах)

Із розвитком проекту буде все важче підтримувати ці середовища в актуальному стані одне з одним. Подумайте про використання інфраструктурних модулів (готових або внутрішніх) для повторюваних завдань.

https://github.com/antonbabenko/terraform-best-practices/tree/master/examples/large-terraform
Terraform Registry
Code Structures examples with Terragrunt