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

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

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

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

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

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

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

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

כשיוצרים קבוצת מופעים מנוהלת (MIG), אם מגדירים את הצורה שלה ל-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 אצווה אחרי השלמת העבודה בלי להשפיע על workers אחרים.
  • הגנה על מכונות עם עומסי עבודה שמורים מפני מחיקה אוטומטית לא רצויה בגלל חלוקה מחדש פרואקטיבית.
  • מגדירים את צורת חלוקת היעד של ה-MIG לערך BALANCED או ANY_SINGLE_ZONE
השבתה של חלוקה מחדש פרואקטיבית יכולה להשפיע על הקיבולת במהלך כשל אזורי.
חלוקה לא אחידה אחרי השבתת החלוקה מחדש

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

כדי להתכונן למקרה הקיצוני שבו אזור אחד נכשל או שקבוצה שלמה של מופעים מפסיקה להגיב, Google ממליצה מאוד להקצות יותר מדי משאבים ל-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 לא יהיה זמין, וזה עלול לשבש את הפעילות של המשתמשים.

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