תזמון של הפעלה והפסקה של מכונה וירטואלית

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

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

מידע על אפשרויות אחרות לתזמון אוטומטי של מכונות וירטואליות זמין בדפים הבאים:

  • שינוי גודל על סמך לוחות זמנים: אם אתם מריצים את עומס העבודה שלכם בקבוצת מופעי מכונה מנוהלים (MIG), אתם יכולים להשתמש בלוחות זמנים לשינוי גודל כדי לתזמן את מספר המכונות הווירטואליות (VM) שנדרשות לאירועים חוזרים או חד-פעמיים.

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

לפני שמתחילים

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

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

    המסוף

    כשמשתמשים במסוף Google Cloud כדי לגשת לשירותים ולממשקי ה-API, לא צריך להגדיר אימות. Google Cloud

    gcloud

    1. התקינו את ה-CLI של Google Cloud. אחר כך, אתחלו את ה-CLI של Google Cloud באמצעות הפקודה הבאה:

      gcloud init

      אם אתם משתמשים בספק זהויות חיצוני (IdP), קודם אתם צריכים להיכנס ל-CLI של gcloud באמצעות המאגר המאוחד לניהול זהויות.

  • הגדרת אזור ותחום כברירת מחדל
  • REST

    כדי להשתמש בסביבת פיתוח מקומית בדוגמאות של API בארכיטקטורת REST שבדף הזה, צריך להשתמש בפרטי הכניסה שאתם נותנים ל-CLI של gcloud.

      התקינו את ה-CLI של Google Cloud.

      אם אתם משתמשים בספק זהויות חיצוני (IdP), קודם אתם צריכים להיכנס ל-CLI של gcloud באמצעות המאגר המאוחד לניהול זהויות.

    מידע נוסף מופיע במאמר אימות לשימוש ב-REST במסמכי האימות של Google Cloud .

התפקידים הנדרשים

כדי להשתמש בלוחות זמנים של מופעים, צריך להקצות את התפקידים הנדרשים בניהול זהויות והרשאות גישה (IAM) לגורמים הבאים:

  • סוכן השירות של Compute Engine בפרויקט. ההגדרה הזו נדרשת כדי שהתזמון של המכונה יפעל במכונה וירטואלית.

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

  • חשבון המשתמש או חשבון השירות שיוצר, מנהל או משתמש בלוח הזמנים של המופע.

התפקידים הנדרשים של סוכן השירות של Compute Engine

כדי לוודא שלסוכן השירות של Compute Engine יש את ההרשאות הנדרשות להפעלת לוח זמנים של מכונה, צריך לבקש מהאדמין להקצות לסוכן השירות של Compute Engine את תפקיד ה-IAM‏ Compute Instance Admin (v1) (roles/compute.instanceAdmin.v1) בפרויקט.

מידע נוסף על הקצאת תפקידים מופיע במאמר ניהול הגישה לפרויקטים, לתיקיות ולארגונים.

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

ההרשאות הנדרשות

כדי להריץ תזמון של מכונה, צריך את ההרשאות הבאות:

  • compute.instances.start
  • compute.instances.stop

יכול להיות שהאדמין יוכל גם להעניק לסוכן השירות של Compute Engine את ההרשאות האלה באמצעות תפקידים בהתאמה אישית או תפקידים מוגדרים מראש אחרים.

תפקידים נדרשים למשתמש או לחשבון שירות

כדי לוודא שלכם או לחשבון השירות שלכם יש את ההרשאות הנדרשות ליצירה ולניהול של לוחות זמנים של מכונות, צריך לבקש מהאדמין להקצות לכם או לחשבון השירות שלכם את תפקיד ה-IAM‏ Compute Instance Admin (v1) (roles/compute.instanceAdmin.v1) בפרויקט או בארגון. כדי לקרוא הסבר על מתן תפקידים, ראו איך מנהלים את הגישה ברמת הפרויקט, התיקייה והארגון.

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

ההרשאות הנדרשות

כדי ליצור ולנהל תזמונים של מכונות, צריך את ההרשאות הבאות:

  • יוצרים תזמון מכונה: compute.resourcePolicies.create
  • הצגת לוח זמנים של מופע: compute.resourcePolicies.list
  • מתארים תזמון מכונה: compute.resourcePolicies.get
  • כדי למחוק לוח זמנים של מכונה: compute.resourcePolicies.delete
  • כדי לצרף לוח זמנים של מופע למכונה וירטואלית חדשה:
    • compute.instances.create
    • compute.resourcePolicies.use
    • compute.instances.addResourcePolicies
  • כדי לצרף תזמון מכונה למכונה וירטואלית קיימת:
    • compute.resourcePolicies.use
    • compute.instances.addResourcePolicies
  • כדי להסיר לוח זמנים של מכונה וירטואלית ממכונה וירטואלית:
    • compute.resourcePolicies.use
    • compute.instances.removeResourcePolicies

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

