Enkondukante programeblan AWS Landing Zone en modulo Terraform

Saluton al ĉiuj! En decembro, OTUS lanĉas novan kurson - Cloud Solution Architecture. Antaŭ la komenco de ĉi tiu kurso, ni dividas kun vi tradukon de interesa materialo pri la temo.

Enkondukante programeblan AWS Landing Zone en modulo Terraform

AWS-Alteriĝo-Zono estas solvo kiu helpas klientojn rapide starigi sekuran, plurkontan AWS-medion bazitan sur plej bonaj praktikoj.

Dum pli ol kvin jaroj, nia teamo ĉe Mitoc Group laboris senlace por helpi grandajn organizojn sukcese ciferece transformi kaj konstrui aŭ migri sian ciferecan spuron al la AWS-nubo. Alivorte, por citi niajn amikojn ĉe AWS: "Niaj klientoj reinventas sin per AWS." Estas senĉesa penado reinventi kaj simpligi mekanikon nome de la klientoj mem, kaj AWS faras bonegan laboron solvi kompleksajn problemojn per facile lerneblaj solvoj.

Enkondukante programeblan AWS Landing Zone en modulo Terraform
AWS Alteriĝozono (fonto)

Kio estas AWS Landing Zone?

Laŭ informo de oficiala fonto:

AWS Landing Zone estas solvo, kiu helpas klientojn rapide starigi sekuran AWS-medion kun pluraj kontoj bazitaj sur AWS-plej bonaj praktikoj. Kun tiom da ebloj, starigi plurkontan medion povas esti tempopostula, impliki agordi plurajn kontojn kaj servojn kaj postulas profundan komprenon de AWS-servoj.

AWS Landing Zone signife reduktis la kompleksecon kaj konsistencon de similaj dezajnaj ŝablonoj liveritaj al malsamaj klientoj. Aliflanke, nia teamo devis reagordi iujn CloudFormation-komponentojn kiel Terraform-komponentojn por uzi ilin plu por aŭtomatigo.

Do ni demandis nin, kial ne konstrui la tutan solvon de AWS Landing Zone en Terraform? Ĉu ni povas fari tion kaj ĉu ĝi solvos la problemojn de niaj klientoj? Spoiler: ĝi faros kaj jam decidas! 🙂

Kiam vi ne uzu AWS Landing Zone?

Se vi traktas regulajn nubajn servojn kaj nubajn rimedojn ene de unu aŭ du AWS-kontoj, ĉi tiuj mezuroj povas esti troaj. Ĉiu, kiu ne rilatas al ĉi tiu punkto, povas daŭrigi legi :)

Kion vi devus konsideri antaŭ ol komenci laboron?

Multaj el la grandaj organizoj kun kiuj ni laboris jam havas ian nuban strategion. Firmaoj luktas por sukcese efektivigi nubajn servojn sen klara vizio kaj atendoj. Bonvolu preni la tempon por difini vian strategion kaj kompreni kiel AWS konvenas al ĝi.

Kiam fiksas strategion, sukcesaj klientoj de AWS Landing Zone aktive fokusiĝas al la sekvanta:

  • Aŭtomatigo simple ne estas eblo. Nuba indiĝena aŭtomatigo estas preferita.
  • Teamoj konstante uzas la saman mekanikon kun la sama aro de iloj por provizi nubajn rimedojn. Estas pli bone uzi Terraform.
  • La plej produktivaj nubaj uzantoj havas la kapablon krei reuzeblajn procezojn kaj liveri ilin kiel reuzeblajn servojn anstataŭ reuzeblaj kodoj. Senservila arkitekturo estas preferita.

Enkonduko de la Terraform-Modulo por AWS Landing Zone

Post pluraj monatoj da laborego, mi ĝojas prezenti al vi Terraform-modulo por AWS Landing Zone. Fontkodo estas konservita sur GitHub, kaj stabilaj eldonversioj publikigita en la Terraform Modula Registro.

Por komenci, simple ŝaltu main.tf al via kodo:

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

Noto: Nepre ebligu variables.tf kaj ĉion, kion vi eble bezonos outputs.tf.

Por pli facile kompreni, ni aldonis defaŭltajn valorojn al 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"
  [...]
}

Ĉi tio signifas, ke kiam oni uzas ĉi tiun modulon terraform vi bezonos:

  1. Ŝanĝi valorojn account_id и region al via propra, kiu respondas al la datumoj en la AWS-Organizo;
  2. Ŝanĝi valorojn landing_zone_components tiuj, kiuj kongruas kun via uzokazo de AWS Landing Zone;
  3. Plibonigu s3://terraform-aws-landing-zone/mycompany al via bloko S3 kaj ŝlosila prefikso S3kie vi stokos la dosierojn .tfvars (aŭ absoluta vojo al dosieroj .tfvars en via loka stokado).

Ĉi tiu modulo povas havi dekojn, centojn aŭ milojn da deplojeblaj komponantoj, sed ne ĉiuj el ili devus aŭ estos deplojitaj. Ĉe rultempo, komponantoj kiuj ne estas parto de la varia mapo landing_zone_components estos ignorita.

konkludo

Ni estas ravitaj kaj fieraj dividi la fruktojn de niaj klopodoj helpi klientojn konstrui nuban denaskan aŭtomatigon. La modulo Terraform por AWS Landing Zone estas alia solvo, kiu helpas organizojn rapide starigi sekuran AWS-medion kun pluraj kontoj bazitaj sur AWS-plej bonaj praktikoj. Ni bone scias, ke AWS kreskas je freneze rapida rapideco, kaj ni kompromitas rapide disvolvi teraforman solvon, kiu kovras ĉiujn bazojn kaj ankaŭ integriĝas kun aliaj produktadsolvoj de AWS.

Tio estas ĉio. Ni atendas viajn komentojn kaj invitas vin senpaga retseminario ene de kiu ni Ni studu la dezajnon de la domajna arkitekturo de Cloud Landing Zone kaj konsideru la arkitekturajn ŝablonojn de la ĉefaj domajnoj.

fonto: www.habr.com

Aldoni komenton