סקירה כללית של Cloud Load Balancing

מאזן עומסים מפזר את תנועת המשתמשים בין כמה מכונות של האפליקציות. חלוקת העומס מפחיתה את הסיכון לבעיות בביצועים של האפליקציות. Cloud Load Balancing של Google מבוסס על טכנולוגיות אמינות ובעלות ביצועים גבוהים כמו Maglev,‏ Andromeda,‏ ממשק קצה של Google‏ (GFE) ו-Envoy – אותן טכנולוגיות שמפעילות את המוצרים של Google.

ב-Cloud Load Balancing יש מגוון רחב של מאזני עומסים אזוריים של אפליקציות ושל רשתות. אתם יכולים להשתמש במאזני העומסים שלנו כדי לפזר מיליוני בקשות בשנייה בין קצוות עורפיים באזור אחד. אפשר להגדיר את מאזני העומסים האלה כך שיהיו נגישים דרך כתובת IP אחת מסוג anycast. הטמעה של שליטה חזקה בתחום השיפוט באמצעות מאזני עומסים של שרתי proxy אזוריים, שמאפשרת לשמור את ה-backend ושרתי ה-proxy באזור שלכם בלי לדאוג לגבי פריקה של TLS/SSL. אתם יכולים להשתמש במאזני העומסים האזוריים שלנו להעברת נתונים ללא שינוי כדי לנתב במהירות כמה פרוטוקולים לקצוות עורפיים, עם הביצועים הגבוהים של החזרת שרת ישירה (DSR).

סקירה כללית על Cloud Load Balancing.
סקירה כללית על Cloud Load Balancing (לחצו כדי להגדיל).

התכונות העיקריות של Cloud Load Balancing

ב-Cloud Load Balancing יש את התכונות הבאות של מאזני עומסים:

  • כתובת IP אחת מסוג anycast. ב-Cloud Load Balancing, כתובת IP אחת מסוג anycast היא ממשק ה-frontend לכל שרתי ה-backend instance.

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

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

  • איזון עומסים בשכבה 4 ובשכבה 7. אתם יכולים להשתמש באיזון עומסים שמבוסס על שכבה 4 כדי לנתב את התנועה על סמך נתונים מפרוטוקולים של שכבת הרשת ושכבת התעבורה, כמו TCP, ‏ UDP, ‏ ESP, ‏ GRE, ‏ ICMP ו-ICMPv6 . שימוש באיזון עומסים שמבוסס על שכבה 7 כדי להוסיף החלטות לגבי ניתוב בקשות על סמך מאפיינים, כמו כותרת ה-HTTP ומזהה המשאבים האחיד.

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

סוגים של Google Cloud מאזני עומסים

ב-Cloud Load Balancing יש שני סוגים של מאזני עומסים: מאזני עומסים של אפליקציות (ALB) ומאזני עומסי רשת. כדאי לבחור במאזן עומסים של אפליקציות כשצריך מאזן עומסים בשכבה 7 לאפליקציות עם תנועת HTTP(S). כדאי לבחור במאזן עומסי רשת כשצריך מאזן עומסים בשכבה 4 שתומך בפריקת TLS (עם מאזן עומסים של שרת proxy), או כשצריך תמיכה בפרוטוקולי IP כמו UDP, ‏ ESP ו-ICMP (עם מאזן עומסים להעברת סיגנל ללא שינוי).

מאזני עומסים של אפליקציות (ALB)

מאזני עומסים של אפליקציות הם מאזני עומסים בשכבה 7 שמבוססים על שרת proxy, ומאפשרים להפעיל את השירותים ולהתאים אותם לעומס (scaling) מאחורי כתובת IP מסוג anycast. מאזן העומסים של האפליקציות מחלק את תעבורת הנתונים ב-HTTP וב-HTTPS בין קצוות עורפיים שמתארחים במגוון פלטפורמות של Google Cloud , כמו Compute Engine ו-Google Kubernetes Engine ‏ (GKE), וגם בקצוות עורפיים חיצוניים מחוץ ל-Google Cloud.

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

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

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

מאזני עומסי רשת

