PracticU

משתנים מסוג var
ב-Terraform
פרויקט NodeJS

בלי כתוביותעם כתוביות
PracticU › קורס Terraform - DevOps - Azure & AWS › משתנים מסוג var ב-Terraform פרויקט NodeJS
מילון מושגים:
Terraform - כלי להגדרת תשתית כקוד, שמאפשר ליצור ולנהל משאבי ענן ותשתית בעזרת קובצי תצורה.
Node.js - סביבת ריצה שמאפשרת להריץ קוד JavaScript מחוץ לדפדפן, בעיקר בצד השרת.
VPC - רשת וירטואלית פרטית ומבודדת בתוך הענן, שבה הלקוח שולט בכתובות, בתת-רשתות ובכללי הגישה.
ענן - אספקת משאבי מחשוב כשירות דרך האינטרנט, כמו שרתים, אחסון ותוכנות, במקום להחזיק אותם מקומית.
EC2 - שירות של AWS להפעלת שרתים וירטואליים בענן לפי דרישה ולפי שימוש.
שורת פקודה - ממשק טקסטואלי שבו מקלידים פקודות למערכת ההפעלה ומקבלים תגובה בטקסט, במקום להשתמש בעכבר.
הערה - טקסט בקוד שמסביר אותו לבני אדם ואינו מבוצע על ידי המחשב.
מכונה וירטואלית - מחשב מדומה שרץ כתוכנה על גבי מחשב פיזי, עם מערכת הפעלה ומשאבים משלו, בבידוד מהמערכת המארחת.

משתנים מסוג var ב-Terraform - פרויקט NodeJS

בשיעור זה לומדים איך מרכזים את כל הנתונים היבשים של פרויקט Terraform בקובץ משתנים אחד, מגדירים משתנים למזהה ה-VPC, לסוג המכונה ולשם המפתח, ומבינים את ההבדל בין variable שניתן להגדרה מבחוץ לבין locals לשימוש פנימי.
נושאי הסיכום המוצגים בשיעור:
1. הרעיון של ריכוז הנתונים: בסרטון זה לומדים לרכז את כל הנתונים היבשים, כל הסיסמאות, שמות של דאטאבייסים וסוגי מכונות, למקום מרכזי אחד, כדי שלא נצטרך לחפש בקוד איפה מה מוגדר.
2. קובץ variables.tf: יוצרים קובץ חדש בשם variables.tf ובו מגדירים variable עם שם וערך, למשל משתנה שמחזיק את מזהה ה-VPC שלנו, ובקוד במקום הערך הקבוע כותבים שיישלף מתוך var נקודה שם המשתנה, וכך אם מתחלף לנו הענן נצטרך להיכנס רק לקובץ אחד ולהחליף שם, במקום לחפש איפה הוא מופיע בכל הפרויקט.
3. עוד משתנים שימושיים: מוסיפים באותה שיטה משתנה לסוג המכונה, כך שאם נרצה להחליף למכונה חזקה יותר נדע להיכנס לקובץ האחד שמרכז את כל הנתונים, ומשתנה לשם המפתח של ה-EC2, וכל מה שאנחנו רוצים לשנות בעתיד שמים בקובץ הזה, וכל מי שמשתמש ב-Terraform יודע שכאן מחליפים הכל בלי לגעת בקוד.
4. הגדרת משתנים מבחוץ: יותר מזה, אפשר להריץ את פקודת ההפעלה של Terraform ולהגיד לה להגדיר את המשתנים בשורת הפקודה, למשל לתת ערך אחר למזהה ה-VPC, וכך התוכנה כולה תעבוד עם ה-VPC שהוגדר מבחוץ, ומי שירצה להשתמש בקוד שלנו יצטרך להריץ אותה עם דגל של העברת משתנה ולהגדיר את ה-VPC שלו.
5. ההבדל בין variable ל-locals: זהו ההבדל בין variable שהוא משתנה שניתן להגדיר אותו מבחוץ לבין locals שהם משתנים לשימוש פנימי בלבד שלא ניתנים להגדרה מבחוץ, ובשימוש בקוד ל-local ניגשים עם הקידומת של local ול-variable עם var.
6. בדיקת התקינות: מגדירים ערך מלאכותי במשתנה ה-VPC עם הערה שמסבירה למשתמש איך להפעיל את הקוד, מעתיקים את מזהה ה-VPC האמיתי מהממשק של ה-RDS, מריצים TF plan ומקבלים שאין שינויים, מה שמוכיח שהוא זיהה נכון את ה-VPC כי בקבצים שלנו בשום מקום הוא אינו מופיע והמידע מסופק מבחוץ, וזו כתיבה יפה ומסודרת שבה כל מה שהמשתמש אמור לשנות מופיע בקובץ המרכזי ובתוך הקוד לא נוגעים בשום דבר.
סיכום:
בשיעור זה למדנו לכתוב קוד Terraform מסודר, שבו כל הנתונים המשתנים מרוכזים בקובץ variables.tf והקוד שולף אותם משם, ראינו איך מעבירים ערכים למשתנים משורת הפקודה בזמן ההפעלה, הבנו את ההבחנה בין משתנים חיצוניים לבין משתנים פנימיים, ובדקנו שהפרויקט עובד נכון גם כשהמידע כלל לא מופיע בקבצים, ובשיעור הבא נעסוק בשכפול מכונות וירטואליות ב-Terraform.
בשיעור הבא נעסוק בנושא שכפול מכונות וירטואלית ב-Terraform - פרויקט NodeJS.
SR13891HE

