במאמר הזה נסביר איך להשהות מכונות Compute Engine או להפעיל אותן מחדש. מידע נוסף על השהיה, עצירה או איפוס של מכונות זמין במאמר השהיה, עצירה או איפוס של מכונות ב-Compute Engine.
אם אתם רוצים להשאיר את המכונה של Compute Engine, אבל לא רוצים לשלם עליה כשהיא לא בשימוש, אתם יכולים להשהות אותה. השעיה של מופע שומרת את המופע ומעבירה את התוכן של הזיכרון של המופע לאחסון. אחרי שממשיכים את הפעולה של המכונה, Compute Engine מעביר את הזיכרון של המכונה מהאחסון בחזרה למכונה, והמכונה מתחילה לפעול שוב.
השעיה של מכונה ב-Compute Engine שימושית במקרים הבאים:
סביבות פיתוח ובדיקה שלא נעשה בהן שימוש מלא בתקופות שבהן אין פעילות, למשל בערבים או בסופי שבוע, ואתם רוצים לשמור אותן כדי לחסוך בעלויות או כדי לאתחל אותן מהר יותר מאשר ליצור מופעים חדשים.
אפליקציות שנדרש להן פרק זמן ארוך לאתחול אחרי שהמופע סיים את האתחול, אבל לפני שהאפליקציה מוכנה לטפל בבקשה הראשונה שלה, כמו תחנות עבודה וירטואליות למפתחים או אפליקציות מורכבות של Java.
מגבלות
כשמשעים מכונת וירטואלית של Compute, חלות ההגבלות הבאות:
אפשר להשהות מופע רק אם מערכת ההפעלה של האורח תומכת בכך. מידע נוסף על פרטי מערכת ההפעלה
אפשר להשעות רק מכונה שמשתמשת בתמונות מערכת ההפעלה הבאות, אם מגדירים את מערכת ההפעלה שלהן, כפי שמתואר במסמך הזה:
Debian 8 או 9
כל מערכת הפעלה של Windows
אפשר להשהות מופע למשך 60 ימים בלבד לפני שמערכת Compute Engine מעבירה את המצב שלו באופן אוטומטי ל
TERMINATED.אפשר להשהות מכונות וירטואליות מסוג Spot או מכונות וירטואליות שניתנות להפקעה. עם זאת, אם Compute Engine מפקיע את המכונה לפני שהפעולה להשהיה מסתיימת, הוא מסיים את הפעולה ומפקיע את המכונה.
אי אפשר להשעות מכונות באמצעות התהליכים הרגילים שמוטמעים בסביבת האורח שלהן. פקודות כמו
systemctl suspendב-Ubuntu 16.04 ואילך לא נתמכות. אם מתבצעת קריאה, מערכת Compute Engine מתעלמת מהאות בתוך האורח.אי אפשר להשהות את סוגי המקרים הבאים:
מופעים של שרתים פיזיים.
מכונות וירטואליות סודיות (Confidential VMs).
מכונות וירטואליות עם יחידות GPU או TPU שמצורפות אליהן.
מופעים עם יותר מ-208 GB של זיכרון.
מופעים שמצורפים אליהם דיסקים שמוגנים באמצעות CSEK.
הפעלת פעולות השהיה במערכת הפעלה של אורח
אם מכונת החישוב שלכם משתמשת ב-Debian 8 או 9 כמערכת ההפעלה האורחת, או בכל מערכת הפעלה של Windows, אתם צריכים להגדיר את מערכת ההפעלה לפני שתוכלו להשהות ולהפעיל מחדש את המכונות. אם המופע שלכם משתמש במערכת הפעלה אחרת לאורח, אפשר לדלג על הקטע הזה.
הפעלת השעיה של פעולות ב-Debian 8 או 9
כדי להשהות או להפעיל מחדש מכונות וירטואליות שמשתמשות ב-Debian 8 או 9 כמערכת הפעלה אורחת, צריך להגדיר את מערכת ההפעלה האורחת באחת מהשיטות הבאות:
הגדרת ACPID
כדי להפעיל את הפעולות 'השהיה' ו'הפעלה מחדש' ב-Debian 8 או 9, אפשר להגדיר את הדמון של אירועי Advanced Configuration and Power Interface (ממשק מתקדם להגדרת תצורה וניהול צריכת חשמל, ACPID) כדי לטפל באירוע של לחצן השינה. אחרי שמפעילים את אירוע הלחצן של שינה עמוקה, אפשר להוסיף סקריפט מעטפת לטיפול באירוע השינה, כמו שמתואר בקטע הזה.
כדי להגדיר את ACPID כך שיתמוך בפעולות השהיה והפעלה מחדש, צריך לבצע את הפעולות הבאות:
אם עדיין לא עשיתם זאת, מתחברים למופע Linux.
יוצרים את התיקייה
eventsבתיקייהacpi:sudo mkdir -p /etc/acpi/events/מגדירים את ה-ACPID לטיפול באירוע של לחצן השינה:
cat <<EOF | sudo tee /etc/acpi/events/sleepbtn-acpi-support event=button[ /]sleep action=/etc/acpi/sleepbtn-acpi-support.sh EOFיוצרים סקריפט לטיפול באירוע השינה:
cat <<EOF | sudo tee /etc/acpi/sleepbtn-acpi-support.sh #!/bin/sh echo mem > /sys/power/state EOFמגדירים את ההרשאות לסקריפט:
sudo chmod 755 /etc/acpi/sleepbtn-acpi-support.shכדי שהשינויים ייכנסו לתוקף, מפעילים מחדש את ACPID:
sudo systemctl restart acpid.service
התקנה של D-Bus
כדי להפעיל את הפעולה של השהיה והמשך הפעלה ב-Debian 8 או 9, אפשר להתקין את D-Bus.
כדי להתקין את D-Bus במערכת ההפעלה האורחת של מופע Compute כשמערכת ההפעלה משתמשת ב-Debian 8 או 9, צריך לבצע את הפעולות הבאות:
אם עדיין לא עשיתם זאת, מתחברים למופע Linux.
מתקינים את D-Bus:
sudo apt-get install dbusכדי שהשינויים ייכנסו לתוקף, צריך להפעיל מחדש את
logind:sudo systemctl restart systemd-logind.service
הפעלת השעיה של פעולות ב-Windows
כדי להשעות מופע שמשתמש במערכת הפעלה אורחת של Windows, צריך להשבית את מצב השינה במערכת ההפעלה. אם ייבאתם תמונת Windows, יכול להיות שהתרדמה מופעלת כברירת מחדל, ותצטרכו להשבית אותה כדי להשהות את המופע.
כדי להשבית את מצב השינה ב-Windows, פועלים לפי השלבים הבאים:
אם עדיין לא עשיתם זאת, מתחברים למופע Windows.
פותחים את PowerShell כאדמין.
השבתת מצב שינה:
powercfg -h offמוודאים שהתרדמה מושבתת:
powercfg -a
לפני שמתחילים
-
אם עדיין לא עשיתם את זה, תצטרכו להגדיר אימות.
אימות הוא תהליך שבו מאמתים את הזהות שלכם כדי לקבל גישה לממשקי 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
-
- הגדרת אזור ותחום כברירת מחדל
-
התקינו את ה-CLI של Google Cloud.
-
הגדירו שה-CLI של gcloud ישתמש בזהות המאוחדת שלכם.
-
יוצרים פרטי כניסה לאימות מקומי עבור חשבון המשתמש:
gcloud auth application-default login
אם מוחזרת שגיאת אימות ואתם משתמשים בספק זהויות חיצוני (IdP), ודאו ש נכנסתם ל-CLI של gcloud באמצעות המאגר המאוחד לניהול זהויות.
-
התקינו את ה-CLI של Google Cloud.
-
הגדירו שה-CLI של gcloud ישתמש בזהות המאוחדת שלכם.
-
יוצרים פרטי כניסה לאימות מקומי עבור חשבון המשתמש:
gcloud auth application-default login
אם מוחזרת שגיאת אימות ואתם משתמשים בספק זהויות חיצוני (IdP), ודאו ש נכנסתם ל-CLI של gcloud באמצעות המאגר המאוחד לניהול זהויות.
-
התקינו את ה-CLI של Google Cloud.
-
הגדירו שה-CLI של gcloud ישתמש בזהות המאוחדת שלכם.
-
יוצרים פרטי כניסה לאימות מקומי עבור חשבון המשתמש:
gcloud auth application-default login
אם מוחזרת שגיאת אימות ואתם משתמשים בספק זהויות חיצוני (IdP), ודאו ש נכנסתם ל-CLI של gcloud באמצעות המאגר המאוחד לניהול זהויות.
-
התקינו את ה-CLI של Google Cloud.
-
הגדירו שה-CLI של gcloud ישתמש בזהות המאוחדת שלכם.
-
יוצרים פרטי כניסה לאימות מקומי עבור חשבון המשתמש:
gcloud auth application-default login
אם מוחזרת שגיאת אימות ואתם משתמשים בספק זהויות חיצוני (IdP), ודאו ש נכנסתם ל-CLI של gcloud באמצעות המאגר המאוחד לניהול זהויות.
-
התקינו את ה-CLI של Google Cloud.
-
הגדירו שה-CLI של gcloud ישתמש בזהות המאוחדת שלכם.
-
יוצרים פרטי כניסה לאימות מקומי עבור חשבון המשתמש:
gcloud auth application-default login
אם מוחזרת שגיאת אימות ואתם משתמשים בספק זהויות חיצוני (IdP), ודאו ש נכנסתם ל-CLI של gcloud באמצעות המאגר המאוחד לניהול זהויות.
המשך
כדי להשתמש בדוגמאות של Go שבדף הזה בסביבת פיתוח מקומית, מתקינים ומפעילים את ה-CLI של gcloud, ואז מגדירים את Application Default Credentials באמצעות פרטי הכניסה של המשתמש.
מידע נוסף זמין במאמר הגדרת אימות לסביבת פיתוח מקומית.
Java
כדי להשתמש בדוגמאות של Java שבדף הזה בסביבת פיתוח מקומית, מתקינים ומפעילים את ה-CLI של gcloud, ואז מגדירים את Application Default Credentials באמצעות פרטי הכניסה של המשתמש.
מידע נוסף זמין במאמר הגדרת אימות לסביבת פיתוח מקומית.
Node.js
כדי להשתמש בדוגמאות של Node.js שבדף הזה בסביבת פיתוח מקומית, מתקינים ומפעילים את ה-CLI של gcloud, ואז מגדירים את Application Default Credentials באמצעות פרטי הכניסה של המשתמש.
מידע נוסף זמין במאמר הגדרת אימות לסביבת פיתוח מקומית.
PHP
כדי להשתמש בדוגמאות של PHP שבדף הזה בסביבת פיתוח מקומית, מתקינים ומפעילים את ה-CLI של gcloud, ואז מגדירים את Application Default Credentials באמצעות פרטי הכניסה של המשתמש.
מידע נוסף זמין במאמר הגדרת אימות לסביבת פיתוח מקומית.
Python
כדי להשתמש בסביבת פיתוח מקומית בדוגמאות של Python שבדף הזה, מתקינים ומפעילים את ה-CLI של gcloud, ואז מגדירים את Application Default Credentials באמצעות פרטי הכניסה של המשתמש.
מידע נוסף זמין במאמר הגדרת אימות לסביבת פיתוח מקומית.
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. כדי לראות בדיוק אילו הרשאות נדרשות, אפשר להרחיב את הקטע ההרשאות הנדרשות:
ההרשאות הנדרשות
כדי להשהות או להפעיל מחדש מכונת חישוב, נדרשות ההרשאות הבאות:
-
כדי להשעות מופע:
compute.instances.suspend -
כדי להפעיל מחדש מופע:
compute.instances.resume
יכול להיות שתקבלו את ההרשאות האלה באמצעות תפקידים בהתאמה אישית או תפקידים מוגדרים מראש אחרים.
השעיית מכונה
אם מערכת ההפעלה של האורח במכונת החישוב שלכם היא Debian 8 או 9, לפני השהיית המכונה, אתם צריכים להגדיר את מערכת ההפעלה של האורח כך שתתמוך בפעולות השהיה והפעלה מחדש, כמו שמתואר במסמך הזה.
כדי להשעות מכונה, משתמשים באחת מהשיטות הבאות בהתאם לשאלה אם למכונה מצורפים דיסקים מסוג SSD מקומי:
אם לא מצורפים למופע דיסקים מסוג Local SSD, אפשר לעיין במאמר השעיה של מופע ללא דיסקים מסוג Local SSD.
אם למכונה שלכם מצורפים דיסקים של SSD מקומי, ואתם רוצים לבטל את הדיסקים או לשמור אותם (תצוגה מקדימה), כדאי לעיין במאמר השעיה של מכונה עם דיסקים של SSD מקומי.
השעיה של מכונה ללא דיסקים של SSD מקומי
אפשר להשעות כמה מכונות וירטואליות בו-זמנית או מכונות וירטואליות בודדות. אם יש כמה מכונות, אפשר להשתמש במסוף Cloud de Confiance או ב-Google Cloud CLI (אם המכונות נמצאות באותו אזור). למופעים בודדים, בוחרים באחת מהאפשרויות הבאות:
המסוף
נכנסים לדף VM instances במסוף Cloud de Confiance .
בוחרים מכונה אחת או יותר להשעיה.
לוחצים על השעיה ואז על השעיה כדי לאשר.
gcloud
כדי להשעות מכונה אחת או יותר באזור יחיד, משתמשים בפקודה gcloud compute instances suspend:
gcloud compute instances suspend INSTANCE_NAMES \
--zone=ZONE
מחליפים את מה שכתוב בשדות הבאים:
INSTANCE_NAMES: רשימה מופרדת ברווחים של שמות של מופעים – לדוגמה,instance-01 instance-02 instance-03.
ZONE: האזור שבו נמצאים המופעים.
המשך
Java
Node.js
PHP
Python
REST
כדי להשעות מכונה, שולחים בקשת POST אל ה-method instances.suspend:
POST https://compute.s3nsapis.fr/compute/v1/projects/PROJECT_ID/zones/ZONE/instances/INSTANCE_NAME/suspend
מחליפים את מה שכתוב בשדות הבאים:
PROJECT_ID: מזהה הפרויקט שבו נמצא המופע.
ZONE: האזור שבו נמצאת המכונה.
INSTANCE_NAME: השם של המכונה.
השהיה של מכונה עם דיסקים מקומיים מסוג SSD
בהתאם למספר מופעי החישוב שרוצים להשהות בו-זמנית ולצורך לשמור את הנתונים של דיסקי ה-SSD המקומיים שמצורפים אליהם, מבצעים את הפעולות הבאות:
כדי לשמור את הנתונים של דיסקי ה-SSD המקומיים שמצורפים למכונה (לא כולל מכונות עם דיסקי Titanium SSD), צריך להשעות את המכונה באמצעות ה-CLI של gcloud או API בארכיטקטורת REST.
כדי להשהות כמה מכונות בו-זמנית, משתמשים במסוף Cloud de Confiance או ב-CLI של gcloud (למכונות שנמצאות באותו אזור).
כדי להשעות מכונה אחת או יותר שמצורפים אליה דיסקים מסוג Local SSD, בוחרים באחת מהאפשרויות הבאות:
המסוף
נכנסים לדף VM instances במסוף Cloud de Confiance .
בוחרים מכונה אחת או יותר להשעיה.
לוחצים על השעיה ואז על השעיה כדי לאשר.
gcloud
כשמשעים מכונה אחת או יותר באזור יחיד עם דיסקים מסוג Local SSD שמחוברים אליהן, צריך לציין אם למחוק את הנתונים בדיסקים או לשמור אותם, באופן הבא:
כדי לבטל את הנתונים של ה-SSD המקומי, משתמשים בפקודה
gcloud compute instances suspendעם הדגל--discard-local-ssd=true:gcloud compute instances suspend INSTANCE_NAMES \ --discard-local-ssd=true \ --zone=ZONEכדי לשמור את הנתונים ב-SSD מקומי, משתמשים בפקודה
gcloud beta compute instances suspendעם הדגל--discard-local-ssd=false:gcloud beta compute instances suspend INSTANCE_NAMES \ --discard-local-ssd=false \ --zone=ZONE
מחליפים את מה שכתוב בשדות הבאים:
INSTANCE_NAMES: רשימה מופרדת ברווחים של שמות של מופעים – לדוגמה,instance-01 instance-02 instance-03.
ZONE: האזור שבו נמצאים המופעים.
REST
כשמשעים אינסטנס שמצורפים אליו דיסקים של SSD מקומי, צריך לציין אם להשליך או לשמור את הנתונים של ה-SSD המקומי באופן הבא:
כדי לבטל את הנתונים של SSD מקומי, צריך לשלוח בקשת
POSTל-methodinstances.suspend. בכתובת ה-URL של הבקשה, כוללים את פרמטר השאילתהdiscardLocalSsdשמוגדר לערךtrue:POST https://compute.s3nsapis.fr/compute/v1/projects/PROJECT_ID/zones/ZONE/instances/INSTANCE_NAME/suspend?discardLocalSsd=trueכדי לשמור את הנתונים ב-SSD מקומי, צריך לשלוח בקשת
POSTל-methodbeta.instances.suspend. בכתובת ה-URL של הבקשה, כוללים את פרמטר השאילתהdiscardLocalSsdשמוגדר לערךfalse:POST https://compute.s3nsapis.fr/compute/beta/projects/PROJECT_ID/zones/ZONE/instances/INSTANCE_NAME/suspend?discardLocalSsd=false
מחליפים את מה שכתוב בשדות הבאים:
PROJECT_ID: מזהה הפרויקט שבו נמצא המופע.
ZONE: האזור שבו נמצאת המכונה.
INSTANCE_NAME: השם של המכונה.
המשך של מופע מושעה
לפני שממשיכים להשתמש במופע של מכונת חישוב שהושעה, כדאי לשים לב לנקודות הבאות:
אפשר להפעיל מחדש מכונה רק אם יש מספיק קיבולת באזור שבו היא נמצאת. בדרך כלל זה לא גורם לבעיות. אם נתקלתם בבעיות בהפעלה מחדש של מופע, נסו שוב מאוחר יותר.
אם צירפתם דיסקים של SSD מקומי למופע ובחרתם לשמור את נתוני ה-SSD המקומי כשמשהים אותו, יכול להיות שתצטרכו להרכיב מחדש את דיסקים של SSD מקומי אחרי שממשיכים את הפעולה. מידע נוסף זמין במאמר בנושא הרכבה מחדש של דיסקים שאינם דיסקים של מערכת ההפעלה במופעי Linux או במופעי Windows.
אפשר להמשיך כמה מופעים בו-זמנית או מופעים בודדים. אם יש כמה מכונות, אפשר להשתמש במסוף Cloud de Confiance או ב-CLI של gcloud (אם המכונות נמצאות באותו אזור). לכל מופע בנפרד, בוחרים באחת מהאפשרויות הבאות:
המסוף
נכנסים לדף VM instances במסוף Cloud de Confiance .
בוחרים מכונה אחת או יותר שהושעו כדי להפעיל אותן מחדש.
לוחצים על Start / Resume (התחלה / המשך) ואז על Start (התחלה).
gcloud
כדי להפעיל מחדש מכונה וירטואלית אחת או יותר שהושעו באזור יחיד, משתמשים בפקודה gcloud compute instances resume:
gcloud compute instances resume INSTANCE_NAMES \
--zone=ZONE
מחליפים את מה שכתוב בשדות הבאים:
INSTANCE_NAMES: רשימה מופרדת ברווחים של שמות של מופעים – לדוגמה,instance-01 instance-02 instance-03.
ZONE: האזור שבו נמצאות המכונות המושעות.
המשך
Java
Node.js
PHP
Python
REST
כדי להפעיל מחדש מכונה מושעית, שולחים בקשת POST אל ה-method instances.resume:
POST https://compute.s3nsapis.fr/compute/v1/projects/PROJECT_ID/zones/ZONE/instances/INSTANCE_NAME/resume
מחליפים את מה שכתוב בשדות הבאים:
INSTANCE_NAME: השם של המופע שרוצים להשהות כדי להפעיל מחדש.
PROJECT_ID: מזהה הפרויקט שבו נמצא המופע המושעה.
ZONE: האזור שבו נמצאת המכונה המושעית.