Bölüm 6 / 11

Kod (IaC) hökmünde infrastrukturany dolandyrmak: Terraform, Ansible we meýilnama gözegçilik

Girdeji:

  • Iň dar rugsatlar we ygtybarly defoltlar bilen emeli intellekt bilen IaC (Terraform, Ansible) koduny öndürmek we deklaratiw çemeleşmä düşünmek;
  • Meýilnama / netijäni barlamazdan ozal pozmak we çalyşmak setirlerini okamak we ele almak arkaly maglumatlaryň ýitmeginiň öňüni almak ukyby
  • Döwlet faýlyny şifrlenen, gulplanan, uzak arka tarapda saklamak we üýtgeşmeleri ownuk, tersine ädimlere bölmek arkaly gizlin syzmagyň öňüni almak ukyby;

Kod (IaC) hökmünde infrastrukturany dolandyrmak: AI bilen Terraform, Ansible we meýilnama gözegçilik

Geçmişde serwer gurmak el bilen basmak, buýruklar we şahsy bellikler bilen ýerine ýetirilýärdi; Netijede, nädip gurmalydygyny hiç kim bilmeýän, "gar ýagýan" serwerler boldy. Kod (IaC) ýaly infrastruktura bu bulam-bujarlygy gutarýan çemeleşme: serwerler, torlar, howpsuzlyk düzgünleri el bilen däl-de, üýtgeýän tekst faýllary (kod) bilen kesgitlenýär. Bu kody işledeniňizde, infrastruktura ýazyşyňyz ýaly gurulýar - birmeňzeş, resminamalaşdyrylan we her gezek gaýtalanýar. Iň ýaýran gurallar, bulut infrastrukturasy üçin Terraform we CloudFormation we serwer konfigurasiýasy üçin Ansible. Bu ýerde AI bu IaC koduny ýazmaga, düşündirmäge we gözden geçirmäge ökde. Emma IaC-iň güýji hem onuň howpy: bir ýalňyş çyzyk tutuş infrastrukturany ýok edip biler; şonuň üçin AI kod ýazýar, siz "meýilnamany" okaýarsyňyz, tassyklaýarsyňyz we ýerine ýetirýärsiňiz.

Bu bölümde, deklaratiw çemeleşmäni, meýilnamany / tapawudy, döwlet howpsuzlygyny we işsizligi ara alyp maslahatlaşarys; AI bilen IaC neslini we iň möhüm ussatlygy "meýilnama gözegçilik" bilen öwrenersiňiz.

Deklaratiw pikirlenmek: "nädip etmeli" däl-de, "näme bolsa"?

IaC gurallarynyň köpüsi deklaratiwdir: ulgamyň soňky ýagdaýyny suratlandyrýarsyňyz ("3 web serweri, 1 ýük balanseri diýeliň"), guralyň özi bu ýagdaýa nädip barmalydygyny hasaplaýar. Bu ssenariý ýazmakdan tapawutlanýar ("muny et, soň et" ädimme-ädim). Deklaratiw çemeleşmäniň uly artykmaçlygy işsizlikdir: kody on gezek işledseňizem, netije şol bir zat, sebäbi gural islenýän ýagdaýyň eýýäm bardygyny ýa-da ýokdugyny barlaýar we bar bolsa, oňa degmeýär. AI-e IaC ýazanyňyzda bu tapawudy ýadyňyzdan çykarmaň: "bu buýruklary işletmek" däl-de, "bu infrastruktura ýagdaýyny goýuň" diýýärsiňiz.

Meýilleşdiriň / ulanyň: iň möhüm howpsuzlyk demir ýoly

IaC-iň ömri halas ediji aýratynlygy meýilnama ädimidir. Terraformda, “Ansible” -de terraform meýilnamasy, kod ulanmazdan ozal “ulansam näme üýtgär” deslapky synyny döredýär: “2 çeşme goşular, 1 üýtgär, 0 ýok ediler”. Bu, durmuşa geçirmezden ozal niýetiňizi hakykat bilen deňeşdirmegiň ýeke-täk usulydyr. Tankytly düzgün: meýilnamany okamazdan hiç wagt ýüz tutmaň. Esasanam "ýok etmek" setirlerini gözläň; Typazgy sebäpli "1 üýtgediler" ýerine "12 pozuljakdygyny" görseňiz, meýilnama sizi betbagtçylykdan halas etdi. Kod AI-e çap edilenden soň, "meýilnamanyň çykyş setirini meniň bilen hatara gözden geçiriň, öçürmek / dynç almagy öz içine alýan her setiri belläň" diýiň.

