Vă prezentăm zona de aterizare programabilă AWS în modulul Terraform

Salut tuturor! În decembrie, OTUS lansează un nou curs — Arhitectura Soluțiilor Cloud. În ajunul începerii acestui curs, împărtășim cu voi traducerea unui material interesant pe această temă.

Vă prezentăm zona de aterizare programabilă AWS în modulul Terraform

AWS Landing Zone este o soluție care ajută clienții să configureze rapid un mediu AWS sigur cu mai multe conturi, bazându-se pe cele mai bune practici.

De mai bine de cinci ani, echipa noastră de la Mitoc Group a muncit neobosit pentru a ajuta organizațiile mari să își transforme cu succes digitalitatea și să își construiască sau să își transfere amprenta digitală în cloudul AWS. Cu alte cuvinte, citându-i pe prietenii noștri de la AWS: „Clienții noștri se reinventează cu AWS”. Aceasta este o efort continuu de reinventare și simplificare a mecanicilor în numele clienților, iar AWS gestionează excelent soluționarea problemelor complexe cu soluții ușor de învățat.

Vă prezentăm zona de aterizare programabilă AWS în modulul Terraform
AWS Landing Zone (sursa)

Ce este AWS Landing Zone?

Așa cum indică informațiile din sursa oficială:

AWS Landing Zone este o soluție care ajută clienții să configureze mai rapid un mediu AWS sigur cu mai multe conturi, bazându-se pe cele mai bune practici AWS. În cazul unui număr mare de opțiuni, configurarea unui mediu cu mai multe conturi poate necesita un timp semnificativ și poate implica setarea multor conturi și servicii, precum și o înțelegere profundă a modului în care funcționează serviciile AWS.

Soluția AWS Landing Zone a redus semnificativ complexitatea și consistența șabloanelor de proiectare similare care sunt furnizate diferitelor clienți. Pe de altă parte, echipei noastre i-a fost necesar să retraseze unele componente CloudFormation ca componente Terraform pentru a le putea folosi ulterior în automatizare.

De aceea, ne-am întrebat, de ce să nu construim întreaga soluție AWS Landing Zone în Terraform? Putem să facem asta și va rezolva problemele clienților noștri? Spoiler: va rezolva și deja o face! 🙂

Când nu ar trebui să folosești AWS Landing Zone?

Dacă te ocupi de servicii cloud obișnuite și resurse cloud în cadrul unui sau două conturi AWS, aceste măsuri pot părea exagerate. Cei care nu se încadrează în acest punct pot continua lectura 🙂

Ce trebuie să iei în considerare înainte de a începe?

Multe dintre organizațiile mari cu care am colaborat au deja o strategie pentru utilizarea tehnologiilor cloud. Companiile se străduiesc să implementeze cu succes serviciile cloud, fără o viziune clară și așteptări bine definite. Vă rugăm să alocați timp pentru a vă defini strategia și a înțelege cum se integrează AWS în aceasta.

Pentru a defini strategia, clienții de succes ai AWS Landing Zone pun accent pe următoarele aspecte:

  • Automatizarea simplă nu este o opțiune. Se preferă automatizarea nativă în cloud.
  • Echipele folosesc consecvent aceleași mecanisme cu același set de instrumente pentru a pregăti resursele cloud. Este mai bine să folosiți Terraform.
  • Cei mai productivi utilizatori ai serviciilor cloud au capacitatea de a crea procese reutilizabile și de a le oferi ca servicii reutilizabile în loc de cod reutilizabil. Se preferă utilizarea arhitecturii fără server.

Vă prezentăm modulul Terraform pentru AWS Landing Zone

După câteva luni de muncă intensă, am plăcerea să vă prezint modulul Terraform pentru AWS Landing Zone. Codul sursă este stocat pe GitHub, iar versiunile stabile ale lansărilor sunt publicate pe Terraform Module Registry.

Pentru a începe, pur și simplu activați main.tf în codul dumneavoastră:

module "landing_zone" {
  source     = "TerraHubCorp/landing-zone/aws"
  version    = "0.0.6"
  root_path  = "${path.module}"
  account_id = "${var.account_id}"
  region     = "${var.region}"
  landing_zone_components = "${var.landing_zone_components}"
}

Notă: asigurați-vă că includeți variables.tf și tot ce vă poate fi util din outputs.tf.

Pentru a facilita înțelegerea, am adăugat valori implicite în terraform.tfvars:

account_id = "123456789012"
region = "us-east-1"
landing_zone_components = {
  landing_zone_pipeline_s3_bucket = "s3://terraform-aws-landing-zone/mycompany/landing_zone_pipeline_s3_bucket/default.tfvars"
  [...]
}

Aceasta înseamnă că, atunci când utilizați acest modul terraform va trebui să:

  1. Schimbați valorile account_id și region cu cele proprii, care corespund datelor din AWS Organization;
  2. Schimbați valorile landing_zone_components cu cele care corespund scenariului dumneavoastră de utilizare a AWS Landing Zone;
  3. Schimbați s3://terraform-aws-landing-zone/mycompany cu blocul dumneavoastră S3 și prefixul cheii S3, unde veți stoca fișierele .tfvars (sau calea absolută către fișierele .tfvars din stocarea dumneavoastră locală).

Acest modul poate avea zeci, sute sau mii de componente desfășurabile, dar nu toate acestea trebuie să fie și vor fi desfășurate. În timpul execuției, componentele care nu fac parte din harta variabilelor landing_zone_components vor fi ignorate.

Concluzie

Suntem foarte încântați și mândri că împărtășim roadele eforturilor noastre care ajută clienții să-și creeze automatizări native în cloud. Modulul Terraform pentru AWS Landing Zone este o altă soluție care ajută organizațiile să configureze mai repede un mediu AWS sigur cu mai multe conturi, bazându-se pe cele mai bune practici AWS. Știm bine că AWS evoluează într-un ritm nebunesc și ne străduim să dezvoltăm, de asemenea, rapid soluția Terraform, care acoperă toate fundamentele, precum și să integreze alte soluții de lucru AWS.

Asta e tot. Așteptăm comentariile voastre și vă invităm la webinarul gratuit în cadrul căruia vom explora designul arhitectural al domeniului Cloud Landing Zone și vom discuta despre șabloanele arhitecturale ale domeniilor de bază..

Sursa: habr.com

Cumpără un hosting fiabil pentru site-uri cu protecție DDoS, servere VPS VDS 🔥 Cumpără un hosting fiabil pentru site-uri cu protecție DDoS, servere VPS VDS | ProHoster