Introduserer programmerbar AWS-landingssone i en Terraform-modul

Hei alle sammen! I desember lanserer OTUS et nytt kurs - Skyløsningsarkitektur. I påvente av starten på dette kurset deler vi med deg en oversettelse av interessant materiale om emnet.

Introduserer programmerbar AWS-landingssone i en Terraform-modul

AWS landingssone er en løsning som hjelper kunder raskt med å sette opp et sikkert AWS-miljø med flere kontoer basert på beste praksis.

I over fem år har teamet vårt i Mitoc Group jobbet utrettelig for å hjelpe store organisasjoner med vellykket digital transformasjon og bygge eller migrere deres digitale fotavtrykk til AWS-skyen. Med andre ord, for å sitere vennene våre i AWS: "Kundene våre gjenoppfinner seg selv med AWS." Det er en uendelig innsats for å gjenoppfinne og forenkle mekanikken på vegne av kundene selv, og AWS gjør en god jobb med å løse komplekse problemer med løsninger som er enkle å lære.

Introduserer programmerbar AWS-landingssone i en Terraform-modul
AWS landingssone (kilde)

Hva er AWS Landing Zone?

I følge informasjon fra en offisiell kilde:

AWS Landing Zone er en løsning som hjelper kunder med å raskt sette opp et sikkert AWS-miljø med flere kontoer basert på AWS beste praksis. Med så mange alternativer kan det være tidkrevende å sette opp et multikontomiljø, involvere konfigurering av flere kontoer og tjenester, og kreve en dyp forståelse av AWS-tjenester.

AWS Landing Zone har betydelig redusert kompleksiteten og konsistensen til lignende designmønstre levert til forskjellige kunder. På den annen side måtte teamet vårt rekonfigurere noen CloudFormation-komponenter som Terraform-komponenter for å kunne bruke dem videre til automatisering.

Så vi spurte oss selv, hvorfor ikke bygge hele AWS Landing Zone-løsningen i Terraform? Kan vi gjøre dette og vil det løse våre kunders problemer? Spoiler: det vil og bestemmer seg allerede! 🙂

Når bør du ikke bruke AWS Landing Zone?

Hvis du har å gjøre med vanlige skytjenester og skyressurser innenfor én eller to AWS-kontoer, kan disse tiltakene være overkill. Alle som ikke forholder seg til dette punktet kan fortsette å lese :)

Hva bør du vurdere før du begynner å jobbe?

Mange av de store organisasjonene vi har jobbet med har allerede en slags skystrategi på plass. Bedrifter sliter med å lykkes med å implementere skytjenester uten en klar visjon og forventninger. Ta deg tid til å definere strategien din og forstå hvordan AWS passer inn i den.

Når du setter en strategi, fokuserer vellykkede AWS Landing Zone-kunder aktivt på følgende:

  • Automatisering er rett og slett ikke et alternativ. Cloud-native automatisering foretrekkes.
  • Team bruker konsekvent den samme mekanikken med det samme settet med verktøy for å levere skyressurser. Det er bedre å bruke Terraform.
  • De mest produktive skybrukerne har muligheten til å lage gjenbrukbare prosesser og levere dem som gjenbrukbare tjenester i stedet for gjenbrukbar kode. Serverløs arkitektur foretrekkes.

Vi introduserer Terraform-modulen for AWS-landingssone

Etter flere måneder med hardt arbeid, er jeg glad for å kunne presentere for deg Terraform-modul for AWS Landing Zone. Kildekode er lagret på GitHub, og stabile utgivelsesversjoner publisert på Terraform Module Registry.

For å komme i gang, bare slå på main.tf til koden din:

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

Merk: Sørg for å aktivere variables.tf og alt du måtte trenge av outputs.tf.

For å gjøre det enklere å forstå, har vi lagt til standardverdier til 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"
  [...]
}

Dette betyr at når du bruker denne modulen terraform du trenger:

  1. Endre verdier account_id и region til din egen, som tilsvarer dataene i AWS-organisasjonen;
  2. Endre verdier landing_zone_components de som samsvarer med din AWS Landing Zone-brukssak;
  3. endre s3://terraform-aws-landing-zone/mycompany til blokken din S3 og nøkkelprefiks S3hvor du skal lagre filene .tfvars (eller absolutt bane til filer .tfvars i ditt lokale lager).

Denne modulen kan ha titalls, hundrevis eller tusenvis av distribuerbare komponenter, men ikke alle skal eller vil bli distribuert. Komponenter som ikke er en del av variabelen under kjøring landing_zone_components vil bli ignorert.

Konklusjon

Vi er begeistret og stolte over å dele fruktene av vår innsats for å hjelpe kunder med å bygge skybasert automatisering. Terraform-modulen for AWS Landing Zone er en annen løsning som hjelper organisasjoner raskt å sette opp et sikkert AWS-miljø med flere kontoer basert på AWS beste praksis. Vi er godt klar over at AWS vokser i et vanvittig raskt tempo, og vi er forpliktet til raskt å utvikle en terraform-løsning som dekker alle basene og også integreres med andre AWS-produksjonsløsninger.

Det er alt. Vi venter på dine kommentarer og inviterer deg til gratis webinar der vi La oss studere utformingen av Cloud Landing Zone-domenearkitekturen og vurdere de arkitektoniske mønstrene til hoveddomenene.

Kilde: www.habr.com

Legg til en kommentar