Ներկայացնում ենք ծրագրավորվող AWS վայրէջքի գոտի Terraform մոդուլում

Բարեւ բոլորին! Դեկտեմբերին OTUS-ը սկսում է նոր դասընթաց՝ Cloud Solution Architecture. Այս դասընթացի մեկնարկին ընդառաջ մենք ձեզ հետ կիսվում ենք թեմայի վերաբերյալ հետաքրքիր նյութերի թարգմանությամբ:

Ներկայացնում ենք ծրագրավորվող AWS վայրէջքի գոտի Terraform մոդուլում

AWS վայրէջքի գոտի լուծում է, որն օգնում է հաճախորդներին արագ ստեղծել անվտանգ, բազմաբնույթ AWS միջավայր՝ հիմնված լավագույն փորձի վրա:

Ավելի քան հինգ տարի Mitoc Group-ի մեր թիմն անխոնջ աշխատել է՝ օգնելու խոշոր կազմակերպություններին հաջողությամբ թվային ձևափոխել և կառուցել կամ տեղափոխել իրենց թվային հետքը դեպի AWS ամպ: Այլ կերպ ասած, մեջբերել AWS-ի մեր ընկերներին. «Մեր հաճախորդները նորովի են հորինում իրենց AWS-ով»: Դա անվերջ ջանք է՝ վերահայտնագործելու և պարզեցնելու մեխանիկական տեխնիկան հենց իրենց հաճախորդների անունից, և AWS-ը հիանալի աշխատանք է կատարում բարդ խնդիրներ լուծելու համար՝ հեշտ սովորվող լուծումներով:

Ներկայացնում ենք ծրագրավորվող AWS վայրէջքի գոտի Terraform մոդուլում
AWS վայրէջքի գոտի (աղբյուր)

Ի՞նչ է AWS վայրէջքի գոտին:

Պաշտոնական աղբյուրից ստացված տեղեկատվության համաձայն.

AWS Landing Zone-ը լուծում է, որն օգնում է հաճախորդներին արագ ստեղծել անվտանգ AWS միջավայր՝ բազմաթիվ հաշիվներով՝ հիմնված AWS լավագույն փորձի վրա: Այսքան շատ տարբերակների առկայության դեպքում բազմակի հաշիվների միջավայր ստեղծելը կարող է ժամանակատար լինել, ներառել բազմաթիվ հաշիվների և ծառայությունների կազմաձևում և պահանջում է AWS ծառայությունների խորը պատկերացում:

AWS Landing Zone-ը զգալիորեն նվազեցրել է տարբեր հաճախորդներին մատուցվող նմանատիպ դիզայնի նախշերի բարդությունն ու հետևողականությունը: Մյուս կողմից, մեր թիմը ստիպված էր վերակազմավորել CloudFormation որոշ բաղադրիչներ որպես Terraform բաղադրիչներ՝ դրանք հետագայում ավտոմատացման համար օգտագործելու համար:

Այսպիսով, մենք հարցրինք ինքներս մեզ, ինչու՞ չկառուցել AWS Landing Zone-ի ամբողջ լուծումը Terraform-ում: Կարո՞ղ ենք մենք դա անել և արդյոք դա կլուծի մեր հաճախորդների խնդիրները: Սփոյլեր. դա կլինի և արդեն որոշում է: 🙂

Ե՞րբ չպետք է օգտագործեք AWS Landing Zone-ը:

Եթե ​​դուք գործ ունեք կանոնավոր ամպային ծառայությունների և ամպային ռեսուրսների հետ մեկ կամ երկու AWS հաշիվների մեջ, այս միջոցները կարող են չափազանց մեծ լինել: Ով այս կետին չի առնչվում, կարող է շարունակել կարդալ :)

Ի՞նչ պետք է հաշվի առնել աշխատանքը սկսելուց առաջ:

Խոշոր կազմակերպություններից շատերը, որոնց հետ մենք աշխատել ենք, արդեն ունեն որոշակի ամպային ռազմավարություն: Ընկերությունները պայքարում են ամպային ծառայությունները հաջողությամբ իրականացնելու համար՝ առանց հստակ տեսլականի և ակնկալիքների: Խնդրում ենք ժամանակ հատկացնել ձեր ռազմավարությունը սահմանելու և հասկանալու, թե ինչպես է AWS-ը տեղավորվում դրա մեջ:

Ռազմավարություն սահմանելիս AWS Landing Zone-ի հաջողակ հաճախորդները ակտիվորեն կենտրոնանում են հետևյալի վրա.

  • Ավտոմատացումը պարզապես տարբերակ չէ: Նախընտրելի է ամպային բնիկ ավտոմատացումը:
  • Թիմերը հետևողականորեն օգտագործում են նույն մեխանիզմները՝ գործիքների միևնույն փաթեթով՝ ամպային ռեսուրսներ տրամադրելու համար: Ավելի լավ է օգտագործել Terraform-ը:
  • Ամպային ամենաարդյունավետ օգտագործողները կարող են ստեղծել բազմակի օգտագործման գործընթացներ և դրանք մատուցել որպես բազմակի օգտագործման ծառայություններ՝ բազմակի օգտագործման կոդի փոխարեն: Նախընտրելի է առանց սերվերի ճարտարապետությունը:

Ներկայացնում ենք Terraform մոդուլը AWS վայրէջքի գոտու համար

Մի քանի ամիս տքնաջան աշխատանքից հետո սիրով ներկայացնում եմ ձեզ Terraform մոդուլ AWS վայրէջքի գոտու համար. Աղբյուրի կոդը պահվում է GitHub-ում և կայուն թողարկման տարբերակներ հրապարակված Terraform Module Registry-ում:

Սկսելու համար պարզապես միացրեք 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 տիրույթի ճարտարապետության դիզայնը և դիտարկենք հիմնական տիրույթների ճարտարապետական ​​նախշերը.

Source: www.habr.com

Добавить комментарий