Nkeji 6 / 11

Ijikwa akụrụngwa dị ka koodu (IaC): Terraform, enwere ike ime na njikwa atụmatụ

Uru:

  • Ikike iji mepụta koodu IaC (Terraform, nke enwere ike) nwere ọgụgụ isi nwere ikike dị warara yana ndabara nchekwa wee ghọta usoro nkwupụta.
  • Ikike iji gbochie ọnwụ data site n'ịgụ na ijide ihichapụ na ịmanye ahịrị ngbanwe tupu itinye atụmatụ / nlele mmepụta
  • Ikike igbochi ntapu nzuzo site na idobe faịlụ steeti ezoro ezo, kpọchie, na azụ azụ dịpụrụ adịpụ na imebi mgbanwe n'ime obere usoro ntụgharị.

Njikwa akụrụngwa dị ka koodu (IaC): Terraform, Enwere ike ime na njikwa atụmatụ na AI

N'oge gara aga, ịtọlite ​​​​sava na-eji aka aka, iwu, na ndetu nkeonwe; Ihe si na ya pụta bụ sava "snowflake" enweghị ike imepụta nke ọ nweghị onye maara kpọmkwem otu esi edozi ya. Akụrụngwa dị ka Usoro (IaC) bụ ụzọ na-akwụsị ọgba aghara a: sava, netwọkụ, iwu nchekwa ka akọwapụtaghị site na aka, kama site na faịlụ ederede (koodu). Mgbe ị na-agba koodu a, a na-edozi akụrụngwa ahụ kpọmkwem ka ị dere ya - otu, edekọ, na nke a na-emegharị oge ọ bụla. Ngwa ndị a na-ahụkarị bụ Terraform na CloudFormation maka akụrụngwa igwe ojii na enwere ike ịhazi nhazi nkesa. N'ebe a AI nwere nkà nke ukwuu n'ịde, ịkọwa na nyochaa koodu IaC a. Mana ike nke IaC bụkwa ihe ize ndụ ya: otu ahịrị na-ezighi ezi nwere ike ihichapụ akụrụngwa dum; yabụ AI na-ede koodu, ị gụọ "atụmatụ", kwado ya wee mebie ya.

N'ime nkeji a, anyị ga-atụle usoro nkwupụta, atụmatụ / itinye ihe dị iche iche, nchekwa steeti na ike ike; Ị ga-amụta ọgbọ IaC na AI na nkà kachasị mkpa, "njikwa atụmatụ".

Na-eche echiche n'ụzọ doro anya: "Gịnị ma ọ bụrụ", ọ bụghị "otu esi eme"

Ọtụtụ ngwaọrụ IaC bụ nkwupụta: ị na-akọwa ọnọdụ ikpeazụ nke sistemụ ("ka anyị kwuo 3 sava weebụ, 1 load balancer"), ngwá ọrụ n'onwe ya na-agbakọ ka esi esi na steeti ahụ. Nke a dị iche na ide edemede ("mee nke a, mee nke ahụ" nzọụkwụ site na nzọụkwụ). Nnukwu uru nke usoro nkwupụta ahụ bụ idempotency: ọ bụrụgodị na ị na-agba ọsọ koodu ugboro iri, ihe ga-esi na ya pụta bụ otu ihe ahụ, n'ihi na ngwá ọrụ na-enyocha ma ọ bụrụ na ọnọdụ achọrọ adịlarị, ma ọ bụrụ na ọ dị, ọ dịghị emetụ ya aka. Cheta ọdịiche a mgbe ị na-ede IaC na AI: ị na-eme ka ọ na-ekwu "ka akụrụngwa a kwuo", ọ bụghị "gbaa iwu ndị a".

Mee atụmatụ/ tinye: ụgbọ okporo ígwè nchekwa kacha mkpa

Akụkụ nchekwa ndụ nke IaC bụ nzọụkwụ atụmatụ. Na Terraform, atụmatụ terraform, na ike, --check mode na-emepụta ihe nlele nke "ihe ga-agbanwe ma ọ bụrụ na m tinye ya" tupu ịmee koodu: "A ga-agbakwunye ihe abụọ, 1 ga-agbanwe, 0 ga-ehichapụ". Nke a bụ naanị ụzọ ị ga-esi jiri ebumnuche gị tụnyere eziokwu tupu mmejuputa ya. Iwu dị mkpa: etinyela akwụkwọ n'agụghị atụmatụ ahụ. Chọọ karịsịa maka ahịrị "na-ebibi"; Ọ bụrụ na ịhụ na "12 ga-ehichapụ" kama "1 ga-agbanwe" n'ihi typo, atụmatụ a zọpụtara gị na ọdachi. Mgbe ibipụtachara koodu ahụ na AI, kwuo ya "nyochaa usoro mmepụta atụmatụ site n'ahịrị na m, kaa akara ọ bụla nke nwere nhichapụ / ntụrụndụ."

