קבוצות של מכונות שמתאימות את עצמן לעומס (autoscaling)

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

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

דרישות מוקדמות

הכלי לשינוי גודל קבוצת המכונות באופן אוטומטי משתמש בסוכן השירות של Compute Engine כדי להוסיף מכונות לקבוצה ולהסיר ממנה מכונות. Cloud de Confiance המערכת יוצרת באופן אוטומטי את חשבון השירות הזה, וגם את הקישור של מדיניות ה-IAM שלו לתפקיד סוכן השירות של Compute Engine, כשה-API של Compute Engine מופעל.

אם החשבון הזה חסר בפרויקט – למשל, אם הסרתם אותו – אתם יכולים להוסיף אותו באופן ידני:

המסוף

  1. נכנסים לדף IAM במסוף Cloud de Confiance .

    כניסה לדף IAM

  2. לוחצים על הענקת גישה.

  3. בשדה New principals, מזינים את הערך service-PROJECT_NUMBER@compute-system.s3ns-system.iam.gserviceaccount.com.

  4. בוחרים את התפקיד Compute Engine Service Agent.

  5. לוחצים על Save.

gcloud

gcloud projects add-iam-policy-binding PROJECT_ID \
   --member serviceAccount:service-PROJECT_NUMBER@compute-system.s3ns-system.iam.gserviceaccount.com \
   --role roles/compute.serviceAgent

Fundamentals

התכונה 'שינוי גודל אוטומטי' משתמשת במושגים ובשירותים הבסיסיים הבאים.

קבוצות של מופעי מכונה מנוהלים

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

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

במאמר יצירת קבוצות מופעי מכונה מנוהלים (MIG) מוסבר איך ליצור קבוצת מופעי מכונה מנוהלים.

מדיניות בנושא התאמה אוטומטית לעומס

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

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

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

מדדי ניצול היעד

אפשר להגדיר שינוי גודל אוטומטי על סמך אחד או יותר מהמדדים הבאים שמשקפים את עומס העבודה של קבוצת המופעים:

  • ממוצע ניצול המעבד
  • קיבולת של מאזן עומסים מסוג HTTP
  • מדדים של Cloud Monitoring

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

רמת הניצול של היעד היא הרמה שבה רוצים לשמור על המכונות הווירטואליות (VM). לדוגמה, אם אתם משנים את קנה המידה על סמך ניצול המעבד, אתם יכולים להגדיר את רמת הניצול הרצויה ל-75%, והכלי לשינוי קנה מידה אוטומטי ישמור על ניצול המעבד של קבוצת המופעים שצוינה ברמה של 75% או קרוב לכך. רמת הניצול של כל מדד מתפרשת באופן שונה בהתאם למדיניות של שינוי הגודל האוטומטי.

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

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

עם זאת, אפשר להשתמש במדדים אחרים של Monitoring כשמצמצמים את מספר המופעים לאפס, בתנאי שמגדירים את המספר המינימלי של המופעים (autoscalingPolicy.minNumReplicas) ל-0.

למידע נוסף על שינוי קנה מידה על סמך מדדי ניצול היעד, אפשר לעיין בדפים הבאים:

לוחות זמנים

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

  • קיבולת: מספר המכונות הווירטואליות המינימלי הנדרש
  • לוח זמנים: שעת התחלה, משך וחזרה (לדוגמה, פעם אחת, כל יום, כל שבוע או כל חודש)

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

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

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

מידע נוסף זמין במאמר בנושא שינוי גודל על סמך לוחות זמנים.

תקופת האתחול

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

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

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

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

תקופת ייצוב

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

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

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

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

מצב התאמה אוטומטית לעומס

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

התאמה אוטומטית לעומס (autoscaling) מבוססת-חיזוי

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

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

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

מידע נוסף על שינוי גודל על סמך תחזיות

אמצעי בקרה לצמצום קנה המידה

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

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

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

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

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

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

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

איך כלי ההתאמה האוטומטית מחשבים את הגודל המומלץ ומשפיעים על גודל היעד

מגבלות

מה קורה במהלך תיקון אוטומטי

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

תמחור

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

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

  1. איך פועלת התאמה אוטומטית לעומס (auto-scaling) ב-MIG אזורי
  2. אם אין לכם קבוצת מופעי מכונה מנוהלים (MIG) קיימת, כדאי לעיין במאמר בנושא יצירת קבוצת מופעי מכונה מנוהלים.
  3. יוצרים סקיילר אוטומטי שמבצע סקיילינג על:

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