ඒකක
1. DevOps සහ Cloud AI සඳහා හැඳින්වීම: භූමිකාවන්, සීමා මායිම්, සත්‍යාපනය, ආරක්ෂාව සහ රහස් 2. කෘතිම බුද්ධිය සහිත CI/CD නල මාර්ග සැලසුම් කිරීම: GitHub ක්‍රියා සහ GitLab CI 3. කේතය ලෙස යටිතල පහසුකම් කළමනාකරණය: Terraform සහ IaC සමඟ කෘතිම බුද්ධිය 4. බහාලුම්කරණය: කෘතිම බුද්ධිය සමඟින් ඩොකර්ෆයිල් සහ රූප ප්‍රශස්තකරණය 5. කුබර්නෙටස්: මැනිෆෙස්ට්, හෙල්ම් සහ AI-බලවත් වාද්‍ය වෘන්දය 6. අධීක්‍ෂණය සහ නිරීක්ෂණ හැකියාව: මෙට්‍රික්, ලොග්, ට්‍රේස් සහ එලාම් රීති 7. සිදුවීම් කළමනාකරණය සහ පශ්චාත් මරණ පරීක්ෂණය: කෘතිම බුද්ධිය සමඟ මූල හේතුව විශ්ලේෂණය 8. Cloud Cost Optimization (FinOps): කෘතිම බුද්ධිය සමඟ අපද්‍රව්‍ය සඳහා දඩයම් කිරීම 9. ස්ක්‍රිප්ට් සහ ස්වයංක්‍රීය ජනනය: Bash, Python සහ PowerShell 10. ආරක්ෂාව සහ රහස් කළමනාකරණය: DevSecOps සහ කෘතිම බුද්ධිය 11. නිෂ්පාදන සත්‍යාපනය, මුදා හැරීමේ උපාය මාර්ග සහ අවසානය සිට අවසානය දක්වා AI කාර්ය ප්‍රවාහය
ඒකකය 3 / 11

කේතය ලෙස යටිතල පහසුකම් කළමනාකරණය: Terraform සහ IaC සමඟ කෘතිම බුද්ධිය

ලාභ:

  • IaC සංකල්පය සහ Terraform හි ක්‍රියාකාරී චක්‍රය (init, plan, apply, state, module) අවබෝධ කර ගැනීමේ හැකියාව සහ කෘත්‍රිම බුද්ධිය තිබීම ආරක්ෂිත HCL කෙටුම්පත් නිෂ්පාදනය කරයි.
  • අයදුම් කිරීමට පෙර සැලැස්මක් සමඟ එක් එක් වෙනස්කම පරීක්ෂා කිරීමට සහ අනපේක්ෂිත විනාශ/ප්‍රතිස්ථාපන රේඛා අල්ලා ගැනීමේ හැකියාව
  • කේතයෙන් රහස් තබා ගැනීම, තත්වය ආරක්ෂිතව තබා ගැනීම සහ IAM අවසරයන් අවම කිරීම යන මූලධර්ම අදාළ කර ගැනීමේ හැකියාව

අතීතයේදී, සේවාදායකයක් සැකසීම වලාකුළු පැනලයක් හරහා ක්ලික් කිරීමකි: අථත්ය යන්ත්රයක් සාදන්න, ජාලය සකසන්න, ආරක්ෂක රීතිය එකතු කරන්න. මෙම ක්‍රමය මන්දගාමී, දෝෂ සහිත සහ නැවත නැවත කළ නොහැකි විය - දෙවන වරට එකම පරිසරයක් සැකසීමට නොහැකි තරම් විය. අද, යටිතල පහසුකම් කළමනාකරණය කරනු ලබන්නේ කේතයක් ලෙස ය. IaC (කේතය ලෙස යටිතල පහසුකම්) යනු සර්වර්, ජාල සහ දත්ත සමුදායන් වැනි ක්ලවුඩ් සම්පත් අතින් නොව පෙළ ගොනු වල විස්තර කිරීමේ ප්‍රවේශයකි. මෙම ගොනු අනුවාද පාලනයේ (Git) හිඳියි; වෙනස් කළේ කවුද, කවදාද සහ කුමක් ද යන්න ඔබට දැක ගත හැකිය; ඔබට එකම යටිතල පහසුකම් බොහෝ වාරයක්, හරියටම එකම ආකාරයකින්, එක් විධානයකින් සැකසිය හැක.

