Ifihan agbegbe AWS ibalẹ siseto ni module Terraform kan

Bawo ni gbogbo eniyan! Ni Oṣu Kejila, OTUS ṣe ifilọlẹ ikẹkọ tuntun - Awọsanma Solution Architecture. Ni ifojusọna ti ibẹrẹ iṣẹ-ẹkọ yii, a n pin pẹlu rẹ itumọ awọn ohun elo ti o nifẹ lori koko-ọrọ naa.

Ifihan agbegbe AWS ibalẹ siseto ni module Terraform kan

AWS ibalẹ Zone jẹ ojutu kan ti o ṣe iranlọwọ fun awọn alabara ni kiakia ṣeto agbegbe AWS ti o ni aabo, akọọlẹ pupọ ti o da lori awọn iṣe ti o dara julọ.

Fun ọdun marun marun, ẹgbẹ wa ni Mitoc Group ti ṣiṣẹ lainidi lati ṣe iranlọwọ fun awọn ẹgbẹ nla ni aṣeyọri ni aṣeyọri oni-nọmba yipada ati kọ tabi jade ni ifẹsẹtẹ oni-nọmba wọn si awọsanma AWS. Ni awọn ọrọ miiran, lati sọ awọn ọrẹ wa ni AWS: “Awọn alabara wa n ṣe atunṣe ara wọn pẹlu AWS.” O jẹ igbiyanju ti ko ni opin lati tun ṣẹda ati rọrun awọn ẹrọ ẹrọ ni dípò ti awọn alabara funrara wọn, ati pe AWS ṣe iṣẹ nla kan ti lohun awọn iṣoro idiju pẹlu awọn solusan-rọrun lati kọ ẹkọ.

Ifihan agbegbe AWS ibalẹ siseto ni module Terraform kan
Agbegbe Ibalẹ AWS (orisun)

Kini Agbegbe Ibalẹ AWS?

Gẹgẹbi alaye lati orisun osise:

AWS Landing Zone jẹ ojutu kan ti o ṣe iranlọwọ fun awọn alabara ni kiakia ṣeto agbegbe AWS ti o ni aabo pẹlu awọn akọọlẹ pupọ ti o da lori awọn iṣe ti o dara julọ AWS. Pẹlu ọpọlọpọ awọn aṣayan, siseto agbegbe akọọlẹ-ọpọlọpọ le jẹ akoko-n gba, pẹlu tito leto awọn akọọlẹ ati awọn iṣẹ lọpọlọpọ, ati nilo oye jinlẹ ti awọn iṣẹ AWS.

Agbegbe Ibalẹ AWS ti dinku idiju ati aitasera ti awọn ilana apẹrẹ ti o jọra ti a firanṣẹ si awọn alabara oriṣiriṣi. Ni apa keji, ẹgbẹ wa ni lati tunto diẹ ninu awọn paati CloudFormation bi awọn paati Terraform lati le lo wọn siwaju fun adaṣe.

Nitorinaa a beere lọwọ ara wa, kilode ti o ko kọ gbogbo ojutu AWS Landing Zone ni Terraform? Njẹ a le ṣe eyi ati pe yoo yanju awọn iṣoro awọn alabara wa? Spoiler: yoo ati pe o ti pinnu tẹlẹ! 🙂

Nigbawo ni o ko yẹ ki o lo Agbegbe Ibalẹ AWS?

Ti o ba n ṣe pẹlu awọn iṣẹ awọsanma deede ati awọn orisun awọsanma laarin ọkan tabi meji awọn akọọlẹ AWS, awọn iwọn wọnyi le jẹ apọju. Ẹnikẹni ti ko ba ni ibatan si aaye yii le tẹsiwaju kika :)

Kini o yẹ ki o ronu ṣaaju ki o to bẹrẹ iṣẹ?

Pupọ ninu awọn ẹgbẹ nla ti a ti ṣiṣẹ pẹlu tẹlẹ ti ni iru ilana awọsanma ni aye. Awọn ile-iṣẹ n tiraka lati ṣe aṣeyọri awọn iṣẹ awọsanma laisi iran ti o han ati awọn ireti. Jọwọ gba akoko lati ṣalaye ete rẹ ki o loye bii AWS ṣe baamu.