Ịkpachara anya: Mgbanwe ụfọdụ na Terraform "bibie ma megharịa" ihe enyemaka kama ịbụ "imelite ebe". Nke a pụtara mfu data maka nchekwa data. Ileghara -/+ ma ọ bụ "na-amanye nnọchi" na mmepụta atụmatụ bụ otu n'ime mmejọ kachasị ọnụ.

Faịlụ steeti: ndekọ nke nzuzo na eziokwu

Ngwa dị ka Terraform na-edobe ọnọdụ akụrụngwa ha jikwaa na faịlụ steeti ugbu a. Faịlụ a dị oke egwu maka ihe abụọ. Nke mbụ, ọ nwere ike ịnwe ihe nzuzo (okwuntughe nchekwa data, igodo nwere ike ịdaba na steeti na ederede doro anya); Ya mere, ọnweghị mgbe mado steeti ahụ n'ime ebe nchekwa ọha ma ọ bụ AI, debe ya na ezoro ezo na njedebe ime ohere machibidoro. Nke abụọ, ọ bụrụ na steeti ahụ mebiri emebi ma ọ bụ furu efu, ụgbọ ala ahụ na-efunahụ njikọ dị n'etiti ezigbo akụrụngwa na akụrụngwa e chere; Ya mere, nkwado ndabere nke steeti na usoro mkpọchi (mkpọchi nke na-egbochi mmadụ abụọ imebi ya n'otu oge) dị mkpa.

Nzọụkwụ site nzọụkwụ: Chekwaa IaC na AI

  1. Ebumnobi steeti na onye na-eweta ya. "2 sava na AWS, yana Terraform, na mpaghara a, nha a, yana otu nchekwa." Ọ bụrụ na igwe ojii, ngwá ọrụ, na ụdị doro anya, AI na-emepụta syntax ziri ezi.
  2. Rịọ ndabara nchekwa. "Mepee otu nchekwa, mee ka ezoro ezo, wepụ ihe nzuzo na mgbanwe, nye ohere ọha." AI nwere ike iwepụta sample rụrụ arụ na ndabara.
  3. Gụọ ma ghọta koodu ahụ. Ghọta akụrụngwa ọ bụla, ikike ọ bụla, ahịrị n'ahịrị. Etinyela ikike ị na-aghọtaghị.
  4. Nweta atụmatụ wee nyochaa ya. Gbaa atụmatụ / - lelee, nyochaa mmepụta na AI, kaa akara ihichapụ ma wughachi ahịrị.
  5. Tinye obere na ntụgharị. Mee nnukwu mgbanwe na obere iberibe, ọ bụghị otu oge. Mara ụzọ azụ na nzọụkwụ ọ bụla.
  6. Chebe steeti. Jiri ebe dịpụrụ adịpụ, azụ azụ na mkpọchi ezoro ezo; Akwụsịla steeti.

Obere ikpe atọ

Ikpe 1 - The atụmatụ natara a nchekwa data. Otu onye injinia chọrọ iji koodu Terraform nke o ji AI mepụta wepụta nha data data. Mgbe ọ na-atụ anya na "1 ga-agbanwe" na mmepụta atụmatụ terraform, ọ hụrụ "1 ibibi, 1 ịgbakwunye" - paramita ọ họọrọ na-ebute mwughachi, ọ bụghị mmelite n'ime ebe, nke pụtara na a ga-ehichapụ data niile. Njikwa atụmatụ kwụsịrị mfu data enweghị mgbagha tupu emejuputa ya.

Ikpe 2 - Laghachi site na ndabara rụrụ arụ. Otu otu jụrụ AI maka koodu firewall. Iji mee ihe atụ, AI mepụtara usoro dị mfe nke 0.0.0.0/0, nke pụtara "ọha na ịntanetị". Injinia ahụ hụrụ nke a mgbe ọ na-agụ koodu ahụ wee mebie ohere ịnweta naanị oke IP ụlọ ọrụ. Ọ bụrụ na etinyere ya na-enweghị nyocha, nchekwa data ga-emeghe na ịntanetị niile.

Ikpe 3 - State ntapu egbochiri. Otu onye otu obere nọ na-achọ mado faịlụ terraform.tfstate emebibeghị n'ime ngwa ọha iji dozie okwu Terraform. Onye injinia ukwu kwụsịrị: steeti nwere paswọọdụ nchekwa data dị larịị. Kama, e kesara nchịkọta ezoro ezo nke na-akọwa nsogbu ahụ wee bugharịa steeti ahụ na azụ azụ ezoro ezo.

Ndebiri anọ enwere ike iṅomi

1) Ọgbọ akụrụngwa IaC (ndabara echekwara):