מגבלות

  • אפשר לצרף תזמון של מכונה רק למכונות וירטואליות שנמצאות באותו אזור כמו התזמון של המכונה.
  • אי אפשר להשתמש בלוחות זמנים של מכונות כדי לעצור מכונה שיש לה דיסקים מסוג SSD מקומי.
  • כל מכונת VM יכולה לפעול רק לפי לוח זמנים אחד, אבל אפשר לצרף כל לוח זמנים של מכונה וירטואלית לעד 1,000 מכונות וירטואליות.
  • תזמון של מכונות לא מבטיח קיבולת, ולכן אם המשאבים שנדרשים למכונה וירטואלית מתוזמנת לא זמינים בזמן המתוזמן, יכול להיות שהמכונה הווירטואלית לא תופעל בזמן המתוזמן. אפשר לשריין מראש מכונות וירטואליות כדי להגדיל את הסיכוי שתקבלו בוודאות מספיק קיבולת כשצריך, אבל אי אפשר לתזמן שריון מקום באופן אוטומטי.
  • לוחות זמנים של מכונות וירטואליות רק מפעילים ומפסיקים מכונות וירטואליות בשעות שצוינו, אבל אפשר להפעיל ולהפסיק מכונות וירטואליות באופן ידני בכל שלב. לדוגמה, נניח שיש לכם לוח זמנים שמתחיל כל יום בשעה 8:00 ומסתיים כל יום בשעה 17:00. אם תצרפו את התזמון הזה למופע של מכונה וירטואלית שהופסק בשעה 16:00, המופע של המכונה הווירטואלית לא יתחיל לפעול עד השעה 8:00 בבוקר שלמחרת, אלא אם תפעילו אותו ידנית לפני כן.
  • יכול להיות שייקח עד 15 דקות מעבר לזמן המתוזמן עד שמופעי מכונות וירטואליות מתוזמנים יתחילו פעולת הפעלה או עצירה. אם אתם צריכים שמכונות וירטואליות יתחילו או יפסיקו לפעול בשעה מסוימת, כדאי לתזמן את הפעולה 15 דקות לפני השעה הרצויה, ולתזמן כל פעולה בהפרש של לפחות 15 דקות.
  • יכול להיות שהתזמון ייכשל אם יש פער של פחות מ-15 דקות בין פעולות ההתחלה וההפסקה. הסיבה לכך היא שפעולת העצירה עשויה להתרחש לפני פעולת ההתחלה, ולמנוע את פעולת ההתחלה.
  • בכל לוח זמנים של מופע אפשר להגדיר עד פעולת התחלה אחת ועד פעולת עצירה אחת בשעה.
  • כדי לשנות את לוח הזמנים של מופע, משתמשים בפעולת תיקון במדיניות Instance Schedule.

ניהול לוחות זמנים של מופעים

ליצור, להציג, לתאר ולמחוק לוחות זמנים של מכונות באמצעותGoogle Cloud המסוף, Google Cloud CLI או Compute Engine API.

יצירת לוח זמנים של מכונה

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

המסוף

  1. נכנסים לדף VM instances במסוף Google Cloud .

    כניסה לדף VM instances

  2. לוחצים על הכרטיסייה לוחות זמנים של מופעים בחלק העליון של הדף.

  3. לוחצים על יצירת לוח זמנים. נפתח החלונית Create a schedule (יצירת לוח זמנים).

  4. מזינים שם.

  5. בתפריט הנפתח אזור, בוחרים את המיקום של לוח הזמנים של המופע הזה.

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

    אפשר להשתמש בשדות ברירת המחדל שעת התחלה, שעת סיום ותדירות, או להשתמש בביטויי cron כדי להגדיר לוח זמנים מורכב יותר.

    • שדות ברירת מחדל:

      1. מזינים שעת התחלה, שעת סיום או את שתיהן.
        • בשדה Start time, מקלידים או לוחצים על כדי לבחור את השעה שבה יופעלו מכונות וירטואליות.
        • בשדה Stop time, מקלידים או לוחצים על כדי לבחור את השעה שבה רוצים להפסיק את מכונות ה-VM.
      2. בתפריט הנפתח תדירות בחלק התחתון של החלונית, בוחרים באיזו תדירות שעת ההתחלה ושעת הסיום יחזרו על עצמן.
    • ביטויי Cron:

      1. כדי להפעיל ביטויי cron, לוחצים על המתג Use CRON expression (שימוש בביטוי cron) בחלק העליון של החלונית.
      2. מזינים ביטוי CRON להתחלה, ביטוי CRON להפסקה או את שניהם.
        • בשדה Start CRON expression, מזינים ביטוי cron שמתאר מתי להפעיל מכונות וירטואליות.
        • בשדה Stop CRON expression (ביטוי cron להפסקת הפעולה), מזינים ביטוי cron שמתאר מתי להפסיק את מכונות ה-VM.
  7. בתפריט הנפתח אזור זמן, בוחרים את אזור הזמן של שעת ההתחלה ושעת הסיום.

  8. אופציונלי: בשדה תאריך ההתחלה, מקלידים או לוחצים על כדי לבחור את התאריך והשעה שבהם רוצים שהתזמון של המופע הזה יתחיל. אם לא מציינים תזמון, הוא מתעדכן באופן מיידי.

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

  10. לוחצים על שליחה.

