PracticU

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

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

סקריפט ב-AWS CLI חלק 1 פרויקט NodeJS
Terraform יודע רק להקים ולהשמיד תשתית, ולא לכבות ולהדליק מכונות בתחזוקה השוטפת. ההרצאה מראה איך לכתוב ב-PowerShell סקריפט עם AWS CLI שעוצר את כל המכונות בסוף היום, וסקריפט נוסף שמפעיל אותן בבוקר.
איך זה עובד
1. שליפת המזהים: כל פקודות AWS CLI מתחילות במילה aws. הפקודה שולפת את כל המכונות הווירטואליות ב-Region של ישראל, בלי סינון, ומחזירה את ה-ID של כל מכונה. הפרופיל של מפתחות ה-API מצוין בפקודה, כי בלי זה AWS מחפש פרופיל בשם default.
2. שמירה במשתנה: שני המזהים נשמרים במשתנה $IDs. הם מגיעים כטקסט אחד ארוך, ולכן מפעילים .split כדי לקבל שני מזהים נפרדים.
3. עצירה: aws ec2 stop-instances מקבלת את הפרופיל, את ה-region ואת ה-instance-ids מהמשתנה, אחרי ה-split.
4. שמירה כקובץ: שתי הפקודות נשמרות בקובץ stop.ps1, וסיומת ps1 היא הסיומת המקובלת לסקריפטי PowerShell.
5. הפעלה: מעתיקים את הקובץ לשם start.ps1 ומחליפים את הפקודה ל-start-instances.
פקודות והגדרות
- aws ec2 stop-instances ו-aws ec2 start-instances עם --instance-ids.
- התיקייה .AWS בתיקיית המשתמש מכילה את קובץ ה-credentials שנוצר עם AWS Config.
- Read-Host בסוף הסקריפט משאיר את החלון פתוח עד שלוחצים Enter, כדי לראות הודעות שגיאה.
אפשר להשתמש ב-ChatGPT כדי לייצר את הפקודה, ואין חובה ללמוד אותה בעל פה.
אחרי ההרצאה אפשר לכתוב סקריפטים שמכבים ומדליקים את כל המכונות בפקודה אחת.
השיעור הבא בקורס: סקריפט ב-AWS CLI חלק 2 פרויקט NodeJS

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

  1. 00:00

    למה Terraform לא מכבה מכונות

  2. 00:42

    סקריפט לכיבוי והדלקה אוטומטיים

  3. 01:21

    בניית פקודת AWS CLI

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

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

  1. 00:02

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

  2. 00:16

    כמובן שאפשר לבוא באופן ידני, ללחוץ Right Click ולעשות Stop Instance, לעצור אותו, ואז Start Instance, להפעיל אותו. אבל אנחנו רוצים ללמוד לעשות את זה בפקודה אחת שמכבה לי את כל השרתים שיהיו לי, ובסוף אני אעשה פה script שאומר לי: "סוף היום, תכבה לי הכול".

  3. 00:35

    ועוד script: "תחילת היום, תדליק לי הכול". והסקריפטים האלו יחסכו לי כניסה ידנית לתוך האתר, לתוך הענן, עם כל האימות הדו שלבי וכל הקליקים האלו, Right Click Start, Right Click Stop.

  4. 00:49

    ואם יש לי שרת אחת פה ואחת ב-RDS, במקום שאני אתרוצץ, יהיה לי script שעושה הכול. ושוב, זה לא קשור ל-Terraform. Terraform מתעסק אך ורק בהקמת תשתית או בהשמדת תשתית, אבל לא בתחזוקה השוטפת.

  5. 01:06

    אז בואו נפתח PowerShell רגיל ונתרגל את הפקודות כאן, ואחרי זה נשים אותן ב-script. אז קודם כל, כל הפקודות של AWS CLI מתחילות במילת AWS, ואז אני כותב עם איזה אובייקטים אני הולך לעבוד.

  6. 01:21

    האמת, אתם לא חייבים ללמוד בעל פה. אפשר להשתמש ב-ChatGPT כדי שייצור לכם את הפקודה. במקרה שלי, זה לקחת את כל המכונות הווירטואליות בלי שום סינון מתוך Region של ישראל, ומפתחות API לקחת מתוך קובץ ברירת מחדל, ויש שמה פרופיל בשם הזה.

  7. 01:43

    אני מזכיר לכם שבתוך כל user, כברירת מחדל אנחנו יוצרים תיקייה .AWS. יש בפנים credentials. עשינו את זה עם AWS Config, ופה בפנים יש את

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

ההרצאה הקודמת: קובץ env ב-Terraform - פרויקט NodeJS

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

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

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

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

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