עבודה עם Terraform State
Terraform stateהוא מושג יסוד ב-Terraform שעוקב אחר state התשתיות המנוהלות והתצורה שלך. הבנת אופן העבודה עם state Terraform חיונית לניהול יעיל והרחבה של פרויקטי Terraform שלך.
מהו state Terraform?
-
מטרת הstate:
- Terraform משתמש בstate כדי למפות משאבים בעולם האמיתי לתצורה שלך ולעקוב אחר מטא נתונים.
- הstate מאוחסן בקובץ בשם
terraform.tfstate.
-
מיקום קובץ הstate:
- כברירת מחדל, קובץ הstate מאוחסן באופן מקומי. לסביבות צוות, מומלץ להשתמש בstate מרוחק.
ניהול state
-
בדיקת state:
- השתמש ב-
terraform showכדי לבדוק את הstate הנוכחי.
- השתמש ב-
-
שינוי state:
- עריכת ישירה של קובץ הstate אינה מומלצת. השתמש בפקודות Terraform כמו
terraform state rmאוterraform state mvלביצוע שינויים בטוחים.
- עריכת ישירה של קובץ הstate אינה מומלצת. השתמש בפקודות Terraform כמו
-
נעילת state:
- נעילת state מונעת מאחרים לרכוש את הנעילה ולהשחית את הstate באופן פוטנציאלי בזמן שמתבצע פעולה שמשנה את הstate.
-
state מרוחק:
- state מרוחק מאפשר לחברי צוות לשתף את הstate.
- בקאנדים נפוצים לstate מרוחק כוללים AWS S3, Azure Blob Storage ו-Google Cloud Storage.
- הגדר state מרוחק באמצעות תצורת בקאנד בתצורת Terraform שלך. דוגמה ל-S3:
terraform {
backend "s3" {
bucket = "my-terraform-state-bucket"
key = "path/to/my/key"
region = "us-west-2"
}
}
נוהגים מומלצים
- בקרת גרסאות: אל תבדוק את קובץ הstate לבקרת גרסאות. במקום זאת, השתמש בבקאנד מרוחק.
- אבטחה: התייחס לקובץ הstate כנתונים רגישים. הוא יכול להכיל מידע רגיש כגון סיסמאות או מפתחות גישה.
- גיבויים: גבה באופן קבוע את קובץ הstate, במיוחד בעת שימוש בstate מקומי.