gcloud

כדי ליצור תזמון של מכונה באמצעות ה-CLI של gcloud, משתמשים בפקודה gcloud compute resource-policies create instance-schedule:

gcloud compute resource-policies create instance-schedule SCHEDULE_NAME \
    --region=REGION \
    [--vm-start-schedule='START-OPERATION_SCHEDULE'] \
    [--vm-stop-schedule='STOP-OPERATION_SCHEDULE'] \
    [--timezone=TIME_ZONE] \
    [--initiation-date=INITIATION_DATE] \
    [--end-date=END_DATE]

מחליפים את מה שכתוב בשדות הבאים:

  • SCHEDULE_NAME: השם של לוח הזמנים החדש של המכונה.
  • REGION: האזור שבו נמצאים המופעים של המכונות הווירטואליות שרוצים לצרף ללוח הזמנים של המופע הזה.
  • מציינים לפחות אחת מהאפשרויות הבאות:
    • START-OPERATION_SCHEDULE: לוח זמנים שמתאר מתי מופעלים המופעים של מכונות וירטואליות שמצורפים, בפורמט של ביטוי cron. אם אתם צריכים שמופעי מכונות וירטואליות יתחילו בזמן מסוים, כדאי לתזמן את הפעולה 15 דקות לפני הזמן שאתם צריכים. מידע נוסף זמין במאמר בנושא תזמון של פעולות התחלה.
    • STOP-OPERATION_SCHEDULE: לוח זמנים שמתאר מתי המכונות הווירטואליות המצורפות נעצרות, בפורמט של ביטוי cron. אם אתם צריכים שמופעים של מכונות וירטואליות יופסקו בזמן מסוים, כדאי לתזמן את הפעולה 15 דקות לפני הזמן הרצוי. מידע נוסף זמין במאמר בנושא תזמון של הפסקת פעולה.
  • TIME_ZONE: אופציונלי: אזור הזמן של IANA שמבוסס על מיקום ללוח הזמנים של המכונה. אם לא מציינים ערך, המערכת משתמשת בערך ברירת המחדל UTC. מידע נוסף זמין במאמר בנושא אזור זמן.
  • INITIATION_DATE: אופציונלי: התאריך הראשון שבו התזמון של המופע תקף, בפורמט של חותמת זמן RFC 3339. אם לא מציינים תאריך, התזמון מתעדכן באופן מיידי. מידע נוסף זמין במאמר בנושא תאריך ההתחלה.
  • END_DATE: אופציונלי: התאריך האחרון שבו לוח הזמנים של המופע בתוקף, בפורמט של חותמת זמן RFC 3339. אם לא מציינים תאריך, התזמון תקף ללא הגבלת זמן. מידע נוסף זמין במאמר בנושא תאריך סיום.

REST

כדי ליצור תזמון של מכונה באמצעות Compute Engine API, שולחים בקשה באמצעות השיטה resourcePolicies.insert:

POST https://compute.googleapis.com/compute/v1/projects/PROJECT/regions/REGION/resourcePolicies
{
  "name": "SCHEDULE_NAME",
  "instanceSchedulePolicy": {
    "vmStartSchedule": {
      "schedule": "START-OPERATION_SCHEDULE"
    },
    "vmStopSchedule": {
      "schedule": "STOP-OPERATION_SCHEDULE"
    },
    "timeZone": "TIME_ZONE",
    "startTime":"INITIATION_DATE",
    "expirationTime":"END_DATE"
  }
}

