Prezantimi i zonës së zbarkimit të programueshëm AWS në një modul Terraform

Pershendetje te gjitheve! Në dhjetor, OTUS nis një kurs të ri - Arkitektura e zgjidhjeve në renë kompjuterike. Në pritje të fillimit të këtij kursi, ne po ndajmë me ju një përkthim të materialit interesant mbi këtë temë.

Prezantimi i zonës së zbarkimit të programueshëm AWS në një modul Terraform

Zona e uljes AWS është një zgjidhje që i ndihmon klientët të konfigurojnë shpejt një mjedis AWS të sigurt, me shumë llogari, bazuar në praktikat më të mira.

Për më shumë se pesë vjet, ekipi ynë në Mitoc Group ka punuar pa u lodhur për të ndihmuar organizatat e mëdha të transformojnë me sukses dhe të ndërtojnë ose migrojnë gjurmën e tyre dixhitale në renë AWS. Me fjalë të tjera, për të cituar miqtë tanë në AWS: "Klientët tanë po rishpikin veten me AWS." Është një përpjekje e pafund për të rikrijuar dhe thjeshtuar mekanikën në emër të vetë klientëve dhe AWS bën një punë të shkëlqyer për zgjidhjen e problemeve komplekse me zgjidhje të lehta për t'u mësuar.

Prezantimi i zonës së zbarkimit të programueshëm AWS në një modul Terraform
Zona e uljes AWS (burim)

Çfarë është AWS Landing Zone?

Sipas informacioneve nga një burim zyrtar:

AWS Landing Zone është një zgjidhje që i ndihmon klientët të krijojnë shpejt një mjedis të sigurt AWS me llogari të shumta bazuar në praktikat më të mira të AWS. Me kaq shumë opsione, krijimi i një mjedisi me shumë llogari mund të marrë kohë, të përfshijë konfigurimin e llogarive dhe shërbimeve të shumta dhe të kërkojë një kuptim të thellë të shërbimeve AWS.

AWS Landing Zone ka reduktuar ndjeshëm kompleksitetin dhe qëndrueshmërinë e modeleve të ngjashme të dizajnit të ofruara për klientë të ndryshëm. Nga ana tjetër, ekipit tonë iu desh të rikonfiguronte disa komponentë të CloudFormation si komponentë Terraform në mënyrë që t'i përdorte më tej për automatizim.

Kështu që ne pyetëm veten, pse të mos ndërtojmë të gjithë zgjidhjen e Zonës së Landing AWS në Terraform? A mund ta bëjmë këtë dhe a do t'i zgjidhë problemet e klientëve tanë? Spoiler: do dhe tashmë po vendos! 🙂

Kur nuk duhet të përdorni AWS Landing Zone?

Nëse keni të bëni me shërbime të rregullta cloud dhe burime cloud brenda një ose dy llogarive AWS, këto masa mund të jenë të tepërta. Kushdo që nuk lidhet me këtë pikë mund të vazhdojë të lexojë :)

Çfarë duhet të keni parasysh përpara se të filloni punën?

Shumë nga organizatat e mëdha me të cilat kemi punuar tashmë kanë një lloj strategjie të resë kompjuterike. Kompanitë luftojnë për të zbatuar me sukses shërbimet cloud pa një vizion dhe pritshmëri të qartë. Ju lutemi merrni kohë për të përcaktuar strategjinë tuaj dhe për të kuptuar se si AWS përshtatet në të.

Kur vendosni një strategji, klientët e suksesshëm të AWS Landing Zone fokusohen në mënyrë aktive në sa vijon:

  • Automatizimi thjesht nuk është një opsion. Preferohet automatizimi vendas në renë kompjuterike.
  • Ekipet përdorin vazhdimisht të njëjtën mekanikë me të njëjtin grup mjetesh për të siguruar burimet e resë kompjuterike. Është më mirë të përdorni Terraform.
  • Përdoruesit më produktivë të resë kompjuterike kanë aftësinë të krijojnë procese të ripërdorshme dhe t'i ofrojnë ato si shërbime të ripërdorshme në vend të kodit të ripërdorshëm. Preferohet arkitektura pa server.

Prezantimi i modulit Terraform për zonën e uljes AWS

Pas disa muajsh punë të palodhur, kam kënaqësinë t'ju prezantoj Moduli Terraform për Zonën e Uljes AWS. Kodi i burimit është ruajtur në GitHub, dhe versionet e lëshimit të qëndrueshëm botuar në Regjistrin e Modulit Terraform.

Për të filluar, thjesht ndizni main.tf në kodin tuaj:

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

Shënim: Sigurohuni që ta aktivizoni variables.tf dhe gjithçka që mund t'ju nevojitet outputs.tf.

Për ta bërë më të lehtë për t'u kuptuar, ne kemi shtuar vlerat e paracaktuara 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"
  [...]
}

Kjo do të thotë se kur përdorni këtë modul terraform do t'ju duhet:

  1. Ndryshoni vlerat account_id и region në tuajën, që korrespondon me të dhënat në Organizatën AWS;
  2. Ndryshoni vlerat landing_zone_components ato që përputhen me rastin tuaj të përdorimit të Zonës së uljes AWS;
  3. ndryshoj s3://terraform-aws-landing-zone/mycompany në bllokun tuaj S3 dhe prefiksin e çelësit S3ku do të ruani skedarët .tfvars (ose rruga absolute për skedarët .tfvars në ruajtjen tuaj lokale).

Ky modul mund të ketë dhjetëra, qindra ose mijëra komponentë të dislokueshëm, por jo të gjithë duhet ose do të vendosen. Në kohën e ekzekutimit, komponentët që nuk janë pjesë e hartës së ndryshueshme landing_zone_components do të injorohen.

Përfundim

Ne jemi të emocionuar dhe krenarë që ndajmë frytet e përpjekjeve tona për të ndihmuar klientët të ndërtojnë automatizimin vendas të cloud. Moduli Terraform për AWS Landing Zone është një zgjidhje tjetër që i ndihmon organizatat të krijojnë shpejt një mjedis të sigurt AWS me llogari të shumta bazuar në praktikat më të mira të AWS. Ne jemi të vetëdijshëm se AWS po rritet me një ritëm jashtëzakonisht të shpejtë dhe ne jemi të përkushtuar që gjithashtu të zhvillojmë me shpejtësi një zgjidhje terraforme që mbulon të gjitha bazat dhe gjithashtu integrohet me zgjidhjet e tjera të prodhimit AWS.

Kjo eshte e gjitha. Ne presim komentet tuaja dhe ju ftojmë webinar falas brenda të cilit ne Ne do të studiojmë dizajnin e arkitekturës së domenit të zonës së uljes në re dhe do të shqyrtojmë modelet arkitekturore të domeneve kryesore.

Burimi: www.habr.com

Shto një koment