Terraform modulida dasturlashtiriladigan AWS Landing Zone bilan tanishtirish

Hammaga salom! Dekabr oyida OTUS yangi kursni boshlaydi - Bulutli yechim arxitekturasi. Ushbu kurs boshlanishini kutib, biz sizlarga mavzu bo'yicha qiziqarli materialning tarjimasini baham ko'ramiz.

Terraform modulida dasturlashtiriladigan AWS Landing Zone bilan tanishtirish

AWS qo'nish zonasi mijozlarga eng yaxshi amaliyotlarga asoslangan xavfsiz, ko‘p hisobli AWS muhitini tezda o‘rnatishga yordam beruvchi yechimdir.

Besh yildan ortiq vaqt davomida Mitoc Groupdagi jamoamiz yirik tashkilotlarga raqamli o‘zgarishlarni muvaffaqiyatli amalga oshirish va o‘zlarining raqamli izlarini AWS bulutiga o‘tkazishda yordam berish uchun tinimsiz mehnat qildi. Boshqacha qilib aytganda, AWS-dagi do'stlarimizdan iqtibos keltirish uchun: "Bizning mijozlarimiz AWS bilan o'zlarini qaytadan ixtiro qilmoqdalar." Bu mijozlarning o‘zlari nomidan mexanikani qayta ixtiro qilish va soddalashtirish uchun cheksiz sa’y-harakatlar va AWS oson o‘rganiladigan yechimlar bilan murakkab muammolarni hal qilishda ajoyib ishni bajaradi.

Terraform modulida dasturlashtiriladigan AWS Landing Zone bilan tanishtirish
AWS qo‘nish zonasi (manba)

AWS Landing Zone nima?

Rasmiy manba ma'lumotlariga ko'ra:

AWS Landing Zone – mijozlarga AWS eng yaxshi amaliyotlari asosida bir nechta hisoblar bilan xavfsiz AWS muhitini tezda o‘rnatishga yordam beradigan yechim. Ko‘p opsiyalarga ega bo‘lgan holda, ko‘p hisob muhitini o‘rnatish ko‘p vaqt talab qilishi, bir nechta hisob va xizmatlarni sozlashni o‘z ichiga olishi va AWS xizmatlarini chuqur tushunishni talab qilishi mumkin.

AWS Landing Zone turli mijozlarga yetkazib beriladigan o‘xshash dizayn naqshlarining murakkabligi va izchilligini sezilarli darajada kamaytirdi. Boshqa tomondan, bizning jamoamiz ba'zi CloudFormation komponentlarini avtomatlashtirish uchun qo'llash uchun Terraform komponentlari sifatida qayta sozlashi kerak edi.

Shunday qilib, biz o'zimizdan so'radik, nega Terraform-da AWS Landing Zone yechimini qurmasligimiz kerak? Biz buni qila olamizmi va bu mijozlarimizning muammolarini hal qiladimi? Buzg'unchi: u qaror qiladi va allaqachon qaror qiladi! 🙂

AWS Landing Zone-dan qachon foydalanmaslik kerak?

Agar siz bir yoki ikkita AWS hisobidagi oddiy bulut xizmatlari va bulutli resurslar bilan ishlayotgan bo'lsangiz, bu choralar ortiqcha bo'lishi mumkin. Bu nuqtaga aloqasi bo'lmagan har bir kishi o'qishni davom ettirishi mumkin :)

Ishni boshlashdan oldin nimani e'tiborga olish kerak?

Biz ishlagan yirik tashkilotlarning ko‘pchiligi allaqachon bulutli strategiyaga ega. Kompaniyalar aniq tasavvur va umidlarsiz bulutli xizmatlarni muvaffaqiyatli amalga oshirish uchun kurashmoqda. Iltimos, strategiyangizni aniqlash va AWS unga qanday mos kelishini tushunish uchun vaqt ajrating.

Muvaffaqiyatli AWS Landing Zone mijozlari strategiyani belgilashda faol ravishda quyidagilarga e'tibor qaratadilar:

  • Avtomatlashtirish shunchaki variant emas. Bulutli mahalliy avtomatlashtirish afzalroq.
  • Jamoalar doimiy ravishda bulutli resurslarni ta'minlash uchun bir xil vositalar to'plami bilan bir xil mexanikadan foydalanadilar. Terraformdan foydalanish yaxshidir.
  • Eng samarali bulut foydalanuvchilari qayta foydalanish mumkin bo'lgan jarayonlarni yaratish va ularni qayta ishlatiladigan kod o'rniga qayta foydalanish mumkin bo'lgan xizmatlar sifatida taqdim etish imkoniyatiga ega. Serversiz arxitekturaga afzallik beriladi.

AWS Landing Zone uchun Terraform moduli bilan tanishish

Bir necha oylik mashaqqatli mehnatdan so'ng, men sizga taqdim etishdan mamnunman AWS Landing Zone uchun Terraform moduli. Manba kodi GitHub da saqlanadi va barqaror versiyalar Terraform modul registrida chop etilgan.

Boshlash uchun shunchaki yoqing main.tf kodingizga:

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

Eslatma: Yoqishni unutmang variables.tf va sizga kerak bo'lgan hamma narsa outputs.tf.

Tushunishni osonlashtirish uchun biz standart qiymatlarni qo'shdik 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"
  [...]
}

Bu shuni anglatadiki, ushbu moduldan foydalanganda terraform sizga kerak bo'ladi:

  1. Qiymatlarni o'zgartirish account_id и region o'zingizga, bu AWS tashkilotidagi ma'lumotlarga mos keladi;
  2. Qiymatlarni o'zgartirish landing_zone_components AWS Landing Zone foydalanish holatiga mos keladiganlar;
  3. tuzatmoq s3://terraform-aws-landing-zone/mycompany sizning blokingizga S3 va kalit prefiksi S3fayllarni qaerda saqlaysiz .tfvars (yoki fayllarga mutlaq yo'l .tfvars mahalliy xotirangizda).

Ushbu modul o'nlab, yuzlab yoki minglab o'rnatiladigan komponentlarga ega bo'lishi mumkin, ammo ularning hammasi ham joylashtirilmasligi kerak yoki joylashtirilmaydi. Ishlash vaqtida, o'zgaruvchan xaritaning bir qismi bo'lmagan komponentlar landing_zone_components e'tibordan chetda qoladi.

xulosa

Biz mijozlarga bulutli mahalliy avtomatlashtirishni yaratishga yordam berish bo'yicha sa'y-harakatlarimiz samarasini baham ko'rishdan xursandmiz va faxrlanamiz. AWS Landing Zone uchun Terraform moduli tashkilotlarga AWS eng yaxshi amaliyotlari asosida bir nechta hisoblar bilan xavfsiz AWS muhitini tezda o‘rnatishga yordam beradigan yana bir yechimdir. Biz AWS juda tez sur'atlar bilan o'sib borayotganini yaxshi bilamiz va biz barcha bazalarni qamrab oluvchi va boshqa AWS ishlab chiqarish yechimlari bilan integratsiyalashgan terraform yechimni jadal rivojlantirishga intilamiz.

Ana xolos. Fikrlaringizni kutamiz va sizni taklif qilamiz bepul vebinar uning ichida biz Keling, Cloud Landing Zone domen arxitekturasining dizaynini o'rganamiz va asosiy domenlarning arxitektura naqshlarini ko'rib chiqamiz..

Manba: www.habr.com

a Izoh qo'shish