Представляем программируемую AWS Landing Zone в модуле Terraform

Բարև բոլորին! Դեկտեմբերի մեջ OTUS-ը մեկնարկում է նոր курс՝ Cloud Solution Architecture։ Այս курса նախօրյակին կիսվում ենք ձեզ հետ թեմայով հետաքրքիր նյութի թարգմանությամբ։

Представляем программируемую AWS Landing Zone в модуле Terraform

AWS Landing Zone – դա լուծում է, որը օգնում է հաճախորդներին արագ կարգավորել անվտանգ AWS միջավայր մի քանի հաշիվներով, հիմնվելով լավագույն պրակտիկաների վրա։

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

Представляем программируемую AWS Landing Zone в модуле Terraform
AWS Landing Zone (ձեռ աղբյուրը)

Ինչ է AWS Landing Zone-ը։

Ինչպես նշված է պաշտոնական աղբյուրից,

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

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

Այսպիսով, մենք հարցուփորձ արված հարցեր ենք արել, ինչու չէ կառուցել ողջ AWS Landing Zone լուծումը Terraform-ի մեջ։ Կարո՞ղ ենք դա անել, և արդյոք սա կլուծի մեր հաճախորդների խնդիրները։ Spoiler՝ լուծում է և արդեն լուծում է։ 🙂

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

Եթե դուք աշխատում եք սովորական ամպային ծառայությունների և ամպային ռեսուրսների հետ մեկ կամ երկու AWS հաշիվների շրջանակում, այս միջոցառումները կարող են լինել ավելորդ։ Բոլոր այն մարդիկ, ովքեր չեն մտնում այս կետի մեջ, կարող են շարունակել կարդալ 🙂

Որ բանի պետք է հաշվի առնել աշխատանք սկսելուց առաջ։

Շատ մեծ կազմակերպություններ, որոնց հետ մենք աշխատել ենք, արդեն ունեն ինչ-որ ամպային տեխնոլոգիաների օգտագործման ռազմավարություն։ Գործընկերությունները պայքարում են հաջողությամբ ամպային ծառայությունների ներդրման մեջ, չունենալով հստակ տեսլական և սահմանված սպասումներ։ Խնդրում ենք ծախսել ժամանակ Ձեր ռազմավարությունը սահմանելու համար և հասկանալու, թե ինչպես AWS-ի մեջ է տեղավորվում։

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

  • Ուղղակի ավտոմատացումը տարբերակ չէ։ Նախընտրելի է բնիկ ամպային ավտոմատիզացիան։
  • Teams consistently use the same mechanics with the same set of tools to prepare cloud resources. It is better to use Terraform.
  • The most productive users of cloud services have the capability to create reusable processes and provide them as reusable services instead of reusable code. Serverless architecture is preferred.

Introducing the Terraform module for AWS Landing Zone

After several months of intense work, I am pleased to present to you the Terraform module for AWS Landing Zone. Հիմնական կոդ hosted on GitHub, and stable release versions are published on the Terraform Module Registry.

To get started, simply include main.tf in your code:

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

Note: be sure to include variables.tf and anything you might need from outputs.tf.

To simplify understanding, we have added default values in 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"
  [...]
}

This means that when using this module terraform you will need to:

  1. Change the values of account_id և region to your own, which correspond to the data in the AWS Organization;
  2. Change the values of landing_zone_components to those that match your AWS Landing Zone use case;
  3. Change s3://terraform-aws-landing-zone/mycompany to your block S3 and the key prefix S3, where you will store the files .tfvars (or the absolute path to the files .tfvars in your local storage).

This module can have dozens, hundreds, or thousands of deployable components, but not all of them need to be and will be deployed. During execution, components that are not part of the variable map landing_zone_components will be ignored.

Ավարտ

We are very excited and proud to share the fruits of our labor that help clients create native cloud automation. The Terraform module for AWS Landing Zone is another solution that assists organizations in quickly setting up a secure AWS environment with multiple accounts, based on AWS best practices. We are well aware that AWS is evolving at an insane pace, and we strive to develop the terraform solution quickly as well, covering all the essentials and integrating with other AWS working solutions.

That's all for now. We look forward to your comments and invite you to our free webinar in which we will explore the design of the Cloud Landing Zone domain architecture and review the architectural templates of the main domains..

Ընտանիք: habr.com

Գնել հուսալի հյուրընկալում DDoS պաշտպանությամբ, VPS VDS սերվերներով 🔥 Գնել հուսալի հյուրընկալում DDoS պաշտպանությամբ, VPS VDS սերվերներով | ProHoster