Stel programmeerbare AWS-landingsone in 'n Terraform-module bekend

Hi almal! In Desember stel OTUS 'n nuwe kursus bekend - Wolk Oplossing Argitektuur. In afwagting van die begin van hierdie kursus, deel ons 'n vertaling van interessante materiaal oor die onderwerp met jou.

Stel programmeerbare AWS-landingsone in 'n Terraform-module bekend

AWS Landing Sone is 'n oplossing wat kliënte help om vinnig 'n veilige, multi-rekening AWS omgewing op te stel gebaseer op beste praktyke.

Vir meer as vyf jaar het ons span by Mitoc Group onvermoeid gewerk om groot organisasies te help om hul digitale voetspoor suksesvol digitaal te transformeer en te bou of te migreer na die AWS-wolk. Met ander woorde, om ons vriende by AWS aan te haal: “Ons kliënte herontdek hulself met AWS.” Dit is 'n nimmereindigende poging om meganika namens die kliënte self te herontdek en te vereenvoudig, en AWS doen 'n uitstekende werk om komplekse probleme op te los met maklik-om-te-leer oplossings.

Stel programmeerbare AWS-landingsone in 'n Terraform-module bekend
AWS-landingsone (bron)

Wat is AWS Landing Zone?

Volgens inligting van 'n amptelike bron:

AWS Landing Zone is 'n oplossing wat kliënte help om vinnig 'n veilige AWS-omgewing op te stel met veelvuldige rekeninge gebaseer op AWS se beste praktyke. Met soveel opsies kan die opstel van 'n multi-rekening omgewing tydrowend wees, behels die opstel van veelvuldige rekeninge en dienste, en vereis 'n diepgaande begrip van AWS dienste.

AWS Landing Zone het die kompleksiteit en konsekwentheid van soortgelyke ontwerppatrone wat aan verskillende kliënte gelewer word, aansienlik verminder. Aan die ander kant moes ons span sommige CloudFormation-komponente herkonfigureer as Terraform-komponente om dit verder vir outomatisering te gebruik.

Daarom het ons onsself gevra, hoekom bou ons nie die hele AWS Landing Zone-oplossing in Terraform nie? Kan ons dit doen en sal dit ons kliënte se probleme oplos? Bederf: dit sal en is reeds besig om te besluit! 🙂

Wanneer moet jy nie AWS Landing Zone gebruik nie?

As jy te doen het met gereelde wolkdienste en wolkbronne binne een of twee AWS-rekeninge, kan hierdie maatreëls te veel wees. Enigiemand wat nie met hierdie punt verband hou nie, kan voortgaan om te lees :)

Wat moet jy oorweeg voordat jy begin werk?

Baie van die groot organisasies waarmee ons gewerk het, het reeds 'n soort wolkstrategie in plek. Maatskappye sukkel om wolkdienste suksesvol te implementeer sonder 'n duidelike visie en verwagtinge. Neem asseblief die tyd om jou strategie te definieer en te verstaan ​​hoe AWS daarby inpas.

Wanneer 'n strategie opgestel word, fokus suksesvolle AWS Landing Zone-kliënte aktief op die volgende:

  • Outomatisering is eenvoudig nie 'n opsie nie. Wolk-inheemse outomatisering word verkies.
  • Spanne gebruik konsekwent dieselfde meganika met dieselfde stel gereedskap om wolkhulpbronne te voorsien. Dit is beter om Terraform te gebruik.
  • Die mees produktiewe wolkgebruikers het die vermoë om herbruikbare prosesse te skep en dit as herbruikbare dienste te lewer in plaas van herbruikbare kode. Bedienerlose argitektuur word verkies.

Stel die Terraform-module vir AWS-landingsone bekend

Na 'n paar maande se harde werk bied ek dit graag aan u voor Terraform module vir AWS Landing Zone. Bronkode word op GitHub gestoor, en stabiele vrystelling weergawes gepubliseer op die Terraform Module Registry.

Skakel eenvoudig aan om te begin main.tf na jou 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}"
}

Let wel: Maak seker dat jy dit aktiveer variables.tf en alles wat jy nodig het outputs.tf.

Om dit makliker te maak om te verstaan, het ons verstekwaardes bygevoeg 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 beteken dat wanneer hierdie module gebruik word terraform jy benodig:

  1. Verander waardes account_id и region na jou eie, wat ooreenstem met die data in die AWS-organisasie;
  2. Verander waardes landing_zone_components dié wat ooreenstem met jou AWS Landing Zone gebruik geval;
  3. Wysig s3://terraform-aws-landing-zone/mycompany na jou blok S3 en sleutelvoorvoegsel S3waar jy die lêers sal stoor .tfvars (of absolute pad na lêers .tfvars in jou plaaslike berging).

Hierdie module kan tiene, honderde of duisende ontplooibare komponente hê, maar nie almal moet of sal ontplooi word nie. Tydens looptyd, komponente wat nie deel van die veranderlike kaart is nie landing_zone_components geïgnoreer sal word.

Gevolgtrekking

Ons is opgewonde en trots om die vrugte te deel van ons pogings om kliënte te help om wolk-inheemse outomatisering te bou. Die Terraform-module vir AWS Landing Zone is nog 'n oplossing wat organisasies help om vinnig 'n veilige AWS-omgewing op te stel met veelvuldige rekeninge gebaseer op AWS se beste praktyke. Ons is deeglik bewus daarvan dat AWS teen 'n ongelooflike vinnige pas groei, en ons is daartoe verbind om vinnig 'n terraform-oplossing te ontwikkel wat al die basisse dek en ook met ander AWS-produksie-oplossings integreer.

Dis al. Ons wag vir jou kommentaar en nooi jou uit om gratis webinar waarbinne ons Kom ons bestudeer die ontwerp van die Cloud Landing Zone-domeinargitektuur en oorweeg die argitektoniese patrone van die hoofdomeine.

Bron: will.com

Voeg 'n opmerking