מחליפים את מה שכתוב בשדות הבאים:

  • PROJECT: מזהה הפרויקט.
  • REGION: האזור שבו נמצאים המופעים של מכונות וירטואליות שרוצים לצרף ללוח הזמנים של המופע הזה.
  • SCHEDULE_NAME: השם של לוח הזמנים החדש של המכונה.
  • START-OPERATION_SCHEDULE או STOP-OPERATION_SCHEDULE: מציינים לפחות אחת מהאפשרויות הבאות:
    • START-OPERATION_SCHEDULE: לוח זמנים שמתאר מתי מופעלים המופעים של מכונות וירטואליות שמצורפים, בפורמט של ביטוי cron. אם אתם צריכים שמופעי מכונות וירטואליות יופעלו בזמן מסוים, כדאי לתזמן את הפעולה 15 דקות לפני הזמן שבו אתם צריכים שהם יופעלו. מידע נוסף זמין במאמר בנושא תזמון של פעולות התחלה.
    • STOP-OPERATION_SCHEDULE: לוח זמנים שמתאר מתי המכונות הווירטואליות המצורפות נעצרות, בפורמט של ביטוי cron. אם אתם צריכים שמופעים של מכונות וירטואליות יופסקו בשעה מסוימת, כדאי לתזמן את הפעולה 15 דקות לפני השעה הרצויה. מידע נוסף זמין במאמר בנושא תזמון של הפסקת פעולה.
  • TIME_ZONE: אזור הזמן של IANA שמבוסס על מיקום, שמוגדר ללוח הזמנים של המכונה. מידע נוסף זמין במאמר בנושא אזור זמן.
  • INITIATION_DATE: אופציונלי: התאריך הראשון שבו התזמון של המופע תקף, בפורמט של חותמת זמן RFC 3339. אם לא מציינים תאריך, התזמון מתעדכן באופן מיידי. מידע נוסף זמין במאמר בנושא תאריך ההתחלה.
  • END_DATE: אופציונלי: התאריך האחרון שבו לוח הזמנים של המופע בתוקף, בפורמט של חותמת זמן RFC 3339. אם לא מציינים תאריך, התזמון תקף ללא הגבלת זמן. מידע נוסף זמין במאמר בנושא תאריך סיום.

לכל תזמון של מופע יש את ההגדרות הבאות:

לוח זמנים להתחלת פעולה, לוח זמנים להפסקת פעולה

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

כשיוצרים לוחות זמנים של מופעים באמצעות Google Cloud המסוף, אפשר לבחור שעת התחלה, שעת סיום ותדירות, או לעצב כל לוח זמנים כביטוי cron. כשיוצרים תזמון של מופעים באמצעות ה-CLI של gcloud או Compute Engine API, צריך לעצב כל תזמון כביטוי cron.

בטבלה הבאה מוגדרים השדות של ביטוי cron והערכים הנתמכים לכל שדה.

דקה שעה היום בחודש חודש היום בשבוע
0-59 0-23 1-31

כאשר 29-31 תקפים רק בחודשים הרלוונטיים

1-12 ‫0-6 או SUN-SAT (ראשון עד שבת)

כאשר 0=SUN, 1=MON, … 6=SAT

בנוסף לערכים האלה, אפשר להשתמש גם בתווים המיוחדים הבאים בכל שדה בביטוי cron.
תו מיוחד משמעות דוגמה
* הכול אם השדה של היום בחודש, השדה של החודש והשדה של היום בשבוע מוגדרים כולם לערך *, התזמון חוזר על עצמו כל יום.
- טווח אם השדה של היום בשבוע מוגדר ל-MON-FRI (או ל-1-5), לוח הזמנים חוזר על עצמו כל שבוע מיום שני עד יום שישי.
, list אם שדה החודש מוגדר ל-1-6,8-12, לוח הזמנים חוזר על עצמו כל חודש חוץ מיולי.

כשכותבים ביטוי cron, חשוב להתייחס לנקודות הבאות:

  • כדי להפריד בין השדות של ביטוי Cron, משתמשים ברווחים. חשוב לזכור לא להוסיף רווחים לבנים מיותרים בשדה שבו נעשה שימוש בתווים מיוחדים.
  • כשמציינים גם יום בשבוע וגם יום בחודש (כששני השדות לא מוגדרים לערך *), לוח הזמנים משתמש באיחוד של הערכים האלה, ולא בחיתוך שלהם. לדוגמה, התזמון 0 8 1 * MON מתחיל בשעה 8:00 בכל יום שני וביום הראשון של כל חודש. לוח הזמנים הזה לא מתחיל בשעה 8:00 רק בימי שני שהם גם היום הראשון בחודש.
אזור זמן

אזור הזמן של IANA שמבוסס על מיקום, ללוח הזמנים של שעת ההתחלה וללוח הזמנים של שעת הסיום. במסד הנתונים של אזור זמן IANA מוגדרת רשימה של ערכים זמינים. אזור הזמן הזה משמש כהפניה רק לתזמונים של הפעולות start-operation ו-stop-operation – הוא לא משמש לתאריך ההתחלה ולתאריך הסיום. אזור הזמן הוא אופציונלי כשמשתמשים ב-CLI של gcloud או ב-API של Compute Engine. אם לא מציינים ערך, המערכת משתמשת בערך ברירת המחדל UTC.

בחלק מאזורי הזמן של IANA יש שעון קיץ (DST), שיכול להשפיע על לוחות הזמנים של המופע. הפרטים של שעון הקיץ – כמו מתי הוא מתחיל ומתי הוא מסתיים, וגם כמה זמן מוסיפים או גורעים – משתנים בהתאם לכל אזור זמן.

תאריך התחלה, תאריך סיום

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

