Terraform modulu ilə proqramlaşdırılan AWS Landing Zone-u təqdim edirik

Hamıya salam! Dekabr ayında OTUS yeni kurs açır — Bulud Həll Memarlığı. Bu kursun başlaması ərəfəsində, mövzu ilə bağlı maraqlı materialın tərcüməsini sizlərlə bölüşürük.

Terraform modulu ilə proqramlaşdırılan AWS Landing Zone-u təqdim edirik

AWS Landing Zone – müştərilərə bir neçə hesab əsasında təhlükəsiz AWS mühitini tez bir zamanda qurmağa kömək edən bir həlldir, ən yaxşı praktikalara əsaslanır.

Mitoc Group-da beş ildən artıq bir müddətdə komandamız böyük təşkilatlara rəqəmsal transformasiyanı uğurla həyata keçirməkdə, bulud AWS-ə öz rəqəmsal izini qurmaqda və ya köçürməkdə kömək edib. Başqa sözlə, AWS-dən dostlarımızın dediyi kimi: «Müştərilərimiz AWS ilə özlərini yenidən kəşf edirlər». Bu, müştərilər adından istifadə olunan mexanikaları yenidən icad və sadələşdirmək üçün sonsuz cəhdlərdir və AWS çətin problemlərin həllində asan başa düşülən həllərlə mükəmməl işləyir.

Terraform modulu ilə proqramlaşdırılan AWS Landing Zone-u təqdim edirik
AWS Landing Zone (kaynak)

AWS Landing Zone nədir?

Rəsmi mənbədən gələn məlumatlara görə:

AWS Landing Zone müştərilərə bir neçə hesab əsasında təhlükəsiz AWS mühitini daha sürətli qurmağa kömək edən bir həlldir, AWS-nin ən yaxşı praktikasına əsaslanır. Bir çox variant olduğu halda, bir neçə hesab üçün mühitin qurulması əhəmiyyətli vaxt ala bilər və bir çox hesabların və xidmətlərin qurulmasını tələb edə bilər, eyni zamanda AWS xidmətlərinin işləməsini dərindən başa düşməyi tələb edir.

AWS Landing Zone həlldir ki, müştərilərə təqdim olunan oxşar dizayn şablonlarının mürəkkəbliyini və uyğunluğunu əhəmiyyətli dərəcədə azaltmışdır. Digər tərəfdən, komandamız bəzi CloudFormation komponentlərini Terraform komponentləri kimi yenidən qurmalıdır ki, onları avtomatlaşdırma üçün daha sonra istifadə etsin.

Bu səbəbdən, özümüzə sual verdik: Niyə bütün AWS Landing Zone həlini Terraform-da qurmayaq? Bunu edə bilərikmi və bu müştərilərimizin problemlərini həll edəcəkmi? Spoiler: həll edir və artıq həll edir! 🙂

AWS Landing Zone-u nə zaman istifadə etməmək lazımdır?

Əgər bir və ya iki AWS hesabı çərçivəsində adi bulud xidmətləri və bulud resursları ilə məşğulsunuzsa, bu tədbirlər artıq həddindən artıq ola bilər. Bu maddəyə aid olmayan hər kəs oxumağa davam edə bilər 🙂

İşə başlamazdan əvvəl nələri nəzərə almaq lazımdır?

İşlədiyimiz bir çox böyük təşkilatların artıq bulud texnologiyalarından istifadə edilməsi ilə bağlı bir strategiyası var. Şirkətlər bulud xidmətlərini uğurla tətbiq etmək üçün mütləq bir görünüş və müəyyən gözləntilər olmadan mübarizə aparırlar. Öz strategiyanıza qərar vermək və AWS-nin buna necə uyğun olduğunu anlamaq üçün lütfən zaman ayırın.

Strategiyanızı təsdiqləyərkən, uğurlu AWS Landing Zone müştəriləri aşağıdakılara xüsusi diqqət yetirirlər:

  • Sadəcə avtomatlaşdırma bir seçim deyil. Nativ bulud avtomatlaşdırması daha çox tercih edilir.
  • Komandalar ardıcıl olaraq eyni mexanikalardan eyni alət dəsti ilə bulud resurslarını hazırlamaq üçün istifadə edirlər. Terraform istifadə etməyin daha yaxşıdır.
  • Ən məhsuldar bulud xidmətləri istifadəçiləri yenidən istifadə edilə bilən proseslər yarada bilirlər və bunları yenidən istifadə edilə bilən xidmətlər olaraq təqdim edirlər, əvəzinə yenidən istifadə edilə bilən kodun. Serversiz arxitekturadan istifadə edilməsi tövsiyə olunur.

AWS Landing Zone üçün Terraform modulu təqdim edirik

Bir neçə aylıq çətin işdən sonra sizinlə məmnuniyyətlə təqdim edirəm AWS Landing Zone üçün Terraform modulu. Mənbə kodu GitHub-da saxlanılır, sabit buraxılış versiyaları Terraform Module Registry-də dərc olunur.

İşə başlamaq üçün sadəcə main.tf kodunuza daxil edin:

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

Qeyd: mütləq daxil edin variables.tf və sizin üçün lazım ola biləcək hər şeyi outputs.tf.

Anlayışı asanlaşdırmaq üçün, biz defolt dəyərləri əlavə etmişik 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, bu modulu istifadə etdikdə terraform lazım olacaq:

  1. Dəyərləri dəyişdirin account_idregion öz dəyərlərinizə uyğun olaraq AWS Organization-da olanlar;
  2. Dəyərləri dəyişdirin landing_zone_components AWS Landing Zone istifadə vəziyyətinizə uyğun olan dəyərlərlə;
  3. Dəyişdirin s3://terraform-aws-landing-zone/mycompany Sizin S3 blokunuz S3və açar prefiksini düzgün olaraq saxlayacağınız fayllar üçün .tfvars düzgün olaraq saxlayacağınız fayllar üçün (və ya yerli qovluğunuzdakı fayllara şamil olunan tam yol).

Bu modul onlarla, yüzlərlə və ya minlərlə dağıtılan komponentlərə sahib ola bilər, lakin onların hamısı və ya hamısı dağıdılmamalıdır. İcra zamanı, dəyişən xəritəsinə aid olmayan komponentlər landing_zone_components əhəmiyyət verilməyəcək.

Nəticə

Müştərilərə nativ bulud avtomatlaşdırması yaratmaqda kömək edən çalışmalarımızın məhsulunu bölüşdüyümüz üçün çox sevincliyik və fəxr edirik. AWS Landing Zone üçün Terraform modulu şəbəkə ən yaxşı praktikasından istifadə edərək təşkilatların çoxlu hesablarla təhlükəsiz AWS mühitini daha sürətli qurmasına kömək edən bir həll dahadır. AWS-nin dəhşətli sürətlə inkişaf etdiyini bilirik və biz də bu çözümü sürətlə inkişaf etdirmək niyyətindəyik, köklü məsələləri əhatə edən terraform həllinə sahib olmaqla yanaşı, AWS-nin digər iş çözümləri ilə inteqrasiya edirik.

Bu qədər. Görüşlərinizi gözləyirik və sizi dəvət edirik pulsuz vebinara onda Cloud Landing Zone-domen arxitekturasının dizaynını öyrənəcəyik və əsas domenlərin arxitektura şablonlarını nəzərdən keçirəcəyik.

Mənbə: habr.com

DDoS qoruması olan saytlara etibarlı hosting satın alın, VPS VDS serverlər 🔥 DDoS qoruması olan saytlara etibarlı hosting satın alın, VPS VDS serverlər | ProHoster