වඩාත් පොදු IaC මෙවලම Terraform වේ. Terraform විසින් HCL (HashiCorp Configuration Language — Terraform's configuration language) නම් කියවිය හැකි භාෂාවකින් ඔබ ලියන නිර්වචන ලබා ගනී, ඒවා cloud provider ගේ (AWS, Azure, GCP) API වෙත පරිවර්තනය කර සම්පත් නිර්මාණය කරයි. AI HCL හොඳින් දන්නා අතර ඉක්මනින් සංකීර්ණ කොටස් නිපදවයි. නමුත් IaC හි, වැරදීමක පිරිවැය ඉහළ ය: එක් වැරදි නිර්වචනයක් මඟින් සම්පූර්ණ නිෂ්පාදන දත්ත ගබඩාවක් මකා දැමිය හැකිය. ටෙරාෆෝම් හි ස්වර්ණමය රීතිය වන්නේ එය ක්‍රියාත්මක කිරීමට පෙර සෑම වෙනසක්ම 'සැලැස්මකින්' බැලීමයි.

Terraform හි ධාවන කාලය

Terraform මූලික විධාන තුනක් සමඟ ක්‍රියා කරයි - මේවා දැන ගැනීම AI ප්‍රතිදානය පාලනය කිරීම සඳහා පූර්ව අවශ්‍යතාවයකි:

  • `terraform init`: ව්‍යාපෘතිය ආරම්භ කරයි, අවශ්‍ය සැපයුම්කරු ප්ලගීන බාගත කරයි.
  • `terraform plan`: වත්මන් තත්ත්වය අපේක්ෂිත තත්ත්වය සමඟ සංසන්දනය කර එකතු කළ යුතු දේ, වෙනස් කළ යුතු දේ, මකා දැමිය යුතු දේ පෙන්වයි. කිසිවක් ක්රියාත්මක නොකරයි. එය වඩාත්ම තීරණාත්මක ආරක්ෂක පියවරයි.
  • `terraform apply`: ඇත්තටම සැලැස්ම අදාළ කරයි, සම්පත් නිර්මාණය/වෙනස් කිරීම.

මීට අමතරව, සංකල්ප දෙකක් වැදගත් වේ. රාජ්ය (රාජ්ය ගොනුව): මෙය Terraform එය කළමනාකරණය කරන සම්පත් වල වත්මන් තත්ත්වය තබා ගන්නා ගොනුවයි; එය සාමාන්‍යයෙන් දුරස්ථ සහ අගුලු දැමූ ගබඩාවක ගබඩා කර ඇති අතර එමඟින් පුද්ගලයන් දෙදෙනෙකුට එකවර වෙනස් කිරීමට හෝ විනාශ කිරීමට නොහැකි වේ. මොඩියුලය: නැවත භාවිතා කළ හැකි මානකරන පැකේජය; උදාහරණයක් ලෙස, ඔබට බොහෝ ව්යාපෘති වලදී "ජාලයක් සකසන්න" මොඩියුලය භාවිතා කළ හැකිය.

ඉඟිය: ටෙරාෆෝම් ප්‍රතිදානයක ඇති භයානකම ලකුණ වන්නේ සැලසුම් ප්‍රතිදානයේ විනාශය හෝ -/+ (ප්‍රතිස්ථාපනය) රේඛා වේ. මෙයින් අදහස් කරන්නේ සම්පත මකා දැමෙනු ඇති බවයි. සැලැස්මක් තුළ අනපේක්ෂිත විනාශයක් ඔබ දුටුවහොත්, කිසි විටෙකත් අයදුම් නොකරන්න, එය දර්ශනය වූයේ මන්දැයි පළමුව තේරුම් ගන්න.

පියවරෙන් පියවර: AI සමඟ IaC ලිවීම

  1. අපේක්ෂිත යටිතල පහසුකම් පැහැදිලි කරන්න. "එක් VPC එකක්, උපජාල දෙකක්, එක් ආරක්ෂක කණ්ඩායමක් සහ eu-central-1 හි එක් t3.micro EC2" වැනි සංයුක්ත වන්න.
  2. සපයන්නා සහ අනුවාදය සඳහන් කරන්න. කුමන වලාකුළ, කුමන Terraform සහ සැපයුම්කරු අනුවාදයද? ඔබ අනුවාදයක් සඳහන් නොකරන්නේ නම්, AI යල් පැන ගිය/නොගැලපෙන වාක්‍ය ඛණ්ඩය ලබා දිය හැක.
  3. HCL කෙටුම්පත නිෂ්පාදනය කරන්න. විචල්‍යයන් සහ ප්‍රතිදානයන් ද ඉල්ලා සිටින්න.
  4. රහස එළියට ගන්න. මුරපද සහ යතුරු වැනි අගයන් කේතයට නොව විචල්‍ය සහ රහස් සුරක්ෂිතාගාරයට යා යුතුය.
  5. `init` + `සැලැස්ම` ධාවනය කරන්න. සැලැස්ම නිමැවුම් පේළියෙන් පේළිය කියවන්න; අනපේක්ෂිත මකාදැමීම් සඳහා පරීක්ෂා කරන්න.
  6. කුඩාවෙන් ආරම්භ කරන්න, ක්රමයෙන් ක්රියාත්මක කරන්න. එය මුලින්ම හුදකලා පරීක්ෂණ ගිණුමක/පරිසරයක යොදන්න.

ආරක්ෂාව: IaC-විශේෂිත අවදානම්

IaC එය බලවත් මෙන්ම අවදානම්. තීරණාත්මක කරුණු තුනක්:

  1. රාජ්‍ය ගොනුවේ රහසක් තිබේ. ටෙරාෆෝම් තත්වය සමහර විට දත්ත සමුදා මුරපද වැනි සංවේදී අගයන් සාමාන්‍ය පෙළෙහි තබා ගනී. කිසිවිටෙක රාජ්‍යය පොදු ගබඩාවක නොතබන්න; සංකේතනය කළ, සීමා කළ ප්‍රවේශ දුරස්ථ පසුබිමක් භාවිතා කරන්න.
  2. HCL හි රහස් ඇතුළත් නොකරන්න. මුරපදය="prod123" වැනි පේළි ස්ථිරවම Git ඉතිහාසයට ලියා ඇත. ඒ වෙනුවට, විචල්‍යයක් භාවිතා කර පරිසර විචල්‍යයෙන් (TF_VAR_...) හෝ රහස් ගබඩාවෙන් ධාවන වේලාවේදී අගය ලබා දෙන්න.
  3. ඉතා පුළුල් IAM අවසරය. AI සමහර විට Action වැනි කොටස් නිෂ්පාදනය කරයි: "*" (සියල්ලට ඉඩ දෙන්න) "එය ක්‍රියාත්මක කිරීමට". මෙය අවදානමකි; අවසරය අවශ්‍ය අවම ප්‍රමාණයට පටු කරන්න.
අවධානය: Git ඉතිහාසයට රහසක් ඇතුල් වූ පසු, එය අතීතයේ පවතින අතර, ඔබ ගොනුව මකා දැමුවද එය සම්මුතියකට ලක් විය හැක. ඔබ වැරදීමකින් සිදු කරන්නේ නම්, වහාම අවලංගු කර රහස කරකවන්න; මකා දැමීම පමණක් ප්‍රමාණවත් නොවේ.

අවදානම් සැලැස්ම සංඥා වගුව

මුද්‍රණය සැලසුම් කරන්න

අර්ථය

මොනවා කරන්නද කියලා

+ නිර්මාණය කරන්න

නව සම්පත් එකතු වනු ඇත

සාමාන්යයෙන් ආරක්ෂිතයි, නමුත් සමාලෝචනය කරන්න

~ තැනින් තැන යාවත්කාලීන කරන්න

අඩවියේ මූලාශ්රය වෙනස් වනු ඇත

බලපෑම තහවුරු කරන්න (ඇනහිටීමක් සිදුවේද?)

-/+ ආදේශ කරන්න

මකා දමා නැවත නිර්මාණය කරනු ඇත

අවවාදයයි: දත්ත නැතිවීම සිදුවිය හැක

- විනාශ කරන්න

සම්පත විනාශ වෙනවා

නවත්වන්න: ඔබ එය බලාපොරොත්තු නොවන්නේ නම් කිසි විටෙකත් අයදුම් නොකරන්න

කුඩා නඩු තුනක්

නඩුව 1 - දින 2 වැඩ පැය 3 කින්. එක් කණ්ඩායමක් නව පරීක්ෂණ පරිසරයක් (VPC, subnets, RDS දත්ත සමුදාය, ECS පොකුරු) පිහිටුවීමට Terraform ලිවීමට යන නමුත් ඔවුන් HCL වෙත මාරු වී ඇත. ඔවුන් AI වෙත ගෘහ නිර්මාණ ශිල්පය සහ අනුවාද විස්තර කළ අතර මොඩියුලර් සැලැස්මක් නිෂ්පාදනය කළහ. ඔවුන් සැලැස්ම සමඟ එක් එක් මොඩියුලය සත්‍යාපනය කර පැය 3 කින් එය ක්‍රියාත්මක කර ඇත; එය ඔවුන්ට අතින් අත්හදා බැලීම සහ දෝෂය දින දෙකක් ගත වනු ඇත.

නඩුව 2 - සැලැස්ම මකාදැමීමකට හසු විය. ඉංජිනේරුවෙක් AI-උත්පාදිත යාවත්කාලීන කේතයක් යෙදීමෙන් තොරව සැලසුමක් ක්‍රියාත්මක කළේය. නිෂ්පාදන දත්ත ගබඩාව සඳහා ප්‍රතිස්ථාපනය -/+ අඩංගු ප්‍රතිදානය - ප්‍රතිස්ථාපනය කළ නොහැකි ක්ෂේත්‍රයක් ප්‍රතිස්ථාපනය කිරීමට AI උත්සාහ කළේය, එයින් අදහස් කළේ දත්ත සමුදාය මකා දැමීම සහ ප්‍රතිනිර්මාණය කිරීමයි. ඉංජිනේරුවරයා අයදුම් කිරීම නවතා ආරක්ෂිත ක්‍රමයට වෙනස් කිරීම වෙනස් කළේය. සැලසුම් කිරීමේ පුරුද්ද ව්‍යසනයක් වළක්වා ගත්තේය.

නඩුව 3 - වළලන ලද රහස් කාන්දු වීම. කනිෂ්ඨ, YZ නිකුත් කරන ලද db_password = "S3cret!" ඔහු රේඛාව එලෙසම කර එය තල්ලු කළේය. කේත සමාලෝචනයට හසු විය; මුරපදය වහාම අවලංගු කර වෙනස් කර, අගය විචල්‍යයකට ගෙන ගොස් රහස් සුරක්ෂිතාගාරයෙන් පෝෂණය විය. පාඩම: HCL හි කිසි විටෙක සරල රහස් නොමැත.

පිටපත් කළ හැකි සැකිලි හතරක්

1) යටිතල පහසුකම් කෙටුම්පත ජනනය කිරීම:

