Infrastructure as Code עם Terraform

📚 DevOps עם Claude ⏱️ 15 דק׳ 🎓 מתקדם ✓ חינם לגמרי
Infrastructure as Code עם Terraform

ה-Audit שחשף הכל

חברת SaaS ישראלית קיבלה audit אבטחה לפני Series B. הממצאים היו קשים: 23 S3 buckets עם public access, RDS ב-public subnet, security groups עם 0.0.0.0/0 על port 22 לכל העולם. הסיבה? תשתית שנבנתה ידנית ב-AWS Console לאורך שנים, click אחרי click, בלי תיעוד, בלי גרסאות, בלי אפשרות לחזור אחורה. עם Claude Code ו-Terraform, הצוות כתב מחדש את כל התשתית, secure by default, בשלושה שבועות. הפעם עם review, עם git history, ועם אפשרות לשחזר כל שינוי.

Terraform הוא הדרך לנהל cloud infrastructure כקוד. אבל HCL syntax, provider docs שמשתנים בכל גרסה, ו-state management מורכב מרתיעים אנשים. Claude מכיר את כל ה-AWS, GCP ו-Azure providers ויכול לכתוב modules production-ready, עם הנחיות נכונות.

למה IaC הכרחי, ולא רק נחמד לעשות

כל סטארטאפ שמגיע ל-Series A נדרש ל-SOC2 או ISO27001. שניהם דורשים Infrastructure as Code כדי להוכיח reproducibility ו-audit trail. בלי Terraform, כל שינוי תשתית הוא עבודה ידנית שלא מתועדת. כשמישהו עוזב, הידע הולך איתו.

ניהול ידני (Console) Infrastructure as Code (Terraform)
שינויים לא מתועדים כל שינוי ב-git עם context
שחזור בלתי אפשרי terraform destroy + apply = סביבה חדשה בדקות
drift בין environments staging = production, תמיד
אי-אפשר לבדוק אבטחה code review, tfsec, checkov אוטומטיים

איך לפרמט בקשות Terraform לClaude, הפרמטור שמשנה הכל

הגדרה מדויקת של הקשר היא ההבדל בין module שעובד לבין module שצריך לשכתב. "כתוב Terraform ל-AWS ECS" יניב main.tf אחד ענק עם IAM policies רחבות מדי. הבקשה הנכונה מציינת את כל האילוצים מראש.

כתוב Terraform ל-AWS ECS
אתה AWS Solutions Architect עם ניסיון ב-Terraform production systems. כתוב Terraform module ל-ECS Fargate service עם המבנה הזה: Networking: VPC עם 3 public + 3 private subnets (us-east-1a/b/c), NAT Gateway בכל AZ. Compute: ECS Fargate, task 1vCPU/2GB, service desired=3, Auto Scaling על CPU: scale out >70% ל-3 דק, scale in <30% ל-10 דק. Load Balancing: ALB עם HTTPS, redirect HTTP, health check GET /health. Database: RDS PostgreSQL 15.4 Multi-AZ, db.t3.medium, encrypted KMS, private subnets בלבד. Secrets: AWS Secrets Manager לDB credentials, IAM task role עם least-privilege. Chain modules: networking/, compute/, database/, לא monolithic main.tf. Provider: AWS ~> 5.0, Terraform ~> 1.5. Outputs: alb_dns_name, db_endpoint, cluster_arn.

שלושה עקרונות בפרומפט הזה ששווים לזכור:

דיבוג terraform plan errors עם Claude

כשplan נכשל, רוב האנשים מחפשים ב-Google. עם Claude זה מהיר יותר, אבל חשוב לתת את כל ההקשר:

הפקודה terraform plan נכשלת. עזור לי לאבחן:

Error output:
[הדבק את כל ה-error כולל stack trace]

גרסת Terraform: 1.6.2
גרסת AWS provider: 5.31.0
קובץ main.tf:
[הדבק את הקוד הרלוונטי]

אבחן:
1. מה הסיבה המדויקת לשגיאה (syntax / type mismatch / missing dependency)
2. קוד מתוקן
3. האם יש בעיות פוטנציאליות נוספות בקוד שעוד לא גרמו לשגיאה

הסעיף השלישי הוא הטריק: Claude לא רק פותר את השגיאה הגלויה, הוא מוצא גם latent bugs שיפרצו ב-apply הבא. מפתחים שמשתמשים ב-Claude דיווחו שהם מגלים בממוצע 2-3 בעיות נוספות מעבר לשגיאה שהביאה אותם.

Terraform Plugin הרשמי לClaude (חדש 2026)

Anthropic שחררה ב-2026 plugin רשמי לTerraform דרך MCP (Model Context Protocol) בכתובת claude.com/plugins/terraform. ה-plugin מאפשר לClaude לגשת לdocs של HashiCorp בזמן אמת, לבדוק resource arguments נכונים, ולמנוע hallucinations של provider API שלא קיים. הקהילה פיתחה גם TerraShark, skill בקוד פתוח שמוריד הזיות ומאכף best practices של HashiCorp אוטומטית.

עדכון חשוב לגבי OpenTofu: הfork הopen-source של Terraform הוסיף ב-1.10 native S3 state locking ללא DynamoDB, פישוט משמעותי לhybrid setups. Claude תומך בשתי השפות, חשוב לציין באיזו כלי אתה משתמש בתחילת השיחה.

State Management, הנושא שאנשים מגלים בדרך הקשה

Terraform state הוא ה-source of truth על מה שבנוי בענן. שלוש פקודות קריטיות שClaude יכול להסביר ולסייע בביצוע הבטוח שלהן:

פקודה מתי להשתמש סכנה
terraform import משאב שנוצר ידנית ב-Console צריך לכתוב קוד מתאים ידנית תחילה
terraform state mv שינוי שם resource בקוד בלעדיו Terraform ימחק ויצור מחדש
terraform plan -target debugging ממוקד על resource ספציפי לא לשימוש קבוע, מסתיר dependencies

3 טעויות שכל מי שמשתמש בClaude לTerraform עושה

Terraform לא יכול לקרוא state file מקומי
שני אנשים יכולים להריץ apply בו-זמנית ולשבור את ה-state
state file מכיל secrets בplaintext שנחשפים לכולם
terraform plan לא עובד עם local backend

אתגר מעשי: S3 Bucket מאובטח

טיפ מתקדם: Tagging Strategy אוטומטית

בקשו מClaude לכתוב Terraform module עם built-in tagging strategy: כל resource מקבל tags עם Environment, Owner, CostCenter, CreatedBy=terraform. זה מאפשר לסנן ב-AWS Cost Explorer לפי environment ולדעת בדיוק כמה עולה כל service. אחרי כן, אפשר לשאול את Claude לנתח את ה-cost reports ולמצוא הזדמנויות לחיסכון.

כדאי לדעת: ישנו Terraform plugin רשמי לClaude Code שמאפשר אינטגרציה ישירה עם docs של HashiCorp, מוריד את שיעור ה-hallucinations של resource arguments. מצאו אותו בכתובת claude.com/plugins/terraform.

רוצה ללמוד עם מעקב התקדמות, קוויזים ותעודה?

כל 130 השיעורים פתוחים בחינם, כולל נגן אינטראקטיבי, שמירת התקדמות ותעודה דיגיטלית בסיום.