Бирдиктер
1. DevOps жана Cloud AIге киришүү: ролдор, чек аралар, аутентификация, коопсуздук жана сырлар 2. Жасалма интеллект менен CI/CD түтүктөрүн долбоорлоо: GitHub аракеттери жана GitLab CI 3. Инфраструктураны код катары башкаруу: Terraform жана IaC менен жасалма интеллект 4. Контейнерлештирүү: Dockerfile жана жасалма интеллект менен сүрөттү оптималдаштыруу 5. Kubernetes: Манифест, Helm жана AI менен иштөөчү оркестр 6. Мониторинг жана байкоо: метрикалык, журнал, из жана сигнал эрежелери 7. Окуяларды башкаруу жана өлүмдөн кийинки: Жасалма интеллект менен түпкү себептерди талдоо 8. Булуттагы чыгымдарды оптималдаштыруу (FinOps): Жасалма интеллект менен таштандыларды издөө 9. Скрипт жана автоматташтыруу түзүү: Bash, Python жана PowerShell 10. Коопсуздук жана сырларды башкаруу: DevSecOps жана жасалма интеллект 11. Продукцияны текшерүү, чыгаруу стратегиялары жана аягына чейин AI иштөө процесси
бирдиги 3 / 11

Инфраструктураны код катары башкаруу: Terraform жана IaC менен жасалма интеллект

Пайдалар:

  • IaC концепциясын жана Terraformдун иштөө циклин (баштоо, пландоо, колдонуу, абал, модуль) түшүнүү жана жасалма интеллект коопсуз HCL долбоорлорун түзө билүү
  • Ар бир өзгөртүүнү колдонуудан мурун план менен текшерүү жана күтүлбөгөн жок кылуу/алмаштыруу сызыктарын кармоо мүмкүнчүлүгү
  • Коддон сырларды сактоо, абалды коопсуз сактоо жана IAM уруксаттарын минималдаштыруу принциптерин колдонуу мүмкүнчүлүгү

Мурда серверди орнотуу булут панелинен өтүү маселеси болчу: виртуалдык машинаны түзүү, тармакты орнотуу, коопсуздук эрежесин кошуу. Бул ыкма жай, катага жакын жана кайталангыс болгон — бир эле чөйрөнү экинчи жолу орнотуу дээрлик мүмкүн эмес болчу. Бүгүнкү күндө инфраструктура код катары башкарылат. IaC (Код катары инфраструктура) бул кол менен эмес, тексттик файлдарда серверлер, тармактар ​​жана маалымат базалары сыяктуу булут ресурстарын сүрөттөө ыкмасы. Бул файлдар версияны башкарууда (Git) отурат; Ким эмнени, качан жана эмнени өзгөрткөндүгүн көрө аласыз; Бир буйрук менен бир эле инфраструктураны көп жолу, дал ушундай жол менен орното аласыз.

таралган IaC курал Terraform болуп саналат. Terraform сиз жазган аныктамаларды HCL (HashiCorp Configuration Language — Terraformдун конфигурация тили) деп аталган окула турган тилде алып, аларды булут провайдеринин (AWS, Azure, GCP) API'сине которуп, ресурстарды түзөт. AI HCLди жакшы билет жана татаал блокторду тез чыгарат. Бирок IaCда катанын баасы жогору: бир туура эмес аныктама бүтүндөй өндүрүш базасын жок кылышы мүмкүн. Ошондуктан Терраформдагы алтын эреже - бул ар бир өзгөрүүнү ишке ашыруудан мурун "план" менен көрүү.

Terraform'тун иштөө убактысы

Terraform үч негизги буйруктар менен иштейт - бул AI чыгарууну башкаруу үчүн милдеттүү шарт болуп саналат:

  • `terraform init`: Долбоорду баштайт, керектүү провайдердин плагиндерин жүктөйт.
  • `terraform планы`: Учурдагы кырдаалды керектүү кырдаал менен салыштырып, эмне кошуу, эмнени өзгөртүү, эмнени жок кылуу керек экенин көрсөтөт. Эч нерсени ишке ашырбайт. Бул коопсуздуктун эң маанилүү кадамы.
  • `terraform application`: Чындыгында Планды колдонот, ресурстарды түзөт/өзгөртөт.

