Links
Comment on page

Infrastructură de dimensiune mare - Terraform

Acest exemplu conține un cod ca exemplu de structurare a configuraților Terraform pentru o infrastructură de dimensiuni mari care folosește:
  • 2 conturi AWS
  • 2 regiuni
  • 2 medii de lucru separate (prod și stage care nu au procese comune). Fiecare mediu de lucru există într-un cont AWS separat și conține resurse în două regiuni
  • Fiecare mediu de lucru folosește o altă versiune a modulelor de infrastructură gata de folosire (alb) provenite din Terraform Registry
  • Fiecare mediu de lucru folosește aceeași versiune a unui modul intern modules/network provenind din aceeași sursă locală (local directory)
Într-un proiect de dimensiuni mari ca cel descris aici, beneficiile utilizării Terragrunt devin foarte vizibile. Vezi Exemple de structuri de cod - Terragrunt.
  • Perfect pentru proiecte în care infrastructura este separată logic (conturi AWS separate)
  • Potrivit când nu este nevoie de modificarea resurselor partajate între conturile AWS (un mediu de lucru = un cont AWS = un fișier de stare)
  • Potrivit când nu este necesară orchestrarea schimbărilor între mediile de lucru
  • Potrivit când resursele care formează infrastructura sunt diferite in funcție de mediul de lucru cu un anumit scop și nu poate fi generalizată (ex.: anumite resurse nu există într-un mediu de lucru sau într-o anumită regiune)
O dată cu expansiunea proiectului, o să fie din ce în ce mai dificil de păstrat aceste medii de lucru la curent cu fiecare. Considerați folosirea modulelor de infrastructură (gata de folosire sau interne) pentru sarcini repetitive.