🧱
მოდული 1 · საფუძვლები
ცვლადები, დამოკიდებულებები, outputs, state
01
IaC + Terraform-ის შესავალი
Immutable Infrastructure
Immutable Infrastructure
რა არის IaC - Infrastructure as Code და რატომ გვჭირდება ის? პირველი
terraform init, plan, apply, destroy. მინი-პროექტი: S3 სტატიკური ვებსაიტის დეპლოი ნულიდან.
02
ცვლადები და მონაცემთა ტიპები
Parameterized Config
Parameterized Config
კონფიგურაციის პარამეტრიზაცია: string, number, bool, list, map, object.
.tfvars ფაილები, ვალიდაცია. პროექტი: EC2 ინსტანსი, რომელიც ცვლადებით იმართება.
03
რესურსები და დამოკიდებულებები
Dependency Graph
Dependency Graph
როგორ აგებს Terraform დამოკიდებულებების გრაფს. აშკარა (
depends_on) და იმპლიციტური დამოკიდებულებები. პროექტი: VPC + Subnet + Security Group + EC2 — სრული ქსელი ნულიდან.
04
Outputs და Data Sources
Data-Driven Lookup
Data-Driven Lookup
როგორ ამოვიღოთ მონაცემები უკვე არსებული ინფრასტრუქტურიდან და გადავცეთ მნიშვნელობები კონფიგურაციებს შორის. პროექტი: უახლესი AMI-ის ავტომატური ძიება + EC2 დეპლოი.
05
State — როგორ ახსოვს Terraform-ს
Remote State Locking
Remote State Locking
State ფაილი: რატომ არის საჭირო და რა საფრთხეს შეიცავს მისი დაკარგვა. Remote backend S3, Locking გუნდური მუშაობისთვის. კრიტიკული თემა — შეცდომები state-ში ძვირი ჯდება.
📈
მოდული 2 · მასშტაბირება
მოდულები, count/for_each, ALB, RDS, lifecycle
06
მოდულები — განმეორებით გამოყენებადი კოდი
Reusable Module Multi-AZ HA
Reusable Module Multi-AZ HA
DRY პრინციპი Terraform-ში: მოდულების შექმნა და გამოყენება. Inputs, outputs, ჩაშენებული მოდულები. პროექტი: VPC მოდული Multi-AZ NAT Gateway-ით, რომელიც მომდევნო გაკვეთილებშიც გამოიყენება.
07
Count და for_each
Fan-Out Pattern Multi-AZ HA
Fan-Out Pattern Multi-AZ HA
რესურსების დინამიური შექმნა: N სერვერი სხვადასხვა AZ-ში ერთი ბლოკით. განსხვავება count-სა და for_each-ს შორის, როდის რომელი გამოვიყენოთ. ინდექსაცია და რესურსებზე მიმართვა.
08
ALB + Auto Scaling Group
Load-Balanced Auto-Scaling Active-Active Multi-AZ HA
Load-Balanced Auto-Scaling Active-Active Multi-AZ HA
მდგრადი ვებ-სერვერი: Application Load Balancer, Launch Template, Auto Scaling Group health check-ებით. პატერნი, რომელიც production გარემოების 90%-ში გამოიყენება.
09
RDS Multi-AZ
Active-Standby Failover Active-Passive Multi-AZ HA
Active-Standby Failover Active-Passive Multi-AZ HA
მართული ბაზა: PostgreSQL ავტომატური failover-ით. პარამეტრები, subnet groups, უსაფრთხოება. სენსიტიურ მნიშვნელობებთან მუშაობა და
prevent_destroy მონაცემთა დასაცავად.
10
Lifecycle და Provisioners 📖 დამოუკიდებლად
Blue-Green Lifecycle
Blue-Green Lifecycle
რესურსების სასიცოცხლო ციკლის წესები:
create_before_destroy, ignore_changes, replace_triggered_by. Provisioners (local-exec, remote-exec) — როდის არის დასაშვები და რატომ ჯობია თავის არიდება.
🏗️
მოდული 3 · Production Patterns
Dynamic blocks, ფუნქციები, CDN, ECS, workspaces, Terragrunt
11
Dynamic Blocks და პირობები
Policy-as-Code
Policy-as-Code
გამეორებადი ბლოკების გენერაცია ცვლადებიდან. პირობის ოპერატორები (
count = var.enabled ? 1 : 0). პროექტი: მოქნილი Security Groups, რომლებიც map ტიპის ცვლადებით იმართება.
12
ფუნქციები და გამოსახულებები 📖 დამოუკიდებლად
Computed Network Layout
Computed Network Layout
Terraform-ის ჩაშენებული ფუნქციები: სტრინი, კოლექცია, მათემატიკური, ფაილური. რთული გამოსახულებები:
cidrsubnet(), merge(), lookup(). საცნობარო გაკვეთილი პრაქტიკული მაგალითებით.
13
S3 + CloudFront CDN 🔴 YouTube Live
Edge-Cached Static Hosting Edge Caching
Edge-Cached Static Hosting Edge Caching
კონტენტის გლობალურად მიწოდება: S3 bucket როგორც წყარო/origin, CloudFront დისტრიბუცია, ACM სერტიფიკატი HTTPS-ისთვის. Origin Access Control (OAC), cache policies, custom domain-ის მიბმა.
14
ECS Fargate
Serverless Containers Active-Active Serverless
Serverless Containers Active-Active Serverless
"უსერვერო" კონტეინერები AWS-ზე (Serverless): Task Definition, Service, ALB ინტეგრაცია. IAM როლები ტასკებისთვის, ECR რეპოზიტორი.
jsonencode() კონტეინერების აღსაწერად.
15
Workspaces
Environment Isolation Multi-Environment
Environment Isolation Multi-Environment
გარემოების გამიჯვნა ერთი კოდური ბაზით: Dev / Staging / Prod. ცვლადები workspace-ის მიხედვით, კონფიგურაციის სტრატეგიები. როდის კმარა workspaces და როდის გვჭირდება Terragrunt.
16
Terragrunt 📖 დამოუკიდებლად
DRY Multi-Environment Multi-Environment
DRY Multi-Environment Multi-Environment
DRY მრავალი გარემოს მქონე ინფრასტრუქტურა:
terragrunt.hcl, კონფიგურაციის მემკვიდრეობა, მოდულებს შორის დამოკიდებულებები. Terraform-ზე ზემდგომი ცალკე ინსტრუმენტი, რთული პროექტებისთვის.
⚡
მოდული 4 · Advanced Patterns
Lambda, event pipelines, IAM, Secrets, troubleshooting
17
Lambda + API Gateway
Serverless REST API Event-Driven Serverless
Serverless REST API Event-Driven Serverless
Serverless API: კოდის შეფუთვა
archive_file-ით, Lambda ფუნქცია, REST API Gateway სერვისი. IAM როლები, CloudWatch Logs. "უსერვერო" არქიტექტურის პატერნი.
18
SNS + SQS + Lambda
Event-Driven Pipeline Event-Driven Fan-Out / Pub-Sub Serverless
Event-Driven Pipeline Event-Driven Fan-Out / Pub-Sub Serverless
Event-driven ტიპის არქიტექტურა: SNS ტოპიკები, SQS რიგები, Lambda ჰენდლერები. Resource policies, dead-letter queues. ივენთების ფაიფლაინის აგება AWS სერვისებით.
19
IAM Deep Dive 📖 დამოუკიდებლად
Least-Privilege Access
Least-Privilege Access
უსაფრთხო IAM არქიტექტურა: პოლიტიკები, როლები, STS assume role, permission boundaries. მინიმალური პრივილეგიების პრინციპი. თემა, სადაც შეცდომები = ხვრელებს უსაფრთხოებაში.
20
Secrets Manager + KMS
Encryption at Rest
Encryption at Rest
Secret-ების მართვა: Secrets Manager, SSM Parameter Store, KMS დაშიფვრა. როგორ არ შევინახოთ პაროლები კოდში. Secret-ების როტაცია, RDS და Lambda ინტეგრაცია.
21
Import, Drift, Troubleshooting 📖 დამოუკიდებლად
Drift Detection & Recovery
Drift Detection & Recovery
რეალური პრობლემები: არსებული რესურსების იმპორტი state-ში, drift-ის აღმოჩენა, დებაგინგი (
TF_LOG). შეცდომებიდან აღდგენა, terraform state mv/rm.
🌍
მოდული 5 · Enterprise Scale
Multi-region, CI/CD, მონიტორინგი, ფინალური პროექტი
22
Multi-Region
Active-Passive DR Active-Passive Multi-Region DR
Active-Passive DR Active-Passive Multi-Region DR
Disaster Recovery და რეპლიკაცია: რამდენიმე AWS პროვაიდერი, Route53 failover, S3 cross-region replication. არქიტექტურა, რომელიც მთელი რეგიონის "ვარდნას" გადაურჩება.
23
CI/CD Terraform-ისთვის
GitOps Pipeline GitOps / CI-CD
GitOps Pipeline GitOps / CI-CD
დეპლოის ავტომატიზაცია: GitHub Actions pipeline —
plan PR-ზე და apply merge-ზე. OIDC ავთენტიფიკაცია, approval gates, არტეფაქტები.
24
მონიტორინგი და შეტყობინებები
Observability Stack
Observability Stack
CloudWatch dashboards, მეტრიკები, ალარმები, SNS ნოტიფიკაციები. Observability ფენის აგება მთელი ინფრასტრუქტურისთვის.
for_each ციკლი ალერტების შაბლონიზაციისთვის.
25
🎓 ფინალური პროექტი 📖 დამოუკიდებლად
Production-Ready Architecture Active-Active Active-Passive Edge Caching Multi-AZ HA
Production-Ready Architecture Active-Active Active-Passive Edge Caching Multi-AZ HA
ყველაფერი ერთად: production-grade სტეკი VPC, ECS, RDS, მონიტორინგი, CI/CD და საიდუმლოებებით. მრავალგარემოიანი, სრულად ავტომატიზებული. პროექტის დაცვა.