Introducerar programmerbar AWS Landing Zone i en Terraform-modul

Hej alla! I december lanserar OTUS en ny kurs - Molnlösningsarkitektur. I väntan på starten av den här kursen delar vi med dig en översättning av intressant material om ämnet.

Introducerar programmerbar AWS Landing Zone i en Terraform-modul

AWS landningszon är en lösning som hjälper kunder att snabbt sätta upp en säker AWS-miljö med flera konton baserat på bästa praxis.

I över fem år har vårt team på Mitoc Group arbetat outtröttligt för att hjälpa stora organisationer att framgångsrikt digitalt transformera och bygga eller migrera sitt digitala fotavtryck till AWS-molnet. Med andra ord, för att citera våra vänner på AWS: "Våra kunder uppfinner sig själva med AWS." Det är en aldrig sinande ansträngning att återuppfinna och förenkla mekaniken för kundernas räkning, och AWS gör ett fantastiskt jobb med att lösa komplexa problem med lättlästa lösningar.

Introducerar programmerbar AWS Landing Zone i en Terraform-modul
AWS landningszon (källa)

Vad är AWS Landing Zone?

Enligt uppgifter från en officiell källa:

AWS Landing Zone är en lösning som hjälper kunder att snabbt sätta upp en säker AWS-miljö med flera konton baserat på AWS bästa praxis. Med så många alternativ kan det vara tidskrävande att sätta upp en miljö med flera konton, involvera konfigurering av flera konton och tjänster och kräva en djup förståelse av AWS-tjänster.

AWS Landing Zone har avsevärt minskat komplexiteten och konsekvensen hos liknande designmönster som levereras till olika kunder. Å andra sidan var vårt team tvunget att konfigurera om vissa CloudFormation-komponenter som Terraform-komponenter för att kunna använda dem vidare för automatisering.

Så vi frågade oss själva, varför inte bygga hela AWS Landing Zone-lösningen i Terraform? Kan vi göra detta och kommer det att lösa våra kunders problem? Spoiler: det kommer och bestämmer sig redan! 🙂

När ska du inte använda AWS Landing Zone?

Om du har att göra med vanliga molntjänster och molnresurser inom ett eller två AWS-konton kan dessa åtgärder vara överdrivna. Alla som inte relaterar till denna punkt kan fortsätta läsa :)

Vad bör du tänka på innan du börjar arbeta?

Många av de stora organisationer vi har arbetat med har redan någon form av molnstrategi på plats. Företag kämpar för att framgångsrikt implementera molntjänster utan en tydlig vision och förväntningar. Ta dig tid att definiera din strategi och förstå hur AWS passar in i den.

När man sätter en strategi fokuserar framgångsrika AWS Landing Zone-kunder aktivt på följande:

  • Automatisering är helt enkelt inte ett alternativ. Molnbaserad automatisering är att föredra.
  • Team använder konsekvent samma mekanik med samma uppsättning verktyg för att tillhandahålla molnresurser. Det är bättre att använda Terraform.
  • De mest produktiva molnanvändarna har förmågan att skapa återanvändbara processer och leverera dem som återanvändbara tjänster istället för återanvändbar kod. Serverlös arkitektur är att föredra.

Vi presenterar Terraform-modulen för AWS landningszon

Efter flera månaders hårt arbete är jag glad att kunna presentera för er Terraform-modul för AWS Landing Zone. Källkod lagras på GitHub, och stabila versioner publiceras på Terraform Module Registry.

För att komma igång, slå bara på main.tf till din kod:

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

Obs: Se till att aktivera variables.tf och allt du kan behöva av outputs.tf.

För att göra det lättare att förstå har vi lagt till standardvärden till 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"
  [...]
}

Detta betyder att när du använder denna modul terraform behöver du:

  1. Ändra värden account_id и region till din egen, vilket motsvarar uppgifterna i AWS-organisationen;
  2. Ändra värden landing_zone_components de som matchar ditt användningsfall för AWS Landing Zone;
  3. Изменить s3://terraform-aws-landing-zone/mycompany till ditt block S3 och nyckelprefix S3där du ska lagra filerna .tfvars (eller absolut sökväg till filer .tfvars i ditt lokala lager).

Den här modulen kan ha tiotals, hundratals eller tusentals distribuerbara komponenter, men inte alla av dem ska eller kommer att distribueras. Vid körning, komponenter som inte är en del av variabelkartan landing_zone_components kommer att ignoreras.

Slutsats

Vi är glada och stolta över att dela frukterna av våra ansträngningar att hjälpa kunder att bygga molnbaserad automatisering. Terraform-modulen för AWS Landing Zone är en annan lösning som hjälper organisationer att snabbt sätta upp en säker AWS-miljö med flera konton baserat på AWS bästa praxis. Vi är väl medvetna om att AWS växer i en vansinnigt snabb takt, och vi är engagerade i att snabbt utveckla en terraform-lösning som täcker alla baser och även integreras med andra AWS produktionslösningar.

Det är allt. Vi väntar på dina kommentarer och bjuder in dig gratis webbseminarium inom vilken vi Låt oss studera designen av Cloud Landing Zone-domänarkitekturen och överväga de arkitektoniska mönstren för huvuddomänerna.

Källa: will.com

Lägg en kommentar