מידע על קבוצות אזוריות של מכונות וירטואליות מנוהלות (MIG)

קבוצת מופעי מכונה מנוהלים (MIG) שבה המכונות הווירטואליות מפוזרות על פני כמה אזורים באזור מסוים נקראת גם קבוצת MIG אזורית. קבוצת MIG שמוגבלת לתחום אחד נקראת גם קבוצת MIG אזורית.

אתם יכולים להשתמש ב-MIG אזורי כדי לשפר את העמידות של עומס העבודה שמבוסס על MIG. פיזור עומס העבודה על פני כמה אזורים באזור מסוים עוזר להגן עליכם במקרים קיצוניים שבהם כל המופעים באזור יחיד נכשלים.

המסמך הזה מכיל מידע רעיוני על קבוצות אזוריות של מכונות וירטואליות:

במאמר יצירת קבוצת MIG בכמה אזורים מוסבר איך ליצור קבוצת MIG אזורית.

למה כדאי לבחור בקבוצות מנוהלות של מכונות וירטואליות אזוריות?

‫Google ממליצה על קבוצות אזוריות של מכונות וירטואליות במקום על קבוצות אזוריות של מכונות וירטואליות מהסיבות הבאות:

  • אתם יכולים להשתמש בקבוצות אזוריות של מכונות מנוהלות כדי לנהל עד 2,000 מכונות, כפול ממספר המכונות שאפשר לנהל באמצעות קבוצות אזוריות של מכונות מנוהלות. אם אתם צריכים יותר, אתם יכולים להגדיל את מגבלת הגודל של MIG אזורי ל-4,000 מכונות.
  • אתם יכולים להשתמש בקבוצות אזוריות של מופעי מכונה בניהול (MIG) כדי לפזר את עומס האפליקציה על פני כמה אזורים, במקום להגביל את האפליקציה לאזור אחד או לנהל כמה קבוצות אזוריות של מופעי מכונה בניהול באזורים שונים.

שימוש בכמה תחומים מגן מפני כשלים בתחום ומפני תרחישים בלתי צפויים שבהם קבוצה שלמה של מופעים בתחום אחד לא פועלת. אם זה קורה, האפליקציה יכולה להמשיך להציג תנועה ממופעים שפועלים באזור אחר באותו אזור.

במקרה של כשל אזורי, או אם קבוצה של מכונות וירטואליות באזור מפסיקה להגיב, קבוצת MIG אזורית ממשיכה לתמוך במכונות הווירטואליות שלכם באופן הבא:

  • מספר המופעים שכלולים ב-MIG האזורי באזורים הנותרים ממשיכים להציג תנועה. לא מתווספים מופעים חדשים ולא מתבצעת חלוקה מחדש של מופעים (אלא אם מגדירים שינוי גודל אוטומטי).

  • אחרי שאזור שנכשל חוזר לפעולה, קבוצת ה-MIG מתחילה להציג שוב תנועה מהאזור הזה.

כשמתכננים אפליקציות חזקות וניתנות להרחבה, כדאי להשתמש בקבוצות אזוריות של מכונות מנוהלות.

אפשרויות נוספות להגדרת קבוצות אזוריות של מכונות וירטואליות מנוהלות

יצירת קבוצת MIG אזורית דומה ליצירת קבוצת MIG אזורית, אבל יש בה אפשרויות נוספות:

האפשרויות האלה מתוארות בקטעים הבאים.

בחירת אזור

כברירת מחדל, קבוצת מופעי מכונה בניהול אזורי מחלקת את המופעים המנוהלים שלה באופן שווה בין שלושה אזורים. יכולות להיות סיבות שונות שבגללן תרצו לבחור אזורים ספציפיים לאפליקציה שלכם. לדוגמה, אם אתם צריכים GPU למופעים שלכם, יכול להיות שתבחרו רק אזורים שתומכים ב-GPU, או שיש לכם דיסקים קשיחים קיימים או שרייונים שזמינים רק באזורים מסוימים.

אם רוצים לבחור את מספר האזורים או את האזורים הספציפיים שבהם הקבוצה פועלת, צריך לעשות זאת כשיוצרים את הקבוצה. אחרי שבוחרים אזורים ספציפיים במהלך היצירה, אי אפשר לשנות או לעדכן את האזורים בהמשך.

