במאמר הזה מוסבר איך פועל מאגר ההמתנה של מופעי מכונה וירטואלית (VM) מושעים ומופסקים, ואיך אפשר להשתמש במאגר ההמתנה כדי להאיץ את ההרחבה של קבוצת מופעי מכונה מנוהלים (MIG).
לפני שמתחילים
- כדאי לעיין בדף המבוא בנושא מכונות וירטואליות מושעות ומופסקות ב-MIG.
-
אם עדיין לא עשיתם את זה, תצטרכו להגדיר אימות.
אימות הוא תהליך שבו מאמתים את הזהות שלכם כדי לקבל גישה לממשקי 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 באמצעות המאגר המאוחד לניהול זהויות.
Terraform
כדי להשתמש בסביבת פיתוח מקומית בדוגמאות של Terraform שבדף הזה, מתקינים ומפעילים את ה-CLI של gcloud, ואז מגדירים את Application Default Credentials באמצעות פרטי הכניסה של המשתמש.
מידע נוסף זמין במאמר הגדרת אימות לסביבת פיתוח מקומית.
REST
כדי להשתמש בסביבת פיתוח מקומית בדוגמאות של API בארכיטקטורת REST שבדף הזה, צריך להשתמש בפרטי הכניסה שאתם נותנים ל-CLI של gcloud.
התקינו את ה-CLI של Google Cloud ואז היכנסו ל-CLI של gcloud באמצעות הזהות המאוחדת שלכם.
מידע נוסף מופיע במאמר אימות לשימוש ב-REST במסמכי האימות של Cloud de Confiance .
שימוש ב-MIG API לצורך שינוי גודל אוטומטי
מומלץ להשתמש בתכונה לשינוי גודל אוטומטי ב-Compute Engine כדי לשנות את הגודל של קבוצת ה-MIG באופן אוטומטי. עם זאת, אם מסיבה כלשהי אתם מעדיפים להשתמש בשינוי גודל אוטומטי אחר, אתם יכולים להשתמש בנקודות הקצה של MIG API כדי לטפל במכונות וירטואליות מושעות ומופסקות.
בחירה בין מאגרי כתובות מושעים לבין מאגרי כתובות שהשימוש בהם הופסק
הבחירה בין מאגרי כתובות מושעים לבין מאגרי כתובות שהשימוש בהם הופסק תלויה בתרחיש השימוש הספציפי שלכם. כדי ליהנות מהביצועים הכי טובים, כדאי להתנסות בסוגים שונים של מאגרי כוננות לתרחישי הרחבה, כדי לקבוע איזה סוג הכי מתאים לצרכים שלכם. יכול להיות שבעומסי עבודה שונים, הזמן להצגת המודעה יהיה קצר יותר עם אפשרויות שונות. במקרים מסוימים, פעולת ההעתקה של מצב הזיכרון מהאחסון אל המכונה הווירטואלית עשויה להימשך יותר זמן מאתחול מחדש של המכונה הווירטואלית או מיצירת מכונה וירטואלית חדשה מאפס.
כדי למצוא את הגישה הטובה ביותר, כדאי להתחיל עם ההנחיות הבאות:
- כדאי להשתמש במכונות VM מושהות אם מכונות ה-VM שלכם דורשות אתחול זיכרון שלוקח הרבה זמן, כי מכונות VM מושהות שומרות את מצב הזיכרון. מוודאים שאפשר להשהות את האפליקציה ולהמשיך את השימוש בה. שמירת מצב הזיכרון דורשת נפח אחסון נוסף, ויכול להיות שיהיו עלויות נוספות.
- אם אתם מתמקדים בעיקר באתחול של נתונים שמאוחסנים בדיסקים הקשיחים, כדאי להשתמש במכונות וירטואליות שהופסקו.
עריכה של מדיניות ההמתנה ב-MIG
בקטע הזה מוסבר איך מגדירים את מצב מאגר ההמתנה להרחבת המאגר ואת ההשהיה הראשונית.
המסוף
נכנסים לדף Instance groups במסוף Cloud de Confiance .
לוחצים על השם של קבוצת המופעים שרוצים לערוך.
לוחצים על עריכה כדי לשנות את קבוצת מופעי המכונה המנוהלים הזו.
לוחצים על הקטע אפשרויות מתקדמות כדי להרחיב אותו.
בקטע Standby pool, בוחרים באפשרות Scale-out.
בשדה Initial delay (עיכוב ראשוני), מזינים את מספר השניות שקבוצת ה-MIG צריכה להמתין לפני השעיה או עצירה של מכונה וירטואלית. ההשהיה הראשונית מאפשרת לסקריפט האתחול להכין את המכונה הווירטואלית להרחבה מהירה.
לוחצים על Save.
gcloud
משתמשים בפקודה instance-groups managed update ומציינים את מצב הפעולה ואת ההשהיה הראשונית.
gcloud compute instance-groups managed update MIG_NAME \ --standby-policy-mode=scale-out-pool \ --standby-policy-initial-delay=DELAY \ [--region=REGION | --zone=ZONE]
מחליפים את מה שכתוב בשדות הבאים:
-
MIG_NAME: השם של ה-MIG. -
DELAY: מספר השניות שקבוצת ה-MIG צריכה להמתין לפני שהיא משעה או מפסיקה מכונה וירטואלית. ההשהיה הראשונית מאפשרת לסקריפט האתחול להכין את המכונה הווירטואלית להרחבה מהירה. -
REGION: ב-MIG אזורי, האזור שבו ה-MIG נמצא. -
ZONE: במקרה של MIG אזורי, האזור שבו נמצא ה-MIG.
Terraform
בדוגמה הבאה נוצרת קבוצת MIG אזורית עם מדיניות המתנה. משתמשים בבלוק standby_policy כדי להגדיר עיכוב ראשוני וכדי להגדיר את המצב ל-SCALE_OUT_POOL.
בדוגמה נעשה שימוש במשאב google_compute_instance_group_manager.
ל-MIG אזורי, משתמשים ב-google_compute_region_instance_group_manager
resource.
כדי ללמוד איך להחיל הגדרות ב-Terraform או להסיר אותן, ראו פקודות בסיסיות ב-Terraform.
REST
משתמשים בשיטה instanceGroupManager.patch ומציינים את מצב הפעולה וההשהיה הראשונית בגוף הבקשה.
ל-MIG אזורי, משתמשים בשיטה regionInstanceGroupManager.patch.
PATCH https://compute.s3nsapis.fr/compute/v1/projects/PROJECT_ID/zones/ZONE/instanceGroupManagers/MIG_NAME
{
// ...
"standbyPolicy": {
"mode": "SCALE_OUT_POOL",
"initialDelaySec": DELAY
}
// ...
}
מחליפים את מה שכתוב בשדות הבאים:
-
PROJECT_ID: מזהה הפרויקט. -
ZONE: במיג אזורי, האזור שבו נמצא המיג.- ל-MIG אזורי, מחליפים את
zones/ZONEב-regions/REGIONומציינים את האזור של ה-MIG.
- ל-MIG אזורי, מחליפים את
-
MIG_NAME: השם של ה-MIG. -
DELAY: מספר השניות שקבוצת ה-MIG צריכה להמתין לפני שהיא משעה או מפסיקה מכונה וירטואלית. ההשהיה הראשונית מאפשרת לסקריפט האתחול להכין את המכונה הווירטואלית להרחבה מהירה.
שינוי הגודל של מאגר ההמתנה ב-MIG
בקטע הזה מוסבר איך משנים את הגודל של מאגרי ה-VM במצב המתנה ב-MIG שהושעו או הופסקו.
המסוף
נכנסים לדף Instance groups במסוף Cloud de Confiance .
לוחצים על השם של קבוצת המופעים שרוצים לערוך.
לוחצים על עריכה כדי לשנות את קבוצת מופעי המכונה המנוהלים הזו.
לוחצים על הקטע אפשרויות מתקדמות כדי להרחיב אותו.
בקטע Standby pool, מזינים את הגדלים החדשים בשדות Suspended VMs ו-Stopped VMs.
לוחצים על Save.
gcloud
משתמשים בפקודה instance-groups managed update עם הדגלים --suspended-size ו---stopped-size.
gcloud compute instance-groups managed update MIG_NAME \ --suspended-size=SUSPENDED_SIZE \ --stopped-size=STOPPED_SIZE \ [--region=REGION | --zone=ZONE]
מחליפים את מה שכתוב בשדות הבאים:
-
MIG_NAME: השם של קבוצת המופעים המנוהלת שבה רוצים להשהות מופע. -
SUSPENDED_SIZE: מספר המכונות הווירטואליות המושעות שה-MIG צריך לשמור בכל זמן נתון. -
STOPPED_SIZE: מספר המכונות הווירטואליות המופסקות שקבוצת ה-MIG צריכה לשמור בכל זמן נתון. -
REGION: במקרה של MIG אזורי, האזור שבו ה-MIG נמצא. -
ZONE: במקרה של MIG אזורי, האזור שבו נמצא ה-MIG.
Terraform
בדוגמה הבאה נוצרת קבוצת MIG אזורית עם גדלים של מכונות וירטואליות מושעות ומופסקות. כדי להגדיר את גדלי היעד, משתמשים בארגומנטים target_suspended_size ו-target_stopped_size.
בדוגמה נעשה שימוש במשאב google_compute_instance_group_manager.
ל-MIG אזורי, משתמשים ב-google_compute_region_instance_group_manager
resource.
כדי ללמוד איך להחיל הגדרות ב-Terraform או להסיר אותן, ראו פקודות בסיסיות ב-Terraform.
REST
משתמשים בשיטה instanceGroupManager.patch ומציינים את הגדלים של מאגרי המכונות הווירטואליות שהושעו והופסקו בגוף הבקשה.
ל-MIG אזורי, משתמשים בשיטה regionInstanceGroupManager.patch.
PATCH https://compute.s3nsapis.fr/compute/v1/projects/PROJECT_ID/zones/ZONE/instanceGroupManagers/MIG_NAME
{
// ...
"targetSuspendedSize": SUSPENDED_SIZE,
"targetStoppedSize": STOPPED_SIZE
// ...
}
מחליפים את מה שכתוב בשדות הבאים:
-
PROJECT_ID: מזהה הפרויקט. -
ZONE: במקרה של MIG אזורי, האזור שבו נמצא ה-MIG.- ל-MIG אזורי, מחליפים את
zones/ZONEב-regions/REGIONומציינים את האזור של ה-MIG.
- ל-MIG אזורי, מחליפים את
-
MIG_NAME: השם של קבוצת ה-MIG שבה רוצים להפסיק מכונה. -
SUSPENDED_SIZE: מספר המכונות הווירטואליות המושעות שה-MIG צריך לשמור בכל זמן נתון. -
STOPPED_SIZE: מספר המכונות הווירטואליות המופסקות שקבוצת ה-MIG צריכה לשמור בכל זמן נתון.