מאזני עומסי רשת הם מאזני עומסים בשכבה 4 שיכולים לטפל בתנועה של TCP,‏ UDP או פרוטוקולי IP אחרים. מאזני העומסים האלה זמינים כמאזני עומסים של שרתי proxy או כמאזני עומסים להעברת סיגנל ללא שינוי. אתם יכולים לבחור מאזן עומסים בהתאם לצרכים של האפליקציה ולסוג התנועה שהיא צריכה לטפל בה. אם אתם רוצים להגדיר מאזן עומסים של שרת proxy הפוך עם תמיכה בבקרות תעבורה מתקדמות ובקצוות עורפיים מקומיים ובסביבות ענן אחרות, בחרו במאזן עומסי רשת של שרת proxy. בחרו במאזן עומסי רשת מסוג passthrough אם אתם רוצים לשמור את כתובת ה-IP של המקור של חבילות הלקוח, אם אתם מעדיפים החזרה ישירה של תגובות מהשרת או אם אתם רוצים לטפל במגוון פרוטוקולי IP כמו TCP,‏ UDP,‏ ESP,‏ GRE,‏ ICMP ו-ICMPv6.

מאזני עומסי רשת בשרת proxy

מאזני עומסי רשת של שרתי proxy הם מאזני עומסים של שרתי proxy הפוכים בשכבה 4, שמפזרים את תעבורת הנתונים ב-TCP בין מכונות וירטואליות (VM) ברשת ה-VPC של Google Cloud. תעבורת הנתונים מסתיימת בשכבת איזון העומסים, ואז מועברת לקצה העורפי הזמין הקרוב ביותר באמצעות TCP.

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

  • מאזני עומסי רשת אזוריים חיצוניים בשרת proxy הם מאזני עומסים בשכבה 4, שמפזרים את תעבורת הנתונים שמגיעה מהאינטרנט בין שירותים לקצה העורפי ברשת ה-VPC ב- Google Cloud , באתר או בסביבות ענן אחרות.
  • מאזני עומסי רשת אזוריים פנימיים עם שרת proxy הם מאזני עומסים אזוריים בשכבה 4 שמבוססים על שרת proxy של Envoy. הם מאפשרים להריץ את תעבורת הנתונים של שירות ה-TCP ולהתאים אותה לעומס מאחורי כתובת IP פנימית, שנגישה רק ללקוחות באותה רשת VPC או ללקוחות שמחוברים לרשת ה-VPC.

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

‫ ארכיטקטורה של מאזן עומסי רשת בשרת proxy.
ארכיטקטורה של מאזן עומסי רשת בשרת proxy (לחצו כדי להגדיל).

מאזני עומסי רשת להעברת סיגנל ללא שינוי (Passthrough)

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

כפי שניתן להבין מהשם, מאזני העומסים האלה הם לא שרתי proxy. המכונות הווירטואליות לקצה העורפי מקבלות חבילות עם איזון עומסים, שבהן כתובות ה-IP של המקור והיעד, הפרוטוקול, ואם הפרוטוקול מבוסס-יציאה, יציאות המקור והיעד לא משתנות. חיבורים עם איזון עומסים מסתיימים בקצוות העורפיים. התשובות מהמכונות הווירטואליות לקצה העורפי מגיעות ישירות ללקוחות, ולא עוברות בחזרה דרך מאזן העומסים. המונח המקובל בתחום הוא direct server return‏ (DSR).

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

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

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

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

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

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

הטכנולוגיות שעליהן מבוססים מאזני העומסים של Google Cloud

בטבלה הבאה מפורטת הטכנולוגיה שעליה מבוסס כל מאזן עומסים שלGoogle Cloud .

  • ממשקי קצה של Google‏ (GFE) הם מערכות מבוזרות שמוגדרות בתוכנה, שנמצאות בנקודות הנוכחות (PoP) של Google ומבצעות איזון עומסים גלובלי בשילוב עם מערכות ומישורי בקרה אחרים.
  • ‫Andromeda הוא סטאק וירטואליזציה של רשתות מוגדרות-תוכנה ב-Google Cloud.
  • ‫Maglev היא מערכת מבוזרת לאיזון עומסים ברשת.
  • ‫Envoy הוא שרת proxy בקוד פתוח לשירותים ולרשתות קצה, שמיועד לאפליקציות מבוססות-ענן.