כשיוצרים תזמון של מכונות באמצעות Google Cloud המסוף, בוחרים תאריך, שעה ואזור זמן בשדות תאריך התחלה ותאריך סיום.

כשיוצרים תזמון של מכונות באמצעות ה-CLI של gcloud או Compute Engine API, הערכים האלה מפורמטים כחותמת זמן RFC 3339:

  YYYY-MM-DDTHH:MM:SSOFFSET

מחליפים את מה שכתוב בשדות הבאים:

  • YYYY-MM-DD: תאריך בפורמט של שנה בת 4 ספרות, חודש בן 2 ספרות ויום בחודש בן 2 ספרות, כשהם מופרדים במקפים.
  • HH:MM:SS: שעה בפורמט של 24 שעות, עם שעה, דקה ושניות בני 2 ספרות, מופרדות בנקודתיים.
  • OFFSET: אזור הזמן בפורמט של היסט מהזמן האוניברסלי המתואם (UTC). לדוגמה, שעון החוף המערבי (PST), שמקדים את שעון UTC ב-8 שעות, נכתב כך: -08:00. לחלופין, כדי לא להשתמש בקיזוז (אזור הזמן UTC), כותבים Z.

הצגת לוחות זמנים של מופעים

כדי לראות את כל התזמונים הקיימים של מופעים בפרויקט, מריצים את הפקודה list instances schedules.

המסוף

  1. נכנסים לדף VM instances במסוף Google Cloud .

    כניסה לדף VM instances

  2. לוחצים על הכרטיסייה לוחות זמנים של מופעים בחלק העליון של הדף. מוצגת רשימה של כל התזמונים של המופעים בפרויקט הזה.

gcloud

כדי להציג רשימה של כל מדיניות המשאבים, כולל לוחות זמנים של מכונות, באמצעות ה-CLI של gcloud, משתמשים בפקודה gcloud compute resource-policies list. אפשר גם להוסיף את הדגל --filter כדי להגביל את התוצאות לאזור מסוים.

gcloud compute resource-policies list \
    [--filter="region:(REGION)"]

מחליפים את מה שכתוב בשדות הבאים:

  • REGION: אופציונלי: האזור שבו נמצאים לוחות הזמנים של המכונות שרוצים להציג.

REST

כדי לראות רשימה של כל מדיניות המשאבים, כולל לוחות זמנים של מכונות, באזור מסוים באמצעות Compute Engine API, שולחים בקשה באמצעות השיטה resourcePolicies.list:

GET https://compute.googleapis.com/compute/v1/projects/PROJECT/regions/REGION/resourcePolicies

מחליפים את מה שכתוב בשדות הבאים:

  • PROJECT: מזהה הפרויקט.
  • REGION: האזור שבו נמצאים לוחות הזמנים של המכונות שרוצים להציג.

תיאור של לוח זמנים של מופע

אפשר לתאר את לוח הזמנים של מכונה וירטואלית כדי לראות את התיאור, התזמון, הפעולות ורשימה של כל המכונות הווירטואליות שמחוברות אליו.

המסוף

  1. נכנסים לדף VM instances במסוף Google Cloud .

    כניסה לדף VM instances

  2. לוחצים על הכרטיסייה לוחות זמנים של מופעים בחלק העליון של הדף. מוצגת רשימה של כל התזמונים של המופעים בפרויקט הזה.

  3. לוחצים על השם של תזמון המכונה שרוצים לתאר. ייפתח הדף פרטי לוחות הזמנים של המופע של לוח הזמנים הזה.

gcloud

כדי לתאר תזמון של מופע באמצעות ה-CLI של gcloud, משתמשים בפקודה gcloud compute resource-policies describe:

gcloud compute resource-policies describe SCHEDULE_NAME \
    --region=REGION

מחליפים את מה שכתוב בשדות הבאים:

  • SCHEDULE_NAME: השם של התזמון של המופע שרוצים לתאר.
  • REGION: האזור שבו נמצא לוח הזמנים של המכונה.

הפלט אמור להיראות כך:

...
description: Every Monday to Friday in 2022, start VMs at 8 AM and stop VMs at 5 PM.
...
instanceSchedulePolicy:
 expirationTime: '2022-12-31T23:59:59Z'
 startTime: '2022-01-01T00:00:00Z'
 timeZone: UTC
 vmStartSchedule:
   schedule: 0 8 * * MON-FRI
 vmStopSchedule:
   schedule: 0 17 * * MON-FRI
...
name: example-instance-schedule
region: https://www.googleapis.com/compute/v1/projects/example-project/regions/us-west1
resourceStatus:
 instanceSchedulePolicy:
   nextRunStartTime: '2022-01-03T08:00:00Z'
...
status: READY

REST

כדי לתאר לוח זמנים של מכונה באמצעות Compute Engine API, שולחים בקשה באמצעות השיטה resourcePolicies.get:

GET https://compute.googleapis.com/compute/v1/projects/PROJECT/regions/REGION/resourcePolicies/SCHEDULE_NAME

מחליפים את מה שכתוב בשדות הבאים:

  • PROJECT: מזהה הפרויקט.
  • REGION: האזור שבו נמצא לוח הזמנים של המכונה.
  • SCHEDULE_NAME: השם של התזמון של המופע שרוצים לתאר.

הפלט אמור להיראות כך:

{
  ...
  "description": "Every Monday to Friday in 2022, start VMs at 8 AM and stop VMs at 5 PM.",
  "name": "example-instance-schedule",
  "instanceSchedulePolicy": {
    "vmStartSchedule": {
      "schedule": "0 8 * * MON-FRI"
    },
    "vmStopSchedule": {
      "schedule": "0 17 * * MON-FRI"
    },
    "timeZone": "UTC",
    "startTime": "2022-01-01T00:00:00Z",
    "expirationTime": "2022-12-31T23:59:59Z"
  },
  "status": "READY",
  "resourceStatus": {
    "instanceSchedulePolicy": {
      "nextRunStartTime": "2022-01-03T08:00:00Z"
    }
  },
  ...
}

מחיקת לוח זמנים של מכונה

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

המסוף

  1. נכנסים לדף VM instances במסוף Google Cloud .

    כניסה לדף VM instances

  2. לוחצים על הכרטיסייה לוחות זמנים של מופעים בחלק העליון של הדף. מוצגת רשימה של כל התזמונים של המופעים בפרויקט הזה.

  3. מסמנים את תיבות הסימון לצד התזמונים של המכונות שרוצים למחוק.

  4. לוחצים על מחיקה בחלק העליון של הדף. תיפתח תיבת דו-שיח חדשה לאישור הפעולה.

  5. בתיבת הדו-שיח, לוחצים על מחיקה.

gcloud

  1. אם לוח הזמנים של המופע הזה מצורף למכונות VM כלשהן, צריך להסיר אותן.
    1. כדי לבדוק לאילו מכונות וירטואליות מחוברת התזמון הזה, מתארים את התזמון של המכונה.
    2. לכל מכונה וירטואלית שאליה משויך לוח הזמנים הזה, מסירים את לוח הזמנים של המכונה.
  2. כדי למחוק תזמון של מכונה באמצעות ה-CLI של gcloud, משתמשים בפקודה gcloud compute resource-policies delete:

    gcloud compute resource-policies delete SCHEDULE_NAME \
       --region=REGION
    

    מחליפים את מה שכתוב בשדות הבאים:

    • SCHEDULE_NAME: השם של התזמון של המופע שרוצים למחוק.
    • REGION: האזור שבו נמצא לוח הזמנים של המכונה.

REST

  1. אם לוח הזמנים של המופע הזה מצורף למכונות VM כלשהן, צריך להסיר אותן.
    1. כדי לבדוק לאילו מכונות וירטואליות מחוברת התזמון הזה, מתארים את התזמון של המכונה.
    2. לכל מכונה וירטואלית שאליה משויך לוח הזמנים הזה, מסירים את לוח הזמנים של המכונה.
  2. כדי למחוק תזמון של מכונה באמצעות Compute Engine API, שולחים בקשה באמצעות השיטה resourcePolicies.delete:

    DELETE https://compute.googleapis.com/compute/v1/projects/PROJECT/regions/REGION/resourcePolicies/SCHEDULE_NAME
    

    מחליפים את מה שכתוב בשדות הבאים:

    • PROJECT: מזהה הפרויקט.
    • REGION: האזור שבו נמצא לוח הזמנים של המכונה.
    • SCHEDULE_NAME: השם של התזמון של המופע שרוצים למחוק.

שימוש בלוחות זמנים של מכונות עם מכונות וירטואליות

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

צירוף תזמון מכונה בזמן יצירת מכונה וירטואלית חדשה

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

המסוף

אי אפשר לצרף תזמון מכונה בזמן יצירת מכונה באמצעות Google Cloud המסוף. כדי להשתמש במסוף Google Cloud כדי לצרף תזמון של מכונה למכונה וירטואלית חדשה, צריך ליצור מכונה וירטואלית ואז לצרף תזמון למכונה הווירטואלית.

gcloud

כדי לצרף תזמון של מכונה למופע של מכונה וירטואלית באמצעות ה-CLI של gcloud, משתמשים בפקודה gcloud compute instances create עם הדגל --resource-policies. לדוגמה, כדי ליצור מכונה וירטואלית מאימג' ציבורי עם תזמון מכונה מצורף, משתמשים בפקודה הבאה:

gcloud compute instances create VM_NAME \
    --resource-policies=SCHEDULE_NAME \
    --zone=ZONE \
    [--image IMAGE | --image-family IMAGE_FAMILY] \
    [--image-project IMAGE_PROJECT]

