Introductie van programmeerbare AWS Landing Zone in een Terraform-module

Hallo allemaal! In december lanceert OTUS een nieuwe cursus - CloudoplossingsarchitectuurTer voorbereiding op de start van deze cursus delen we alvast een vertaling van interessant materiaal over dit onderwerp met u.

Introductie van programmeerbare AWS Landing Zone in een Terraform-module

AWS-landingszone is een oplossing waarmee klanten snel een veilige AWS-omgeving voor meerdere accounts kunnen opzetten, op basis van best practices.

Al meer dan vijf jaar werkt ons team bij Mitoc Group onvermoeibaar om grote organisaties te helpen bij het succesvol realiseren van digitale transformatie en het opbouwen of migreren van hun digitale voetafdruk naar de AWS Cloud. Met andere woorden, om onze vrienden bij AWS te citeren: "Onze klanten vinden zichzelf opnieuw uit met AWS." Dit is een voortdurende inspanning om mechanismen opnieuw uit te vinden en te vereenvoudigen namens de klanten zelf, en AWS blinkt uit in het oplossen van complexe problemen met eenvoudig te begrijpen oplossingen.

Introductie van programmeerbare AWS Landing Zone in een Terraform-module
AWS-landingszone (bron)

Wat is AWS Landing Zone?

Zoals de informatie van de officiële bron zegt:

AWS Landing Zone is een oplossing waarmee klanten snel een veilige AWS-omgeving voor meerdere accounts kunnen opzetten op basis van best practices voor AWS. Met zoveel opties kan het opzetten van een omgeving voor meerdere accounts tijdrovend zijn, meerdere accounts en services vereisen en een diepgaand begrip vereisen van hoe AWS-services werken.

De AWS Landing Zone-oplossing verminderde de complexiteit en consistentie van vergelijkbare ontwerppatronen die aan verschillende klanten worden aangeboden aanzienlijk. Aan de andere kant moest ons team een aantal CloudFormation-componenten ombouwen tot Terraform-componenten om ze verder te benutten voor automatisering.

We vroegen ons dus af: waarom bouwen we de volledige AWS Landing Zone-oplossing niet in Terraform? Zouden we dat kunnen doen en zou dat de problemen van onze klanten oplossen? Spoiler: hij gaat beslissen en beslist al! 🙂

Wanneer mag u AWS Landing Zone niet gebruiken?

Als u met reguliere cloudservices en cloudresources binnen één of twee AWS-accounts werkt, zijn deze maatregelen mogelijk niet nodig. Iedereen die niet in deze categorie valt, kan verder lezen :)

Waar moet u op letten voordat u aan de slag gaat?

Veel grote organisaties waarmee we samenwerken, hebben al een cloudstrategie. Bedrijven worstelen met de succesvolle implementatie van clouddiensten zonder een duidelijke visie en duidelijke verwachtingen. Neem de tijd om uw strategie te definiëren en te begrijpen hoe AWS daarin past.

Bij het definiëren van hun strategie richten succesvolle AWS Landing Zone-klanten zich actief op het volgende:

  • Automatisering alleen is geen optie. Cloud-native automatisering heeft de voorkeur.
  • Teams gebruiken consequent dezelfde mechanismen met dezelfde toolset om cloudresources te provisionen. Terraform is een betere keuze.
  • De meest productieve cloudgebruikers kunnen herbruikbare processen creëren en deze leveren als herbruikbare services in plaats van herbruikbare code. Serverloze architectuur heeft de voorkeur.

Introductie van de Terraform-module voor AWS Landing Zone

Na maanden hard werken kan ik u met genoegen presenteren Terraform-module voor AWS Landing Zone. Bron is opgeslagen op GitHub, en stabiele releaseversies worden gepubliceerd in het Terraform Module Registry.

Om te beginnen, hoeft u alleen maar het apparaat in te schakelen main.tf in je code:

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

Let op: zorg ervoor dat u deze optie inschakelt variables.tf en alles wat je nodig zou kunnen hebben van outputs.tf.

Om het gemakkelijker te begrijpen, hebben we standaardwaarden toegevoegd aan 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"
  [...]
}

Dit betekent dat bij gebruik van deze module terraform heb je nodig:

  1. Waarden wijzigen account_id и region naar uw eigen gegevens, die overeenkomen met de gegevens in de AWS-organisatie;
  2. Waarden wijzigen landing_zone_components die overeenkomen met uw AWS Landing Zone-gebruiksscenario;
  3. Wijzigen s3://terraform-aws-landing-zone/mycompany naar jouw blok S3 en sleutelprefix S3, waar u de bestanden opslaat .tfvars (of absoluut pad naar bestanden .tfvars (in uw lokale opslag).

Deze module kan tientallen, honderden of duizenden inzetbare componenten bevatten, maar niet alle hoeven of zullen worden ingezet. Tijdens runtime worden componenten die geen deel uitmaken van de variabelenmap landing_zone_components wordt genegeerd.

Conclusie

We zijn erg enthousiast en trots om de vruchten te delen van onze inspanningen om klanten te helpen bij het bouwen van cloudnative automatisering. De Terraform Module voor AWS Landing Zone is een andere oplossing die organisaties helpt bij het snel opzetten van een veilige AWS-omgeving voor meerdere accounts, gebaseerd op best practices van AWS. We zijn ons er terdege van bewust dat AWS zich razendsnel ontwikkelt en we zetten ons in om de Terraform-oplossing snel te ontwikkelen, zodat deze aan alle eisen voldoet en kan worden geïntegreerd met andere AWS-productieoplossingen.

Dat is alles voor nu. We kijken uit naar uw reacties en nodigen u uit om gratis webinar waarbinnen wij Laten we het ontwerp van de Cloud Landing Zone-domeinarchitectuur bestuderen en de architectuurpatronen van de belangrijkste domeinen bekijken.

Bron: www.habr.com

Koop betrouwbare hosting voor sites met DDoS-bescherming, VPS VDS-servers 🔥 Koop betrouwbare websitehosting met DDoS-bescherming, VPS- en VDS-servers | ProHoster