אם רוצים שה-MIG ישתמש באופן אוטומטי באזורים שתומכים בחומרה שמצוינת בהגדרות ה-MIG, אפשר להגדיר את צורת ההפצה של היעד של ה-MIG ל-BALANCED, ל-ANY או ל-ANY_SINGLE_ZONE ולבחור את כל האזורים באזור. קבוצת ה-MIG בודקת באופן אוטומטי את זמינות המשאבים ומתזמנת מופעים רק באזורים שבהם המשאבים זמינים. מידע נוסף זמין במאמר בנושא צורת ההפצה של טירגוט.

  • כדי לבחור יותר משלושה אזורים בתוך אזור, צריך לציין במפורש את האזורים הנפרדים. לדוגמה, כדי לבחור את כל ארבעת האזורים בתוך אזור מסוים, צריך לציין את כל ארבעת האזורים באופן מפורש בבקשה. אם לא, מערכת Compute Engine בוחרת כברירת מחדל שלושה אזורים.

  • כדי לבחור שני אזורים או פחות באזור מסוים, צריך לציין באופן מפורש את האזורים הספציפיים. גם אם באזור יש רק שני אזורים, עדיין צריך לציין את האזורים באופן מפורש בבקשה.

‫Google מרחיבה באופן קבוע את התשתית שלה על ידי הוספת חומרה ייעודית לאזורים נוספים. קבוצת MIG אזורית בודקת מעת לעת את זמינות החומרה ומתחילה באופן אוטומטי לתזמן מופעים באזורים שתומכים במכונות הנדרשות. אם מסיבה כלשהי אתם לא רוצים להפעיל את המופעים שלכם באזורים מסוימים, אל תבחרו את האזורים האלה כשאתם יוצרים את הקבוצה.

במאמר יצירת קבוצת MIG אזורית מוסבר איך ליצור קבוצת MIG אזורית ואיך לבחור אזורים.

צורת ההתפלגות של היעד

כברירת מחדל, קבוצת MIG אזורית מחלקת את המופעים המנוהלים שלה באופן שווה בין האזורים שנבחרו. אבל אם אתם צריכים חומרה שלא זמינה בכל האזורים, או אם אתם צריכים לתת עדיפות לשימוש בהזמנות אזוריות, יכול להיות שתעדיפו חלוקה אחרת.

כדי להגדיר איך קבוצת ה-MIG האזורית מחלקת את המופעים שלה בין אזורים נבחרים בתוך אזור, מגדירים את צורת חלוקת היעד של קבוצת ה-MIG. אלו האפשרויות הזמינות:

  • EVEN (ברירת מחדל): הקבוצה יוצרת ומוחקת מכונות וירטואליות כדי להגיע למספר זהה של מכונות וירטואליות באזורים שנבחרו ולשמור על המספר הזה. בהפצה של EVEN, מספר המכונות הווירטואליות לא שונה ביותר מ-1 בין שני אזורים כלשהם. מומלץ לעומסי עבודה של שרתים עם זמינות גבוהה.
  • BALANCED: הקבוצה נותנת עדיפות ליצירת מכונות וירטואליות באזורים שבהם יש משאבים זמינים, תוך חלוקת המכונות הווירטואליות באופן שווה ככל האפשר בין האזורים שנבחרו, כדי למזער את ההשפעה של כשל באזור. מומלץ לשימוש בהגשה בזמינות גבוהה או בעומסי עבודה באצווה.
  • ANY: הקבוצה בוחרת אזורים ליצירת מכונות וירטואליות כדי למלא את מספר המכונות הווירטואליות המבוקש במסגרת מגבלות המשאבים הנוכחיות, וכדי למקסם את השימוש בשריינים אזוריים לא מנוצלים. מומלץ לעומסי עבודה (workloads) באצווה שלא נדרשת בהם זמינות גבוהה.
  • כל אזור יחיד: הקבוצה יוצרת את כל מופעי ה-VM באזור יחיד. התחום נבחר על סמך תמיכה בחומרה, זמינות נוכחית של משאבים ומכסות והתאמה להזמנות. מומלץ לשימוש בשילוב עם מדיניות למיקום קומפקטי של מופעים עבור עומסי עבודה שדורשים תקשורת נרחבת בין מכונות וירטואליות.

כשיוצרים קבוצת מופעים מנוהלת, אם מגדירים את הצורה שלה ל-BALANCED, ל-ANY או ל-ANY_SINGLE_ZONE, לא צריך לבדוק באופן ידני באילו אזורים יש תמיכה בחומרה שמציינים בהגדרות של קבוצת המופעים המנוהלת. אתם יכולים לבחור את כל האזורים באזור מסוים, ואם הצורה מוגדרת ל-BALANCED,‏ ANY או ANY_SINGLE_ZONE, ה-MIG האזורי יבדוק בשבילכם את זמינות המשאבים ויקצה מופעים רק באזורים שבהם המשאבים זמינים.

