דלג לתוכן הראשי

עבודה עם Terraform State

Terraform stateהוא מושג יסוד ב-Terraform שעוקב אחר state התשתיות המנוהלות והתצורה שלך. הבנת אופן העבודה עם state Terraform חיונית לניהול יעיל והרחבה של פרויקטי Terraform שלך.

מהו state Terraform?

  1. מטרת הstate:

    • Terraform משתמש בstate כדי למפות משאבים בעולם האמיתי לתצורה שלך ולעקוב אחר מטא נתונים.
    • הstate מאוחסן בקובץ בשם terraform.tfstate.
  2. מיקום קובץ הstate:

    • כברירת מחדל, קובץ הstate מאוחסן באופן מקומי. לסביבות צוות, מומלץ להשתמש בstate מרוחק.

ניהול state

  1. בדיקת state:

    • השתמש ב-terraform show כדי לבדוק את הstate הנוכחי.
  2. שינוי state:

    • עריכת ישירה של קובץ הstate אינה מומלצת. השתמש בפקודות Terraform כמו terraform state rm או terraform state mv לביצוע שינויים בטוחים.
  3. נעילת state:

    • נעילת state מונעת מאחרים לרכוש את הנעילה ולהשחית את הstate באופן פוטנציאלי בזמן שמתבצע פעולה שמשנה את הstate.
  4. 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 מקומי.