Üns beriň: Terraformdaky käbir üýtgeşmeler "ýerinde täzelenmek" däl-de, "ýok etmek we döretmek". Bu maglumatlar bazasy üçin maglumatlaryň ýitmegini aňladýar. Meýilnamanyň çykyşynda - / + ýa-da "güýç çalşylmagy" äsgermezlik etmek iň gymmat ýalňyşlyklaryň biridir.

Döwlet faýly: syrlaryň we hakykatlaryň ýazgysy

Terraform ýaly gurallar dolandyrýan infrastrukturasynyň häzirki ýagdaýyny döwlet faýlynda saklaýar. Bu faýl iki sebäbe görä möhümdir. Birinjiden, onuň içinde syrlar bolup biler (maglumatlar bazasynyň parollary, açarlar aç-açan ýagdaýda bolup biler); Şonuň üçin hiç haçan döwleti köpçülikleýin ammarda ýa-da AI-de goýmaň, şifrlenen we giriş çäklendirilen uzak arka tarapda saklaň. Ikinjiden, döwlet zaýalanan ýa-da ýitirilen bolsa, ulag hakyky infrastruktura bilen göz öňüne getirilen infrastrukturanyň arasyndaky baglanyşygy ýitirýär; Şonuň üçin döwletiň ätiýaçlyk nusgasy we gulplama mehanizmi (iki adamyň bir wagtyň özünde bozulmagyna päsgel berýän gulp) zerurdyr.

Stepdimme-ädim: AI bilen ygtybarly IaC

  1. Döwlet niýeti we üpjün ediji. "Terraform bilen AWS-de 2 serwer, bu sebitdäki ululyk we howpsuzlyk topary." Bulut, gural we wersiýa düşnükli bolsa, AI dogry sintaksis öndürýär.
  2. Howpsuzlyk talaplaryny soraň. "Howpsuzlyk toparyny açyň, şifrlemegi işjeňleşdiriň, üýtgeýänlere syrlary çykaryň, köpçülige açyk boluň". AI deslapky görnüşde boş nusgalary döredip biler.
  3. Kody okaň we düşüniň. Her çeşmä, her rugsada, setir boýunça düşüniň. Düşünmedik rugsadyňyzy ulanmaň.
  4. Meýilnama alyň we gözegçilikde saklaň. Meýilnamany işlediň / - barlaň, çykyşy AI bilen barlaň, pozmagy belläň we setirleri täzeden guruň.
  5. Kiçijik we tersine ulanyň. Birbada däl, ownuk böleklerde uly üýtgeşme amala aşyryň. Her ädimde gaýdyp barmagyň ýoluny biliň.
  6. Döwleti gora. Uzakdan, şifrlenen arkany we gulpy ulanyň; Hiç haçan ýagdaýy syzmaň.

üç sany kiçi halat

1-nji waka - meýilnama maglumat bazasyny dikeltdi. Bir inerener, AI bilen öndüren Terraform kody bilen maglumat bazasynyň göwrümini köpeltmek isledi. Terraform meýilnamasynyň çykyşynda "1 üýtgemegine" garaşýarka, "1 ýok etmek, 1 goşmak" gördi - saýlan parametri, ýeriň täzelenmegine däl-de, täzeden gurulmagyna itergi berdi, ýagny ähli maglumatlar ýok ediler. Meýilnama gözegçilik, durmuşa geçirilmezden yzyna gaýtaryp bolmajak maglumatlary ýitirmegi bes etdi.

