☁️ პრაქტიკული კურსი

AWS + Terraform

პირველი terraform apply-დან Production Ready ინფრასტრუქტურამდე. 25 თემა (18 ლექცია, +6 თემა დამოუკიდებლად, +1 თემა YouTube LIVE).

25თემა
5მოდული
L1→L5დონე
47K+ხაზი კოდი
🧱

მოდული 1 · საფუძვლები

ცვლადები, დამოკიდებულებები, outputs, state

01
IaC + Terraform-ის შესავალი
Immutable Infrastructure
რა არის IaC - Infrastructure as Code და რატომ გვჭირდება ის? პირველი terraform init, plan, apply, destroy. მინი-პროექტი: S3 სტატიკური ვებსაიტის დეპლოი ნულიდან.
S3initapply
02
ცვლადები და მონაცემთა ტიპები
Parameterized Config
კონფიგურაციის პარამეტრიზაცია: string, number, bool, list, map, object. .tfvars ფაილები, ვალიდაცია. პროექტი: EC2 ინსტანსი, რომელიც ცვლადებით იმართება.
EC2variablestfvars
03
რესურსები და დამოკიდებულებები
Dependency Graph
როგორ აგებს Terraform დამოკიდებულებების გრაფს. აშკარა (depends_on) და იმპლიციტური დამოკიდებულებები. პროექტი: VPC + Subnet + Security Group + EC2 — სრული ქსელი ნულიდან.
VPCEC2depends_on
04
Outputs და Data Sources
Data-Driven Lookup
როგორ ამოვიღოთ მონაცემები უკვე არსებული ინფრასტრუქტურიდან და გადავცეთ მნიშვნელობები კონფიგურაციებს შორის. პროექტი: უახლესი AMI-ის ავტომატური ძიება + EC2 დეპლოი.
EC2outputsdata
05
State — როგორ ახსოვს Terraform-ს
Remote State Locking
State ფაილი: რატომ არის საჭირო და რა საფრთხეს შეიცავს მისი დაკარგვა. Remote backend S3, Locking გუნდური მუშაობისთვის. კრიტიკული თემა — შეცდომები state-ში ძვირი ჯდება.
S3DynamoDBstatebackends
📈

მოდული 2 · მასშტაბირება

მოდულები, count/for_each, ALB, RDS, lifecycle

06
მოდულები — განმეორებით გამოყენებადი კოდი
Reusable Module Multi-AZ HA
DRY პრინციპი Terraform-ში: მოდულების შექმნა და გამოყენება. Inputs, outputs, ჩაშენებული მოდულები. პროექტი: VPC მოდული Multi-AZ NAT Gateway-ით, რომელიც მომდევნო გაკვეთილებშიც გამოიყენება.
VPCNATmodules
07
Count და for_each
Fan-Out Pattern Multi-AZ HA
რესურსების დინამიური შექმნა: N სერვერი სხვადასხვა AZ-ში ერთი ბლოკით. განსხვავება count-სა და for_each-ს შორის, როდის რომელი გამოვიყენოთ. ინდექსაცია და რესურსებზე მიმართვა.
EC2countfor_each
08
ALB + Auto Scaling Group
Load-Balanced Auto-Scaling Active-Active Multi-AZ HA
მდგრადი ვებ-სერვერი: Application Load Balancer, Launch Template, Auto Scaling Group health check-ებით. პატერნი, რომელიც production გარემოების 90%-ში გამოიყენება.
ALBASGlifecycletemplatefile
09
RDS Multi-AZ
Active-Standby Failover Active-Passive Multi-AZ HA
მართული ბაზა: PostgreSQL ავტომატური failover-ით. პარამეტრები, subnet groups, უსაფრთხოება. სენსიტიურ მნიშვნელობებთან მუშაობა და prevent_destroy მონაცემთა დასაცავად.
RDSsensitiveprevent_destroy
10
Lifecycle და Provisioners 📖 დამოუკიდებლად
Blue-Green Lifecycle
რესურსების სასიცოცხლო ციკლის წესები: create_before_destroy, ignore_changes, replace_triggered_by. Provisioners (local-exec, remote-exec) — როდის არის დასაშვები და რატომ ჯობია თავის არიდება.
EC2EBSlifecycleprovisioners
🏗️

მოდული 3 · Production Patterns

Dynamic blocks, ფუნქციები, CDN, ECS, workspaces, Terragrunt

