# Terraform көмегімен үлкен өлшемді инфрақұрылым

Дереккөз: <https://github.com/antonbabenko/terraform-best-practices/tree/master/examples/large-terraform>

Бұл мысал келесілерді пайдаланатын үлкен өлшемді инфрақұрылымға арналған Terraform конфигурацияларын құрылымдау мысалы ретінде кодты қамтиды:

* 2 AWS тіркелгісі
* 2 аймақ
* 2 бөлек орта (бір-бірімен ешнәрсе бөліспейтін `prod` және `stage` ). Әр орта бөлек AWS тіркелгісінде орналасқан және ресурстары 2 аймаққа таралған.
* Әр орта [Terraform Registry](https://registry.terraform.io/)-ден алынған дайын off-the-shelf инфрақұрылым модулінің  (`alb`) әртүрлі нұсқасын қолданады.
* Әр орта `modules/network`  ішкі модулінің бірдей нұсқасын қолданады, себебі ол жергілікті каталогтан алынған.

{% hint style="info" %}
Мұнда сипатталғандай үлкен жобада Terragrunt-ты пайдаланудың артықшылықтары өте айқын көрінеді.  [Terragrunt бар код құрылымдарының](/kk/examples/terragrunt.md) мысалдарын қараңыз.
{% endhint %}

{% hint style="success" %}

* Инфрақұрылым логикалық түрде бөлінген (бөлек AWS тіркелгілері) жобалар үшін өте қолайлы
* AWS тіркелгілері арасында ортақ ресурстарды өзгерту қажеттілігі болмаған кезде жақсы (бір орта = бір AWS тіркелгісі = бір күй файлы)
* Орталар арасындағы өзгерістерді оркестрациялау қажет болмаған кезде жақсы
* Инфрақұрылым ресурстары әр ортада әдейі әртүрлі болғанда және оларды жалпылау мүмкін болмағанда жақсы (мысалы, кейбір ресурстар бір ортада немесе кейбір аймақтарда жоқ)
  {% endhint %}

{% hint style="warning" %}
Жоба өскен сайын, бұл орталарды бір-бірімен жаңартылған күйде ұстау қиынырақ болады. Қайталанатын тапсырмалар үшін инфрақұрылым модульдерін (дайын немесе ішкі) пайдалануды қарастырыңыз.
{% endhint %}

##


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://www.terraform-best-practices.com/kk/examples/terraform/large-size-infrastructure-with-terraform.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