מחליפים את מה שכתוב בשדות הבאים:

  • VM_NAME: השם של המופע של המכונה הווירטואלית שרוצים לצרף אליה לוח זמנים של מופע.
  • SCHEDULE_NAME: השם של התזמון של המופע שרוצים לצרף.
  • ZONE: האזור שבו נמצא המופע של המכונה הווירטואלית.
  • אופציונלי: יוצרים מכונת VM מקובץ אימג' ציבורי:
    • IMAGE או IMAGE_FAMILY: מציינים אחת מהאפשרויות הבאות:
    • IMAGE: הגרסה הנדרשת של תמונה ציבורית. לדוגמה, --image debian-10-buster-v20200309.
    • IMAGE_FAMILY: משפחת תמונות. כך נוצרת מכונה וירטואלית מתמונת מערכת ההפעלה העדכנית ביותר שלא הוצאה משימוש. לדוגמה, אם מציינים --image-family debian-10,‏ Compute Engine יוצר מכונת VM מהגרסה האחרונה של תמונת מערכת ההפעלה במשפחת תמונות Debian 10.
    • IMAGE_PROJECT: הפרויקט שמכיל את התמונה.

REST

כדי לצרף תזמון הפעלה למכונה וירטואלית באמצעות Compute Engine API, שולחים בקשה באמצעות השיטה instances.insert וכוללים את המאפיין resourcePolicies. לדוגמה, כדי ליצור מכונת VM מקובץ אימג' ציבורי עם תזמון מכונה מצורף, שולחים את הבקשה הבאה:

POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances
{
  "machineType": "zones/MACHINE_TYPE_ZONE/machineTypes/MACHINE_TYPE",
  "name": "VM_NAME",
  "disks": [
    {
      "initializeParams": {
        "sourceImage": "projects/IMAGE_PROJECT/global/images/IMAGE"
      },
      "boot": true
    }
  ],
  "resourcePolicies": [
    "https://compute.googleapis.com/compute/v1/projects/PROJECT/regions/REGION/resourcePolicies/SCHEDULE_NAME"
  ]
}

מחליפים את מה שכתוב בשדות הבאים:

  • PROJECT_ID: מזהה הפרויקט שבו רוצים ליצור את מכונת ה-VM.
  • ZONE: האזור שבו רוצים ליצור את המכונה הווירטואלית.
  • MACHINE_TYPE_ZONE: האזור שמכיל את סוג המכונה שרוצים להשתמש בו עבור המכונה הווירטואלית החדשה.
  • MACHINE_TYPE: סוג המכונה, מוגדר מראש או מותאם אישית, של המכונה הווירטואלית החדשה.
  • VM_NAME: השם של מכונת ה-VM החדשה.
  • אופציונלי: יוצרים מכונת VM מקובץ אימג' ציבורי:
    • IMAGE_PROJECT: הפרויקט שמכיל את התמונה. לדוגמה, אם מציינים את family/debian-10 כמשפחת התמונות, מציינים את debian-cloud כפרויקט התמונות.
    • IMAGE או IMAGE_FAMILY: מציינים אחת מהאפשרויות הבאות:
    • IMAGE: הגרסה הנדרשת של תמונה ציבורית. לדוגמה, "sourceImage": "projects/debian-cloud/global/images/debian-10-buster-v20200309"
    • IMAGE_FAMILY: משפחת תמונות. כך נוצרת מכונה וירטואלית מתמונת מערכת ההפעלה העדכנית ביותר שלא הוצאה משימוש. לדוגמה, אם מציינים "sourceImage": "projects/debian-cloud/global/images/family/debian-10",‏ Compute Engine יוצר מכונת VM מהגרסה האחרונה של תמונת מערכת ההפעלה במשפחת תמונות Debian 10.
  • REGION: האזור שבו נמצא לוח הזמנים של המכונה.
  • SCHEDULE_NAME: השם של התזמון של המופע שרוצים לצרף.

כדי לבדוק אם התזמון של המכונה פועל בצורה תקינה, אפשר לעיין ביומני הביקורת של מדיניות המשאבים של התזמון של המכונה ומכונת ה-VM שמצורפת אליה. יכול להיות שתצטרכו להמתין עד 15 דקות אחרי השעה המתוזמנת של כל פעולה.

צירוף תזמון מכונה למכונה וירטואלית קיימת

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

המסוף

  1. נכנסים לדף VM instances במסוף Google Cloud .

    כניסה לדף VM instances

  2. לוחצים על הכרטיסייה לוחות זמנים של מופעים בחלק העליון של הדף. מוצגת רשימה של כל התזמונים של המופעים בפרויקט הזה.

  3. לוחצים על השם של תזמון המכונה שרוצים לצרף. הדף Instance schedule details נפתח.

  4. לוחצים על הוספת מופעים ללוח הזמנים. נפתח החלונית הוספת מופעים ללוח הזמנים.

  5. מסמנים את התיבה לצד כל מכונה וירטואלית שרוצים לצרף אליה את התזמון הזה.

  6. לוחצים על הוספה.