පහත යටිතල පහසුකම් [CLOUD: AWS] මත Terraform (~> 1.7 අනුවාදය) සමඟ ලියන්න: [SOURCE LIST]. කලාපය [X]. රීති:- සියලුම සංවේදී අගයන් විචල්‍ය කරන්න, ඒවා HCL තුළට ඇතුළත් නොකරන්න.- සපයන්නාගේ අනුවාදය (අවශ්‍ය_ සපයන්නන්) සවි කරන්න.- IAM අවසරයන් අවම කරන්න, "*" භාවිතා නොකරන්න.- [X, Y] ප්‍රතිදානය ලෙස ආපසු දෙන්න. කේතය මොඩියුලර් ලෙස සහ පැහැදිලි කිරීම් සමඟ දෙන්න.

2) සැලසුම් ප්‍රතිදානය අර්ථ දැක්වීම:

පහත 'ටෙරාෆෝම් සැලැස්ම' ප්‍රතිදානය විශ්ලේෂණය කරන්න. මා ලැයිස්තුගත කරන්න:(1) එකතු කරන ලද/වෙනස් කළ/මකා දැමූ සම්පත් මොනවාද,(2) දත්ත නැතිවීමේ හෝ බාධා කිරීමේ අවදානමක් ඇති පේළි,(3) අයදුම් කිරීමට පෙර මා ඇසිය යුතු ප්‍රශ්න 3. සැලැස්ම: [OUTPUT]