בוחרים באפשרות בהתאם לדרישות של עומס העבודה וליכולות ה-MIG שדרושות לכם. מידע נוסף זמין בטבלת ההשוואה ובקטע תרחישי שימוש.

כדי ללמוד איך להגדיר את צורת היעד של קבוצת MIG חדשה או קיימת, אפשר לעיין במאמר הגדרת מדיניות להפצת מופעים בין אזורים.

חלוקה מחדש יזומה של מופעים

כברירת מחדל, קבוצת MIG אזורית מנסה לשמור על חלוקה שווה של המכונות בין האזורים באזור, כדי למקסם את הזמינות של האפליקציה במקרה של כשל ברמת האזור.

אם מוחקים או מבטלים מופעים מהקבוצה, וזה גורם לחלוקה לא אחידה בין האזורים, הקבוצה מחלקת מחדש את המופעים באופן יזום כדי ליצור חלוקה אחידה.

כדי להחזיר את האיזון בחלוקה בין האזורים, הקבוצה מוחקת מכונות באזורים עם יותר מכונות, ומוסיפה מכונות לאזורים עם פחות מכונות. המערכת בוחרת באופן אוטומטי אילו מופעים למחוק.

הפצה מחדש פרואקטיבית מבטיחה פיזור שווה בין האזורים.
דוגמה להקצאה מחדש יזומה

לדוגמה, נניח שיש לכם קבוצת MIG אזורית עם 12 מכונות וירטואליות שפרוסות על פני 3 אזורים: a,‏ b ו-c. אם מוחקים 3 מופעים מנוהלים ב-c, הקבוצה מנסה לבצע איזון מחדש כדי שהמופעים יפוזרו שוב באופן שווה בין האזורים. במקרה כזה, הקבוצה מוחקת 2 מכונות (אחת מ-a ואחת מ-b) ויוצרת 2 מכונות באזור c, כך שבכל אזור יש 3 מכונות והחלוקה שווה. אין דרך לקבוע באופן סלקטיבי אילו מופעים יימחקו. הקיבולת של הקבוצה יורדת באופן זמני בזמן שהמופעים החדשים מופעלים.

כדי למנוע הפצה אוטומטית מחדש של המכונות, אפשר להשבית את ההפצה הפרואקטיבית מחדש של המכונות.

השבתה של חלוקה מחדש יזומה של מופעים שימושית כשצריך:

  • למחוק או לנטוש מופעים מהקבוצה בלי להשפיע על מופעים אחרים שפועלים. לדוגמה, אפשר למחוק worker instance של אצווה אחרי השלמת העבודה בלי להשפיע על worker-ים אחרים.
  • הגנה על מופעים עם עומסי עבודה עם שמירת מצב מפני מחיקה אוטומטית לא רצויה בגלל חלוקה מחדש יזומה.
  • הגדרת צורת חלוקת היעד של ה-MIG ל-BALANCED או ל-ANY_SINGLE_ZONE
השבתה של חלוקה מחדש פרואקטיבית יכולה להשפיע על הקיבולת במהלך כשל אזורי.
חלוקה לא אחידה אחרי השבתת החלוקה מחדש הפרואקטיבית

אם משביתים את ההפצה הפרואקטיבית של מופעים, קבוצת ה-MIG לא מוסיפה או מסירה מופעים באופן פרואקטיבי כדי להשיג איזון, אבל היא עדיין מתכנסת באופן אופורטוניסטי לאיזון במהלך פעולות שינוי גודל, ומתייחסת לכל פעולת שינוי גודל כהזדמנות לאזן את הקבוצה. לדוגמה, כשמצמצמים את מספר המכונות, הקבוצה משתמשת בשינוי הגודל כהזדמנות להסיר מכונות מאזורים גדולים יותר. כשמרחיבים את מספר המכונות, הקבוצה משתמשת בהזדמנות להוסיף מכונות לאזורים קטנים יותר.

הבדלים בהתנהגות בהשוואה ל-MIGs אזוריים

ההבדל העיקרי בין MIG אזורי לבין MIG אזורי הוא ש-MIG אזורי יכול להשתמש ביותר מאזור אחד.

מכיוון שהמופעים המנוהלים של קבוצת MIG אזורית מפוזרים בין אזורים בתוך אזור, התכונות הבאות של קבוצת MIG מתנהגות קצת אחרת.