Nigbati o ba ṣeto ilana kan, aṣeyọri awọn alabara Agbegbe Ibalẹ AWS ni idojukọ ni itara lori atẹle naa:

  • Adaṣiṣẹ jẹ nìkan kii ṣe aṣayan. Adaṣiṣẹ abinibi awọsanma jẹ ayanfẹ.
  • Awọn ẹgbẹ nigbagbogbo lo awọn ẹrọ ẹrọ kanna pẹlu ṣeto awọn irinṣẹ kanna lati pese awọn orisun awọsanma. O dara julọ lati lo Terraform.
  • Awọn olumulo awọsanma ti o ni iṣelọpọ julọ ni agbara lati ṣẹda awọn ilana atunlo ati jiṣẹ wọn bi awọn iṣẹ atunlo dipo koodu atunlo. Serverless faaji ni o fẹ.

Ṣafihan Module Terraform fun Agbegbe Ibalẹ AWS

Lẹhin ọpọlọpọ awọn oṣu ti iṣẹ lile, inu mi dun lati ṣafihan si ọ Terraform module fun AWS ibalẹ Zone. Orisun ti wa ni ipamọ lori GitHub, ati idurosinsin Tu awọn ẹya ti a tẹjade lori Iforukọsilẹ Module Terraform.

Lati bẹrẹ, tan-an nirọrun main.tf si koodu rẹ:

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

Akiyesi: Rii daju lati mu ṣiṣẹ variables.tf ati ohun gbogbo ti o le nilo lati outputs.tf.

Lati jẹ ki o rọrun lati ni oye, a ti ṣafikun awọn iye aiyipada si 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"
  [...]
}

Eleyi tumo si wipe nigba lilo yi module terraform iwọ yoo nilo:

  1. Yi awọn iye pada account_id и region si ti ara rẹ, eyiti o ni ibamu si data ni AWS Organisation;
  2. Yi awọn iye pada landing_zone_components awọn ti o baamu AWS Landing Zone rẹ lo ọran;
  3. Ṣatunkọ s3://terraform-aws-landing-zone/mycompany si rẹ Àkọsílẹ S3 ati bọtini ìpele S3nibi ti o ti fipamọ awọn faili .tfvars (tabi ọna pipe si awọn faili .tfvars ni ibi ipamọ agbegbe rẹ).

Module yii le ni awọn mewa, ọgọọgọrun, tabi ẹgbẹẹgbẹrun awọn paati imuṣiṣẹ, ṣugbọn kii ṣe gbogbo wọn yẹ tabi yoo wa ni ransogun. Ni akoko asiko, awọn paati ti kii ṣe apakan ti maapu oniyipada landing_zone_components yoo wa ni bikita.

ipari

A ni inudidun ati igberaga lati pin awọn eso ti awọn akitiyan wa lati ṣe iranlọwọ fun awọn alabara lati kọ adaṣe abinibi awọsanma. Ipele Terraform fun AWS Landing Zone jẹ ojutu miiran ti o ṣe iranlọwọ fun awọn ajo ni kiakia ṣeto agbegbe AWS ti o ni aabo pẹlu awọn akọọlẹ lọpọlọpọ ti o da lori awọn iṣe ti o dara julọ AWS. A mọ daradara pe AWS n dagba ni iyara aṣiwere, ati pe a ti pinnu lati dagbasoke ni iyara ojutu terraform kan ti o bo gbogbo awọn ipilẹ ati tun ṣepọ pẹlu awọn solusan iṣelọpọ AWS miiran.

Gbogbo ẹ niyẹn. A n duro de awọn asọye rẹ ati pe o si free webinar ninu eyiti a Jẹ ki a ṣe iwadi apẹrẹ ti faaji agbegbe Agbegbe Ibalẹ awọsanma ati gbero awọn ilana ayaworan ti awọn ibugbe akọkọ.

orisun: www.habr.com

Fi ọrọìwòye kun