Prezentarea AWS Landing Zone programabilă într-un modul Terraform

Salutare tuturor! În decembrie, OTUS lansează un nou curs - Arhitectura soluției cloud. În așteptarea începerii acestui curs, vă împărtășim o traducere a materialului interesant pe această temă.

Prezentarea AWS Landing Zone programabilă într-un modul Terraform

Zona de aterizare AWS este o soluție care ajută clienții să configureze rapid un mediu AWS securizat, cu mai multe conturi, bazat pe cele mai bune practici.

De peste cinci ani, echipa noastră de la Mitoc Group a lucrat neobosit pentru a ajuta organizațiile mari să se transforme digital cu succes și să-și construiască sau să-și migreze amprenta digitală în cloud-ul AWS. Cu alte cuvinte, pentru a-i cita pe prietenii noștri de la AWS: „Clienții noștri se reinventează cu AWS.” Este un efort fără sfârșit de a reinventa și simplifica mecanica în numele clienților înșiși, iar AWS face o treabă excelentă în rezolvarea problemelor complexe cu soluții ușor de învățat.

Prezentarea AWS Landing Zone programabilă într-un modul Terraform
Zona de aterizare AWS (sursă)

Ce este AWS Landing Zone?

Potrivit informațiilor dintr-o sursă oficială:

AWS Landing Zone este o soluție care ajută clienții să configureze rapid un mediu AWS securizat cu mai multe conturi bazate pe cele mai bune practici AWS. Cu atât de multe opțiuni, configurarea unui mediu cu mai multe conturi poate consuma mult timp, implică configurarea mai multor conturi și servicii și necesită o înțelegere profundă a serviciilor AWS.

AWS Landing Zone a redus semnificativ complexitatea și consistența modelelor de design similare livrate diferiților clienți. Pe de altă parte, echipa noastră a trebuit să reconfigureze unele componente CloudFormation ca componente Terraform pentru a le utiliza în continuare pentru automatizare.

Așa că ne-am întrebat, de ce să nu construim întreaga soluție AWS Landing Zone în Terraform? Putem face acest lucru și va rezolva problemele clienților noștri? Spoiler: se va decide și deja se decide! 🙂

Când nu ar trebui să utilizați AWS Landing Zone?

Dacă aveți de-a face cu servicii cloud obișnuite și resurse cloud în unul sau două conturi AWS, aceste măsuri pot fi exagerate. Oricine nu are legătură cu acest punct poate continua să citească :)

Ce ar trebui să iei în considerare înainte de a începe munca?

Multe dintre organizațiile mari cu care am lucrat au deja un fel de strategie în cloud. Companiile se luptă să implementeze cu succes serviciile cloud fără o viziune și așteptări clare. Vă rugăm să acordați timp pentru a vă defini strategia și pentru a înțelege cum se încadrează AWS în ea.

Atunci când stabilesc o strategie, clienții de succes AWS Landing Zone se concentrează activ pe următoarele:

  • Automatizarea pur și simplu nu este o opțiune. Automatizarea nativă în cloud este de preferat.
  • Echipele folosesc în mod constant aceleași mecanisme cu același set de instrumente pentru a furniza resurse cloud. Este mai bine să folosiți Terraform.
  • Cei mai productivi utilizatori de cloud au capacitatea de a crea procese reutilizabile și de a le furniza ca servicii reutilizabile în loc de cod reutilizabil. Este preferată arhitectura fără server.

Vă prezentăm modulul Terraform pentru AWS Landing Zone

După câteva luni de muncă grea, am plăcerea să vă prezint Modul Terraform pentru AWS Landing Zone. Cod sursă este stocat pe GitHub și versiuni de lansare stabile publicat în Registrul Modulului Terraform.

Pentru a începe, pur și simplu porniți main.tf la codul tau:

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ă activați variables.tf și tot ce ai putea avea nevoie de la outputs.tf.

Pentru a fi mai ușor de înțeles, am adăugat valori implicite la 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 veți avea nevoie de:

  1. Schimbă valori account_id и region al dvs., care corespunde datelor din Organizația AWS;
  2. Schimbă valori landing_zone_components cele care se potrivesc cu cazul dvs. de utilizare AWS Landing Zone;
  3. modifica s3://terraform-aws-landing-zone/mycompany la blocul tău S3 și prefixul cheii S3unde veți stoca fișierele .tfvars (sau calea absolută către fișiere .tfvars în depozitul dvs. local).

Acest modul poate avea zeci, sute sau mii de componente implementabile, dar nu toate ar trebui sau vor fi implementate. La runtime, componente care nu fac parte din harta variabilelor landing_zone_components vor fi ignorate.

Concluzie

Suntem încântați și mândri să împărtășim roadele eforturilor noastre de a ajuta clienții să construiască automatizarea nativă în cloud. Modulul Terraform pentru AWS Landing Zone este o altă soluție care ajută organizațiile să configureze rapid un mediu AWS securizat cu mai multe conturi bazate pe cele mai bune practici AWS. Suntem conștienți că AWS crește într-un ritm nebun de rapid și ne angajăm să dezvoltăm rapid o soluție terraform care să acopere toate bazele și, de asemenea, să se integreze cu alte soluții de producție AWS.

Asta e tot. Așteptăm comentariile voastre și vă invităm webinar gratuit în cadrul căruia noi Să studiem designul arhitecturii domeniului Cloud Landing Zone și să luăm în considerare modelele arhitecturale ale principalelor domenii.

Sursa: www.habr.com

Adauga un comentariu