התאמה אוטומטית לעומס (autoscaling) של קבוצת מופעים מנוהלת אזורית (regional MIG)

‫Compute Engine מציע שינוי גודל אוטומטי לקבוצות MIG, שמאפשר לקבוצות להוסיף מכונות וירטואליות באופן אוטומטי (הגדלת קנה מידה) או להסיר מכונות וירטואליות (הקטנת קנה מידה) בהתבסס על עליות או ירידות בעומס.

אם מפעילים את המידרוג האוטומטי עבור MIG אזורי, התכונה פועלת באופן הבא:

  • הכלי לשינוי גודל אוטומטי מחלק את מכונות ה-VM בין האזורים על סמך צורת ההפצה של היעד שהגדרתם.

  • הכלי לשינוי גודל אוטומטי מודע לזמינות המשאבים באזורים שונים. הכלי להתאמה אוטומטית לעומס יוצר מכונות וירטואליות באופן יזום רק בתחומים שיש בהם מספיק מכסות וקיבולת למכונות וירטואליות, כפי שצוין בהגדרות של קבוצת ה-MIG. התנהגות כזו עלולה לגרום לחלוקה לא אחידה של מכונות וירטואליות במקרה של צורת הפצה של יעד EVEN.

  • אם יצירת מכונה וירטואלית נכשלת בגלל חוסר קיבולת באזור מסוים, קבוצת ה-MIG יוצרת את המכונה הווירטואלית באזור שבו יש קיבולת זמינה.

עדכון של קובץ MIG אזורי

אחרי שיוצרים קבוצת MIG אזורית, אי אפשר לשנות או לעדכן את האזורים שלה. אבל אתם יכולים להגדיר את צורת ההפצה של היעד של הקבוצה כדי לתת עדיפות לשימוש באזורים שונים – למשל, אם הזמנתם משאבים או שאתם צריכים חומרה שלא זמינה בכל האזורים.

אם רוצים להחיל תבנית חדשה על קבוצת MIG אזורית, אפשר לעיין במאמר בנושא עדכון קבוצת MIG אזורית.

אם רוצים להוסיף מופעים לקבוצת MIG או להסיר ממנה מופעים, התהליך דומה לקבוצות MIG אזוריות ולקבוצות MIG לפי אזור זמינות. מידע נוסף זמין במאמר בנושא הוספה והסרה של מכונות וירטואליות בקבוצת מופעי מכונה מנוהלים (MIG).

אם אתם רוצים להגדיר דיסקים עם שמירת מצב או מטא-נתונים עם שמירת מצב ב-MIG, תוכלו לעיין במאמר בנושא הגדרת MIG עם שמירת מצב.

איך להגדיל את הזמינות באמצעות הקצאת יתר

יכולות להיות כל מיני סיבות לכך שמופע אחד או יותר לא יהיו זמינים, ואפשר לצמצם את הסיכון הזה באמצעות שימוש בכמה שירותים של Google Cloud:

  • משתמשים ב-MIG אזורי עם EVEN או BALANCED צורת חלוקה של יעד כדי לחלק את האפליקציה בין כמה אזורים.
  • אפשר להשתמש בתיקון אוטומטי שמבוסס על אפליקציות כדי ליצור מחדש מופעים עם אפליקציות שנכשלו.
  • משתמשים באיזון עומסים כדי להפנות באופן אוטומטי את תנועת המשתמשים ממופעים לא זמינים.

עם זאת, גם אם אתם משתמשים בשירותים האלה, יכול להיות שהמשתמשים שלכם ייתקלו בבעיות אם יותר מדי מהמופעים שלכם לא יהיו זמינים בו-זמנית.

כדי להתכונן למקרה הקיצוני שבו אזור אחד נכשל או שקבוצה שלמה של מופעים מפסיקה להגיב, מומלץ מאוד להקצות יותר מדי משאבים ל-MIG. בהתאם לצרכים של האפליקציה, הקצאת יתר של משאבים לקבוצה מונעת את קריסת המערכת אם אזור או קבוצה של מופעים לא מגיבים.

‫Google נותנת המלצות להקצאת יתר של משאבים, במטרה לשמור על זמינות האפליקציה למשתמשים. ההמלצות האלה כוללות הקצאה ותשלום על יותר מופעים ממה שהאפליקציה שלכם עשויה להזדקק להם על בסיס יומי. ההחלטות לגבי הקצאת יתר צריכות להתבסס על הצרכים של האפליקציה ועל מגבלות העלויות.

אפשר להגדיר את הגודל של קבוצת ה-MIG כשיוצרים אותה, ואפשר להוסיף או להסיר מכונות וירטואליות אחרי שיוצרים אותה.

