הקצאת משאבים ב-Compute Engine באמצעות Terraform

‫HashiCorp Terraform הוא כלי מסוג תשתית כקוד (IaC) שמאפשר להקצות ולנהל תשתית ענן. ‫Terraform מספקת פלאגינים שנקראים providers, שמאפשרים לכם ליצור אינטראקציה עם ספקי ענן וממשקי API אחרים. אתם יכולים להשתמש בספק Terraform ל- Google Cloud כדי להקצות ולנהל משאבי Google Cloud , כולל Compute Engine.

בדף הזה מוסבר איך להשתמש ב-Terraform עם Compute Engine. הוא כולל מבוא לאופן הפעולה של Terraform וכמה משאבים שיעזרו לכם להתחיל להשתמש ב-Terraform עם Google Cloud. בנוסף, תמצאו קישורים למסמכי העיון של Terraform בנושא Compute Engine, דוגמאות קוד ומדריכים לשימוש ב-Terraform להקצאת משאבי Compute Engine.

הוראות לתחילת העבודה עם Terraform ל- Google Cloudזמינות במאמרים התקנה והגדרה של Terraform או מדריך למתחילים של Terraform ל- Google Cloud .

איך Terraform פועל

ל-Terraform יש תחביר הצהרתי ומבוסס-הגדרות, שאפשר להשתמש בו כדי לתאר את התשתית שרוצים להקצות בפרויקט Google Cloud . אחרי שיוצרים את התצורה הזו בקובץ תצורה אחד או יותר של Terraform, אפשר להשתמש ב-Terraform CLI כדי להחיל את התצורה הזו על משאבי Compute Engine.

בשלבים הבאים מוסבר איך Terraform פועל:

  1. אתם מתארים את התשתית שאתם רוצים להקצות בקובץ תצורה של Terraform. אין צורך לכתוב קוד שמתאר איך להקצות את התשתית. ‫Terraform מקצה את התשתית בשבילכם.
  2. מריצים את הפקודה terraform plan, שמעריכה את ההגדרות ומפיקה תוכנית ביצוע. אפשר לבדוק את התוכנית ולבצע שינויים לפי הצורך.
  3. מריצים את הפקודה terraform apply, שמבצעת את הפעולות הבאות:

    1. הוא מקצה את התשתית על סמך תוכנית הביצוע על ידי הפעלת ממשקי ה-API המתאימים של Compute Engine ברקע.
    2. הפקודה יוצרת קובץ מצב של Terraform, שהוא קובץ JSON שממפה את המשאבים בקובץ ההגדרות למשאבים בתשתית בעולם האמיתי. ‫Terraform משתמש בקובץ הזה כדי לשמור תיעוד של המצב האחרון של התשתית, וכדי לקבוע מתי ליצור, לעדכן ולכבות משאבים.
    3. כשמריצים את הפקודה terraform apply, ‏ Terraform משתמש במיפוי שבקובץ המצב כדי להשוות בין התשתית הקיימת לבין הקוד, ומבצע עדכונים לפי הצורך:

      • אם אובייקט של משאב מוגדר בקובץ התצורה, אבל לא קיים בקובץ המצב, Terraform יוצר אותו.
      • אם אובייקט משאב קיים בקובץ המצב, אבל יש לו הגדרה שונה מזו שבקובץ התצורה, Terraform מעדכן את המשאב כך שיתאים לקובץ התצורה.
      • אם אובייקט משאב בקובץ המצב תואם לקובץ התצורה, Terraform לא משנה את המשאב.

משאבים של Terraform ל-Compute Engine

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

בטבלה הבאה מפורטים המשאבים של Terraform שזמינים ל-Compute Engine:

משאבי Terraform מקורות נתונים של Terraform

מדריכים ל-Compute Engine שמבוססים על Terraform

בטבלה הבאה מפורטים מדריכים ומדריכים למתחילים שמבוססים על Terraform ל-Compute Engine:

מדריך פרטים
יצירת מכונה של Compute Engine והפעלה שלה הסבר על יצירת מכונה וירטואלית (VM).
יצירת מכונה וירטואלית עם דיסקים של SSD מקומי במאמר הזה מוסבר איך ליצור מכונה וירטואלית עם אחסון בדיסק SSD מקומי.
יצירת תמונות מצב של דיסקים במאמר הזה מוסבר איך ליצור קובצי snapshot רגילים כדי לגבות נתונים מדיסקים באופן תקופתי.
יצירת עותק משוכפל של דיסק עם שיבוטים הסבר על יצירת שיבוטים של דיסקים אזוריים מדיסק קיים.
יצירה וניהול של דיסקים אזוריים במאמר הזה מוסבר איך ליצור ולנהל דיסקים אזוריים.
יצירה של מכונות וירטואליות במודל Spot ושימוש בהן במאמר הזה מוסבר איך ליצור ולנהל מכונות וירטואליות מסוג Spot. מכונות וירטואליות מסוג Spot הן מכונות וירטואליות שהן עודף קיבולת של Compute Engine. מכונות Spot VM זמינות במחירים נמוכים בהרבה בהשוואה למחיר לפי דרישה של מכונות וירטואליות רגילות
הוספת מפתחות SSH למכונות וירטואליות במאמר הזה מוסבר איך להוסיף מפתחות SSH למכונות וירטואליות שמשתמשות ב-OS Login ולמכונות וירטואליות שמשתמשות במפתחות SSH שמבוססים על מטא-נתונים.
הפעלת סקריפטים של כיבוי במאמר הזה מוסבר איך ליצור ולהפעיל סקריפטים של כיבוי שמבצעים פקודות רגע לפני שמפסיקים או מפעילים מחדש מכונת VM.
איך יוצרים הזמנה לפרויקט יחיד הסבר על יצירת שריון מקום שמור לפרויקט מסוים, שרק מכונות וירטואליות באותו פרויקט יכולות להשתמש בו.
יצירת תבניות של מכונות וירטואליות במאמר הזה מוסבר איך ליצור ולנהל תבניות של הגדרות מכונה.
שינוי גודל על סמך לוחות זמנים במאמר הזה מוסבר איך ליצור תזמון לשינוי גודל של קבוצת MIG קיימת. התכונה 'שינוי גודל אוטומטי מבוסס-תזמון' מאפשרת לשפר את הזמינות של עומסי העבודה (workloads) על ידי תזמון הקיבולת מראש לפני עומס צפוי.
הוספת אחסון של דיסק אחסון מתמיד (persistent disk) למכונה הווירטואלית הסבר על יצירת נפח של דיסק אחסון מתמיד (persistent disk) ריק ולא ניתן לאתחול באזור מסוים, וצירוף שלו למכונת ה-VM.
הגדרת OS Login איך מגדירים OS Login
איך מחברים דיסק שאינו דיסק אתחול למכונה וירטואלית במאמר הזה מוסבר איך לצרף דיסק אזורי שאינו דיסק אתחול למכונה הווירטואלית.
יצירת מכונה וירטואלית שמשתמשת בחשבון שירות שמנוהל על ידי משתמש מוסבר איך ליצור מכונת VM שמוגדרת להשתמש בחשבון שירות שמנוהל על ידי משתמש. חשבון שירות הוא סוג מיוחד של חשבון, שמשמש בדרך כלל אפליקציה או עומס עבודה, כדי לבצע קריאות מורשות ל-API.
הגדלת הגודל של דיסק אחסון מתמיד (persistent disk) הסבר על הגדלת הגודל של דיסק אחסון מתמיד (persistent disk).
הפעלה של תצוגות וירטואליות במכונה וירטואלית במאמר הזה מוסבר איך להפעיל מסכים וירטואליים במכונת VM.
יצירת קבוצת מופעי מכונה מנוהלים (MIG) באזור יחיד במאמר הזה מוסבר איך ליצור קבוצת מופעי מכונה מנוהלים (MIG) באזור יחיד. הצבת כל המכונות הווירטואליות של MIG באזור אחד עוזרת למזער את זמן האחזור, וזה שימושי לעומסי עבודה מסוימים – למשל, עומסי עבודה של אצווה.
יצירת מופע של מכונה וירטואלית עם שם מארח בהתאמה אישית במאמר הזה מוסבר איך ליצור מופע של מכונה וירטואלית עם שם מארח בהתאמה אישית.
הגדרה של בדיקת תקינות מבוססת-אפליקציה ותיקון אוטומטי במאמר הזה מוסבר איך להגדיר בדיקת תקינות מבוססת-אפליקציה כדי לתקן באופן אוטומטי מכונות וירטואליות בקבוצת מופעי מכונה מנוהלים (MIG).
יצירת קבוצת מופעי מכונה מנוהלים (MIG) שמשתמשת במכונות וירטואליות זמניות במאמר הזה מוסבר איך ליצור קבוצת MIG שמשתמשת במכונות וירטואליות (VM) זמניות. מכונות preemptible VM שימושיות אם עומס העבודה יכול לעמוד בהפרעות ואתם רוצים ליהנות מחיסכון בעלויות שקשור למכונות preemptible VM.
הוספה והסרה של מכונות וירטואליות מקבוצת מופעי מכונה מנוהלים (MIG) במאמר הזה מוסבר איך להוסיף מכונות וירטואליות לקבוצת מופעי מכונה מנוהלים (MIG) ואיך להסיר אותן ממנה.
יצירת קבוצת מופעי מכונה מנוהלים (MIG) עם הפעלה של התאמה אוטומטית לעומס מאמר שמתאר איך ליצור קבוצת מופעי מכונה מנוהלים (MIG) עם שינוי גודל אוטומטי, שמוסיפה ומסירה מכונות וירטואליות באופן אוטומטי על סמך השימוש הממוצע במעבד בכל הקבוצה.
יצירת קבוצת מופעי מכונה מנוהלים (MIG) עם דיסקים עם שמירת מצב במאמר הזה מוסבר איך ליצור קבוצת MIG שמשתמשת במכונות וירטואליות (VM) זמניות. מכונות preemptible VM שימושיות אם עומס העבודה יכול לעמוד בהפרעות ואתם רוצים ליהנות מחיסכון בעלויות שקשור למכונות preemptible VM.
יצירת מכונות וירטואליות של SQL Server הסבר על יצירת מכונות וירטואליות של Microsoft SQL Server. ‫SQL Server הוא מערכת מסדי נתונים שפועלת ב-Windows Server ובחלק מהפצות Linux. אתם יכולים להשתמש ב-SQL Server ב-Compute Engine כחלק מהבק-אנד של האפליקציות שלכם, כסביבת פיתוח ובדיקה גמישה, או בנוסף למערכות המקומיות שלכם לגיבוי ולתוכנית התאוששות מאסון (DR).
יצירת הקצאת מדיניות OS הסבר על יצירת הקצאה של מדיניות מערכת הפעלה. אתם יכולים להשתמש במדיניות של מערכת ההפעלה כדי לשמור על עקביות בהגדרות התוכנה במכונות וירטואליות של Linux ו-Windows.
הגדרת מטא-נתונים עם שמירת מצב ב-MIG איך מגדירים מטא-נתונים עם שמירת מצב בקבוצות של מכונות מנוהלות (MIG). מטא-נתונים של מופע שימושיים להגדרת מאפיינים של האפליקציות שלכם ולתקשורת איתן דרך שרת המטא-נתונים.
הגדרת דיסקים של אחסון מתמיד (persistent disks) עם שמירת מצב בקבוצות MIG הסבר על הגדרת דיסקים של אחסון מתמיד (persistent disks) עם שמירת מצב בקבוצות של מכונות מנוהלות (MIG). הגדרת דיסקים לאחסון מתמיד (persistent disks) כבעלי מצב (stateful) מאפשרת לכם ליהנות מתיקון אוטומטי של מכונות וירטואליות (VM) ומעדכונים אוטומטיים, תוך שמירה על מצב הדיסקים.
הגדרת כתובות IP עם שמירת מצב בקבוצות של מכונות מנוהלות (MIG) במאמר הזה מוסבר איך להגדיר כתובות IP עם שמירת מצב ב-MIG. אם מגדירים כתובות IP עם שמירת מצב בקבוצת MIG, כתובות ה-IP נשמרות כשמכונות וירטואליות בקבוצה עוברות תיקון אוטומטי, מתעדכנות ונוצרות מחדש.
הגדרת צורת חלוקה של מכונות וירטואליות בקבוצת MIG אזורית במאמר הזה מוסבר איך מגדירים צורה של חלוקת יעד למכונות וירטואליות.
יצירת קבוצת מופעי מכונה מנוהלים (MIG) עם מכונות וירטואליות בכמה אזורים באזור אחד במאמר הזה מוסבר איך ליצור קבוצת MIG עם מכונות וירטואליות שפזורות על פני כמה אזורים באזור מסוים. פיזור העומס של האפליקציה על פני כמה אזורים מגן על עומס העבודה מפני כשלים אזוריים.
השבתה והפעלה מחדש של חלוקה מחדש יזומה של מכונות וירטואליות בקבוצת MIG אזורית במאמר הזה מוסבר איך להשבית ולהפעיל מחדש חלוקה מחדש יזומה של מכונות וירטואליות בקבוצת MIG אזורית. ב-MIG אזורי, כדי לשמור על מספר שווה של מכונות וירטואליות באזורים שנבחרו באזור, משתמשים בהפצה מחדש יזומה של מכונות. אפשרות ההגדרה הזו מגדילה את הזמינות של האפליקציה במקרה של כשל ברמת האזור.

מודולים ותוכניות לניהול של Terraform ל-Compute Engine

מודולים ותוכניות לניהול מאפשרים לנהל באופן אוטומטי את הקצאת ההרשאות והמשאבים ב- Google Cloud בקנה מידה רחב. מודול הוא קבוצה של קובצי תצורה לשימוש חוזר ב-Terraform שיוצרים הפשטה לוגית של המשאבים ב-Terraform. תוכנית לניהול היא חבילה של מודולים לשימוש חוזר שאפשר לפרוס, והיא מיישמת ומתעדת פתרון מקובע מסוים.

בטבלה הבאה מפורטים מודולים ותוכניות שקשורים ל-Compute Engine:

מודול או תוכנית ניהול פרטים
terraform-google-vm אוסף של מודולים משניים מקובעים שאפשר להשתמש בהם כאבני בניין להקצאת מכונות וירטואליות ב- Google Cloud.
terraform-google-startup-scripts ספרייה של סקריפטים שימושיים לטעינה בזמן ההפעלה, שאפשר להטמיע במכונות וירטואליות.
terraform-google-container-vm פריסת קונטיינרים במכונות ב-Compute Engine

המאמרים הבאים