Мындан тышкары, эки түшүнүк абдан маанилүү. Мамлекет (мамлекеттик файл): Бул Terraform өзү башкарган ресурстардын учурдагы абалын сактаган файл; Ал, адатта, алыскы жана кулпуланган кампада сакталат, ошондуктан аны эки адам бир эле учурда өзгөртүп же жок кыла албайт. Модуль: Көп жолу колдонулуучу конфигурация пакети; Мисалы, сиз көптөгөн долбоорлордо "тармакты орнотуу" модулун колдоно аласыз.

Кеңеш: Terraform чыгаруудагы эң коркунучтуу белги план чыгаруудагы сызыктарды жок кылуу же -/+ (алмаштыруу) болуп саналат. Бул ресурс жок кылынат дегенди билдирет. Эгерде сиз планда күтүлбөгөн кыйроону көрсөңүз, эч качан колдонбоңуз, адегенде анын эмне үчүн пайда болгонун түшүнүңүз.

Кадам кадам: AI менен IaC жазуу

  1. Керектүү инфраструктураны тактаңыз. "eu-central-1деги бир VPC, эки субсеталар, бир коопсуздук тобу жана бир t3.micro EC2" сыяктуу конкреттүү болуңуз.
  2. Провайдерди жана версиясын көрсөтүңүз. Кайсы булут, кайсы Terraform жана провайдер версиясы? Эгерде сиз версияны көрсөтпөсөңүз, AI эскирген/кайра келбеген синтаксисти кайтарып бериши мүмкүн.
  3. HCL долбоорун даярдаңыз. Ошондой эле өзгөрмөлөрдү жана жыйынтыктарды сураңыз.
  4. Сырды чыгар. Сырсөздөр жана ачкычтар сыяктуу баалуулуктар кодго эмес, өзгөрмө жана жашыруун сактагычка өтүшү керек.
  5. `init` + `plan`ды иштетиңиз. План чыгарууну сап-сап окуу; Күтүлбөгөн өчүрүүлөрдү текшериңиз.
  6. Кичинеден баштаңыз, акырындык менен ишке ашырыңыз. Адегенде аны обочолонгон сыноо эсебинде/чөйрөсүндө колдонуңуз.

Коопсуздук: IaCга тиешелүү тобокелдиктер

IaC күчтүү болгон сыяктуу эле кооптуу. Үч критикалык пункт:

  1. Мамлекеттик делодо бир сыр бар. Terraform абалы кээде ачык текстте маалымат базасынын сырсөздөрү сыяктуу сезимтал маанилерди сактайт. Эч качан мамлекетти коомдук репозиторийге салбаңыз; Шифрленген, мүмкүнчүлүгү чектелген алыскы серверди колдонуңуз.
  2. HCLге сырларды киргизбеңиз. password="prod123" сыяктуу саптар Гит тарыхына биротоло жазылат. Анын ордуна, өзгөрмө колдонуңуз жана чөйрө өзгөрмөсүнөн (TF_VAR_...) же жашыруун сактагычтан иштөө убагында маани бериңиз.
  3. Абдан кеңири IAM уруксаты. AI кээде Action сыяктуу блокторду чыгарат: "*" (баарын иштетүүгө уруксат берүү). Бул алсыздык; талап кылынган минималдуу уруксатты тарытуу.
Көңүл буруңуз: сыр Git тарыхына киргенден кийин, ал өткөндө кала берет жана файлды жок кылсаңыз да, бузулушу мүмкүн. Эгер жаңылыштык менен жасасаңыз, дароо жокко чыгарып, сырды айлантыңыз; Жөн эле жок кылуу жетиштүү эмес.

Тобокелдик план белгилери стол

Планды басып чыгаруу

Мааниси

эмне кылуу керек

+түзүү

Жаңы ресурс кошулат

