במאמר הזה נסביר איך למחוק באופן סופי מכונה של Compute Engine.
אם אתם לא צריכים יותר את המכונה, מחקו אותה כדי להפסיק את החיובים על המכונה ועל המשאבים שמצורפים אליה. אי אפשר לשחזר את המכונה שנמחקה. למידע נוסף על המצבים השונים של מכונה, מהיצירה ועד המחיקה, קראו את המאמר מחזור החיים של מכונה ב-Compute Engine.
השלכות החיוב על מכונות שנמחקו
אחרי שמוחקים מכונה, מפסיקים לצבור חיובים על המכונה ועל המשאבים שמצורפים אליה, חוץ מהמקרים הבאים:
אם מוחקים מכונה שמתארחת בשרת לדייר יחיד, עדיין מחויבים על השרת לדייר יחיד.
אם תמחקו מכונה שיצרתם באמצעות הזמנה, תמשיכו לשלם על המשאבים שהזמנתם עד שיקרה אחד מהמקרים הבאים:
אתם מוחקים את הבקשה, או ש-Compute Engine מוחק אותה בפעולה אוטומטית.
אתם מקטינים את מספר המכונות השמורות בהזמנה.
אם יש לכם הנחה תמורת התחייבות לשימוש, אתם ממשיכים לשלם על המשאבים שהתחייבתם להשתמש בהם, גם אם אתם לא משתמשים בהם.
אם אתם שומרים משאבים שמצורפים למכונה, כמו דיסקים או כתובות IP חיצוניות, תמשיכו לשלם על המשאבים האלה עד שתמחקו אותם.
למידע נוסף, ראו תמחור של מכונות וירטואליות.
לפני שמתחילים
-
אם עדיין לא עשיתם את זה, תצטרכו להגדיר אימות.
אימות הוא התהליך שבו מאמתים את הזהות שלכם כדי לקבל גישה לממשקי API ולשירותים של Google Cloud . כדי להריץ קוד או דוגמאות מסביבת פיתוח מקומית, אפשר לבצע אימות ל-Compute Engine באחת מהדרכים האלה:
צריך לבחור את הכרטיסייה הרלוונטית לאופן שבו תכננתם להשתמש בדוגמאות בדף הזה:
המסוף
כשמשתמשים במסוף Google Cloud כדי לגשת לשירותים ולממשקי ה-API של Google Cloud , לא צריך להגדיר אימות.
gcloud
-
התקינו את ה-CLI של Google Cloud. אחר כך, אתחלו את ה-CLI של Google Cloud באמצעות הפקודה הבאה:
gcloud initאם אתם משתמשים בספק זהויות חיצוני (IdP), קודם אתם צריכים להיכנס ל-CLI של gcloud באמצעות המאגר המאוחד לניהול זהויות.
-
- הגדרת אזור ותחום כברירת מחדל.
-
התקינו את ה-CLI של Google Cloud.
-
אם אתם משתמשים בספק זהויות חיצוני (IdP), קודם אתם צריכים להיכנס ל-CLI של gcloud באמצעות המאגר המאוחד לניהול זהויות.
-
אם אתם משתמשים במעטפת מקומית, צרו פרטי כניסה לאימות מקומי בחשבון המשתמש:
gcloud auth application-default login
אם אתם משתמשים ב-Cloud Shell, אתם לא צריכים לעשות את זה.
אם מוחזרת שגיאת אימות ואתם משתמשים בספק זהויות חיצוני (IdP), ודאו ש נכנסתם ל-CLI של gcloud באמצעות המאגר המאוחד לניהול זהויות.
-
התקינו את ה-CLI של Google Cloud.
-
אם אתם משתמשים בספק זהויות חיצוני (IdP), קודם אתם צריכים להיכנס ל-CLI של gcloud באמצעות המאגר המאוחד לניהול זהויות.
-
אם אתם משתמשים במעטפת מקומית, צרו פרטי כניסה לאימות מקומי בחשבון המשתמש:
gcloud auth application-default login
אם אתם משתמשים ב-Cloud Shell, אתם לא צריכים לעשות את זה.
אם מוחזרת שגיאת אימות ואתם משתמשים בספק זהויות חיצוני (IdP), ודאו ש נכנסתם ל-CLI של gcloud באמצעות המאגר המאוחד לניהול זהויות.
-
התקינו את ה-CLI של Google Cloud.
-
אם אתם משתמשים בספק זהויות חיצוני (IdP), קודם אתם צריכים להיכנס ל-CLI של gcloud באמצעות המאגר המאוחד לניהול זהויות.
-
אם אתם משתמשים במעטפת מקומית, צרו פרטי כניסה לאימות מקומי בחשבון המשתמש:
gcloud auth application-default login
אם אתם משתמשים ב-Cloud Shell, אתם לא צריכים לעשות את זה.
אם מוחזרת שגיאת אימות ואתם משתמשים בספק זהויות חיצוני (IdP), ודאו ש נכנסתם ל-CLI של gcloud באמצעות המאגר המאוחד לניהול זהויות.
-
התקינו את ה-CLI של Google Cloud.
-
אם אתם משתמשים בספק זהויות חיצוני (IdP), קודם אתם צריכים להיכנס ל-CLI של gcloud באמצעות המאגר המאוחד לניהול זהויות.
-
אם אתם משתמשים במעטפת מקומית, צרו פרטי כניסה לאימות מקומי בחשבון המשתמש:
gcloud auth application-default login
אם אתם משתמשים ב-Cloud Shell, אתם לא צריכים לעשות את זה.
אם מוחזרת שגיאת אימות ואתם משתמשים בספק זהויות חיצוני (IdP), ודאו ש נכנסתם ל-CLI של gcloud באמצעות המאגר המאוחד לניהול זהויות.
-
התקינו את ה-CLI של Google Cloud.
-
אם אתם משתמשים בספק זהויות חיצוני (IdP), קודם אתם צריכים להיכנס ל-CLI של gcloud באמצעות המאגר המאוחד לניהול זהויות.
-
אם אתם משתמשים במעטפת מקומית, צרו פרטי כניסה לאימות מקומי בחשבון המשתמש:
gcloud auth application-default login
אם אתם משתמשים ב-Cloud Shell, אתם לא צריכים לעשות את זה.
אם מוחזרת שגיאת אימות ואתם משתמשים בספק זהויות חיצוני (IdP), ודאו ש נכנסתם ל-CLI של gcloud באמצעות המאגר המאוחד לניהול זהויות.
-
התקינו את ה-CLI של Google Cloud.
-
אם אתם משתמשים בספק זהויות חיצוני (IdP), קודם אתם צריכים להיכנס ל-CLI של gcloud באמצעות המאגר המאוחד לניהול זהויות.
-
אם אתם משתמשים במעטפת מקומית, צרו פרטי כניסה לאימות מקומי בחשבון המשתמש:
gcloud auth application-default login
אם אתם משתמשים ב-Cloud Shell, אתם לא צריכים לעשות את זה.
אם מוחזרת שגיאת אימות ואתם משתמשים בספק זהויות חיצוני (IdP), ודאו ש נכנסתם ל-CLI של gcloud באמצעות המאגר המאוחד לניהול זהויות.
-
התקינו את ה-CLI של Google Cloud.
-
אם אתם משתמשים בספק זהויות חיצוני (IdP), קודם אתם צריכים להיכנס ל-CLI של gcloud באמצעות המאגר המאוחד לניהול זהויות.
-
אם אתם משתמשים במעטפת מקומית, צרו פרטי כניסה לאימות מקומי בחשבון המשתמש:
gcloud auth application-default login
אם אתם משתמשים ב-Cloud Shell, אתם לא צריכים לעשות את זה.
אם מוחזרת שגיאת אימות ואתם משתמשים בספק זהויות חיצוני (IdP), ודאו ש נכנסתם ל-CLI של gcloud באמצעות המאגר המאוחד לניהול זהויות.
C#
כדי להשתמש בסביבת פיתוח מקומית בדוגמאות של .NET שבדף הזה, מתקינים ומפעילים את ה-CLI של gcloud, ואז מגדירים את Application Default Credentials באמצעות פרטי הכניסה של המשתמש.
למידע נוסף, ראו הגדרת אימות לסביבת פיתוח מקומית.
המשך
כדי להשתמש בסביבת פיתוח מקומית בדוגמאות של 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 באמצעות פרטי הכניסה של המשתמש.
למידע נוסף, ראו הגדרת אימות לסביבת פיתוח מקומית.
Ruby
כדי להשתמש בסביבת פיתוח מקומית בדוגמאות של Ruby שבדף הזה, מתקינים ומפעילים את ה-CLI של gcloud, ואז מגדירים את Application Default Credentials באמצעות פרטי הכניסה של המשתמש.
למידע נוסף, ראו הגדרת אימות לסביבת פיתוח מקומית.
REST
כדי להשתמש בסביבת פיתוח מקומית בדוגמאות של API בארכיטקטורת REST שבדף הזה, צריך להשתמש בפרטי הכניסה שאתם נותנים ל-CLI של gcloud.
התקינו את ה-CLI של Google Cloud.
אם אתם משתמשים בספק זהויות חיצוני (IdP), קודם אתם צריכים להיכנס ל-CLI של gcloud באמצעות המאגר המאוחד לניהול זהויות.
מידע נוסף מופיע במאמר אימות לשימוש ב-REST במסמכי האימות של Google Cloud .
שמירת המשאבים המצורפים
אם רוצים לשמור משאב שמצורף למכונה לפני שמוחקים אותה, אפשר לבצע אחת או יותר מהפעולות הבאות:
כדי לשמור GPU שמחובר למכונה וירטואלית (VM) מסוג N1, צריך להסיר את ה-GPU מהמכונה הווירטואלית.
כדי לשמור דיסק מצורף, מבצעים אחת מהפעולות הבאות:
כדי לשמור דיסק אתחול, צריך לנתק אותו מהמכונה.
כדי לשמור דיסק אתחול או דיסק שאינו דיסק אתחול, מגדירים את ההגדרה מחיקה אוטומטית של הדיסק לערך
false.
כדי לשמור את הנתונים של דיסק SSD מקומי, צריך להעתיק את הנתונים של הדיסק לאפשרות אחסון מתמיד.
כדי להשתמש מחדש בכתובת ה-IP החיצונית הסטטית של מכונה, צריך לבטל את ההקצאה של כתובת ה-IP.
התפקידים הנדרשים
כדי לקבל את ההרשאות שנדרשות למחיקת מכונה, צריך לבקש מהאדמין להקצות לכם ב-IAM את התפקיד אדמין מכונות של Compute (v1) (roles/compute.instanceAdmin.v1) בפרויקט.
כדי לקרוא הסבר על מתן תפקידים, ראו איך מנהלים את הגישה ברמת הפרויקט, התיקייה והארגון.
זהו תפקיד שמוגדר מראש וכולל את ההרשאות שנדרשות למחיקת מכונה. כדי לראות בדיוק אילו הרשאות נדרשות, אפשר להרחיב את הקטע ההרשאות הנדרשות:
ההרשאות הנדרשות
כדי למחוק מכונה, צריך את ההרשאות הבאות:
-
compute.instances.deleteבמכונה -
כדי לאלץ מחיקה של דיסק מצורף:
compute.disks.deleteבדיסק
יכול להיות שתקבלו את ההרשאות האלה באמצעות תפקידים בהתאמה אישית או תפקידים מוגדרים מראש אחרים.
מחיקת מכונות Compute
כשמוחקים מכונה, Compute Engine עוצר את המכונה לפני המחיקה. אם מוחקים כמה מכונות בו-זמנית, צריך להחליט מה יקרה לדיסקים שמחוברים אליהן:
Delete disks: אתם יכולים למחוק את דיסקי האתחול, את הדיסקים שהם לא דיסקי אתחול או את כל הדיסקים שמחוברים למכונות שלכם. אם הגדרתם את הדיסקים כך שיישמרו לאחר המחיקה, תוכלו לשנות את ההגדרה הזו ולאלץ את המחיקה שלהם.
שמירת דיסקים: אתם יכולים לשמור דיסקים של אתחול, דיסקים שלא משמשים לאתחול או את כל הדיסקים שמחוברים למכונות שלכם.
להוראות, קראו את המאמר מחיקת מכונות Compute תוך שמירה על הדיסקים.
מחיקת מכונות וכל המשאבים שמצורפים אליהן
כדי למחוק מכונות בתרחישים ספציפיים, כמו אילוץ מחיקה של דיסקים מצורפים, דילוג על כיבוי מבוקר או סיום שלו, או מחיקה של כמה מכונות בו-זמנית, צריך להשתמש בשיטה המתאימה:
מחיקה כפויה של דיסקים: אם הגדרתם דיסק מצורף לשמירה כש-Compute Engine מוחק מכונה, אתם יכולים לשנות את ההגדרה הזו ולאלץ את המחיקה באמצעות Google Cloud CLI.
דילוג על כיבוי מבוקר או סיום שלו: אם הפעלתם כיבוי מבוקר במכונה, אתם יכולים למחוק את המכונה בלי לבצע כיבוי מבוקר או לסיים כיבוי מבוקר שמתבצע באמצעות מסוףGoogle Cloud , ה-CLI של gcloud או API בארכיטקטורת REST.
מחיקה של כמה מכונות: אם רוצים למחוק כמה מכונות בו-זמנית, משתמשים במסוף Google Cloud או ב-CLI של gcloud (אם המכונות נמצאות באותו אזור).
כדי למחוק מכונה אחת או יותר ואת כל המשאבים שמצורפים אליהן, בוחרים אחת מהאפשרויות הבאות:
המסוף
נכנסים לדף VM instances במסוף Google Cloud .
בוחרים את המופעים שרוצים למחוק.
לוחצים על מחיקה. אם האפשרות Delete לא מופיעה, לוחצים על More actions ובוחרים באפשרות Delete.
בתיבת הדו-שיח שמופיעה:
אופציונלי: כדי למחוק את המכונות בלי כיבוי מבוקר, או כדי לסיים כיבוי מבוקר שמתבצע, בוחרים בתיבת הסימון Skip graceful shutdown (if applicable).
כדי לאשר, לוחצים על מחיקה.
gcloud
כדי למחוק מכונה אחת או יותר באותו אזור, משתמשים בפקודה gcloud compute instances delete:
gcloud compute instances delete INSTANCE_NAMES \
--zone=ZONE
מחליפים את מה שכתוב בשדות הבאים:
INSTANCE_NAMES: רשימה של שמות המכונות שרוצים למחוק, מופרדים ברווחים. לדוגמה, מציינים את הערךinstance-01 instance-02 instance-03.
ZONE: האזור שבו נמצאות המכונות.
אפשר גם לכלול את אחד מהדגלים הבאים או את שניהם:
כדי לאלץ מחיקה של הדיסקים שמחוברים למכונה אחת או יותר, צריך לכלול את הדגל
--delete-disks:gcloud compute instances delete INSTANCE_NAMES \ --delete-disks=DELETE_DISK_TYPE \ --zone=ZONEמחליפים את
DELETE_DISK_TYPEבסוגי האחסון שרוצים למחוק. מציינים את אחד מהערכים הבאים:כדי למחוק אחסון מתמיד של אתחול ואחסון מתמיד שאינו של אתחול:
allכדי למחוק רק את האחסון המתמיד של האתחול:
bootכדי למחוק רק אחסון מתמיד שאינו לאתחול:
data
כדי לדלג על כיבוי מבוקר שמתבצע או לסיים אותו, צריך לכלול את הדגל
--no-graceful-shutdown:gcloud compute instances delete INSTANCE_NAMES \ --no-graceful-shutdown \ --zone=ZONE
C#
Go
Java
Node.js
PHP
Python
Ruby
REST
כדי למחוק מכונה, שולחים בקשת DELETE אל ה-method instances delete:
DELETE https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances/INSTANCE_NAME
מחליפים את מה שכתוב בשדות הבאים:
PROJECT_ID: מזהה הפרויקט שבו נמצאת המכונה.
ZONE: האזור שבו נמצאת המכונה.
INSTANCE_NAME: השם של המכונה הווירטואלית.
אם רוצים לדלג על כיבוי מבוקר שמתבצע או לסיים אותו, צריך לכלול את פרמטר השאילתה noGracefulShutdown שמוגדר ל-true בכתובת ה-URL של הבקשה:
DELETE https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances/VM_NAME?noGracefulShutdown=true
מחיקת מכונות ושמירת דיסקים
כברירת מחדל, כשמוחקים מכונה, נמחקים גם המשאבים שמצורפים אליה. עם זאת, כשמוחקים מכונה באמצעות ה-CLI של gcloud, אפשר לציין שרוצים לשמור את הדיסקים המצורפים, בלי קשר להגדרות המחיקה האוטומטית שלהם.
כדי למחוק מכונה אחת או יותר באותו אזור בלי למחוק את הדיסקים שמחוברים אליהן, משתמשים בפקודה gcloud compute instances delete עם הדגל --keep-disks:
gcloud compute instances delete INSTANCE_NAMES \
--keep-disks=KEEP_DISK_TYPE \
--zone=ZONE
מחליפים את מה שכתוב בשדות הבאים:
INSTANCE_NAMES: רשימה של שמות המכונות שרוצים למחוק, מופרדים ברווחים. לדוגמה, מציינים את הערךinstance-01 instance-02 instance-03.
KEEP_DISK_TYPE: סוגי הדיסקים שרוצים לשמור. מציינים את אחד מהערכים הבאים:כדי לשמור על אחסון מתמיד מצורף, עם או בלי יכולת אתחול:
allכדי לשמור רק את האחסון המתמיד של הטעינה המצורפת:
bootכדי לשמור רק על אחסון מתמיד מצורף שאינו לאתחול:
data
ZONE: האזור שבו נמצאות המכונות.
אם הפעלתם כיבוי מבוקר במכונה אחת או יותר, אתם יכולים לחסוך בעלויות על ידי מחיקת המכונות בלי לבצע כיבוי מבוקר, או על ידי סיום ידני של כיבוי מבוקר שמתבצע. כדי לעשות את זה, מוסיפים לפקודה את הדגל --no-graceful-shutdown:
gcloud compute instances delete VM_NAMES \
--keep-disks=KEEP_DISK_TYPE \
--no-graceful-shutdown \
--zone=ZONE