Představujeme programovatelnou přistávací zónu AWS v modulu Terraform

Ahoj všichni! V prosinci OTUS spouští nový kurz - Architektura cloudových řešení. V očekávání začátku tohoto kurzu s vámi sdílíme překlad zajímavého materiálu na toto téma.

Představujeme programovatelnou přistávací zónu AWS v modulu Terraform

Přistávací zóna AWS je řešení, které pomáhá zákazníkům rychle nastavit bezpečné prostředí AWS pro více účtů na základě osvědčených postupů.

Již více než pět let náš tým ve skupině Mitoc neúnavně pomáhá velkým organizacím úspěšně digitálně transformovat a budovat nebo migrovat jejich digitální stopu do cloudu AWS. Jinými slovy, abychom citovali naše přátele z AWS: „Naši zákazníci se díky AWS znovu objevují.“ Je to nikdy nekončící úsilí o znovuobjevení a zjednodušení mechaniky jménem samotných zákazníků a AWS odvádí skvělou práci při řešení složitých problémů pomocí snadno naučitelných řešení.

Představujeme programovatelnou přistávací zónu AWS v modulu Terraform
Přistávací zóna AWS (zdroj)

Co je přistávací zóna AWS?

Podle informací z oficiálního zdroje:

AWS Landing Zone je řešení, které pomáhá zákazníkům rychle nastavit zabezpečené prostředí AWS s více účty na základě osvědčených postupů AWS. S tolika možnostmi může být nastavení prostředí pro více účtů časově náročné, vyžaduje konfiguraci více účtů a služeb a vyžaduje hluboké porozumění službám AWS.

AWS Landing Zone výrazně snížila složitost a konzistenci podobných návrhových vzorů dodávaných různým zákazníkům. Na druhou stranu náš tým musel překonfigurovat některé komponenty CloudFormation jako komponenty Terraform, aby je mohl dále používat pro automatizaci.

Zeptali jsme se tedy sami sebe, proč nepostavit celé řešení AWS Landing Zone v Terraformu? Můžeme to udělat a vyřeší to problémy našich zákazníků? Spoiler: bude a už se rozhoduje! 🙂

Kdy byste neměli používat přistávací zónu AWS?

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í přehnaná. Kdo se tohoto bodu netýká, může pokračovat ve čtení :)

Co byste měli zvážit před zahájením práce?

Mnoho velkých organizací, se kterými jsme spolupracovali, již má nějakou cloudovou strategii zavedenou. Společnosti se snaží úspěšně implementovat cloudové služby bez jasné vize a očekávání. Věnujte prosím čas definování své strategie a pochopení, jak do ní AWS zapadá.

Při nastavování strategie se úspěšní zákazníci AWS Landing Zone aktivně zaměřují na následující:

  • Automatizace prostě nepřichází v úvahu. Preferována je cloudová nativní automatizace.
  • Týmy konzistentně používají stejné mechanismy se stejnou sadou nástrojů k poskytování cloudových zdrojů. Je lepší použít Terraform.
  • Nejproduktivnější uživatelé cloudu mají možnost vytvářet opakovaně použitelné procesy a poskytovat je jako opakovaně použitelné služby namísto opakovaně použitelného kódu. Preferována je bezserverová architektura.

Představujeme modul Terraform pro přistávací zónu AWS

Po několika měsících tvrdé práce vám s potěšením představuji Modul Terraform pro přistávací zónu AWS. Zdrojový kód je uložen na GitHubu a stabilní verze zveřejněny v registru modulů Terraform.

Chcete-li začít, jednoduše zapněte main.tf k vašemu 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 povolit variables.tf a vše, co byste mohli potřebovat outputs.tf.

Aby to bylo srozumitelnější, přidali jsme výchozí hodnoty 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 budete potřebovat:

  1. Změnit hodnoty account_id и region na svůj vlastní, který odpovídá údajům v Organizaci AWS;
  2. Změnit hodnoty landing_zone_components ty, které odpovídají vašemu případu použití přistávací zóny AWS;
  3. Změna s3://terraform-aws-landing-zone/mycompany do vašeho bloku S3 a předponu klíče S3kam budete soubory ukládat .tfvars (nebo absolutní cesta 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 nasaditelných komponent, ale ne všechny by měly nebo budou nasazeny. Za běhu se komponenty, které nejsou součástí proměnné, mapují landing_zone_components bude ignorováno.

Závěr

Jsme nadšeni a hrdí na to, že se můžeme podělit o plody našeho úsilí pomoci zákazníkům vybudovat cloudovou nativní automatizaci. Modul Terraform pro AWS Landing Zone je dalším řešením, které organizacím pomáhá rychle nastavit zabezpečené prostředí AWS s více účty na základě osvědčených postupů AWS. Jsme si dobře vědomi toho, že AWS roste šíleně rychlým tempem, a jsme odhodláni rychle vyvinout terraformní řešení, které pokryje všechny základny a také se integruje s dalšími produkčními řešeními AWS.

To je vše. Čekáme na vaše komentáře a zveme vás webinář zdarma v rámci kterého jsme Pojďme si prostudovat návrh architektury domény Cloud Landing Zone a zvážit architektonické vzory hlavních domén.

Zdroj: www.habr.com

Přidat komentář