אם למכונה הווירטואלית (VM) שלכם לא מצורף דיסק SSD מקומי והיא לא חלק מקבוצת מופעי מכונה מנוהלים (MIG), אתם יכולים לשנות את סוג המכונה של המכונה אחרי העצירה שלה.
אם סוג המכונה הקיים לא מתאים לעומסי העבודה שמופעלים במכונה הווירטואלית, צריך לשנות את סוג המכונה של המכונה הווירטואלית. לדוגמה, אפשר להפעיל מכונה וירטואלית עם סוג מכונה קטן יותר במהלך ההגדרה, הפיתוח והבדיקה, ולשנות את המכונה הווירטואלית לשימוש בסוג מכונה גדול יותר כשמוכנים לעומסי עבודה של ייצור.
אפשר להשתמש בהליך הזה במקרים הבאים:
- כדי לעבור לסוג מכונה דומה אבל עם מספר שונה של vCPU או זיכרון באותה סדרת מכונות, למשל:
- אפשר לשנות את
n2-highcpu-4ל-n2-standard-4. - אפשר לשנות את
c3d-standard-30ל-c3d-highmem-30.
- אפשר לשנות את
- כדי לשנות את סוג המכונה כך שישתמש בסדרת מכונות אחרת.
האפשרות הזו נתמכת רק בסדרות מכונות מהדור הראשון והשני, למעט סדרות המכונות T2A ו-A2. לדוגמה:
- אפשר לשנות את
n2-standard-4ל-c2-standard-8. - אפשר לשנות את
n1-highmem-4ל-n2d-standard-16.
- אפשר לשנות את
אם רוצים לשנות את סוג המכונה של מכונה וירטואלית שמשתמשת בסדרת מכונות מהדור הראשון או השני (N1, N2, M1 וכו') לסוג מכונה של סדרת מכונות מהדור השלישי או מאוחר יותר (M3, C3, N4 וכו'), צריך לפעול לפי ההליך שמתואר במאמר העברת עומס העבודה למופע מחשוב חדש.
אפשר לשנות את סוג המכונה בלי להשפיע על המשאבים הבאים:
- מפתחות ה-SSH של המכונה הווירטואלית
- ההגדרות של מכונות וירטואליות, כמו המטא-נתונים של מכונות וירטואליות
- הנתונים בדיסק קשיח קבוע או ב-Hyperdisk שמצורפים, כולל אפליקציות מותקנות ונתוני אפליקציות
כדי לשנות את סוג המכונה של מכונות וירטואליות ב-MIG, אפשר לעיין במאמר בנושא החלת עדכוני הגדרות של מכונות וירטואליות ב-MIG באופן אוטומטי.
לפני שמתחילים
- איך מפסיקים מכונה וירטואלית
- חשוב להבין מהם סוגי מכונות.
-
אם עדיין לא עשיתם את זה, תצטרכו להגדיר אימות.
אימות הוא תהליך שבו מאמתים את הזהות שלכם כדי לקבל גישה לממשקי API ולשירותים של Cloud de Confiance by S3NS . כדי להריץ קוד או דוגמאות מסביבת פיתוח מקומית, אפשר לבצע אימות ל-Compute Engine באחת מהדרכים הבאות:
צריך לבחור את הכרטיסייה הרלוונטית לאופן שבו תכננתם להשתמש בדוגמאות בדף הזה:
המסוף
כשמשתמשים במסוף Cloud de Confiance כדי לגשת לשירותים ולממשקי ה-API, לא צריך להגדיר אימות. Cloud de Confiance by S3NS
Java
כדי להשתמש בדוגמאות של Java שבדף הזה בסביבת פיתוח מקומית, מתקינים ומפעילים את ה-CLI של gcloud, ואז מגדירים את Application Default Credentials באמצעות פרטי הכניסה של המשתמש.
-
התקינו את ה-CLI של Google Cloud.
-
הגדירו שה-CLI של gcloud ישתמש בזהות המאוחדת שלכם.
-
יוצרים פרטי כניסה לאימות מקומי עבור חשבון המשתמש:
gcloud auth application-default login
אם מוחזרת שגיאת אימות ואתם משתמשים בספק זהויות חיצוני (IdP), ודאו ש נכנסתם ל-CLI של gcloud באמצעות המאגר המאוחד לניהול זהויות.
מידע נוסף זמין במאמר הגדרת אימות לסביבת פיתוח מקומית.
Python
כדי להשתמש בסביבת פיתוח מקומית בדוגמאות של Python שבדף הזה, מתקינים ומפעילים את ה-CLI של gcloud, ואז מגדירים את Application Default Credentials באמצעות פרטי הכניסה של המשתמש.
-
התקינו את ה-CLI של Google Cloud.
-
הגדירו שה-CLI של gcloud ישתמש בזהות המאוחדת שלכם.
-
יוצרים פרטי כניסה לאימות מקומי עבור חשבון המשתמש:
gcloud auth application-default login
אם מוחזרת שגיאת אימות ואתם משתמשים בספק זהויות חיצוני (IdP), ודאו ש נכנסתם ל-CLI של gcloud באמצעות המאגר המאוחד לניהול זהויות.
מידע נוסף זמין במאמר הגדרת אימות לסביבת פיתוח מקומית.
REST
כדי להשתמש בסביבת פיתוח מקומית בדוגמאות של API בארכיטקטורת REST שבדף הזה, צריך להשתמש בפרטי הכניסה שאתם נותנים ל-CLI של gcloud.
התקינו את ה-CLI של Google Cloud ואז היכנסו ל-CLI של gcloud באמצעות הזהות המאוחדת שלכם.
מידע נוסף מופיע במאמר אימות לשימוש ב-REST במסמכי האימות של Cloud de Confiance .
-
התפקידים הנדרשים
כדי לקבל את ההרשאות שדרושות לשינוי סוג המכונה של מכונה וירטואלית, צריך לבקש מהאדמין להקצות לכם את תפקידי ה-IAM הבאים בפרויקט:
- Compute Instance Admin (v1) (
roles/compute.instanceAdmin.v1) -
כדי להתחבר למכונה וירטואלית שיכולה לפעול כחשבון שירות: משתמש בחשבון שירות (גרסה 1) (
roles/iam.serviceAccountUser)
להסבר על מתן תפקידים, ראו איך מנהלים את הגישה ברמת הפרויקט, התיקייה והארגון.
התפקידים המוגדרים מראש האלה מכילים את ההרשאות שנדרשות לשינוי סוג המכונה של מכונה וירטואלית. כדי לראות בדיוק אילו הרשאות נדרשות, אפשר להרחיב את הקטע ההרשאות הנדרשות:
ההרשאות הנדרשות
כדי לשנות את סוג המכונה של מכונה וירטואלית, נדרשות ההרשאות הבאות:
-
compute.instances.setMachineTypeon VM -
compute.instances.starton VM -
compute.instances.stopon VM
יכול להיות שתקבלו את ההרשאות האלה באמצעות תפקידים בהתאמה אישית או תפקידים מוגדרים מראש אחרים.
מגבלות
- אם למכונת החישוב שלכם מצורף SSD מקומי אחד או יותר, צריך לפעול לפי ההוראות במאמר העברת עומס העבודה למכונת חישוב חדשה.
- אם מופע המחשוב משתמש בכתובת IP חיצונית ארעית, יכול להיות שכתובת ה-IP תשתנה כשמשנים את סוג המכונה של המופע. כדי לשמור את כתובת ה-IP, מקדמים אותה לכתובת IP חיצונית סטטית לפני שמשנים את סוג המכונה.
- אי אפשר לשנות את סוג המכונה של מופע חישוב בחלק מההגדרות:
- אי אפשר לשנות את סוג המכונה במכונות Bare Metal.
- אם רוצים לשנות את סוג המכונה מסדרת מכונות מהדור הראשון או השני לסדרת מכונות מהדור השלישי או מדורות מאוחרים יותר, אי אפשר להשתמש בהליך הזה. במקום זאת, פועלים לפי ההוראות במאמר העברת עומס עבודה למופע חדש של Compute.
- אם רוצים לשנות את סוג המכונה לסוג מכונת Arm, אי אפשר להשתמש בהליך הזה. במקום זאת, פועלים לפי ההוראות במאמר העברת עומס עבודה למופע חדש של Compute.
- במקרים אופטימליים של מופעי האצה, אי אפשר לשנות את סוג המכונה באמצעות התהליך הזה. עם זאת, במקרים של מכונות וירטואליות מסוג G4, G2, A2 Standard ו-N1, כדי לעבור לסוג מכונה דומה אבל עם מספר שונה של יחידות GPU באותה סדרת מכונות שעברו אופטימיזציה להאצת ביצועים, צריך לפעול לפי ההוראות במאמר שינוי מספר יחידות ה-GPU במכונות שעברו אופטימיזציה להאצת ביצועים.
- אם רוצים לשנות את סוג המכונה לסוג חדש יותר, אבל גם רוצים להוסיף ממשקי רשת נוספים למופע, אי אפשר להשתמש בהליך הזה. במקום זאת, פועלים לפי ההוראות במאמר העברת עומס עבודה למופע חדש של Compute.
השלכות על החיוב
כל סוג מכונה מחויב בתעריף שונה, לכן חשוב להבין את ההשלכות של שינוי סוגי המכונות על התמחור. לדוגמה, סוג מכונה e2-standard-2 עולה יותר מסוג מכונה e2-micro.
שינוי סוג המכונה עשוי להשפיע גם על ההנחות על שימוש מתמשך במכונה הווירטואלית. הנחות על שימוש מתמשך מחושבות בנפרד לקטגוריות שונות באותו אזור. אם משנים את סוג המכונה כך שהסוג החדש נמצא בקטגוריה אחרת, זמן הריצה הבא של מכונת ה-VM ייספר במסגרת ההנחה על שימוש קבוע של הקטגוריה החדשה.
לדוגמה, נניח שיש לכם מכונה וירטואלית עם n2-standard-2 סוג מכונה שפועלת במשך חצי חודש. אחר כך מחליטים לשנות את סוג המכונה ל-m1-ultramem-40. אחרי שמבצעים את השינוי הזה, מערכת Compute Engine מתחילה לספור את זמן הפעולה של המכונה הווירטואלית לצורך חישוב ההנחה על שימוש מתמשך בקטגוריית הזיכרון והמעבד הווירטואלי שעברו אופטימיזציה לזיכרון.
בחשבון שלכם תופיע הנחה על שימוש קבוע שחלה על סוג המכונה n2-standard-2 לפני ששיניתם את סוג המכונה, והנחה נפרדת על שימוש קבוע שחלה על m1-ultramem-40, אם מכונת ה-VM תמשיך לפעול ב-m1-ultramem-40 לפחות 25% משאר החודש.
מעבר לסוג מכונה קטן יותר
אם עוברים מסוג מכונה עם יותר משאבים לסוג מכונה עם פחות משאבים, למשל אם עוברים מסוג מכונה e2-standard-8 לסוג מכונה e2-standard-2, יכול להיות שתיתקלו בבעיות שקשורות למשאבי חומרה או במגבלות ביצועים, כי סוגי מכונות קטנים פחות חזקים מסוגי מכונות גדולים. חשוב לוודא שסוג המכונה החדש יכול לתמוך באפליקציות או בשירותים שפועלים במכונה הווירטואלית הנוכחית, או לעדכן את השירותים והאפליקציות כך שיפעלו בסוגי המכונות הקטנים יותר.
לפני שמשנים את סוג המכונה, כדאי לעיין בהמלצות להתאמת גודל. מידע על המלצות לגבי גודל ב-Compute Engine זמין במאמר החלת המלצות לגבי סוגי מכונות על מופעים של מכונות וירטואליות.
שיטות מומלצות
ריכזנו כאן כמה שיטות מומלצות שיעזרו לכם לשנות את סוג המכונה הווירטואלית בהצלחה.
יוצרים גיבויים קבועים של הנתונים בדיסק לאחסון מתמיד באמצעות קובצי snapshot. מומלץ לצלם תמונת מצב של הנתונים בדיסק לאחסון מתמיד לפני שמשנים את סוג המכונה. כדי לוודא שסוג המכונה החדש יכול לתמוך בנתונים במכונה הוירטואלית הקיימת, אפשר ליצור snapshot של דיסק מתמשך ולהשתמש בו כדי להפעיל מכונה וירטואלית שנייה עם סוג המכונה החדש, וכך לוודא שהמכונה הוירטואלית מופעלת בהצלחה.
הוספת דיסקים נוספים לקובץ
/etc/fstab. אם יש לכם דיסקים נוספים שמצורפים למכונה הווירטואלית, הקפידו להוסיף אותם לקובץ/etc/fstabכדי שהם יותקנו באופן אוטומטי כשהמכונה הווירטואלית תופעל מחדש.צריך ליצור הזמנה לפני שמשנים את סוג המכונה. כדי להימנע משגיאות שקשורות לזמינות של משאבים, כדאי ליצור שמירת מקום ב-Compute Engine לסוגי המכונות החדשים כשהם יהיו זמינים, כדי לשריין אותם באזור מסוים. הזמנות עוזרות לוודא שהמשאבים זמינים כשאתם צריכים אותם.
כדי ליצור הזמנה, מבצעים את השלבים הבאים:
יוצרים הזמנה (או מזהים הזמנות קיימות) עם מאפיינים זהים לאלה של מכונות ה-VM המתוכננות. מספר מכונות ה-VM בהזמנה צריך להיות שווה למספר מכונות ה-VM שרוצים לשנות או גדול ממנו. אפשר גם להשתמש באפשרות
specificReservationRequiredכדי למנוע ממכונות וירטואליות אחרות להשתמש בהזמנה הזו.מוודאים שהמכונות הווירטואליות המתוכננות יוכלו להשתמש בהזמנה:
- מוודאים שלמכונות הווירטואליות יש את ההעדפה הנכונה להזמנה.
- לפני שמבצעים שינוי במכונות הווירטואליות, צריך לוודא שיש מספיק קיבולת בהזמנה.
שינוי סוג המכונה
אפשר לשנות את סוג המכונה רק במכונה וירטואלית שהופסקה. מכונה וירטואלית נחשבת למופסקת רק כשהיא במצבTERMINATED. אי אפשר לשנות את סוג המכונה של מכונה וירטואלית שפועלת.
אם אתם משדרגים את סוג המכונה לדור האחרון, כדאי לעיין במאמר בנושא הערכת אפשרויות להעברת מכונות וירטואליות לפני שתמשיכו.
המסוף
נכנסים לדף VM instances במסוף Cloud de Confiance .
בעמודה Name (שם), לוחצים על השם של המכונה הווירטואלית שרוצים לשנות את סוג המכונה שלה.
בדף VM instance details (פרטי מכונת ה-VM), מבצעים את השלבים הבאים:
- אם המכונה הווירטואלית פועלת, לוחצים על Stop כדי לעצור אותה. אם האפשרות עצירה לא מופיעה, לוחצים על עוד פעולות > עצירה.
- כדי לערוך את המכונה הווירטואלית, לוחצים על Edit (עריכה).
בקטע Machine configuration, בוחרים את סוג המכונה שרוצים להשתמש בו או יוצרים סוג מכונה בהתאמה אישית.
כדי לשמור את השינויים, לוחצים על שמירה.
מפעילים מחדש את ה-VM.
gcloud
מפסיקים את ה-VM באמצעות הפקודה
gcloud compute instances stop:gcloud compute instances stop VM_NAME
מחליפים את
VM_NAMEבמכונה הווירטואלית שמכילה את סוג המכונה שרוצים לשנות.משנים את סוג המכונה באמצעות הפקודה
gcloud compute instances set-machine-type:gcloud compute instances set-machine-type VM_NAME \ --machine-type NEW_MACHINE_TYPEמחליפים את
NEW_MACHINE_TYPEבסוג המכונה החדש של המכונה הווירטואלית. סוג המכונה יכול להיות אחד מהערכים הבאים:מכונה עם קונפיגורציה מוגדרת (predefined)
לדוגמה:
e2-standard-2-
לדוגמה, אפשר לציין
--machine-type e2-custom-4-2048כדי להגדיר סוג מכונה מותאם אישית עם 4 ליבות vCPU וזיכרון בנפח 2GB.
מפעילים את ה-VM באמצעות הפקודה
gcloud compute instances start:gcloud compute instances start VM_NAME
מחליפים את
VM_NAMEבשם המכונה הווירטואלית ששיניתם.
Java
Java
לפני שמנסים את הדוגמה הזו, צריך לפעול לפי Javaהוראות ההגדרה שבמדריך למתחילים של Compute Engine באמצעות ספריות לקוח. מידע נוסף מופיע במאמרי העזרה של Compute Engine Java API.
כדי לבצע אימות ב-Compute Engine, צריך להגדיר את Application Default Credentials. מידע נוסף זמין במאמר הגדרת אימות לספריות לקוח.
לפני שמריצים דוגמאות קוד, צריך להגדיר את משתנה הסביבה GOOGLE_CLOUD_UNIVERSE_DOMAIN לערך s3nsapis.fr.
Python
Python
לפני שמנסים את הדוגמה הזו, צריך לפעול לפי Pythonהוראות ההגדרה שבמדריך למתחילים של Compute Engine באמצעות ספריות לקוח. מידע נוסף מופיע במאמרי העזרה של Compute Engine Python API.
כדי לבצע אימות ב-Compute Engine, צריך להגדיר את Application Default Credentials. מידע נוסף זמין במאמר הגדרת אימות לספריות לקוח.
לפני שמריצים דוגמאות קוד, צריך להגדיר את משתנה הסביבה GOOGLE_CLOUD_UNIVERSE_DOMAIN לערך s3nsapis.fr.
REST
מפסיקים את ה-VM באמצעות השיטה
instances.stop:POST https://compute.s3nsapis.fr/compute/v1/projects/PROJECT_ID/zones/ZONE/instances/VM_NAME/stop
מחליפים את מה שכתוב בשדות הבאים:
PROJECT_ID: מזהה הפרויקט
ZONE: האזור שמכיל את המכונה הווירטואלית
VM_NAME: המכונה הווירטואלית שמכילה את סוג המכונה שרוצים לשנות
משנים את סוג המכונה באמצעות השיטה
instances.setMachineType:POST https://compute.s3nsapis.fr/compute/v1/projects/PROJECT_ID/zones/ZONE/instances/VM_NAME/setMachineType
בגוף הבקשה, מציינים את
machineTypeהמעודכן:{ machineType: "zones/MACHINE_TYPE_ZONE/machineTypes/NEW_MACHINE_TYPE" }מחליפים את מה שכתוב בשדות הבאים:
MACHINE_TYPE_ZONE: האזור שמכיל את סוג המכונה
NEW_MACHINE_TYPE: סוג המכונה החדש של המכונה הווירטואליתסוג המכונה יכול להיות אחד מהערכים הבאים:
מכונה עם קונפיגורציה מוגדרת (predefined)
לדוגמה:
e2-standard-2-
לדוגמה, אפשר לציין
--machine-type e2-custom-4-2048כדי להגדיר סוג מכונה מותאם אישית עם 4 ליבות vCPU וזיכרון של 2GB.
מפעילים את ה-VM באמצעות השיטה
instances.start:POST https://compute.s3nsapis.fr/compute/v1/projects/PROJECT_ID/zones/ZONE/instances/VM_NAME/start
מחליפים את מה שכתוב בשדות הבאים:
-
PROJECT_ID: מזהה הפרויקט -
ZONE: האזור שמכיל את המכונה הווירטואלית -
VM_NAME: השם של המכונה הווירטואלית ששיניתם
-
המאמרים הבאים
- מידע נוסף על המלצות לגבי סוגי מכונות
- מידע נוסף על קבוצות מנוהלות של מופעים
- תבניות לאפליקציות עמידות שניתנות להרחבה
- כדי לעדכן מכונה וירטואלית מהדור הראשון או השני לשימוש בסדרת מכונות מהדור השלישי או מדורות מאוחרים יותר, אפשר לעיין במאמר בנושא העברת עומס העבודה למופע מחשוב חדש.