# Infrastruktura średniej wielkości Terraform

Źródło: <https://github.com/antonbabenko/terraform-best-practices/tree/master/examples/medium-terraform>

Ten przykład zawiera kod dla strukturyzacji konfiguracji Terraform dla średniego rozmiaru infrastruktury, która zawiera:

* 2 konta AWS
* 2 oddzielne środowiska (`prod` i `stage`, które nic ze sobą nie dzielą). Każde środowisko funkcjonuje na osobnym koncie AWS
* Każde środowisko korzysta z innej wersji gotowego modułu infrastruktury (`alb`) pochodzącego z [Terraform Registry](https://registry.terraform.io/)
* Każde środowisko używa tej samej wersji modułów/sieci (`modules/network`) modułu wewnętrznego, ponieważ pochodzi z katalogu lokalnego.

{% hint style="success" %}

* Idealny dla projektów, w których infrastruktura jest logicznie odseparowana (osobne konta AWS)
* Dobre, gdy nie ma potrzeby modyfikowania zasobów współdzielonych między kontami AWS (jedno środowisko = jedno konto AWS = jeden plik stanu)
* Dobre, gdy nie ma potrzeby organizowania zmian między środowiskami
* Dobre, gdy zasoby infrastruktury są celowo różne w zależności od środowiska i nie można ich uogólniać (np. niektóre zasoby są nieobecne w jednym środowisku lub w niektórych regionach)
  {% endhint %}

{% hint style="warning" %}
W miarę rozwoju projektu coraz trudniej będzie zapewnić wzajemną aktualność tych środowisk. Rozważ użycie modułów infrastruktury (gotowych lub wewnętrznych) do powtarzalnych zadań.
{% 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/pl/examples/terraform/medium-size-infrastructure.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.