Жалпысынан коопсуз, бирок карап чыгуу

~ yerinde жаңыртуу

Булак сайтта өзгөрөт

Таасирди текшерүү (үзгүлтүк болобу?)

-/+ алмаштыруу

Жок кылынат жана кайра түзүлөт

ЭСКЕРТҮҮ: маалымат жоголуп кетиши мүмкүн

- жок кылуу

Ресурс жок кылынат

STOP: Эгер сиз күтпөгөн болсоңуз, эч качан кайрылбаңыз

үч мини учурлар

1-жагдай — 2 күндүк жумуш 3 саатта. Бир команда жаңы сыноо чөйрөсүн (VPC, субсеталар, RDS маалымат базасы, ECS кластери) түзүү үчүн Terraform жазмакчы болгон, бирок алар HCLге жаңы эле көчүп келишкен. Алар AIнын архитектурасын жана версияларын сүрөттөп, модулдук планды чыгарышты. Алар ар бир модулду план менен текшерип, 3 сааттын ичинде ишке киргизишти; Кол менен сыноо жана ката кетирүү үчүн аларга эки күн талап кылынмак.

2-жагдай - план жок кылынды. Инженер AI тарабынан түзүлгөн жаңыртуу кодун колдонбостон планды иштеткен. Чыгармада өндүрүштүк маалымат базасы үчүн -/+ алмаштыруу камтылган - AI алмаштырылбаган талааны алмаштырууга аракет кылды, бул маалымат базасын жок кылуу жана кайра түзүү дегенди билдирет. Инженер колдонууну токтотуп, өзгөртүүнү коопсуз ыкмага өзгөрттү. Пландоо адаты кырсыктын алдын алды.

3-жагдай - көмүлгөн жашыруун сыр. Кенже, YZ db_password = "S3cret!" Ал линияны кандай болсо, ошондой кылып, аны түрттү. Кодду карап чыгууда кармалган; Сырсөз дароо жокко чыгарылды жана өзгөртүлдү, маани өзгөрмөгө жылдырылды жана жашыруун сактагычтан азыктанды. Сабак: HCLде эч качан ачык текст сырлары жок.

Көчүрүү үчүн төрт шаблон

1) инфраструктуранын долбоорун түзүү:

Terraform (~> 1.7 версиясы) менен [CLOUD: AWS] боюнча төмөнкү инфраструктураны жазыңыз: [БУЛАК ТИЗМЕСИ]. Регион [X]. Эрежелер:- Бардык сезимтал маанилерди өзгөрүлмө кылыңыз, аларды HCLге кыстарбаңыз.- Провайдердин версиясын оңдоңуз (required_providers).- IAM уруксаттарын азайтыңыз, "*" колдонбоңуз.- [X, Y] чыгаруу катары кайтарыңыз. Кодду модулдук жана түшүндүрмөлөр менен бериңиз.

2) планды чыгарууну чечмелөө:

Төмөндө "терраформа планы" чыгарууну талдаңыз. Мени тизмелеп бериңиз:(1) кандай ресурстар кошулду/өзгөртүлдү/ЖОК кылынды,(2) берилиштер жоголуп кетүү же үзгүлтүккө учуроо коркунучу бар саптар,(3) тапшыраардан мурун мен бере турган 3 суроо.План: [OUTPUT]

3) коопсуздук үчүн учурдагы HCL текшерүү:

Коопсуздук үчүн төмөнкү Terraform кодун текшериңиз: камтылган сыр, өтө кеңири IAM уруксаты, ачык тармак эрежеси (0.0.0.0/0), шифрленбеген сактагыч? Ар бир жыйынтыкты маанилүүлүгү жана оңдоо ирети менен жазыңыз. Код: [HCL]

4) Кайталануучу кодду модулга айландырыңыз:

Төмөнкү кайталануучу Terraform кодун кайра колдонулуучу модулга айландырыңыз: өзгөрмөлөр кандай маанилер болушу керек, модулдун интерфейси кандай болушу керек? Ошондой эле мисал колдонууну көрсөтүү. Код: [HCL]

