PracticU

סקריפט ב-AWS CLI
חלק 2
פרויקט NodeJS

בלי כתוביותעם כתוביות
PracticU › קורס Terraform - DevOps - Azure & AWS › סקריפט ב-AWS CLI חלק 2 פרויקט NodeJS
מילון מושגים:
סקריפט - קובץ המכיל רצף פקודות שמבוצעות על ידי מפרש, לרוב כדי להפוך משימות לאוטומטיות.
AWS - שירותי הענן של אמזון (Amazon Web Services), המספקים שרתים, אחסון, מסדי נתונים ושירותים נוספים לפי שימוש.
Node.js - סביבת ריצה שמאפשרת להריץ קוד JavaScript מחוץ לדפדפן, בעיקר בצד השרת.
PowerShell - סביבת שורת פקודה ושפת סקריפטים של מיקרוסופט לניהול אוטומטי של מערכות Windows ושירותים.
EC2 - שירות של AWS להפעלת שרתים וירטואליים בענן לפי דרישה ולפי שימוש.
מסד נתונים - אוסף מאורגן של נתונים המאוחסן כך שאפשר לשמור, לחפש, לעדכן ולשלוף אותו ביעילות, לרוב באמצעות שפת שאילתות.
ענן - אספקת משאבי מחשוב כשירות דרך האינטרנט, כמו שרתים, אחסון ותוכנות, במקום להחזיק אותם מקומית.
ממשק - נקודת מגע בין רכיבים: ממשק משתמש שבו אדם מפעיל תוכנה, או ממשק תכנותי שמגדיר אילו פעולות רכיב אחד חושף לאחר.

סקריפט ב-AWS CLI חלק 2 פרויקט NodeJS
ההרצאה משכללת סקריפט PowerShell שמפעיל, מכבה ומאתחל מכונות EC2 ומסדי נתונים RDS בענן, כדי לחסוך עבודה בממשק הגרפי.
הלוגיקה של הסקריפט
1. איסוף מזהים: הסקריפט מבקש מ-AWS את רשימת המכונות שאינן במצב Terminated, ורק את המזהים שלהן.
2. כיבוי EC2: פקודת הכיבוי מקבלת רשימה של מזהים ומכבה את כולם יחד. אם אין מכונות לכיבוי, הסקריפט מדפיס הודעה במקום.
3. כיבוי RDS: הפקודה של RDS לא מקבלת רשימה, ולכן הסקריפט עובר על כל מזהה בנפרד.
4. פלט: הפלט הטכני מוסתר, ונשארת הודעה קצרה לכל מופע שמטופל.
בדיקה
ההרצאה בודקת את הסקריפט בשלבים: הפעלת מכונה, הפעלת מסד נתונים שממתינים לו עד שיהיה זמין, והרצת הכיבוי. ההרצאה מציינת שכתובת IP אינה מובטחת בין הפעלה להפעלה.
סקריפט ההדלקה נוצר בעזרת ChatGPT ונבדק בידי המרצה לפני השימוש. בסיום ההרצאה יש סקריפטים נפרדים להדלקה, לכיבוי ולאתחול, ומומלץ לבדוק כל אחד לפני שמסתמכים עליו.
השיעור הבא בקורס: התקנת PM2 פרויקט NodeJS

פרקי ההרצאה: סקריפט ב-AWS CLI חלק 2 פרויקט NodeJS

  1. 00:00

    הוספת RDS וטיפול ב-Terminate

  2. 00:39

    הגדרת משתני סביבה והפקודה

  3. 01:17

    סינון מכונות שאינן Terminated

  4. 01:52

    הפעלת המכונה עם Start instance

תמלול ההרצאה: סקריפט ב-AWS CLI חלק 2 פרויקט NodeJS

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

  1. 00:02

    חברים, בואו נשכלל את הסקריפט שלנו ונכניס לתוכו גם את ה-RDS וגם את המקרה שהמכונה במצב Terminate. נתעלם ממנה. נפתח את הסקריפט שלנו עם Visual Studio Code, שזה כתבן המשוכלל.

  2. 00:17

    קודם כל הוא ביקש להתקין את התוסף של PowerShell של Microsoft. אני עשיתי לו Yes, הוא מתקין לי את התוסף. אז בואו נדבר פה על מה הוא הולך לבצע. השורות הראשונות לא קשורות אליכם, זה משהו שלי, לנקות הגדרות של פרוקסי.

  3. 00:32

    תתעלמו מזה. כאן אנחנו מקימים שני משתני סביבה: AWS Profile ו-AWS Region. נהוג להפריד בין הפקודות לביצוע לנתונים יבשים.

  4. 00:44

    ChatGPT כותב לי פקודות ממש יפה, והפקודה הראשונה זה $ID, משתנה בשם ID. מריצים את הפקודה AWS EC2. ושימו לב, כל זה פקודה אחת ארוכה, אבל כדי שזה לא ייראה לי ארוך בעין, יש את הסימן הזה להתעלם מירידת שורה, ואז אני ויזואלית יורד שורות, אבל מבחינת מערכת ההפעלה זה כאילו שורה אחת ארוכה.

  5. 01:08

    ושימו לב, פה ב-query אנחנו רוצים את כל ה-instances שה-state שלהם Not, זה ההפך של השווה, Terminated. אז אני מבקש את כל ה-instances, את כל המופעים, את כל המכונות הווירטואליות, שהשם של ה-state שלהם, ה-state.name, השם של המצב שלהם Not Terminated.

  6. 01:28

    ואני רוצה לקחת רק את ה-ID שלהם, רק את המזהה של המכונה הווירטואלית. בואו נריץ רק את הפקודות האלו. נעתיק את הפקודה הזאת ל-PowerShell רגיל. עשיתי copy paste.

  7. 01:40

    בואו נבדוק שבתוך ה-IDs אכן יש לנו את המזהה. כן, יש לנו את המזהה C7D3, ואפשר לראות כאן שהמזהה שלי זה C7D3. רק לפני כן לעשות Refresh, תמיד לעשות Refresh, וזה אכן C7D3 במצב Stopped כרגע.

  8. 01:56

    בואו נפעיל אותו. Start instance. שימו לב, אנחנו לא יוצרים מכונה חדשה, אנחנו

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

ההרצאה הקודמת: סקריפט ב-AWS CLI - חלק 1 - פרויקט NodeJS

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

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

  • AWS CLI - חלק 1
  • מבוא ל-NodeJS
  • סקריפט עם לולאת for
  • Docker Swarm - Remote CLI

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

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