11
Dynamic Blocks და პირობები
Policy-as-Code
გამეორებადი ბლოკების გენერაცია ცვლადებიდან. პირობის ოპერატორები (count = var.enabled ? 1 : 0). პროექტი: მოქნილი Security Groups, რომლებიც map ტიპის ცვლადებით იმართება.
SGdynamicconditionals
12
ფუნქციები და გამოსახულებები 📖 დამოუკიდებლად
Computed Network Layout
Terraform-ის ჩაშენებული ფუნქციები: სტრინი, კოლექცია, მათემატიკური, ფაილური. რთული გამოსახულებები: cidrsubnet(), merge(), lookup(). საცნობარო გაკვეთილი პრაქტიკული მაგალითებით.
VPCfunctions
13
S3 + CloudFront CDN 🔴 YouTube Live
Edge-Cached Static Hosting Edge Caching
კონტენტის გლობალურად მიწოდება: S3 bucket როგორც წყარო/origin, CloudFront დისტრიბუცია, ACM სერტიფიკატი HTTPS-ისთვის. Origin Access Control (OAC), cache policies, custom domain-ის მიბმა.
S3CloudFrontACM
14
ECS Fargate
Serverless Containers Active-Active Serverless
"უსერვერო" კონტეინერები AWS-ზე (Serverless): Task Definition, Service, ALB ინტეგრაცია. IAM როლები ტასკებისთვის, ECR რეპოზიტორი. jsonencode() კონტეინერების აღსაწერად.
ECSECRjsonencode
15
Workspaces
Environment Isolation Multi-Environment
გარემოების გამიჯვნა ერთი კოდური ბაზით: Dev / Staging / Prod. ცვლადები workspace-ის მიხედვით, კონფიგურაციის სტრატეგიები. როდის კმარა workspaces და როდის გვჭირდება Terragrunt.
workspaces
16
Terragrunt 📖 დამოუკიდებლად
DRY Multi-Environment Multi-Environment
DRY მრავალი გარემოს მქონე ინფრასტრუქტურა: terragrunt.hcl, კონფიგურაციის მემკვიდრეობა, მოდულებს შორის დამოკიდებულებები. Terraform-ზე ზემდგომი ცალკე ინსტრუმენტი, რთული პროექტებისთვის.
terragruntDRY

მოდული 4 · Advanced Patterns

Lambda, event pipelines, IAM, Secrets, troubleshooting

17
Lambda + API Gateway
Serverless REST API Event-Driven Serverless
Serverless API: კოდის შეფუთვა archive_file-ით, Lambda ფუნქცია, REST API Gateway სერვისი. IAM როლები, CloudWatch Logs. "უსერვერო" არქიტექტურის პატერნი.
LambdaAPI GW
18
SNS + SQS + Lambda
Event-Driven Pipeline Event-Driven Fan-Out / Pub-Sub Serverless
Event-driven ტიპის არქიტექტურა: SNS ტოპიკები, SQS რიგები, Lambda ჰენდლერები. Resource policies, dead-letter queues. ივენთების ფაიფლაინის აგება AWS სერვისებით.
SNSSQSpolicies
19
IAM Deep Dive 📖 დამოუკიდებლად
Least-Privilege Access
უსაფრთხო IAM არქიტექტურა: პოლიტიკები, როლები, STS assume role, permission boundaries. მინიმალური პრივილეგიების პრინციპი. თემა, სადაც შეცდომები = ხვრელებს უსაფრთხოებაში.
IAMSTSpolicies
20
Secrets Manager + KMS
Encryption at Rest
Secret-ების მართვა: Secrets Manager, SSM Parameter Store, KMS დაშიფვრა. როგორ არ შევინახოთ პაროლები კოდში. Secret-ების როტაცია, RDS და Lambda ინტეგრაცია.
KMSSecretssensitive
21
Import, Drift, Troubleshooting 📖 დამოუკიდებლად
Drift Detection & Recovery
რეალური პრობლემები: არსებული რესურსების იმპორტი state-ში, drift-ის აღმოჩენა, დებაგინგი (TF_LOG). შეცდომებიდან აღდგენა, terraform state mv/rm.
importstatedebug
🌍

მოდული 5 · Enterprise Scale

Multi-region, CI/CD, მონიტორინგი, ფინალური პროექტი

22
Multi-Region
Active-Passive DR Active-Passive Multi-Region DR
Disaster Recovery და რეპლიკაცია: რამდენიმე AWS პროვაიდერი, Route53 failover, S3 cross-region replication. არქიტექტურა, რომელიც მთელი რეგიონის "ვარდნას" გადაურჩება.
Route53multi-provider
23
CI/CD Terraform-ისთვის
GitOps Pipeline GitOps / CI-CD
დეპლოის ავტომატიზაცია: GitHub Actions pipeline — plan PR-ზე და apply merge-ზე. OIDC ავთენტიფიკაცია, approval gates, არტეფაქტები.
IAMautomation
24
მონიტორინგი და შეტყობინებები
Observability Stack
CloudWatch dashboards, მეტრიკები, ალარმები, SNS ნოტიფიკაციები. Observability ფენის აგება მთელი ინფრასტრუქტურისთვის. for_each ციკლი ალერტების შაბლონიზაციისთვის.
CloudWatchSNSfor_each
25
🎓 ფინალური პროექტი 📖 დამოუკიდებლად
Production-Ready Architecture Active-Active Active-Passive Edge Caching Multi-AZ HA
ყველაფერი ერთად: production-grade სტეკი VPC, ECS, RDS, მონიტორინგი, CI/CD და საიდუმლოებებით. მრავალგარემოიანი, სრულად ავტომატიზებული. პროექტის დაცვა.
Full stackყველაფერი ერთად