Ngawanohkeun Programmable AWS Landing Zone dina modul Terraform

Halo sadayana! Dina bulan Désémber, OTUS ngaluncurkeun kursus énggal - Arsitéktur Solusi Awan. Dina antisipasi mimiti kursus ieu, kami babagi sareng anjeun tarjamahan tina bahan metot ngeunaan topik.

Ngawanohkeun Programmable AWS Landing Zone dina modul Terraform

Zona badarat AWS nyaéta solusi anu ngabantosan para nasabah gancang nyetél lingkungan AWS anu aman sareng multi-akun dumasar kana prakték pangsaéna.

Pikeun leuwih ti lima taun, tim kami di Mitoc Grup geus digawé tirelessly pikeun mantuan organisasi badag suksés transformasi digital sarta ngawangun atawa migrasi tapak suku digital maranéhna pikeun awan AWS. Dina basa sejen, pikeun cutatan babaturan urang di AWS: "Palanggan kami reinventing sorangan kalawan AWS." Ieu mangrupikeun usaha anu teu aya tungtungna pikeun nyiptakeun deui sareng nyederhanakeun mékanika atas nama palanggan sorangan, sareng AWS ngalaksanakeun tugas anu saé pikeun ngarengsekeun masalah anu rumit kalayan solusi anu gampang diajar.

Ngawanohkeun Programmable AWS Landing Zone dina modul Terraform
Zona badarat AWS (sumber)

Naon AWS Landing Zone?

Numutkeun inpormasi ti sumber resmi:

AWS Landing Zone mangrupikeun solusi anu ngabantosan para nasabah gancang nyetél lingkungan AWS anu aman sareng sababaraha akun dumasar kana prakték pangsaéna AWS. Kalayan seueur pilihan, nyetél lingkungan multi-akun tiasa nyéépkeun waktos, ngalibatkeun ngonpigurasikeun sababaraha akun sareng jasa, sareng peryogi pamahaman anu jero ngeunaan jasa AWS.

AWS Landing Zone parantos ngirangan sacara signifikan pajeulitna sareng konsistensi pola desain anu sami anu dikirimkeun ka konsumén anu béda. Di sisi anu sanés, tim kami kedah ngonpigurasikeun sababaraha komponén CloudFormation salaku komponén Terraform supados tiasa dianggo langkung seueur pikeun otomatisasi.

Janten urang naroskeun ka diri urang, naha henteu ngawangun sadayana solusi AWS Landing Zone di Terraform? Naha urang tiasa ngalakukeun ieu sareng bakal ngabéréskeun masalah palanggan urang? Spoiler: éta bakal na geus mutuskeun! 🙂

Iraha anjeun henteu kedah nganggo AWS Landing Zone?

Upami anjeun ngurus jasa awan biasa sareng sumber awan dina hiji atanapi dua akun AWS, ukuran ieu tiasa langkung ageung. Saha waé anu henteu aya hubunganana sareng titik ieu tiasa teraskeun maca :)

Naon anu anjeun kedah pertimbangkeun sateuacan ngamimitian damel?

Seueur organisasi ageung anu kami damel sareng parantos ngagaduhan sababaraha jinis strategi awan. Pausahaan bajoang pikeun suksés ngalaksanakeun jasa awan tanpa visi sareng ekspektasi anu jelas. Punten waktosna pikeun ngartikeun strategi anjeun sareng ngartos kumaha AWS cocog kana éta.

Nalika netepkeun strategi, para nasabah AWS Landing Zone anu suksés sacara aktip museurkeun kana ieu:

  • Automation ngan saukur teu hiji pilihan. Automasi asli awan langkung dipikaresep.
  • Tim sacara konsisten ngagunakeun mékanika anu sami sareng set alat anu sami pikeun nyayogikeun sumber awan. Éta langkung saé ngagunakeun Terraform.
  • Pangguna awan anu paling produktif gaduh kamampuan nyiptakeun prosés anu tiasa dianggo deui sareng nganteurkeun aranjeunna salaku jasa anu tiasa dianggo deui tinimbang kode anu tiasa dianggo deui. Arsitéktur tanpa server langkung dipikaresep.

Ngawanohkeun Modul Terraform pikeun AWS Landing Zone

Saatos sababaraha bulan kerja keras, kuring resep nampilkeun ka anjeun modul Terraform pikeun AWS badarat Zona. Kode sumber disimpen dina GitHub, jeung versi release stabil diterbitkeun dina Terraform Module Registry.

Pikeun ngamimitian, kantun hurungkeun main.tf kana kode anjeun:

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

Catetan: Pastikeun pikeun ngaktipkeun variables.tf sareng sadaya anu anjeun peryogikeun outputs.tf.

Pikeun ngagampangkeun kahartos, kami parantos nambihan nilai standar 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"
  [...]
}

Ieu ngandung harti yén nalika ngagunakeun modul ieu terraform anjeun peryogi:

  1. Ngarobah nilai account_id и region ka anjeun sorangan, nu pakait jeung data dina Organisasi AWS;
  2. Ngarobah nilai landing_zone_components anu cocog sareng kasus panggunaan AWS Landing Zone anjeun;
  3. ngajadikeun amandemen s3://terraform-aws-landing-zone/mycompany ka blok Anjeun S3 jeung awalan konci S3dimana anjeun bakal nyimpen file .tfvars (atanapi jalur mutlak kana file .tfvars dina panyimpenan lokal anjeun).

Modul ieu tiasa gaduh puluhan, ratusan, atanapi rébuan komponén anu tiasa dianggo, tapi henteu sadayana kedah atanapi bakal disebarkeun. Dina runtime, komponén anu henteu bagian tina peta variabel landing_zone_components bakal dipaliré.

kacindekan

Kami bungah sareng reueus ngabagi hasil tina usaha kami pikeun ngabantosan para nasabah ngawangun otomatisasi asli awan. Modul Terraform pikeun AWS Landing Zone mangrupikeun solusi sanés anu ngabantosan organisasi gancang nyetél lingkungan AWS anu aman sareng sababaraha akun dumasar kana prakték pangsaéna AWS. Kami sadar pisan yén AWS ngembang dina laju anu luar biasa, sareng kami komitmen pikeun gancang ngembangkeun solusi terraform anu nyertakeun sadaya dasar sareng ogé ngahijikeun sareng solusi produksi AWS anu sanés.

Éta hungkul. Kami ngantosan komentar anjeun sareng ngajak anjeun bebas webinar di jerona urang Hayu urang diajar desain arsitéktur domain Cloud Landing Zone sareng pertimbangkeun pola arsitéktur domain utama..

sumber: www.habr.com

Tambahkeun komentar