gcloud

כדי לצרף תזמון של מכונה למופע של מכונה וירטואלית באמצעות ה-CLI של gcloud, משתמשים בפקודה gcloud compute instances add-resource-policies:

gcloud compute instances add-resource-policies VM_NAME \
    --resource-policies=SCHEDULE_NAME \
    --zone=ZONE

מחליפים את מה שכתוב בשדות הבאים:

  • VM_NAME: השם של המופע של המכונה הווירטואלית שרוצים לצרף אליה לוח זמנים של מופע.
  • SCHEDULE_NAME: השם של התזמון של המופע שרוצים לצרף.
  • ZONE: האזור שבו נמצא המופע של המכונה הווירטואלית.

REST

כדי לצרף תזמון של מכונה למכונה וירטואלית באמצעות Compute Engine API, שולחים בקשה באמצעות השיטה instances.addResourcePolicies:

POST https://compute.googleapis.com/compute/v1/projects/PROJECT/zones/ZONE/instances/VM_NAME/addResourcePolicies
{
  "resourcePolicies": "projects/PROJECT/regions/REGION/resourcePolicies/SCHEDULE_NAME"
}

מחליפים את מה שכתוב בשדות הבאים:

  • PROJECT: מזהה הפרויקט.
  • ZONE: האזור שבו נמצא המופע של המכונה הווירטואלית.
  • VM_NAME: השם של המופע של המכונה הווירטואלית שרוצים לצרף אליה לוח זמנים של מופע.
  • REGION: האזור שבו נמצא לוח הזמנים של המכונה.
  • SCHEDULE_NAME: השם של התזמון של המופע שרוצים לצרף.

כדי לבדוק אם התזמון של המכונה פועל בצורה תקינה, אפשר לעיין ביומני הביקורת של מדיניות המשאבים של התזמון של המכונה ומכונת ה-VM שמצורפת אליה. יכול להיות שתצטרכו להמתין עד 15 דקות אחרי השעה המתוזמנת של כל פעולה.

הסרת לוח זמנים של מופע ממכונה וירטואלית

כדי למנוע ממכונה וירטואלית לפעול לפי לוח זמנים של מכונה, מסירים את לוח הזמנים של המכונה מהמכונה הווירטואלית.

המסוף

  1. נכנסים לדף VM instances במסוף Google Cloud .

    כניסה לדף VM instances

  2. לוחצים על הכרטיסייה לוחות זמנים של מופעים בחלק העליון של הדף. מוצגת רשימה של כל התזמונים של המופעים בפרויקט הזה.

  3. לוחצים על השם של לוח הזמנים של המופע שרוצים להסיר. הדף Instance schedule details נפתח.

  4. בקטע Attached Instances (מכונות וירטואליות מצורפות), מסמנים את התיבה של כל מכונה וירטואלית שרוצים להסיר מהתזמון הזה.

  5. לוחצים על הסרת מופעים מהתזמון. תיפתח תיבת דו-שיח חדשה לאישור הפעולה.

  6. בתיבת הדו-שיח, לוחצים על הסרה.

gcloud

כדי להסיר תזמון של מופע ממכונה וירטואלית באמצעות ה-CLI של gcloud, משתמשים בפקודה gcloud compute instances remove-resource-policies:

gcloud compute instances remove-resource-policies VM_NAME \
    --resource-policies=SCHEDULE_NAME \
    --zone=ZONE

מחליפים את מה שכתוב בשדות הבאים:

  • VM_NAME: השם של המופע של המכונה הוירטואלית שממנו רוצים להסיר את לוח הזמנים של המופע.
  • SCHEDULE_NAME: השם של התזמון של המופע שרוצים להסיר.
  • ZONE: האזור שבו נמצא המופע של המכונה הווירטואלית.

REST

כדי להסיר תזמון של מכונה וירטואלית באמצעות Compute Engine API, שולחים בקשה באמצעות השיטה instances.removeResourcePolicies:

POST https://compute.googleapis.com/compute/v1/projects/PROJECT/zones/ZONE/instances/VM_NAME/removeResourcePolicies
{
  "resourcePolicies": "projects/PROJECT/regions/REGION/resourcePolicies/SCHEDULE_NAME"
}

מחליפים את מה שכתוב בשדות הבאים:

  • PROJECT: מזהה הפרויקט.
  • ZONE: האזור שבו נמצא המופע של המכונה הווירטואלית.
  • VM_NAME: השם של המופע של המכונה הוירטואלית שממנו רוצים להסיר את לוח הזמנים של המופע.
  • REGION: האזור שבו נמצא לוח הזמנים של המכונה.
  • SCHEDULE_NAME: השם של התזמון של המופע שרוצים להסיר.

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