3) ආරක්ෂාව සඳහා පවතින HCL පරීක්ෂා කරන්න:

ආරක්ෂාව සඳහා පහත Terraform කේතය පරීක්ෂා කරන්න: කාවැද්දූ රහස, ඕනෑවට වඩා පුළුල් IAM අවසරය, විවෘත ජාල රීතිය (0.0.0.0/0), සංකේතනය නොකළ ගබඩාව? එක් එක් සොයා ගැනීම වැදගත්කම සහ නිවැරදි කිරීම අනුව ලියන්න. කේතය: [HCL]

4) පුනරාවර්තන කේතය මොඩියුලයට පරිවර්තනය කරන්න:

පහත පුනරාවර්තී ටෙරාෆෝම් කේතය නැවත භාවිත කළ හැකි මොඩියුලයක් බවට පරිවර්තනය කරන්න: විචල්‍ය විය යුතු අගයන් මොනවාද, මොඩියුල අතුරුමුහුණත කුමක් විය යුතුද? උදාහරණ භාවිතය ද පෙන්වන්න. කේතය: [HCL]

දුර්වල ක්ෂණික / ශක්තිමත් විමසුම

දුර්වල: "Terraform සමඟ දත්ත සමුදායක් සාදන්න."

ප්‍රතිඵලය: කුමන වලාකුළද, කුමන එන්ජිමද, කුමන අනුවාදයද, සංකේතනය කර තිබේද නැද්ද යන්න පැහැදිලි නැත; ලෙගසි සින්ටැක්ස් සමඟින්, AI හට කේතය තුළට මුරපදය ඇතුළත් කරන පොදු වශයෙන් ලබා ගත හැකි උදාහරණයක් සැපයිය හැක.