מאזן עומסים טכנולוגיה
מאזן עומסים חיצוני אזורי של אפליקציות (ALB) Envoy
מאזן עומסים פנימי אזורי של אפליקציות (ALB) Envoy
מאזן עומסי רשת אזורי חיצוני בשרת proxy Envoy
מאזן עומסי רשת אזורי פנימי בשרת proxy Envoy
מאזן עומסי רשת אזורי חיצוני להעברת סיגנל ללא שינוי Maglev
מאזן עומסי רשת פנימי להעברת סיגנל ללא שינוי אנדרומדה

בחירת מאזן עומסים

כדי להחליט באיזה מוצר של Cloud Load Balancing להשתמש, קודם צריך לקבוע באיזה סוג תנועה מאזני העומסים צריכים לטפל. ככלל, כדאי לבחור במאזן עומסים של אפליקציות כשצריך קבוצת תכונות גמישה לאפליקציות עם תעבורת נתונים מסוג HTTP(S). כדאי לבחור במאזן עומסי רשת כשצריך פריקה של TLS בקנה מידה גדול או תמיכה ב-UDP, או אם צריך לחשוף את כתובות ה-IP של הלקוחות לאפליקציות.

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

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

בוחרים מאזן עומסים.
בחירת מאזן עומסים (לחצו כדי להגדיל).

סיכום של סוגי Google Cloud מאזני העומסים

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

מאזן עומסים מצב פריסה סוג תעבורה מסלול שירות רשת סכמת איזון עומסים1
מאזני עומסים של אפליקציות (ALB) חיצוני אזורי HTTP או HTTPS מסלול פרימיום או מסלול רגיל EXTERNAL_MANAGED
פנימי אזורי HTTP או HTTPS מסלול פרימיום INTERNAL_MANAGED
מאזני עומסי רשת בשרת proxy חיצוני אזורי TCP מסלול פרימיום או מסלול רגיל EXTERNAL_MANAGED
פנימי אזורי ‫TCP בלי פריקת SSL מסלול פרימיום INTERNAL_MANAGED
מאזני עומסי רשת להעברת נתונים ללא שינוי

חיצוני

תמיד אזורי

‫TCP,‏ UDP,‏ ESP,‏ GRE,‏ ICMP ו-ICMPv6 מסלול פרימיום או מסלול רגיל חיצוני

פנימי

תמיד אזורי

‫TCP,‏ UDP,‏ ICMP,‏ ICMPv6,‏ SCTP,‏ ESP,‏ AH ו-GRE מסלול פרימיום פנימי

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

המונח מנוהל ב-EXTERNAL_MANAGED או ב-INTERNAL_MANAGED מציין שמאזן העומסים מוטמע כשירות מנוהל ב-Google Front End ‏ (GFE) או ב-Envoy proxy בקוד פתוח. בסכמת איזון עומסים מנוהלת, הבקשות מנותבות ל-GFE או לשרת ה-proxy של Envoy.

ממשקים

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

  • ‫Google Cloud CLI: כלי שורת פקודה שכלול ב-Google Cloud CLI. במאמרי העזרה יש הרבה קריאות לכלי הזה כדי לבצע משימות. במדריך ל-CLI של gcloud תוכלו לקרוא סקירה כללית על הכלי. אפשר למצוא פקודות שקשורות לאיזון עומסים בקבוצת הפקודות gcloud compute.

    אפשר גם לקבל עזרה מפורטת לכל פקודת gcloud באמצעות הדגל --help.

    gcloud compute http-health-checks create --help
    
  • מסוףGoogle Cloud : אפשר לבצע משימות של איזון עומסים באמצעות מסוףGoogle Cloud .

  • API בארכיטקטורת REST: אפשר לבצע את כל המשימות של איזון העומסים באמצעות Cloud Load Balancing API. במאמרי העזרה של ה-API מתוארים המשאבים והשיטות שזמינים לכם.

  • ‫Terraform: אתם יכולים להקצות, לעדכן ולמחוק את התשתית של איזון העומסים ב- Google Cloudבאמצעות כלי קוד פתוח של תשתית כקוד, כמו Terraform.

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