Ipinapakilala ang programmable AWS Landing Zone sa isang Terraform module

Kamusta kayong lahat! Noong Disyembre, naglunsad ang OTUS ng bagong kurso - Arkitektura ng Cloud Solution. Bilang pag-asa sa pagsisimula ng kursong ito, ibinabahagi namin sa iyo ang isang pagsasalin ng kawili-wiling materyal sa paksa.

Ipinapakilala ang programmable AWS Landing Zone sa isang Terraform module

AWS Landing Zone ay isang solusyon na tumutulong sa mga customer na mabilis na mag-set up ng isang secure, multi-account na kapaligiran ng AWS batay sa pinakamahuhusay na kagawian.

Sa loob ng mahigit limang taon, ang aming team sa Mitoc Group ay walang pagod na nagtrabaho upang matulungan ang malalaking organisasyon na matagumpay na magbago at bumuo o mag-migrate ng kanilang digital footprint sa AWS cloud. Sa madaling salita, upang banggitin ang aming mga kaibigan sa AWS: "Ang aming mga customer ay muling nag-imbento ng kanilang sarili gamit ang AWS." Ito ay isang walang katapusang pagsisikap na muling likhain at pasimplehin ang mga mekanika sa ngalan ng mga customer mismo, at ang AWS ay gumagawa ng mahusay na trabaho sa paglutas ng mga kumplikadong problema gamit ang mga madaling matutunang solusyon.

Ipinapakilala ang programmable AWS Landing Zone sa isang Terraform module
AWS Landing Zone (pinagmulan)

Ano ang AWS Landing Zone?

Ayon sa impormasyon mula sa isang opisyal na mapagkukunan:

Ang AWS Landing Zone ay isang solusyon na tumutulong sa mga customer na mabilis na mag-set up ng isang secure na AWS environment na may maraming account batay sa pinakamahuhusay na kagawian ng AWS. Sa napakaraming opsyon, ang pagse-set up ng isang multi-account na kapaligiran ay maaaring magtagal, may kasamang pag-configure ng maraming account at serbisyo, at nangangailangan ng malalim na pag-unawa sa mga serbisyo ng AWS.

Ang AWS Landing Zone ay makabuluhang nabawasan ang pagiging kumplikado at pagkakapare-pareho ng mga katulad na pattern ng disenyo na inihatid sa iba't ibang mga customer. Sa kabilang banda, kinailangan ng aming team na muling i-configure ang ilang bahagi ng CloudFormation bilang mga bahagi ng Terraform upang magamit pa ang mga ito para sa automation.

Kaya tinanong namin ang aming sarili, bakit hindi buuin ang buong solusyon sa AWS Landing Zone sa Terraform? Magagawa ba natin ito at malulutas ba nito ang mga problema ng ating mga customer? Spoiler: ito ay at nagpapasya na! πŸ™‚

Kailan mo dapat hindi gamitin ang AWS Landing Zone?

Kung nakikipag-ugnayan ka sa mga regular na serbisyo sa cloud at mga mapagkukunan ng ulap sa loob ng isa o dalawang AWS account, ang mga hakbang na ito ay maaaring maging labis. Ang sinumang hindi naka-relate sa puntong ito ay maaaring magpatuloy sa pagbabasa :)

Ano ang dapat mong isaalang-alang bago simulan ang trabaho?

Marami sa malalaking organisasyong nakatrabaho namin ay mayroon nang ilang uri ng diskarte sa ulap. Nagpupumilit ang mga kumpanya na matagumpay na maipatupad ang mga serbisyo sa cloud nang walang malinaw na pananaw at inaasahan. Mangyaring maglaan ng oras upang tukuyin ang iyong diskarte at maunawaan kung paano umaangkop ang AWS dito.

Kapag nagtatakda ng diskarte, ang matagumpay na mga customer ng AWS Landing Zone ay aktibong tumutuon sa mga sumusunod:

  • Ang pag-automate ay hindi lamang isang pagpipilian. Mas gusto ang cloud native automation.
  • Ang mga koponan ay patuloy na gumagamit ng parehong mekanika na may parehong hanay ng mga tool upang magbigay ng mga mapagkukunan ng cloud. Mas mainam na gumamit ng Terraform.
  • Ang pinaka-produktibong mga user ng cloud ay may kakayahang lumikha ng mga prosesong magagamit muli at ihatid ang mga ito bilang mga serbisyong magagamit muli sa halip na mga code na magagamit muli. Mas pinipili ang walang server na arkitektura.

Ipinapakilala ang Terraform Module para sa AWS Landing Zone

Pagkatapos ng ilang buwan ng pagsusumikap, ikinalulugod kong ipakita sa iyo Module ng Terraform para sa AWS Landing Zone. Source code ay naka-imbak sa GitHub, at mga stable na bersyon ng release na-publish sa Terraform Module Registry.

Para makapagsimula, i-on lang main.tf sa iyong code:

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

Tandaan: Tiyaking i-enable variables.tf at lahat ng maaaring kailanganin mo mula sa outputs.tf.

Upang gawing mas madaling maunawaan, nagdagdag kami ng mga default na halaga sa 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"
  [...]
}

Nangangahulugan ito na kapag ginagamit ang modyul na ito terraform kakailanganin mo:

  1. Baguhin ang mga halaga account_id ΠΈ region sa iyong sarili, na tumutugma sa data sa AWS Organization;
  2. Baguhin ang mga halaga landing_zone_components ang mga tumutugma sa iyong kaso ng paggamit ng AWS Landing Zone;
  3. baguhin s3://terraform-aws-landing-zone/mycompany sa iyong block S3 at key prefix S3kung saan mo iimbak ang mga file .tfvars (o ganap na landas sa mga file .tfvars sa iyong lokal na imbakan).

Ang module na ito ay maaaring may sampu, daan-daan, o libu-libong mga bahagi na maaaring i-deploy, ngunit hindi lahat ng mga ito ay dapat o i-deploy. Sa runtime, mga bahagi na hindi bahagi ng variable na mapa landing_zone_components ay hindi papansinin.

Konklusyon

Kami ay nasasabik at ipinagmamalaki na ibahagi ang mga bunga ng aming mga pagsisikap na tulungan ang mga customer na bumuo ng cloud native na automation. Ang Terraform module para sa AWS Landing Zone ay isa pang solusyon na tumutulong sa mga organisasyon na mabilis na mag-set up ng isang secure na AWS environment na may maraming account batay sa pinakamahuhusay na kagawian ng AWS. Alam namin na ang AWS ay lumalaki sa napakabilis na bilis, at kami ay nakatuon sa mabilis na pagbuo ng isang solusyon sa terraform na sumasaklaw sa lahat ng mga base at sumasama rin sa iba pang mga solusyon sa produksyon ng AWS.

Iyon lang. Hinihintay namin ang iyong mga komento at iniimbitahan ka libreng webinar sa loob kung saan tayo Pag-aralan natin ang disenyo ng arkitektura ng domain ng Cloud Landing Zone at isaalang-alang ang mga pattern ng arkitektura ng mga pangunahing domain.

Pinagmulan: www.habr.com

Magdagdag ng komento