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

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

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

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

איך Terraform עובד

ל-Terraform יש תחביר הצהרתי ומבוסס-הגדרות, שבו אפשר להשתמש כדי לתאר את התשתית שרוצים להקצות בפרויקט Cloud de Confiance . אחרי שיוצרים את התצורה הזו בקובץ תצורה אחד או יותר של 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) קיימת. התאמה אוטומטית לעומס (autoscaling) לפי לוח זמנים מאפשרת לשפר את הזמינות של עומסי העבודה (workloads) על ידי תזמון הקיבולת מראש לפני עומס צפוי.
הוספת אחסון של דיסק אחסון מתמיד (persistent disk) למכונה הווירטואלית הסבר על יצירת נפח של דיסק אחסון מתמיד (Persistent Disk) אזורי ריק שלא ניתן לאתחל ממנו וצירוף שלו למכונת ה-VM.
הגדרת OS Login איך מגדירים OS Login
צירוף דיסק שאינו דיסק אתחול למכונה וירטואלית במאמר הזה מוסבר איך לצרף למכונה הווירטואלית דיסק אזורי שאינו דיסק אתחול.
יצירת מכונה וירטואלית שמשתמשת בחשבון שירות שמנוהל על ידי משתמש מוסבר איך ליצור מכונת VM שמוגדרת להשתמש בחשבון שירות שמנוהל על ידי משתמש. חשבון שירות הוא סוג מיוחד של חשבון, שמשמש בדרך כלל אפליקציה או עומס עבודה ממוחשב כדי לבצע קריאות מורשות ל-API.
הגדלת הגודל של דיסק אחסון מתמיד (persistent disk) במאמר הזה מוסבר איך להגדיל את הגודל של דיסק מתמשך.
הפעלה של תצוגות וירטואליות במכונה וירטואלית במאמר הזה מוסבר איך להפעיל מסכים וירטואליים במכונת VM.
יצירת קבוצת מופעי מכונה מנוהלים (MIG) באזור יחיד במאמר הזה מוסבר איך ליצור קבוצת מופעי מכונה מנוהלים (MIG) באזור יחיד. הצבת כל המכונות הווירטואליות של MIG באזור אחד עוזרת למזער את זמן האחזור, וזה שימושי לעומסי עבודה מסוימים – למשל, עומסי עבודה של אצווה.
יצירת מופע של מכונה וירטואלית עם שם מארח בהתאמה אישית במאמר הזה מוסבר איך ליצור מופע של מכונה וירטואלית עם שם מארח בהתאמה אישית.
הגדרה של בדיקת תקינות אוטומטית ותיקון אוטומטי שמבוססים על אפליקציה במאמר הזה מוסבר איך להגדיר בדיקת תקינות מבוססת-אפליקציה כדי לתקן באופן אוטומטי מכונות וירטואליות ב-MIG.
הוספה והסרה של מכונות וירטואליות מקבוצת מופעי מכונה מנוהלים (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).
יצירת הקצאה של מדיניות מערכת הפעלה הסבר על יצירת הקצאה של מדיניות מערכת הפעלה. אתם יכולים להשתמש במדיניות של מערכת ההפעלה כדי לשמור על עקביות בהגדרות התוכנה במכונות וירטואליות של Linux ו-Windows.
הגדרת מטא-נתונים עם שמירת מצב ב-MIG במאמר הזה מתואר איך להגדיר מטא-נתונים עם שמירת מצב בקבוצות של מכונות מנוהלות (MIG). מטא-נתונים של מופע שימושיים להגדרת מאפיינים של האפליקציות שלכם ולתקשורת איתן דרך שרת המטא-נתונים.
הגדרת דיסקים לאחסון מתמיד עם שמירת מצב בקבוצות MIG הסבר על הגדרת דיסקים של אחסון מתמיד (persistent disks) עם שמירת מצב ב-MIG. הגדרת דיסקים לאחסון מתמיד (persistent disks) כבעלי מצב (stateful) מאפשרת לכם ליהנות מתיקון אוטומטי של מכונות וירטואליות (VM) ומעדכונים אוטומטיים, תוך שמירה על מצב הדיסקים.
הגדרת כתובות IP עם שמירת מצב ב-MIG במאמר הזה מוסבר איך להגדיר כתובות IP עם שמירת מצב בקבוצות של מכונות מנוהלות (MIG). על ידי הגדרת כתובות IP עם שמירת מצב בקבוצת MIG, אתם מבטיחים שכתובות ה-IP יישמרו כשמכונות וירטואליות בקבוצה עוברות תיקון אוטומטי, עדכון ויצירה מחדש.
הגדרת צורת הפצה ליעד של מכונות וירטואליות בקבוצת MIG אזורית במאמר הזה מוסבר איך מגדירים צורת חלוקה של יעד למכונות וירטואליות.
יצירת קבוצת מופעי מכונה מנוהלים (MIG) עם מכונות וירטואליות בכמה אזורים באזור אחד במאמר הזה מוסבר איך ליצור קבוצת MIG עם מכונות וירטואליות שפזורות על פני כמה אזורים באזור מסוים. פיזור העומס של האפליקציה על פני כמה אזורים מגן על עומס העבודה מפני כשלים אזוריים.
השבתה והפעלה מחדש של חלוקה מחדש פרואקטיבית של מכונות וירטואליות בקבוצת MIG אזורית במאמר הזה מוסבר איך להשבית ולהפעיל מחדש חלוקה מחדש פרואקטיבית של מכונות וירטואליות ב-MIG אזורי. ב-MIG אזורי, כדי לשמור על מספר שווה של מופעים של מכונות וירטואליות באזורים שנבחרו באזור, משתמשים בהפצה מחדש יזומה של מופעים. אפשרות ההגדרה הזו ממקסמת את הזמינות של האפליקציה במקרה של כשל ברמת האזור.

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

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

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

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

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