Ọrụ gị: nnukwu injinia akụrụngwa igwe ojii. [Urukpuru, dịka ọmụmaatụ. AWS] maka [ngwaọrụ, dịka ọmụmaatụ. Terraform] mepụta koodu. Nzube: [nzube].Iwu nchekwa: ọha (0.0.0.0/0) nweta OPEN; malite na kacha warara ikike; gbanye nzuzo; wepụ ihe nzuzo n'ime mgbanwe, etinyela ha na koodu; Lelee ntọala ndị nwere ike ibute ihichapụ/ntụrụndụ. Jiri nkọwa dị nkenke kọwaa isi mmalite nke ọ bụla.

2) Nyochaa mmepụta atụmatụ:

N'okpuru bụ mmepụta [Terraform plan/Check nwere ike ime]. Gwa m: (1) ego ole a ga-agbakwunye / gbanwee / ihichapụ, (2) na-akara akara "mebie" ma ọ bụ "mere nnọchi" nke na-ebute ihe ize ndụ nke mfu data, (3) depụta mgbanwe ọ bụla nke yiri ihe a na-atụghị anya ya ma ọ bụ dị ize ndụ. Mpụta: [plan]

3) Ntụle nchekwa koodu IaC:

Nyochaa koodu IaC ndị a maka nchekwa: (1) enwere ohere/ikike sara mbara, (2) agbanyụrụ nzuzo, (3) enwere ihe nzuzo etinyere na koodu ahụ, (4) enwere akụrụngwa dị n'ihu ọha? Tụnye mgbazi maka nchọpụta ọ bụla. Koodu: [masked koodu]

4) Kewaa mgbanwe ahụ n'ime akụkụ nchekwa:

Achọghị m ime mgbanwe nnukwu akụrụngwa a [nkọwa] otu mgbe. Kewaa ya n'ime obere nzọụkwụ ndị nwere onwe nke dị mfe ịlaghachi na ya. Maka nzọụkwụ ọ bụla: kedu mgbanwe, gịnị ka m kwesịrị ịṅa ntị na atụmatụ ahụ, olee otú m ga-esi megharịa ya ma ọ bụrụ na enwere nsogbu?

Ngwa ngwa adịghị ike / Ike siri ike

Ngwa ngwa adịghị ike:

Dee koodu Terraform nke na-emepụta ihe nkesa na AWS.

Mpaghara, nha, nchekwa, netwọkụ, izo ya ezo amabeghị. AI na-emepụta ihe na-adịghị mma, nke doro anya na-arụ ọrụ - ọ bụrụ na etinye ya na mmepụta, ọ ga-abụ adịghị ike.

Mgbasa ozi siri ike:

Ọrụ gị: nnukwu injinia akụrụngwa igwe ojii. Kọwaa ihe nkesa weebụ na Terraform na AWS eu-central-1: t3.small, naanị site na ụlọ ọrụ IP nke ụlọ ọrụ (M ga-enye ya na mgbanwe), ọdụ ụgbọ mmiri 443 na-emeghe, diski ezoro ezo, enweghị ohere ọha na eze, aha njirimara bụ iwu. A na-ekpughere ndị na-agbanwe agbanwe ihe nzuzo. Mgbe koodu ahụ gasịrị: Tupu imejuputa ya, gwa m ụdị ahịrị 3 m kwesịrị ịṅa ntị na atụmatụ ahụ ma kọwaa ụzọ nlọghachi.

Ogbo

Ihe ize ndụ

okporo ígwè nchekwa

koodu ederede

Ihe ndabara adịghị (ọha)

Ikike kacha dị warara + gụọ

atụmatụ / lelee

Na-ehichapụ na-amaghị ya

