Iepazīstinām ar programmējamo AWS Landing Zone moduļa Terraform

Sveiki visiem! Decembrī OTUS uzsāk jaunu kursu — Mākoņu risinājumu arhitektūra. Pirms šī kursa uzsākšanas dalāmies ar jums interesanta materiāla tulkojumu par šo tēmu.

Iepazīstinām ar programmējamo AWS Landing Zone moduļa Terraform

AWS Landing Zone – ir risinājums, kas palīdz klientiem ātri izveidot drošu AWS vidi ar vairākiem kontiem, balstoties uz labākajām praktikām.

Pēdējo piecu gadu laikā mūsu komanda Mitoc Group nebeidzami strādā, lai palīdzētu lielām organizācijām veiksmīgi īstenot digitālo transformāciju un veidot vai pārvietot savu digitālo nospiedumu uz AWS mākoni. Citiem vārdiem sakot, citējot mūsu draugus no AWS: «Mūsu klienti atkārtoti atklāj sevi ar AWS». Tas ir bezgalīgs pūles, lai izgudrotu un vienkāršotu mehānikas pašu klientu vārdā, un AWS lieliski tiek galā ar sarežģītu problēmu risināšanu, izmantojot viegli apgūstamus risinājumus.

Iepazīstinām ar programmējamo AWS Landing Zone moduļa Terraform
AWS Landing Zone (avots)

Kas ir AWS Landing Zone?

Kā liecina informācija no oficiālā avota:

AWS Landing Zone – ir risinājums, kas palīdz klientiem ātrāk izveidot drošu AWS vidi ar vairākiem kontiem, balstoties uz AWS labākajām praksēm. Ar lielu skaitu variantu, vides izveide ar vairākiem kontiem var prasīt ievērojamu laiku, kā arī ietvert vairāk nekā viena konta un pakalpojumu iestatīšanu un prasīt dziļu izpratni par AWS pakalpojumu darbību.

AWS Landing Zone risinājums ievērojami samazināja sarežģītību un saskaņotību līdzīgiem dizaina šabloniem, kas tiek piedāvāti dažādiem klientiem. No otras puses, mūsu komandai bija jārekonfigurē daži CloudFormation komponenti kā Terraform komponenti, lai tos varētu izmantot turpmākai automatizācijai.

Tāpēc mēs uzdevām sev jautājumu, kāpēc neizveidot visu AWS Landing Zone risinājumu Terraform? Vai mēs to varam izdarīt un vai tas atrisinās mūsu klientu problēmas? Spoilers: atrisinās un jau atrisina! 🙂

Kad nevajadzētu izmantot AWS Landing Zone?

Ja jūs strādājat ar parastajiem mākoņu pakalpojumiem un mākoņu resursiem vienā vai divos AWS kontos, šie pasākumi var izrādīties lieki. Visi, kas neietilpst šajā punktā, var turpināt lasīt 🙂

Kas jāpatur prātā pirms darba uzsākšanas?

Daudziem lieliem uzņēmumiem, ar kuriem mēs esam strādājuši, jau ir kāda mākonī balstīta tehnoloģiju izmantošanas stratēģija. Uzņēmumi cenšas veiksmīgi ieviest mākoņpakalpojumus, neskaidri apgūstot redzējumu un formulētās gaidas. Lūdzu, veltiet laiku, lai noteiktu savu stratēģiju un saprastu, kā AWS tajā iederas.

Izstrādājot stratēģiju, veiksmīgi AWS Landing Zone klienti aktīvi koncentrējas uz sekojošo:

  • Vienkārša automatizācija nav variants. Priekšroka jādod nativa mākoņa automatizācijai.
  • Komandas konsekventi izmanto vienas un tās pašas mehānikas ar to pašu rīku kopumu mākoņa resursu sagatavošanai. Labāk izmantot Terraform.
  • Visproduktīvākie mākoņpakalpojumu lietotāji spēj veidot pārstrukturējamas darbības un piedāvāt tās kā atkārtoti lietojamus pakalpojumus, nevis atkārtoti lietojamu kodu. Priekšroka jādod bezserveru arhitektūrai.

Piedāvājam Terraform moduli AWS Landing Zone.

Pēc vairāku mēnešu intensīva darba, es ar prieku jums piedāvāju Terraform moduļa AWS Landing Zone. Atslēgas kods uzglabājas GitHub, un stabilas versijas to izlaišanas tiek publicētas Terraform moduļu reģistrā.

Lai sāktu darbu, vienkārši iekļaujiet main.tf savā kodā:

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}"
}

Piezīme: obligāti iekļaujiet variables.tf un visu, kas jums var noderēt no outputs.tf.

Lai atvieglotu saprašanu, mēs esam pievienojuši noklusējuma vērtības 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"
  [...]
}

Tas nozīmē, ka, izmantojot šo moduli, terraform jums būs nepieciešams:

  1. Mainīt vērtības account_id un region uz savām, kas atbilst datiem AWS Organization;
  2. Mainīt vērtības landing_zone_components uz tām, kas atbilst jūsu lietojuma scenārijam AWS Landing Zone;
  3. Mainīt s3://terraform-aws-landing-zone/mycompany uz jūsu bloku S3 un atslēgas prefikss S3, kur jūs glabāsiet failus .tfvars (vai absolūtu ceļu uz failiem .tfvars jūsu lokālajā krātuvē).

Šim modulim var būt desmiti, simti vai tūkstoši izvietojamu komponentu, bet ne visi no tiem ir jāizvieto un tiks izvietoti. Izpildes laikā komponenti, kas nav daļa no mainīgo kartes landing_zone_components tiks ignorēti.

Secinājums

Mums ir liels prieks un lepnums dalīties ar mūsu centienu rezultātiem, kas palīdz klientiem izveidot vietējo mākoņu automatizāciju. Terraform modulis AWS Landing Zone ir vēl viens risinājums, kas organizācijām palīdz ātrāk izveidot drošu AWS vidi ar vairākiem kontiem, balstoties uz AWS labākajām praksēm. Mēs labi apzināmies, ka AWS attīstās ārkārtīgi ātri, un mēs cenšamies arī tikpat strauji attīstīt terraform risinājumu, kas aptver visas pamatprasības un integrējas ar citiem AWS darba risinājumiem.

Tas arī viss. Gaidām jūsu komentārus un aicinām uz bezmaksīgu tīmekļa semināru kura ietvaros mēs pētīsim Cloud Landing Zone domēna arhitektūras projektēšanu un aplūkosim galveno domēnu arhitektūras šablonus..

Avots: habr.com

Iegādājieties uzticamu tīmekļa hostingu ar DDoS aizsardzību, VPS VDS serveriem 🔥 Iegādājieties uzticamu tīmekļa hostingu ar DDoS aizsardzību, VPS VDS serveriem | ProHoster