Terraform модулінде бағдарламаланатын AWS қону аймағын енгізу

Бәріңе сәлем! Желтоқсан айында OTUS жаңа курсты бастайды - Бұлтты шешімдер архитектурасы. Осы курстың басталуына орай, біз сіздермен тақырып бойынша қызықты материалдың аудармасымен бөлісеміз.

Terraform модулінде бағдарламаланатын AWS қону аймағын енгізу

AWS қону аймағы тұтынушыларға ең жақсы тәжірибелерге негізделген қауіпсіз, көп есептік жазба AWS ортасын жылдам орнатуға көмектесетін шешім.

Бес жылдан астам уақыт бойы Mitoc Group-тағы біздің команда ірі ұйымдарға цифрлық іздерін сәтті цифрлық түрлендіруге және құруға немесе AWS бұлтына көшіруге көмектесу үшін тынымсыз жұмыс жасады. Басқаша айтқанда, AWS-тегі достарымыздан дәйексөз келтіру үшін: «Біздің тұтынушыларымыз AWS көмегімен өздерін ойлап табуда». Бұл тұтынушылардың өздері атынан механиканы қайта ойлап табу және жеңілдету үшін бітпейтін күш және AWS оңай үйренуге болатын шешімдермен күрделі мәселелерді шешуде тамаша жұмыс істейді.

Terraform модулінде бағдарламаланатын AWS қону аймағын енгізу
AWS қону аймағы (көзі)

AWS қону аймағы дегеніміз не?

Ресми дереккөздің мәліметі бойынша:

AWS Landing Zone – тұтынушыларға AWS үздік тәжірибелеріне негізделген бірнеше тіркелгілері бар қауіпсіз AWS ортасын жылдам орнатуға көмектесетін шешім. Көптеген опциялармен көп тіркелгі ортасын орнату көп уақытты қажет етеді, бірнеше тіркелгілер мен қызметтерді конфигурациялауды қажет етеді және AWS қызметтерін терең түсінуді қажет етеді.

AWS Landing Zone әртүрлі тұтынушыларға жеткізілетін ұқсас дизайн үлгілерінің күрделілігі мен тұрақтылығын айтарлықтай төмендетті. Екінші жағынан, біздің команда кейбір CloudFormation құрамдастарын одан әрі автоматтандыру үшін пайдалану үшін Terraform құрамдастары ретінде қайта конфигурациялауға мәжбүр болды.

Сондықтан біз өзімізден неге Терраформда AWS Landing Zone шешімін жасамасқа деп сұрадық? Біз мұны істей аламыз ба және бұл біздің тұтынушылардың мәселелерін шеше ме? Спойлер: ол шешеді және шешіп жатыр! 🙂

AWS Landing Zone қолданбасын қашан қолданбау керек?

Егер сіз бір немесе екі AWS тіркелгісінде тұрақты бұлттық қызметтермен және бұлттық ресурстармен жұмыс істеп жатсаңыз, бұл шаралар шамадан тыс болуы мүмкін. Бұл мәселеге қатысы жоқ кез келген адам оқуды жалғастыра алады :)

Жұмысқа кіріспес бұрын нені ескеру керек?

Біз жұмыс істеген ірі ұйымдардың көпшілігінде бұлттық стратегияның қандай да бір түрі бар. Компаниялар бұлтты қызметтерді нақты көзқарассыз және күтусіз сәтті енгізу үшін күреседі. Стратегияңызды анықтауға және AWS оған қалай сәйкес келетінін түсінуге уақыт бөліңіз.

Стратегияны орнату кезінде табысты AWS Landing Zone тұтынушылары төмендегілерге белсенді түрде назар аударады:

  • Автоматтандыру жай ғана опция емес. Бұлтты жергілікті автоматтандыруға артықшылық беріледі.
  • Командалар бұлттық ресурстарды қамтамасыз ету үшін бірдей құралдар жиынтығымен бірдей механиканы үнемі пайдаланады. Терраформды қолданған дұрыс.
  • Ең өнімді бұлтты пайдаланушылар қайта пайдалануға болатын процестерді жасау және оларды қайта пайдалануға болатын кодтың орнына қайта пайдалануға болатын қызметтер ретінде жеткізу мүмкіндігіне ие. Серверсіз архитектураға артықшылық беріледі.

AWS қону аймағына арналған Terraform модулімен таныстыру

Бірнеше айлық тынымсыз еңбектен кейін мен сіздерге қуана ұсынамын AWS қону аймағына арналған Terraform модулі. Бастапқы код GitHub жүйесінде сақталады және тұрақты шығарылым нұсқалары Terraform модулінің тізілімінде жарияланған.

Бастау үшін жай ғана қосыңыз main.tf сіздің кодыңызға:

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

Ескертпе: қосуды ұмытпаңыз variables.tf және сізге қажет болуы мүмкін барлық нәрсе outputs.tf.

Түсінуді жеңілдету үшін біз әдепкі мәндерді қостық 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"
  [...]
}

Бұл осы модульді пайдалану кезінде дегенді білдіреді terraform сізге қажет:

  1. Мәндерді өзгерту account_id и region AWS ұйымындағы деректерге сәйкес келетін өзіңізге;
  2. Мәндерді өзгерту landing_zone_components AWS Landing Zone пайдалану жағдайына сәйкес келетіндер;
  3. түзету s3://terraform-aws-landing-zone/mycompany сіздің блокқа S3 және кілт префиксі S3файлдарды қайда сақтайсыз .tfvars (немесе файлдарға абсолютті жол .tfvars жергілікті қоймаңызда).

Бұл модульде ондаған, жүздеген немесе мыңдаған орналастырылатын құрамдас бөліктер болуы мүмкін, бірақ олардың барлығы бірдей орналастырылмауы керек немесе орналастырылмайды. Орындалу уақытында айнымалылар картасының бөлігі болып табылмайтын құрамдас бөліктер landing_zone_components еленбейтін болады.

қорытынды

Біз тұтынушыларға бұлтты автоматтандыруды құруға көмектесу үшін күш-жігеріміздің жемісімен бөліскенімізге қуаныштымыз және мақтанамыз. AWS Landing Zone үшін Terraform модулі - ұйымдарға AWS үздік тәжірибелеріне негізделген бірнеше тіркелгілері бар қауіпсіз AWS ортасын жылдам орнатуға көмектесетін тағы бір шешім. Біз AWS өте жылдам қарқынмен дамып келе жатқанын жақсы білеміз және біз барлық негіздерді қамтитын, сонымен қатар басқа AWS өндірістік шешімдерімен біріктірілген терраформалық шешімді жылдам дамытуға дайынбыз.

Бар болғаны. Пікірлеріңізді күтеміз және шақырамыз тегін вебинар оның ішінде біз Cloud Landing Zone домен архитектурасының дизайнын зерттеп, негізгі домендердің архитектуралық үлгілерін қарастырайық..

Ақпарат көзі: www.habr.com

пікір қалдыру