Nyochaa atụmatụ, mebie akara

Tinye

Nnukwu mgbanwe otu oge

Obere nzọụkwụ nwere ike ịtụgharị

nchịkwa steeti

Mgbagwoju anya glaze, mgbagha

Mkpọchi azụ + ezoro ezo dị anya

Mmejọ ndị nkịtị

  • Itinye n'ọrụ na-agụghị atụmatụ. Atụmatụ a na-ese onyinyo nhichapụ na nwughari; Ọ bụrụ na-amafe ya, data ọnwụ bụ ihe a na-apụghị izere ezere.
  • Achọpụtaghị ndabara rụrụ arụ. Ọnọdụ AI na-emepụtakarị 0.0.0.0/0; Ọ bụrụ na ebugharị ya na mmepụta, ọ pụtara ebe mepere emepe na ịntanetị niile.
  • Steeti na-agbapụta. Mbupu faịlụ steeti na AI ma ọ bụ ebe nchekwa mepere emepe na-ekpughe ihe nzuzo doro anya.
  • Na-etinye ihe nzuzo na koodu. Ide okwuntughe n'ime koodu IAC bụ mwepu na-adịgide adịgide na akụkọ ụdị koodu.
  • Na-emehie ihe nrụpụta maka mmelite. Ileghara ahịrị nnọchi ndị agha anya ga-ebute mfu data na ọdụ data.
NDỤMỌDỤ: Ọbụna mgbe ị na-enye mmepụta atụmatụ na AI iji nyochaa, dabere na mkpebi ikpeazụ na ihe ọmụma nke gị, ọ bụghị ederede atụmatụ. AI na-achikota atụmatụ na ọkọlọtọ ahịrị ndị dị ize ndụ; mana azịza nke ajụjụ a "bụ nke a na-anabata ihichapụ" dabere na ọnọdụ azụmahịa gị.

Na nchịkọta

IaC na-eweta nkwugharị na akwụkwọ site na ijikwa akụrụngwa nwere koodu nwere ike imepụta kama ịpịrị aka. AI bụ onye mmekọ siri ike na-ede koodu a, na-akọwa ya, na nyochaa ya maka nchekwa. Mana ike nke IaC bụ ihe egwu ya: otu ahịrị nwere ike ikpochapụ akụrụngwa niile. Chee echiche nkwupụta, bido site na ikike kacha dị warara, dozie ndabara adịghị mma, debe ihe nzuzo na koodu na steeti. Ụgbọ okporo ígwè kachasị mkpa bụ atụmatụ/nleba anya: emela ya n'agụghị ihichapụ ma wughachi ahịrị. Debe steeti ezoro ezo, kpọchie na ebe dịpụrụ adịpụ. Koodu bụ nke AI, mkpebi ahụ bụ nke gị.

Ọrụ ngwa

Họrọ obere ebumnuche akụrụngwa (dịka ọmụmaatụ, otu igwe mebere na iwu nchekwa). Site na ndebiri “IaC akụrụngwa ọgbọ” dị n'elu, jụọ AI maka koodu nwere ndabara adịghị mma. Jiri ndebiri "IaC code security review" lelee koodu ahụ ugboro abụọ wee gbalịa ịchọta opekata mpe otu ntọala rụrụ arụ. Ọ bụrụ na ọ ga-ekwe omume, mee atụmatụ/--elele akaụntụ ule wee jiri ndebiri "Nleba anya mmepụta atụmatụ" nyochaa mmepụta; Hụ ma enwere ihichapụ ma ọ bụ megharịa ahịrị. Dee nchoputa gị na otu ị ga-esi chebe steeti ahụ na isi isii.

ndetu

  • [] Ezipụta m igwe ojii, ngwa ọrụ na ụdị na AI wee rịọ koodu site na iji ikike kacha dị warara?
  • [ ] Atụlela m koodu maka ndabara adịghị (0.0.0.0/0, nzuzo mechiri emechi)?
  • [] Ewepụtala m ihe nzuzo na mgbanwe kama itinye ha na koodu?
  • [ ] Agụrụ m atụmatụ/ lelee mmepụta wee kaa akara ahịrị ihichapụ tupu itinye akwụkwọ?
  • [] Atụlela m mmetụta mfu data nke "ngbanwe ndị agha" / wughachi ahịrị?
  • Edokwaghị m faịlụ steeti ezoro ezo, kpochie, na azụ azụ dịpụrụ adịpụ wee wepụ ya?