אפשר להגדיר שינוי גודל אוטומטי כדי להוסיף ולהסיר באופן אוטומטי מופעים בקבוצה בהתאם לעומס.

הערכת הגודל המומלץ של הקבוצה

מומלץ להקצות מספיק מכונות כך שאם כל המכונות באזור מסוים לא יהיו זמינות, המכונות שנותרו עדיין יעמדו במספר המינימלי של המכונות שנדרש לכם.

בטבלה הבאה מפורט הגודל המינימלי המומלץ לקבוצה:

מספר האזורים מכונות וירטואליות נוספות מספר מומלץ של מכונות וירטואליות
2 ‫+100% ‫200%
3 עלייה של 50% 150%
4 ‫+33% ‫133%

הקצאת MIG אזורי בשלושה אזורים או יותר

כשיוצרים קבוצת MIG אזורית באזור עם לפחות שלושה אזורים, Google ממליצה להקצות לקבוצה יותר משאבים בשיעור של לפחות 50%. כברירת מחדל, קבוצת MIG אזורית יוצרת מופעים בשלושה אזורים. אם כבר יש לכם מכונות וירטואליות בשלושה אזורים, תוכלו לשמור לפחות על 2/3 מיכולת ההצגה שלכם, ואם אזור אחד ייכשל, שני האזורים האחרים באזור יוכלו להמשיך להציג תנועה ללא הפרעה. אם תגדירו הקצאת יתר של 150%, תוכלו לוודא שאם שליש מהקיבולת יאבד, התחומים הנותרים יתמכו ב-100% מהתעבורה.

לדוגמה, אם אתם צריכים 20 מופעים ב-MIG בשלושה אזורים, מומלץ להוסיף לפחות 50% מופעים. במקרה הזה, 50% מ-20 הם עוד 10 מופעים, כך שבקבוצה יש 30 מופעים בסך הכול. אם תיצרו קבוצת MIG אזורית בגודל 30, הקבוצה תחלק את מכונות ה-VM בין שלושת האזורים, כך:

תחום (zone) מספר המכונות הווירטואליות
example-zone-1 10
example-zone-2 10
example-zone-3 10

אם אזור אחד ייכשל, עדיין יהיו 20 מופעים שישרתו את התעבורה.

הקצאת MIG אזורי בשני אזורים

כדי להקצות את המכונות שלכם בשני אזורים במקום בשלושה, Google ממליצה להכפיל את מספר המכונות. לדוגמה, אם אתם צריכים 20 מופעים לשירות שלכם, שמפוזרים על פני שני אזורים, מומלץ להגדיר קבוצת MIG אזורית עם 40 מופעים, כך שבכל אזור יהיו 20 מופעים. אם אזור אחד נכשל, עדיין יש לכם 20 מופעים שמשרתים תנועה.

תחום (zone) מספר המכונות הווירטואליות
example-zone-1 20
example-zone-2 20

אם מספר המופעים בקבוצה לא מתחלק באופן שווה בין שני תחומים, Compute Engine מחלק את קבוצת המכונות הווירטואליות באופן שווה וממקם את המופעים שנותרו באחד מהתחומים באופן אקראי.

הקצאת קבוצת מופעים מנוהלת (MIG) אזורית בתחום אחד

אפשר ליצור קבוצת MIG אזורית עם אזור אחד בלבד. התהליך דומה ליצירה של MIG אזורי.

לא מומלץ ליצור קבוצת MIG אזורית עם אזור אחד, כי היא מספקת את המינימום הנדרש לאפליקציות עם זמינות גבוהה. אם האזור ייכשל, כל ה-MIG לא יהיה זמין, וזה עלול לשבש את הפעילות של המשתמשים.

מעקב אחרי התפלגות המופעים באזורים

כדי לראות איך קבוצת ה-MIG האזורית מקצה ומאזנת מכונות וירטואליות בין אזורים לאורך זמן, אפשר להשתמש בלוח הבקרה GCE MIG Instance Distribution Monitoring ב-Cloud Monitoring. מרכז הבקרה הזה מוגדר מראש ועוזר לכם לוודא שהפצת המופעים פועלת כמצופה. אתם יכולים להשתמש בתובנות האלה כדי לזהות שינויים פוטנציאליים שיעזרו לכם לבצע אופטימיזציה של התשתית.

במאמר מעקב אחר חלוקת המופעים ב-MIG מוסבר איך לגשת ללוח הבקרה של המעקב.

המאמרים הבאים