פרקי ההרצאה: משתנים מסוג var ב-Terraform פרויקט NodeJS

  1. 00:00

    ריכוז כל הנתונים בקובץ אחד

  2. 00:42

    למה כדאי לרכז את הנתונים

  3. 01:20

    הפניית ההגדרות אל var

  4. 02:02

    הגדרת משתנה בעת ההרצה

תמלול ההרצאה: משתנים מסוג var ב-Terraform פרויקט NodeJS

הטקסט המלא של הדקות הראשונות בהרצאה «משתנים מסוג var ב-Terraform פרויקט NodeJS» בקורס הווידאו של PracticU – כתוביות בעברית עם זמן התחלה לכל פסקה. כך תוכלו לקרוא ולחפש את הנושאים לפני שמתחילים ללמוד.

  1. 00:02

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

  2. 00:19

    אנחנו נעשה קובץ חדש, נקרא לו variables נקודה tf ופה נכתוב variable, שם של משתנה my vpc id וניתן לו ערך את ה-VPC שלי. ועכשיו כאן נגיד את זה לשלוף מתוך var נקודה והוא רואה את המשתנה הזה.

  3. 00:37

    Practicu vpc id. שימו לב, הפניתי את הפרמטר הזה לשלוף את הערך מתוך variables, מתוך משתנים. שאם עכשיו משתנה לי הענן אני אצטרך להיכנס רק לקובץ אחד ולהחליף את זה פה.

  4. 00:50

    האמת שזה היה בעוד איזשהו מקום. לך תמצא איפה זה עוד היה. הנה פה. אני כבר לא זוכר מה היה. תחשבו מה יהיה בעוד חצי שנה ותחשבו שיש לי פרויקט גדול.

  5. 01:01

    אני לא רוצה בכל מקום לחפש איפה היה לי ה-VPC id שלי, אז אני שם אותו פה וכל מי שצריך שולף אותו מתוך var נקודה. בואו נעשה עוד משתנה, נניח סוג מכונה T שלוש מיקרו.

  6. 01:13

    נקרא לו Practicu EC2 instance type, ואז אם אני ארצה להחליף למכונה חזקה יותר, אני אדע להיכנס לקובץ אחד שמרכז לי את כל הנתונים. אני לא אצטרך לחפש איפה פה מוגדר סוג של מכונה.

  7. 01:27

    ואז בקובץ של ההגדרות אני אומר לו לקחת את זה מתוך var נקודה pu EC2 instance type. אתם מבינים שכל הדברים שאני ארצה לשנות בעתיד אני שם אותם פה בקובץ אחד שנקרא variables נקודה tf, וכל מי שמשתמש ב-Terraform יודע שכאן מחליפים את הכול בלי לגעת בקוד.

  8. 01:48

    ככה אני יכול לעשות עם כל string. נניח שם של מפתח. אני רוצה שם של מפתח, אני יכול לעשות פה variable pu EC2 key name, לתת לו את הערך הזה, וכאן אני נותן לו לשלוף מתוך variable בשם key name וזה ממש, ממש נוח.

  9. 02:05

    יותר מזה, אני יכול להריץ פקודה terraform apply או tf apply ולהגיד לו תגדיר

לקורס המלא: קורס Terraform אונליין ל‑DevOps

ההרצאה הקודמת: התקנת PM2 - פרויקט NodeJS

ההרצאה הבאה: שכפול מכונות וירטואלית - ב-Terraform - פרויקט NodeJS

הרצאות קשורות מקורסים אחרים

  • משתנים
  • משתנים - חלק 1
  • עבודה עם פרויקט מסוג Console
  • מבוא ל-NodeJS

קורסים נוספים במסלול

  • קורס AWS - ניהול מכונה וירטואלית בענן
  • קורס קוברנטיקס - Kubernetes
  • קורס Docker - עם Swarm Cluster
  • קורס DevOps - Ansible
  • קורס PowerShell
  • קורס Git ו-GitHub עם Visual Studio