Алсыз тездик / Күчтүү тездик

Алсыз: "Terraform менен маалымат базасын түзүү."

Натыйжа: кайсы булут, кайсы кыймылдаткыч, кайсы версия, шифрленген же жокпу түшүнүксүз; Эски синтаксис менен AI кодго сырсөздү киргизген жалпыга жеткиликтүү мисалды бере алат.

Күчтүү: "Terraform ~> 1.7 менен AWSде RDS PostgreSQL 15 инстанциясын түзүңүз. Сырсөздү өзгөрүлмө кылып алыңыз, аны кодго киргизбеңиз. Сактагыч шифрленген, жалпыга ачык эмес, жеке ички тармактан гана жеткиликтүү. Провайдердин версиясын оңдоңуз. Соңку чекитти чыгаруу катары кайтарыңыз."

Айырмасы: экинчи эскертүү кыймылдаткычты, версияны, шифрлөөнү, тармактын чектөөсүн жана жашыруун эрежени берет — чыгаруу коопсуз жана өндүрүшкө жакын.

Жалпы каталар

  • «План» түзбөстөн «арыз берүү». IaCдагы эң кымбат ката; ар дайым биринчи пландоо.
  • HCLге кыстаруу сыры. Git тарыхына туруктуу агып чыгууну жаратат.
  • Мамлекеттик кооптуу сактоо. Шифрленбеген, кулпусу ачылбаган коомдук мамлекет – бул кырсык.
  • Версияны оңдоо эмес. Провайдерди версиясын көрсөтпөстөн колдонуу келечекте капыстан катачылыктарга алып келет.
  • *`Аракет: ""` сыяктуу кеңири уруксат.** Эң аз артыкчылык принцибин бузат.
  • Күтүлбөгөн "кыйратууга" көңүл бурбоо. Пландагы жок кылуу саптарын суроосуз колдонуу.

Кыскача айтканда

IaC инфраструктураны кайталануучу, версиялануучу жана текшерилүүчү кодго айлантат; Эң кеңири таралган курал Terraform болуп саналат. AI тез HCL стубкаларын чыгарат, бирок сиз версиясын, булутка тиешелүү деталдарды жана коопсуздук эрежелерин беришиңиз керек. Терраформдагы жаңылбас эреже: ар бир өзгөрүүнү план менен көрүү, күтүлбөгөн өчүрүүлөрдү суроо, сырларды коддон алыс кармоо жана мамлекетти коопсуз сактоо. План чыгаруудагы жок кылуу жана алмаштыруу саптары эң кылдаттык менен окула турган жерлер.

Колдонмо тапшырмасы

Жогорудагы "Инфраструктуранын эскизин түзүү" шаблону аркылуу AI кичинекей инфраструктураны (мисалы, сактоо чакасы жана кирүү саясаты) түзсүн. Андан кийин: (1) "текшерүү" шаблону кодго камтылган сырды же * уруксаттарды текшериңиз; (2) мүмкүн болсо, тест эсебинде init + планын иштетиңиз жана "план чечмелөө" шаблону менен пландын жыйынтыгын окуңуз; (3) күтүлбөгөн өчүрүүлөрдү/өзгөртүүлөрдү белгилеңиз.

текшерүү тизмеси

  • [ ] Мен булутту, Terraform/провайдердин версиясын жана шифрлөө/тармак чектөөлөрүн сунушума коштум.
  • [ ] Коддо ачык текст сыры жок; тактык баалуулуктары өзгөрмө.
  • [ ] Мен IAM/уруксаттарды минималдуу уруксаттарга чейин кыскарттым, * Мен аны колдонгон жокмун.
  • [ ] Колдонуу алдында планды иштетип, чыгарууну саптан сап окуп чыктым.
  • [ ] Мен планда күтүлбөгөн жок кылуу/алмаштыруу жок экенин тастыктадым.
  • [ ] Мамлекет шифрленген, кулпуланган жана чектелген бэкендде сакталганына ишенем.