Představujeme programovatelnou AWS Landing Zone v modulu Terraform

Ahoj všichni! V prosinci OTUS spouští nový kurz — Cloud Solution Architecture. V předvečer zahájení tohoto kurzu se s vámi dělíme o překlad zajímavého materiálu na toto téma.

Představujeme programovatelnou AWS Landing Zone v modulu Terraform

AWS Landing Zone je řešení, které pomáhá klientům rychle nastavit bezpečné prostředí AWS se více účty na základě osvědčených postupů.

Během více než pěti let existence našeho týmu v Mitoc Group jsme neúnavně pracovali na pomoci velkým organizacím úspěšně provádět digitální transformaci a budovat nebo přesouvat svůj digitální otisk do cloudu AWS. Jinými slovy, cituji naše přátele z AWS: „Naši klienti se znovu objevují s AWS“. Jedná se o nekonečné úsilí o přepracování a zjednodušení mechanismů jménem samotných klientů, a AWS se skvěle vypořádává s řešením složitých problémů pomocí snadno pochopitelných řešení.

Představujeme programovatelnou AWS Landing Zone v modulu Terraform
AWS Landing Zone (zdroj)

Co je to AWS Landing Zone?

Podle informací z oficiálního zdroje:

AWS Landing Zone je řešení, které pomáhá klientům rychleji nastavovat bezpečné prostředí AWS se více účty na základě osvědčených praktik AWS. Při velkém množství variant může nastavení prostředí s více účty zabrat značný čas, zahrnovat nastavení mnoha účtů a služeb a vyžadovat hluboké porozumění fungování služeb AWS.

Řešení AWS Landing Zone výrazně snížilo složitost a konzistenci podobných návrhových šablon, které jsou poskytovány různým klientům. Na druhou stranu, náš tým musel přeprogramovat některé komponenty CloudFormation jako komponenty Terraform, aby je mohl dále používat k automatizaci.

Proto jsme si položili otázku, proč nepostavit celé řešení AWS Landing Zone v Terraform? Můžeme to udělat a vyřeší to problémy našich klientů? Spoiler: ano, a již to řeší! 🙂

Kdy byste neměli používat AWS Landing Zone?

Pokud se zabýváte běžnými cloudovými službami a cloudovými zdroji v rámci jednoho nebo dvou účtů AWS, mohou být tato opatření nadbytečná. Všichni, kdo se tohoto bodu netýkají, mohou pokračovat ve čtení 🙂

Na co je třeba myslet před zahájením práce?

Mnoho velkých organizací, se kterými jsme pracovali, již má nějakou strategii využití cloudových technologií. Firmy bojují za úspěšnou implementaci cloudových služeb, aniž by měly jasnou představu a formulované očekávání. Prosím, věnujte čas tomu, abyste se určili se svou strategií a pochopili, jak do ní AWS zapadá.

Při definování strategie aktivně úspěšní zákazníci AWS Landing Zone zdůrazňují následující:

  • Jednoduchá automatizace není řešení. Preferovaný je nativní cloudový automatizační přístup.
  • Týmy následně používají stejné mechaniky se stejnou sadou nástrojů pro přípravu cloudových zdrojů. Lepší je používat Terraform.
  • Nejproduktivnější uživatelé cloudových služeb mají možnost vytvářet znovupoužitelné procesy a poskytovat je jako znovupoužitelné služby namísto znovupoužitelného kódu. Preferováno je použití serverless architektury.

Představujeme modul Terraform pro AWS Landing Zone

Po několika měsících intenzivní práce vám s potěšením představujeme modul Terraform pro AWS Landing Zone. Zdrojový kód je uložen na GitHubu, a stabilní verze vydání jsou publikovány na Terraform Module Registry.

Chcete-li začít, jednoduše zahrňte main.tf do svého kódu:

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

Poznámka: Nezapomeňte zahrnout variables.tf a vše, co můžete potřebovat z outputs.tf.

Abychom usnadnili pochopení, přidali jsme výchozí hodnoty do 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"
  [...]
}

To znamená, že při použití tohoto modulu terraform musíte:

  1. Změnit hodnoty account_id a region na své vlastní, které odpovídají údajům v AWS Organization;
  2. Změnit hodnoty landing_zone_components na ty, které odpovídají vaší použití AWS Landing Zone;
  3. Změnit s3://terraform-aws-landing-zone/mycompany na váš blok S3 a prefix klíče S3, kde budete ukládat soubory .tfvars (nebo absolutní cestu k souborům .tfvars ve vašem místním úložišti).

Tento modul může mít desítky, stovky nebo tisíce nasazovaných komponent, ale ne všechny z nich musí být a budou nasazeny. Během běhu budou komponenty, které nejsou součástí mapy proměnných, landing_zone_components ignorovány.

Závěr

Jsme velmi potěšeni a hrdí, že se s vámi můžeme podělit o výsledky našich snah, které pomáhají klientům vytvářet nativní cloudovou automatizaci. Modul Terraform pro AWS Landing Zone je dalším řešením, které pomáhá organizacím rychleji nastavovat bezpečné prostředí AWS s vícero účty, založené na osvědčených postupech AWS. Důvěrně známe, že AWS se rychle vyvíjí, a usilujeme o to, abychom rychle vyvíjeli řešení terraform, které pokrývá všechny základy a také se integruje s jinými pracovními řešeními AWS.

Na tom je vše. Těšíme se na vaše komentáře a zveme vás na bezplatný webinář v rámci kterého se budeme zabývat návrhem architektury domény Cloud Landing Zone a prozkoumáme architektonické šablony hlavních domén..

Zdroj: habr.com

Koupit spolehlivý hosting pro webové stránky s ochranou proti DDoS, VPS VDS servery 🔥 Koupit spolehlivý hosting pro webové stránky s ochranou proti DDoS, VPS VDS servery | ProHoster