ශක්තිමත්: "AWS මත Terraform ~> 1.7 සමඟ RDS PostgreSQL 15 අවස්ථාවක් සාදන්න. මුරපදය විචල්‍ය කරන්න, එය කේතයට ඇතුළත් නොකරන්න. ගබඩාව සංකේතනය කර ඇත, ප්‍රවේශ විය හැක්කේ පුද්ගලික උපජාලයකින් පමණි, පොදු නොවේ. සපයන්නාගේ අනුවාදය නිවැරදි කරන්න. අවසන් ලක්ෂ්‍යය ප්‍රතිදානය ලෙස ආපසු දෙන්න."

වෙනස: දෙවන ප්‍රේරකය මඟින් එන්ජිම, අනුවාදය, සංකේතනය, ජාල සීමාව සහ රහස් රීතිය ලබා දෙයි - ප්‍රතිදානය ආරක්ෂිත වන අතර නිෂ්පාදනයට සමීප වේ.

පොදු වැරදි

  • 'සැලැස්මක්' සෑදීමෙන් තොරව 'අයදුම් කිරීමට'. IaC හි වඩාත්ම මිල අධික වැරැද්ද; සෑම විටම පළමුව සැලසුම් කරන්න.
  • HCL හි කාවැද්දීමේ රහස. Git ඉතිහාසයට ස්ථිර කාන්දුවක් ඇති කරයි.
  • රාජ්ය අනාරක්ෂිත ලෙස ගබඩා කිරීම. සංකේතනය නොකළ, අගුලු නොදැමූ, පොදු රාජ්‍යයක් ව්‍යසනයකි.
  • අනුවාදය සවි කිරීම නොවේ. අනුවාදයක් සඳහන් නොකර සැපයුම්කරු භාවිතා කිරීම අනාගතයේදී හදිසි අසාර්ථකත්වයට හේතු වනු ඇත.
  • *`ක්‍රියාව: ""` වැනි පුළුල් අවසරය.** අවම වරප්‍රසාද මූලධර්මය උල්ලංඝනය කරයි.
  • අනපේක්ෂිත 'විනාශ කිරීම' නොසලකා හැරීම. ප්‍රශ්න කිරීමකින් තොරව සැලැස්මේ මකා දැමීමේ රේඛා යෙදීම.

