Introduktion af programmerbar AWS-landingszone i et Terraform-modul

Hej alle! I december lancerer OTUS et nyt kursus - Skyløsningsarkitektur. I forventning om starten på dette kursus deler vi en oversættelse af interessant materiale om emnet med dig.

Introduktion af programmerbar AWS-landingszone i et Terraform-modul

AWS landingszone er en løsning, der hjælper kunder med hurtigt at opsætte et sikkert AWS-miljø med flere konti baseret på bedste praksis.

I over fem år har vores team hos Mitoc Group arbejdet utrætteligt for at hjælpe store organisationer med succes digitalt at transformere og opbygge eller migrere deres digitale fodaftryk til AWS-skyen. Med andre ord, for at citere vores venner hos AWS: "Vores kunder genopfinder sig selv med AWS." Det er en uendelig indsats for at genopfinde og forenkle mekanikken på vegne af kunderne selv, og AWS gør et fantastisk stykke arbejde med at løse komplekse problemer med løsninger, der er nemme at lære.

Introduktion af programmerbar AWS-landingszone i et Terraform-modul
AWS landingszone (kilde)

Hvad er AWS Landing Zone?

Ifølge oplysninger fra en officiel kilde:

AWS Landing Zone er en løsning, der hjælper kunder med hurtigt at opsætte et sikkert AWS-miljø med flere konti baseret på bedste AWS-praksis. Med så mange muligheder kan det være tidskrævende at opsætte et multikontomiljø, involvere konfiguration af flere konti og tjenester og kræve en dyb forståelse af AWS-tjenester.

AWS Landing Zone har væsentligt reduceret kompleksiteten og konsistensen af ​​lignende designmønstre leveret til forskellige kunder. På den anden side var vores team nødt til at omkonfigurere nogle CloudFormation-komponenter som Terraform-komponenter for at kunne bruge dem yderligere til automatisering.

Så vi spurgte os selv, hvorfor ikke bygge hele AWS Landing Zone-løsningen i Terraform? Kan vi gøre dette, og vil det løse vores kunders problemer? Spoiler: det vil og beslutter sig allerede! 🙂

Hvornår bør du ikke bruge AWS Landing Zone?

Hvis du har at gøre med almindelige cloud-tjenester og cloud-ressourcer inden for en eller to AWS-konti, kan disse foranstaltninger være overdrevne. Enhver, der ikke forholder sig til dette punkt, kan fortsætte med at læse :)

Hvad skal du overveje, inden du begynder at arbejde?

Mange af de store organisationer, vi har arbejdet med, har allerede en form for cloud-strategi på plads. Virksomheder kæmper for succesfuldt at implementere cloud-tjenester uden en klar vision og forventninger. Tag dig tid til at definere din strategi og forstå, hvordan AWS passer ind i den.

Når du sætter en strategi, fokuserer succesrige AWS Landing Zone-kunder aktivt på følgende:

  • Automatisering er simpelthen ikke en mulighed. Cloud native automatisering foretrækkes.
  • Teams bruger konsekvent den samme mekanik med det samme sæt værktøjer til at levere cloud-ressourcer. Det er bedre at bruge Terraform.
  • De mest produktive cloud-brugere har mulighed for at skabe genanvendelige processer og levere dem som genanvendelige tjenester i stedet for genbrugelig kode. Serverløs arkitektur foretrækkes.

Introduktion af Terraform-modulet til AWS-landingszone

Efter flere måneders hårdt arbejde er jeg glad for at kunne præsentere for dig Terraform modul til AWS Landing Zone. Kildekode er gemt på GitHub, og stabile udgivelsesversioner offentliggjort på Terraform Module Registry.

For at komme i gang skal du blot tænde main.tf til din kode:

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

Bemærk: Sørg for at aktivere variables.tf og alt hvad du kan få brug for outputs.tf.

For at gøre det nemmere at forstå, har vi tilføjet standardværdier 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"
  [...]
}

Det betyder, at når du bruger dette modul terraform du skal bruge:

  1. Ændre værdier account_id и region til din egen, som svarer til dataene i AWS-organisationen;
  2. Ændre værdier landing_zone_components dem, der matcher din AWS Landing Zone use case;
  3. ændre s3://terraform-aws-landing-zone/mycompany til din blok S3 og nøglepræfiks S3hvor du vil gemme filerne .tfvars (eller absolut sti til filer .tfvars i dit lokale lager).

Dette modul kan have titusinder, hundreder eller tusinder af deployerbare komponenter, men ikke alle skal eller vil blive implementeret. Ved kørsel, komponenter, der ikke er en del af variabelkortet landing_zone_components vil blive ignoreret.

Konklusion

Vi er begejstrede og stolte over at dele frugterne af vores bestræbelser på at hjælpe kunder med at bygge cloud-native automatisering. Terraform-modulet til AWS Landing Zone er en anden løsning, der hjælper organisationer med hurtigt at opsætte et sikkert AWS-miljø med flere konti baseret på AWS bedste praksis. Vi er godt klar over, at AWS vokser i et sindssygt hurtigt tempo, og vi er forpligtet til hurtigt at udvikle en terraform-løsning, der dækker alle baser og også integreres med andre AWS produktionsløsninger.

Det er alt. Vi venter på dine kommentarer og inviterer dig til gratis webinar inden for hvilket vi Lad os studere designet af Cloud Landing Zone-domænearkitekturen og overveje de arkitektoniske mønstre af hoveddomænerne.

Kilde: www.habr.com

Tilføj en kommentar