2-nji hadysa - Boş tertipden gaýdyp geliň. Bir topar AI-den gorag koduny sorady. Mysal üçin, AI 0.0.0.0/0 ýönekeý düzgüni döretdi, ýagny "internetde köpçülige". Inerener, kody okaýarka muny gördi we diňe kärhananyň IP aralygyna girişi çäklendirdi. Gözegçilik edilmezden ýerine ýetirilen bolsa, maglumatlar bazasy tutuş internet üçin açyk bolardy.

3-nji hadysa - Döwlet syzmagynyň öňüni aldy. Kiçijik bir agza, Terraform.tfstate faýlyny Terraform meselesini çözmek üçin köpçülige açjak boldy. Uly inerener saklandy: ştatda ýönekeý tekst bazasynyň paroly bar. Muňa derek, meseläni suratlandyrýan şifrlenen gysgaça mazmun paýlaşyldy we döwlet uzakdaky şifrlenen arkasyna geçirildi.

Göçürip boljak dört şablon

1) IaC çeşmesini döretmek (ygtybarly başlangyç):

Siziň roluňyz: bulut infrastrukturasynyň uly inereneri. [Bulut, meselem AWS] [gural, meselem. Terraform] kod döredýär. Maksady: [maksat]. Howpsuzlyk düzgünleri: köpçülige (0.0.0.0/0) AÇYLMAK; iň dar rugsat bilen başlaň; şifrlemäni açyň; üýtgeýänlere syrlary çykaryň, kodlara salmaň; Öçürilmegine / dynç almagyna sebäp bolup biljek sazlamalary barlaň. Her çeşmäni gysga teswir bilen düşündiriň.

2) Çykyş meýilnamasyny meýilleşdiriň:

Aşakda [Terraform meýilnamasy / Ansible check] çykyşy. Maňa aýdyň: (1) näçe çeşme goşular / üýtgediler / pozular, (2) maglumatlary ýitirmek howpuny döredýän "ýok etmek" ýa-da "güýç çalşmak" setirlerini belläň, (3) garaşylmadyk ýa-da howply bolup görünýän üýtgeşmeleri sanap geçiň. Netije: [meýilnama]

3) IaC kod howpsuzlygyna syn:

Howpsuzlyk üçin aşakdaky IaC koduny gözden geçiriň: (1) aşa giň giriş / rugsatlar barmy, (2) şifrlemek öçürildi, (3) koda girizilen syrlar barmy, (4) köpçülige açyk çeşmeler barmy? Her tapyndy üçin düzediş teklip ediň. Kod: [maskaly kod]

4) Üýtgeşmäni howpsuz böleklere bölüň:

Bu uly infrastruktura üýtgemesini [düşündiriş] birbada durmuşa geçirmek islämok. Ony yzyna almak aňsat bolan ownuk, garaşsyz ädimlere bölüň. Her ädim üçin: haýsy üýtgeşmeler, meýilnamada nämä üns bermeli, kynçylyklar bar bolsa nädip yzyna gaýtarmaly?

Gowşak haýyş / Güýçli haýyş

Gowşak haýyş:

AWS-de serwer döredýän Terraform koduny ýazyň.

Sebit, ululyk, howpsuzlyk, tor, şifrlemek düşnüksiz. AI işlemek üçin iň ýumşak, iň aç-açan defoltlary öndürýär - önümçilige goýulsa, bu gowşaklyk bolar.

Güýçli haýyş:

Siziň roluňyz: bulut infrastrukturasynyň uly inereneri. AWS eu-central-1: t3.small-da Terraform bilen web serwerini kesgitläň, diňe korporatiw IP diapazonyndan (üýtgeýän bilen bererin) 443-nji port açyk, disk şifrlenen, köpçülige açyk däl, bellikler hökmany. Üýtgeýjä syrlar açylýar. Koddan soň: Ony durmuşa geçirmezden ozal meýilnamada üns bermeli we gaýdyp geliş ýoluny düşündirmeli 3 setir görnüşini aýdyň.

Tapgyr

Töwekgelçilik

howpsuzlyk demir ýoly

kod ýazmak

Dymmaklyk (köpçülige)

Dar rugsat + okamak

meýilleşdir / barla

Düşünmän pozmak

Barlamagy meýilleşdiriň, bellikleri ýok ediň

