במאמר הזה נסביר איך להפעיל כיבוי מסודר במכונה חדשה או קיימת של Compute Engine. מידע נוסף על כיבוי מסודר זמין במאמר סקירה כללית על כיבוי מסודר.
כשמפעילים כיבוי תקין במכונה, אפשר לתת למערכת ההפעלה שלה עד שעה כדי לבצע כיבוי תקין כשמפסיקים או מוחקים את המכונה. כך אפשר למנוע אובדן נתונים פוטנציאלי או מערכות קבצים פגומות.
לפני שמתחילים
-
אם עדיין לא עשיתם את זה, תצטרכו להגדיר אימות.
אימות הוא תהליך שבו מאמתים את הזהות שלכם כדי לקבל גישה לממשקי API ולשירותים של Cloud de Confiance by S3NS . כדי להריץ קוד או דוגמאות מסביבת פיתוח מקומית, אפשר לבצע אימות ל-Compute Engine באחת מהדרכים הבאות:
צריך לבחור את הכרטיסייה הרלוונטית לאופן שבו תכננתם להשתמש בדוגמאות בדף הזה:
המסוף
כשמשתמשים במסוף Cloud de Confiance כדי לגשת לשירותים ולממשקי ה-API, לא צריך להגדיר אימות. Cloud de Confiance by S3NS
gcloud
-
התקינו את ה-CLI של Google Cloud ואז היכנסו ל-CLI של gcloud באמצעות הזהות המאוחדת שלכם. אחרי שנכנסתם לחשבון, אתחלו את ה-CLI של Google Cloud באמצעות הפקודה הבאה:
gcloud init
-
- הגדרת אזור ותחום כברירת מחדל
REST
כדי להשתמש בסביבת פיתוח מקומית בדוגמאות של API בארכיטקטורת REST שבדף הזה, צריך להשתמש בפרטי הכניסה שאתם נותנים ל-CLI של gcloud.
התקינו את ה-CLI של Google Cloud ואז היכנסו ל-CLI של gcloud באמצעות הזהות המאוחדת שלכם.
מידע נוסף מופיע במאמר אימות לשימוש ב-REST במסמכי האימות של Cloud de Confiance .
התפקידים הנדרשים
כדי לקבל את ההרשאות שנדרשות להפעלת כיבוי מבוקר במכונת Compute, צריך לבקש מהאדמין להקצות לכם ב-IAM את התפקיד Compute Instance Admin (v1) (roles/compute.instanceAdmin.v1) בפרויקט.
כדי לקרוא הסבר על מתן תפקידים, ראו איך מנהלים את הגישה ברמת הפרויקט, התיקייה והארגון.
זהו תפקיד מוגדר מראש עם ההרשאות שנדרשות להפעלה של כיבוי תקין במכונת חישוב. כדי לראות בדיוק אילו הרשאות נדרשות, אפשר להרחיב את הקטע ההרשאות הנדרשות:
ההרשאות הנדרשות
כדי להפעיל כיבוי מבוקר במכונת חישוב, נדרשות ההרשאות הבאות:
-
כדי ליצור מופעים:
-
compute.instances.createבפרויקט - כדי להשתמש באימג' בהתאמה אישית ליצירת המכונה הווירטואלית (VM):
compute.images.useReadOnlyבקובץ אימג' - כדי להשתמש ב-snapshot ליצירת המכונה הווירטואלית:
compute.snapshots.useReadOnlyבקובץ ה-snapshot - כדי להשתמש בתבנית של הגדרות מכונה ליצירת המכונה הווירטואלית:
compute.instanceTemplates.useReadOnlyבתבנית של הגדרות המכונה - כדי להקצות רשת מדור קודם למכונה הווירטואלית:
compute.networks.useבפרויקט - כדי לציין כתובת IP סטטית למכונה הווירטואלית:
compute.addresses.useבפרויקט - כדי להקצות כתובת IP חיצונית למכונה הווירטואלית כשמשתמשים ברשת מדור קודם:
compute.networks.useExternalIpבפרויקט - כדי לציין רשת משנה למכונה הווירטואלית:
compute.subnetworks.useבפרויקט או ברשת המשנה שנבחרה - כדי להקצות כתובת IP חיצונית למכונה הווירטואלית כשמשתמשים ברשת VPC:
compute.subnetworks.useExternalIpבפרויקט או ברשת המשנה שנבחרה - כדי להגדיר מטא-נתונים של המכונה הווירטואלית:
compute.instances.setMetadataבפרויקט - כדי להגדיר תגים למכונה הווירטואלית:
compute.instances.setTagsבמכונה הווירטואלית - כדי להגדיר תוויות למכונה הווירטואלית:
compute.instances.setLabelsבמכונה הווירטואלית - כדי להגדיר חשבון שירות לשימוש של המכונה הווירטואלית:
compute.instances.setServiceAccountבמכונה הווירטואלית - כדי ליצור דיסק חדש למכונה הווירטואלית:
compute.disks.createבפרויקט - כדי לצרף דיסק קיים במצב קריאה-בלבד או במצב קריאה וכתיבה:
compute.disks.useבדיסק - כדי לצרף דיסק קיים במצב קריאה-בלבד:
compute.disks.useReadOnlyבדיסק
-
-
כדי ליצור תבנית של הגדרות מכונה:
compute.instanceTemplates.createבפרויקט -
כדי להפעיל כיבוי תקין במופע קיים:
compute.instances.updateבמופע
יכול להיות שתקבלו את ההרשאות האלה באמצעות תפקידים בהתאמה אישית או תפקידים מוגדרים מראש אחרים.
הפעלת כיבוי מבוקר
כדי להפעיל כיבוי מסודר במופע של מחשוב, משתמשים באחת מהשיטות הבאות:
הפעלת כיבוי מבוקר במופע קיים
אפשר להפעיל כיבוי מסודר במופע קיים של Compute בלי לעצור או להפעיל אותו מחדש. תקופת הכיבוי המבוקר שמוגדרת כברירת מחדל היא 10 דקות, אבל אפשר להגדיר תקופת כיבוי מותאמת אישית של שנייה אחת עד שעה.
כדי להפעיל כיבוי מסודר במופע קיים, בוחרים באחת מהאפשרויות הבאות:
המסוף
נכנסים לדף VM instances במסוף Cloud de Confiance .
בעמודה Name (שם), לוחצים על השם של המכונה שבה רוצים להפעיל כיבוי מבוקר.
ייפתח דף הפרטים של המופע.
לוחצים על עריכה.
בקטע ניהול, מבצעים את הפעולות הבאות:
מסמנים את תיבת הסימון Gracefully shut down the VM (כיבוי תקין של המכונה הווירטואלית).
אופציונלי: כדי לציין תקופה מותאמת אישית להפסקת הפעולה בצורה מסודרת, מציינים משך זמן בשדה משך זמן מקסימלי.
לוחצים על Save.
gcloud
כדי להפעיל כיבוי מבוקר במכונה קיימת, משתמשים בפקודה gcloud beta compute instances update עם הדגל --graceful-shutdown:
gcloud beta compute instances update INSTANCE_NAME \
--graceful-shutdown \
--zone=ZONE
מחליפים את מה שכתוב בשדות הבאים:
INSTANCE_NAME: השם של המכונה.
ZONE: האזור שבו נמצאת המכונה.
אפשר גם לציין תקופה מותאמת אישית לכיבוי מבוקר באמצעות הדגל --graceful-shutdown-max-duration:
gcloud beta compute instances update INSTANCE_NAME \
--graceful-shutdown \
--graceful-shutdown-max-duration=MAX_DURATION \
--zone=ZONE
מחליפים את MAX_DURATION במשך הזמן של תקופת ההשבתה. הערך צריך להיות בפורמט של מספר השעות, הדקות או השניות, ואחריו h, m או s בהתאמה. לדוגמה, מציינים 1h לשעה אחת או 20m10s ל-20 דקות ו-10 שניות.
REST
יוצרים קובץ JSON ריק.
כדי לראות את המאפיינים של מכונה קיימת, שולחים בקשת
GETאל ה-methodinstances.getבגרסת הבטא:GET https://compute.s3nsapis.fr/compute/beta/projects/PROJECT_ID/zones/ZONE/instances/INSTANCE_NAMEמחליפים את מה שכתוב בשדות הבאים:
PROJECT_ID: מזהה הפרויקט שבו נמצא המופע.
ZONE: האזור שבו נמצאת המכונה.
INSTANCE_NAME: השם של מופע קיים.
בקובץ ה-JSON הריק שיצרתם בשלבים הקודמים, מבצעים את הפעולות הבאות:
מזינים את פרטי ההגדרה של המופע מתוך הפלט של בקשת
GET.בשדה
scheduling, מוסיפים את השדהgracefulShutdownבאופן הבא:{ ... "scheduling": { ... "gracefulShutdown": { "enabled": true } }, ... }אפשר גם לציין תקופת כיבוי מבוקר בהתאמה אישית, על ידי הוספת השדה
maxDuration:{ ... "scheduling": { ... "gracefulShutdown": { ... "enabled": true, "maxDuration": { "seconds": "MAX_DURATION" } } }, ... }מחליפים את
MAX_DURATIONבמשך הזמן בשניות של תקופת הכיבוי המבוקר. הערך צריך להיות בין1ל-3600, כלומר 3,600 שניות (שעה).
כדי לעדכן את המכונה ולהפעיל אותה מחדש, שולחים בקשת
PUTאל ה-methodinstances.updateבגרסת הבטא. בבקשה, מבצעים את הפעולות הבאות:בכתובת ה-URL של הבקשה, כוללים את פרמטר השאילתה
mostDisruptiveAllowedActionשמוגדר לערךRESTART.בגוף הבקשה, כוללים את מאפייני המופע מקובץ ה-JSON שיצרתם ועדכנתם בשלבים הקודמים.
בקשת
PUTלעדכון המופע דומה לבקשה הבאה:PUT https://compute.s3nsapis.fr/compute/beta/projects/PROJECT_ID/zones/ZONE/instances/INSTANCE_NAME?mostDisruptiveAllowedAction=RESTART { ... "scheduling": { ... "gracefulShutdown": { "enabled": true } }, ... }
מידע נוסף על עדכון המאפיינים של מופע זמין במאמר בנושא עדכון מאפייני מופע.
הפעלת כיבוי תקין בזמן יצירת מכונה
כשיוצרים מופע של מחשוב עם הפעלה של כיבוי חלק, תקופת הכיבוי שמוגדרת כברירת מחדל היא 10 דקות. אפשר גם לציין תקופת השבתה מותאמת אישית בין שנייה אחת לשעה אחת.
כדי ליצור מופע עם כיבוי תקין, בוחרים באחת מהאפשרויות הבאות:
המסוף
נכנסים לדף VM instances במסוף Cloud de Confiance .
לוחצים על Create instance.
ייפתח הדף Create an instance.
מציינים שם למכונה.
מציינים את האזור והתחום שבהם רוצים ליצור את המכונה.
מציינים את סוג המכונה של המופע.
בתפריט הניווט, לוחצים על מתקדם.
מרחיבים את הקטע VM provisioning model advanced settings (הגדרות מתקדמות של מודל הקצאת מכונות וירטואליות) ומבצעים את הפעולות הבאות:
מסמנים את תיבת הסימון Gracefully shut down the VM (כיבוי תקין של המכונה הווירטואלית).
אופציונלי: כדי לציין תקופה מותאמת אישית להפסקת הפעולה בצורה מסודרת, מציינים משך זמן בשדה משך זמן מקסימלי.
לוחצים על יצירה.
gcloud
כדי ליצור מכונה עם השבתה הדרגתית, משתמשים בפקודה gcloud beta compute instances create עם הדגל --graceful-shutdown:
gcloud beta compute instances create INSTANCE_NAME \
--graceful-shutdown \
--machine-type=MACHINE_TYPE \
--zone=ZONE
מחליפים את מה שכתוב בשדות הבאים:
INSTANCE_NAME: השם של המכונה.
MACHINE_TYPE: סוג המכונה שבה רוצים להשתמש עבור המופע.
ZONE: האזור שבו רוצים ליצור את המכונה.
אפשר גם לציין תקופה מותאמת אישית לכיבוי מבוקר באמצעות הדגל --graceful-shutdown-max-duration:
gcloud beta compute instances create INSTANCE_NAME \
--graceful-shutdown \
--graceful-shutdown-max-duration=MAX_DURATION \
--machine-type=MACHINE_TYPE \
--zone=ZONE
מחליפים את MAX_DURATION במשך הזמן של תקופת ההשבתה ההדרגתית. הערך צריך להיות בפורמט של מספר השעות, הדקות או השניות, ואחריו h, m או s בהתאמה. לדוגמה, אפשר לציין 1h לשעה אחת, או 20m10s ל-20 דקות ו-10 שניות.
REST
כדי ליצור מכונה עם הפעלה של כיבוי תקין, שולחים בקשת POST אל ה-method beta.instances.insert.
בגוף הבקשה, כוללים את השדה gracefulShutdown:
POST https://compute.s3nsapis.fr/compute/beta/projects/PROJECT_ID/zones/ZONE/instances
{
"name": "INSTANCE_NAME",
"machineType": "zones/ZONE/machineTypes/MACHINE_TYPE",
"disks": [
{
"boot": true,
"initializeParams": {
"sourceImage": "projects/IMAGE_PROJECT/global/images/IMAGE"
}
}
],
"networkInterfaces": [
{
"network": "global/networks/default"
}
],
"scheduling": {
"gracefulShutdown": {
"enabled": true
}
}
}
מחליפים את מה שכתוב בשדות הבאים:
PROJECT_ID: מזהה הפרויקט שבו רוצים ליצור את המכונה.
ZONE: האזור שבו רוצים ליצור את המכונה.
INSTANCE_NAME: השם של המכונה.
MACHINE_TYPE: סוג המכונה של המופע.
IMAGE_PROJECT: פרויקט התמונה שמכיל את התמונה, לדוגמהdebian-cloud. מידע נוסף על פרויקטים של תמונות נתמכות זמין במאמר תמונות ציבוריות.
IMAGE: מציינים אחת מהאפשרויות הבאות:גרסה ספציפית של תמונת מערכת ההפעלה – לדוגמה,
debian-12-bookworm-v20240617.משפחת תמונות, שצריכה להיות בפורמט
family/IMAGE_FAMILY. הפורמט הזה מציין את תמונת מערכת ההפעלה העדכנית ביותר שלא הוצאה משימוש. לדוגמה, אם מצייניםfamily/debian-12, נעשה שימוש בגרסה האחרונה במשפחת קובצי האימג' של Debian 12. מידע נוסף על שימוש במשפחות של תמונות זמין במאמר בנושא שיטות מומלצות לשימוש במשפחות של תמונות.
אופציונלי: כדי לציין תקופה מותאמת אישית להפסקת פעולה תקינה, כוללים את השדה maxDuration בגוף הבקשה:
POST https://compute.s3nsapis.fr/compute/beta/projects/PROJECT_ID/zones/ZONE/instances
{
"name": "INSTANCE_NAME",
"machineType": "zones/ZONE/machineTypes/MACHINE_TYPE",
"disks": [
{
"boot": true,
"initializeParams": {
"sourceImage": "projects/IMAGE_PROJECT/global/images/IMAGE"
}
}
],
"networkInterfaces": [
{
"network": "global/networks/default"
}
],
"scheduling": {
"gracefulShutdown": {
"enabled": true,
"maxDuration": {
"seconds": "MAX_DURATION"
}
}
}
}
מחליפים את MAX_DURATION במשך הזמן בשניות של תקופת הכיבוי המבוקר. הערך צריך להיות בין 1 ל-3600, כלומר 3,600 שניות (שעה).
אפשרויות הגדרה נוספות ליצירת מכונה מפורטות במאמר יצירת מכונה של Compute Engine והפעלה שלה.
הפעלת כיבוי מבוקר בזמן יצירת תבנית של הגדרות מכונה
כשיוצרים תבנית של הגדרות מכונה עם כיבוי מבוקר, תקופת הפסקת הפעולה שמוגדרת כברירת מחדל היא 10 דקות. אפשר גם לציין תקופת השבתה מותאמת אישית בין שנייה אחת לשעה אחת.
בכל מופעי החישוב שנוצרו באמצעות תבנית של הגדרות מכונה מופעלת השבתה מסודרת.
כדי ליצור תבנית של הגדרות מכונה עם כיבוי מבוקר, בוחרים באחת מהאפשרויות הבאות:
המסוף
נכנסים לדף Instance templates במסוף Cloud de Confiance .
לוחצים על Create instance template.
ייפתח הדף יצירת תבנית של הגדרות מכונה.
בשדה Name, מזינים שם לתבנית של הגדרות מכונה.
בוחרים את המיקום באופן הבא:
כדי לצמצם את התלות בין אזורים על ידי יצירת תבנית של מופע אזורי:
בוחרים באפשרות Regional (אזורי), אם היא לא מסומנת.
בשדה אזור, בוחרים את האזור שבו רוצים ליצור את תבנית של הגדרות מכונה.
אחרת, כדי להשתמש בתבנית של הגדרות מכונה באזורים שונים, בוחרים באפשרות Global.
בקטע Machine configuration, מציינים את סוג המכונה.
מרחיבים את הקטע VM provisioning model advanced settings (הגדרות מתקדמות של מודל הקצאת מכונות וירטואליות) ומבצעים את הפעולות הבאות:
מסמנים את תיבת הסימון Gracefully shut down the VM (כיבוי תקין של המכונה הווירטואלית).
אופציונלי: כדי לציין תקופה מותאמת אישית להפסקת הפעולה בצורה מסודרת, מציינים משך זמן בשדה משך זמן מקסימלי.
לוחצים על יצירה.
gcloud
כדי ליצור תבנית של הגדרות מכונה שמופעל בה כיבוי מבוקר, משתמשים בפקודה gcloud beta compute instance-templates create עם הדגל --graceful-shutdown.
לדוגמה, כדי ליצור תבנית של הגדרות מכונה אזורית עם כיבוי מבוקר, מריצים את הפקודה הבאה:
gcloud beta compute instance-templates create INSTANCE_TEMPLATE_NAME \
--graceful-shutdown \
--instance-template-region=REGION \
--machine-type=MACHINE_TYPE
מחליפים את מה שכתוב בשדות הבאים:
INSTANCE_TEMPLATE_NAME: השם של תבנית הגדרות המכונה.
REGION: האזור שבו רוצים ליצור את תבנית הגדרות המכונה.
MACHINE_TYPE: סוג המכונה של המכונות שנוצרו באמצעות תבנית של הגדרות מכונה.
אפשר גם לציין תקופת השבתה מדורגת בהתאמה אישית באמצעות הדגל --graceful-shutdown-max-duration.
gcloud beta compute instance-templates create INSTANCE_TEMPLATE_NAME \
--graceful-shutdown \
--graceful-shutdown-max-duration=MAX_DURATION \
--instance-template-region=REGION \
--machine-type=MACHINE_TYPE
מחליפים את MAX_DURATION במשך הזמן של תקופת ההשבתה. הערך צריך להיות בפורמט של מספר השעות, הדקות או השניות, ואחריו h, m או s בהתאמה. לדוגמה, מציינים 1h לשעה אחת או 20m10s ל-20 דקות ו-10 שניות.
REST
כדי ליצור תבנית של הגדרות מכונה שמופעל בה כיבוי תקין, שולחים בקשת POST לאחת מהשיטות הבאות:
כדי ליצור תבנית של הגדרות מכונה גלובלית: שיטה
instanceTemplates.insertבגרסת בטא.כדי ליצור תבנית של הגדרות מכונה אזורית: שיטה
regionInstanceTemplates.insertבטא.
לדוגמה, כדי ליצור תבנית של הגדרות מכונה אזורית עם כיבוי מבוקר, שולחים בקשת POST באופן הבא:
POST https://compute.s3nsapis.fr/compute/beta/projects/PROJECT_ID/regions/REGION/instanceTemplates
{
"name": "INSTANCE_TEMPLATE_NAME",
"properties": {
"disks": [
{
"boot": true,
"initializeParams": {
"sourceImage": "projects/IMAGE_PROJECT/global/images/IMAGE"
}
}
],
"machineType": "MACHINE_TYPE",
"networkInterfaces": [
{
"network": "global/networks/default"
}
],
"scheduling": {
"gracefulShutdown": {
"enabled": true
}
}
}
}
מחליפים את מה שכתוב בשדות הבאים:
PROJECT_ID: מזהה הפרויקט שבו רוצים ליצור את תבנית של הגדרות מכונה.
REGION: האזור שבו רוצים ליצור את תבנית המכונה.
INSTANCE_TEMPLATE_NAME: השם של תבנית הגדרות המכונה.
IMAGE_PROJECT: פרויקט התמונה שמכיל את התמונה, לדוגמהdebian-cloud. מידע נוסף על פרויקטים של תמונות נתמכות זמין במאמר תמונות ציבוריות.
IMAGE: מציינים אחת מהאפשרויות הבאות:גרסה ספציפית של תמונת מערכת ההפעלה – לדוגמה,
debian-12-bookworm-v20240617.משפחת תמונות, שצריכה להיות בפורמט
family/IMAGE_FAMILY. הפורמט הזה מציין את תמונת מערכת ההפעלה העדכנית ביותר שלא הוצאה משימוש. לדוגמה, אם מצייניםfamily/debian-12, נעשה שימוש בגרסה האחרונה במשפחת קובצי האימג' של Debian 12. מידע נוסף על שימוש במשפחות של תמונות זמין במאמר בנושא שיטות מומלצות לשימוש במשפחות של תמונות.
MACHINE_TYPE: סוג המכונה של המכונות שנוצרו באמצעות תבנית של הגדרות מכונה.
אם רוצים לציין תקופת השבתה הדרגתית בהתאמה אישית, צריך לכלול את השדה maxDuration בגוף הבקשה.
POST https://compute.s3nsapis.fr/compute/beta/projects/PROJECT_ID/global/instanceTemplates
{
"name": "INSTANCE_TEMPLATE_NAME",
"properties": {
"disks": [
{
"boot": true,
"initializeParams": {
"sourceImage": "projects/IMAGE_PROJECT/global/images/IMAGE"
}
}
],
"machineType": "MACHINE_TYPE",
"networkInterfaces": [
{
"network": "global/networks/default"
}
],
"scheduling": {
"gracefulShutdown": {
"enabled": true,
"maxDuration": {
"seconds": "MAX_DURATION"
}
}
}
}
}
מחליפים את MAX_DURATION במשך הזמן בשניות של תקופת ההשבתה. הערך צריך להיות בין 1 ל-3600, כלומר 3,600 שניות (שעה אחת).
אפשרויות הגדרה נוספות ליצירת תבנית של הגדרות מכונה מפורטות במאמר יצירת תבניות מכונה.