සාරාංශයක් ලෙස

IaC යටිතල පහසුකම් පුනරාවර්තනය කළ හැකි, අනුවාදය කළ හැකි සහ විගණනය කළ හැකි කේතයක් බවට පත් කරයි; වඩාත් පොදු මෙවලම වන්නේ Terraform වේ. AI ඉක්මනින් HCL stubs නිෂ්පාදනය කරයි, නමුත් ඔබ අනුවාදය, වලාකුළු-විශේෂිත විස්තර සහ ආරක්ෂක නීති සැපයිය යුතුය. Terraform හි නොවරදින රීතිය: සෑම වෙනස්කමක්ම සැලැස්මක් සමඟින් දැකීමට, අනපේක්ෂිත මකාදැමීම් විමසීමට, රහස් කේතයෙන් ඈත් කිරීමට සහ රාජ්‍යය සුරක්ෂිතව තබා ගැනීමට. සැලසුම් ප්‍රතිදානයක ඇති විනාශ සහ ප්‍රතිස්ථාපන රේඛා වඩාත් ප්‍රවේශමෙන් කියවිය යුතු ස්ථාන වේ.

යෙදුම් කාර්යය

ඉහත "යටිතල පහසුකම් සටහන උත්පාදනය කරන්න" අච්චුව භාවිතයෙන් කුඩා යටිතල ව්‍යුහයක් (උදා: ගබඩා බාල්දියක් සහ ප්‍රවේශ ප්‍රතිපත්තියක්) උත්පාදනය කිරීමට AI හට සලස්වන්න. ඉන්පසු: (1) "පරීක්ෂා කිරීමේ" අච්චුව රහස් හෝ * අවසර සඳහා කේතයේ ඇතුළත් කර ඇත; (2) හැකි නම්, පරීක්ෂණ ගිණුමක init + සැලැස්ම ධාවනය කර "සැලසුම් අර්ථකථනය" අච්චුව සමඟ සැලසුම් ප්‍රතිදානය කියවන්න; (3) අනපේක්ෂිත මකාදැමීම්/වෙනස්කම් සටහන් කරන්න.

පිරික්සුම් ලැයිස්තුව

  • [ ] මම Cloud, Terraform/provider අනුවාදය, සහ encryption/network constraints මගේ විමසුමට එක් කළෙමි.
  • [ ] කේතයෙහි සරල පාඨ රහසක් නොමැත; නිරවද්‍ය අගයන් විචල්‍යය.
  • [ ] මම IAM/අවසර අවම අවසරයකට සීමා කළෙමි, * මම එය භාවිතා නොකළෙමි.
  • [ ] මම අයදුම් කිරීමට පෙර සැලැස්ම ක්‍රියාත්මක කර ප්‍රතිදානය පේළියෙන් පේළිය කියෙව්වා.
  • [ ] සැලැස්ම තුළ අනපේක්ෂිත විනාශයක්/ප්‍රතිස්ථාපනයක් නොමැති බව මම තහවුරු කළෙමි.
  • [ ] රාජ්‍යය සංකේතාත්මක, අගුලු දැමූ සහ සීමා කළ පසු අන්තයක තබා ඇති බව මට විශ්වාසයි.