Giriş

Bir gezeklik uly üýtgeşiklik

Kiçijik, tersine ädimler

döwlet dolandyryşy

Aýnanyň syzmagy, ýoýulmagy

Uzakdan kodlanan arka + gulp

Adaty ýalňyşlyklar

  • Meýilnamany okamazdan ýüz tutmak. Meýilnama ýok edilmegi we täzeden gurulmagy aňladýar; Geçirilse, maglumatlaryň ýitmegi gutulgysyzdyr.
  • Boş defoltany duýman. AI mysallary ýygy-ýygydan 0.0.0.0/0 öndürýär; Önümçilige geçirilse, tutuş internet üçin açyk çeşmäni aňladýar.
  • Döwletiň syzmagy. Döwlet faýlyny AI ýa-da açyk ammarda eksport etmek, aç-açan syrlary açýar.
  • Kodda syrlary ýerleşdirmek Paroly IaC koduna ýazmak, kod wersiýasynyň taryhynda yzygiderli syzmakdyr.
  • Täzelenme üçin täzeden gurmak ýalňyş. Güýçleri çalyşmak setirine ähmiýet berilmezlik maglumatlar bazalarynda maglumatlaryň ýitmegine getirer.
Maslahat: Meýilnamanyň netijesini AI gözden geçirmek üçin bereniňizde-de, gutarnykly karary meýilnamanyň tekstine däl-de, öz bilimiňize esaslaň. AI meýilnamany jemleýär we töwekgelçilikli çyzyklary belleýär; emma "bu pozulmagy kabul edip bolarmy" diýen soraga jogap, iş şertleriňize baglydyr.

Gysgaça

IaC el bilen basmak däl-de, üýtgeýän kod bilen infrastrukturany dolandyrmak arkaly gaýtalanma we resminamalary getirýär. AI bu kody ýazmakda, ony beýan etmekde we howpsuzlyk üçin gözden geçirmekde güýçli hyzmatdaş. Emma IaC-iň güýji onuň howpy: bir setir ähli infrastrukturany ýok edip biler. Deklaratiw pikir ediň, iň dar rugsady bilen başlaň, boş düzgünleri düzediň, syrlary koddan we ýagdaýdan daşda saklaň. Iň möhüm garawul meýilnama / barlag ädimidir: öçürmek we setirleri täzeden gurmazdan hiç wagt ýerine ýetirmäň. Döwleti şifrlenen, gulplanan we uzakda saklaň. Kod “AI”, karar siziňki.

Programma meselesi

Uly bolmadyk infrastruktura nyşanyny saýlaň (mysal üçin, ýekeje wirtual maşyn we howpsuzlyk düzgüni). Aboveokardaky "IaC çeşme öndürmek" şablony bilen, AI-den ygtybarly tertipli kod soraň. Kod "IaC kod howpsuzlygyny gözden geçirmek" şablony bilen iki gezek barlaň we iň bolmanda bir gowşak sazlamany tapmaga synanyşyň. Mümkin bolsa, meýilnamany işlediň / - synag hasabyny barlaň we "Çykyş meýilnamasyny meýilleşdir" şablony bilen çykyşy gözden geçiriň; Öçürmek ýa-da döretmek setiriniň bardygyny görüň. Netijeleriňizi we döwleti nädip 6 nokatda gorajakdygyňyzy ýazyň.

gözegçilik sanawy

  • [] AI-e bulut, gural we wersiýa kesgitledim we iň dar rugsatlar bilen kod soradymmy?
  • [] Boş defoltlar üçin kod barladymmy (0.0.0.0/0, ýapyk şifrlemek)?
  • [] Üýtgeýjiniň syrlaryny koda salmagyň ýerine çykardymmy?
  • [] Meýilnamany okadym / çykyşy barladym we ýüz tutmazdan ozal öçürilen setirleri belledimmi?
  • [] "Güýçleri çalyşmak" / setirleri täzeden gurmak maglumat ýitgilerine täsir etdimmi?
  • [] Döwlet faýlyny şifrlenen, gulplanan, uzak arka tarapda saklamadymmy?