במאמר הזה מוסבר איך להשבית את הכיבוי המבוקר במכונה קיימת של Compute Engine.
כדי לזרז את פעולות העצירה או המחיקה ולמנוע חיובים מיותרים, אפשר להשבית את הכיבוי המבוקר של המכונה. הפעולה הזו מגדירה את המכונות כך שיעברו מיד למצב STOPPING אחרי שמתחילה פעולת עצירה או מחיקה. אתם לא צריכים לחכות שהטיימר של הכיבוי המבוקר יסתיים או לסיים את הכיבוי המבוקר באופן ידני.
מידע נוסף על הדרישות וההגבלות שחלות כשמבצעים כיבוי מבוקר של מכונה זמין במאמר מידע על כיבוי מבוקר.
לפני שמתחילים
-
אם עדיין לא עשיתם את זה, תצטרכו להגדיר אימות.
אימות הוא התהליך שבו מאמתים את הזהות שלכם כדי לקבל גישה לממשקי API ולשירותים של Google Cloud . כדי להריץ קוד או דוגמאות מסביבת פיתוח מקומית, אפשר לבצע אימות ל-Compute Engine באחת מהדרכים האלה:
צריך לבחור את הכרטיסייה הרלוונטית לאופן שבו תכננתם להשתמש בדוגמאות בדף הזה:
המסוף
כשמשתמשים במסוף Google Cloud כדי לגשת לשירותים ולממשקי ה-API של Google Cloud , לא צריך להגדיר אימות.
gcloud
-
התקינו את ה-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 (v1) (roles/compute.instanceAdmin.v1) בפרויקט.
כדי לקרוא הסבר על מתן תפקידים, ראו איך מנהלים את הגישה ברמת הפרויקט, התיקייה והארגון.
התפקיד המוגדר מראש הזה כולל את ההרשאה compute.instances.update במכונה, שנדרשת כדי להשבית את הכיבוי המבוקר במכונה.
יכול להיות שתוכלו לקבל את ההרשאה הזו גם בתפקידים בהתאמה אישית או בתפקידים מוגדרים מראש.
השבתת הכיבוי המבוקר במכונה
אפשר להשבית את הכיבוי המבוקר במכונה בלי להפעיל אותה מחדש. עם זאת, אם המכונה נמצאת בתהליך של כיבוי מבוקר (PENDING_STOP), צריך לסיים את הכיבוי המבוקר לפני שאפשר להשבית אותה.
כדי להשבית את הכיבוי המבוקר במכונה, בוחרים באחת מהאפשרויות הבאות:
המסוף
נכנסים לדף VM instances במסוף Google Cloud .
בעמודה Name, לוחצים על השם של המכונה. דף הפרטים של המכונה נפתח בכרטיסייה Details.
לוחצים על עריכה.
בקטע Management, מבטלים את הסימון של התיבה Gracefully shut down the VM.
לוחצים על Save.
gcloud
כדי להשבית את הכיבוי המבוקר במכונה, משתמשים בפקודה gcloud compute instances update עם הדגל --no-graceful-shutdown:
gcloud compute instances update INSTANCE_NAME \
--no-graceful-shutdown \
--zone=ZONE
מחליפים את מה שכתוב בשדות הבאים:
INSTANCE_NAME: השם של המכונה הווירטואלית.
ZONE: האזור שבו נמצאת המכונה.
REST
יוצרים קובץ JSON ריק.
כדי לראות את המאפיינים של מכונה קיימת, שולחים בקשת
GETאל ה-methodinstances.get:GET https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances/INSTANCE_NAMEמחליפים את מה שכתוב בשדות הבאים:
PROJECT_ID: מזהה הפרויקט שבו נמצאת המכונה.
ZONE: האזור שבו נמצאת המכונה.
INSTANCE_NAME: השם של מכונה קיימת.
בקובץ ה-JSON הריק שיצרתם בשלבים הקודמים:
מזינים את פרטי ההגדרה של המכונה מהפלט של הבקשה
GET.מאתרים את השדה
gracefulShutdown.enabledומשנים את הערך שלו ל-false:{ ... "scheduling": { ... "gracefulShutdown": { "enabled": false } }, ... }
כדי לעדכן את המכונה, שולחים בקשת
PUTאל ה-methodinstances.update. מוסיפים את הפרטים הבאים:בכתובת ה-URL של הבקשה, מוסיפים את פרמטר השאילתה
mostDisruptiveAllowedAction.בגוף הבקשה, כוללים את המאפיינים של המכונה מקובץ ה-JSON שיצרתם ועדכנתם בשלבים הקודמים.
בקשת ה-
PUTלעדכון המכונה דומה לבקשה הבאה:PUT https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances/INSTANCE_NAME?mostDisruptiveAllowedAction=ALLOWED_ACTION { ... "scheduling": { ... "gracefulShutdown": { "enabled": false } }, ... }מחליפים את
ALLOWED_ACTIONבאחד מהערכים הבאים:
NO_EFFECT: הבקשה בודקת אם בקשת העדכון תקינה ואם המשאבים זמינים, אבל לא מעדכנת את המכונה.
REFRESH: אם המאפיינים ששונו לא מחייבים הפעלה מחדש של המכונה, Compute Engine מעדכן את המכונה.
למידע נוסף על עדכון המאפיינים של מכונה וירטואלית, ראו עדכון מאפיינים של מכונה וירטואלית.