מאזן עומסים מפזר את תנועת המשתמשים בין כמה מופעים של האפליקציות שלכם. חלוקת העומס מפחיתה את הסיכון לבעיות בביצועים של האפליקציות. השירות Cloud Load Balancing של Google מבוסס על טכנולוגיות אמינות ובעלות ביצועים גבוהים כמו Maglev, Andromeda, Google Front Ends ו-Envoy – אותן טכנולוגיות שמפעילות את המוצרים של Google.
ב-Cloud Load Balancing יש מגוון רחב של מאזני עומסים אזוריים של אפליקציות ורשתות. אפשר להשתמש במאזני העומסים שלנו כדי לפזר מיליוני בקשות בשנייה בין שרתי קצה בעורף באזור יחיד. אפשר להגדיר את מאזני העומסים האלה כך שניתן יהיה לגשת אליהם באמצעות כתובת IP אחת מסוג anycast. הטמעת אמצעי בקרה חזקים על סמך מיקום גיאוגרפי באמצעות מאזני עומסים אזוריים של שרתי proxy, כך ששרתי הקצה העורפיים ושרתי ה-proxy יישארו באזור שלכם בלי שתצטרכו לדאוג לגבי העברת נתוני TLS/SSL. אתם יכולים להשתמש במאזני עומסים אזוריים מסוג passthrough כדי לנתב במהירות כמה פרוטוקולים לבק-אנד עם הביצועים הגבוהים של החזרת שרת ישירה (DSR).
תכונות מרכזיות של Cloud Load Balancing
התכונות של מאזן העומסים ב-Cloud Load Balancing:
כתובת IP אחת מסוג anycast. ב-Cloud Load Balancing, כתובת IP אחת מסוג anycast היא חזית ה-frontend לכל מופעי ה-backend.
התאמה אוטומטית לעומס (autoscaling) בצורה חלקה. 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) ומאזני עומסים של רשתות (NLB). כדאי לבחור ב-Application Load Balancer כשצריך מאזן עומסים בשכבה 7 לאפליקציות עם תעבורת HTTP(S). כדאי לבחור במאזן עומסי רשת כשצריך מאזן עומסים בשכבה 4 שתומך בהעברת עומס של TLS (עם מאזן עומסים של שרת proxy) או כשצריך תמיכה בפרוטוקולי IP כמו UDP, ESP ו-ICMP (עם מאזן עומסים להעברת סיגנל ללא שינוי).
מאזני עומסים של אפליקציות (ALB)
מאזני עומסים של אפליקציות הם מאזני עומסים מבוססי-פרוקסי בשכבה 7, שמאפשרים לכם להפעיל את השירותים שלכם ולהתאים את גודלם מאחורי כתובת IP מסוג anycast. מאזן העומסים של האפליקציות מחלק את תעבורת הנתונים של HTTP ו-HTTPS לשרתי קצה שמארחים בפלטפורמות שונות, כמו Compute Engine ו-Google Kubernetes Engine (GKE), וגם לשרתי קצה חיצוניים מחוץ ל-Google Cloud. Google Cloud
אפשר לפרוס מאזני עומסים של אפליקציות באופן חיצוני או פנימי, בהתאם לשאלה אם האפליקציה פונה לאינטרנט או שהיא פנימית. בשני המקרים, מאזני העומסים האלה תומכים בבק-אנד רק באזור אחד.
- מאזני עומסים חיצוניים אזוריים של אפליקציות (ALB) מיושמים כשירותים מנוהלים בשרתי proxy של Envoy. לקוחות יכולים להתחבר למאזני העומסים האלה מכל מקום באינטרנט. מאזני עומסים של אפליקציות משתמשים ב-Envoy proxy בקוד פתוח כדי להפעיל יכולות מתקדמות של ניהול תנועה.
- מאזני עומסים פנימיים אזוריים של אפליקציות (ALB) מבוססים על מחסנית הווירטואליזציה של רשת Andromeda ועל שרת ה-proxy של Envoy בקוד פתוח. מאזן העומסים הזה מספק איזון עומסים פנימי שמבוסס על פרוקסי של נתוני אפליקציות בשכבה 7. מאזן העומסים משתמש בכתובת IP פנימית שאפשר לגשת אליה רק מלקוחות באותה רשת VPC או מלקוחות שמחוברים לרשת ה-VPC שלכם.
בתרשים הבא מוצגת דוגמה לארכיטקטורה של מאזן עומסים של אפליקציות.
מאזני עומסים ברשת
מאזני עומסים ברשת הם מאזני עומסים בשכבה 4 שיכולים לטפל בתנועה של TCP, UDP או פרוטוקול IP אחר. מאזני העומסים האלה זמינים כמאזני עומסים של פרוקסי או כמאזני עומסים להעברת סיגנל ללא שינוי. אתם יכולים לבחור מאזן עומסים בהתאם לצרכים של האפליקציה ולסוג התנועה שהיא צריכה לטפל בה. אם רוצים להגדיר מאזן עומסי רשת של שרת 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
- מאזני עומסים פנימיים אזוריים מסוג Network Load Balancer הם מאזני עומסים אזוריים בשכבה 4 שמבוססים על פרוקסי Envoy. הם מאפשרים להפעיל את תעבורת השירות TCP ולהרחיב אותה מאחורי כתובת IP פנימית שנגישה רק ללקוחות באותה רשת VPC או ללקוחות שמחוברים לרשת ה-VPC.
בתרשים הבא מוצגת דוגמה לארכיטקטורה של מאזן עומסי רשת לשרת proxy.
מאזני עומסים ברשת להעברת סיגנל ללא שינוי
מאזני עומסי רשת להעברת סיגנל ללא שינוי הם מאזני עומסים להעברת סיגנל ללא שינוי בשכבה 4. מאזני העומסים האלה מפזרים את התנועה בין שרתי בק-אנד שנמצאים באותו אזור כמו מאזן העומסים או בכמה אזורים. הן מיושמות באמצעות רשתות וירטואליות של Andromeda ו-Google Maglev.
כפי שהשם מרמז, מאזני העומסים האלה הם לא שרתי proxy. מכונות וירטואליות עורפיות מקבלות חבילות עם איזון עומסים, עם כתובות ה-IP של המקור והיעד של החבילה, הפרוטוקול, ואם הפרוטוקול מבוסס על יציאה, גם היציאות של המקור והיעד ללא שינוי. החיבורים עם איזון עומסים מסתיימים בקצה העורפי. התשובות ממכונות וירטואליות של קצה העורף מגיעות ישירות ללקוחות, ולא חוזרות דרך מאזן העומסים. המונח המקצועי לזה הוא החזרה ישירה מהשרת (DSR).
מאזני העומסים האלה, כפי שמוצג בתמונה הבאה, נפרסים בשני מצבים, בהתאם לשאלה אם מאזן העומסים פונה לאינטרנט או פנימי.
מאזני עומסי רשת חיצוניים להעברת סיגנל ללא שינוי מבוססים על מאזני עומסים מסוג Maglev שמיועדים לביצועים גבוהים. לקוחות יכולים להתחבר למאזני העומסים האלה מכל מקום באינטרנט. מאזן העומסים יכול גם לקבל תעבורת נתונים מ Google Cloud מכונות וירטואליות עם כתובות IP חיצוניות או מ Google Cloud מכונות וירטואליות שיש להן גישה לאינטרנט דרך Cloud NAT או NAT מבוסס-אינסטנס.
אפשר לפרוס את מאזני העומסים האלה באחד מהמצבים הבאים: גלובלי או אזורי.
מאזני עומסים גלובליים חיצוניים להעברת סיגנל ללא שינוי (גרסת Preview) תומכים בשרתי קצה עורפיים בכמה אזורים. אפשר לפרוס קצה עורפי למאזני עומסים גלובליים חיצוניים להעברת סיגנל ללא שינוי רק באמצעות שירות קצה עורפי. מאזן העומסים מספק לכם שתי כתובות IP מסוג anycast, שכל אחת מהן מוגשת על ידי תשתית שרתים נפרדת ומבודדת של מישור הבקרה ומאזן העומסים הגלובלי (שנקראת גם קבוצת זמינות), כדי לספק זמינות גבוהה.
מאזני עומסי רשת אזוריים חיצוניים להעברת סיגנל ללא שינוי תומכים בבק-אנד באזור אחד בלבד. אפשר לפרוס קצה עורפי למאזני עומסים אזוריים חיצוניים להעברת סיגנל ללא שינוי באמצעות שירות קצה עורפי או מאגר יעד. לפריסות חדשות, מומלץ להשתמש בשירותי קצה עורפי.
מאזני עומסי רשת פנימיים להעברת סיגנל ללא שינוי מבוססים על מחסנית וירטואליזציה של רשת Andromeda. מאזן עומסי רשת פנימי להעברת סיגנל ללא שינוי מאפשר לכם לאזן עומסים של תעבורת נתונים מאחורי כתובת IP פנימית לאיזון עומסים, שאפשר לגשת אליה רק ממערכות באותה רשת VPC או ממערכות שמחוברות לרשת ה-VPC.
התרשים הבא מציג דוגמה לארכיטקטורה של מאזן עומסי רשת להעברת סיגנל ללא שינוי.
טכנולוגיות בסיסיות של Google Cloud מאזני עומסים
בטבלה הבאה מפורטת הטכנולוגיה הבסיסית שעליה מבוסס כל איזון עומסיםGoogle Cloud .
- ממשקי קצה של Google (GFE) הם מערכות מבוזרות מוגדרות תוכנה שנמצאות בנקודות נוכחות (PoP) של Google ומבצעות איזון עומסים גלובלי בשילוב עם מערכות אחרות ומישורי בקרה.
- Andromeda הוא סטאק וירטואליזציה של רשת מוגדרת בתוכנה של Google Cloud.
- Maglev היא מערכת מבוזרת לאיזון עומסים ברשת.
- Envoy הוא פרוקסי קצה ושירות בקוד פתוח, שנועד לאפליקציות מותאמות לענן.
| מאזן עומסים | טכנולוגיה |
|---|---|
| מאזן עומסים חיצוני אזורי של אפליקציות (ALB) | Envoy |
| מאזן עומסים פנימי אזורי של אפליקציות (ALB) | Envoy |
| מאזן עומסי רשת אזורי חיצוני בשרת proxy | Envoy |
| מאזן עומסי רשת אזורי פנימי בשרת proxy | Envoy |
| מאזן עומסי רשת חיצוני אזורי להעברת סיגנל ללא שינוי | Maglev |
| מאזן עומסי רשת פנימי להעברת סיגנל ללא שינוי | Andromeda |
בחירת מאזן עומסים
כדי להחליט באיזה מוצר של Cloud Load Balancing להשתמש, קודם צריך לקבוע באיזה סוג תנועה מאזני העומסים צריכים לטפל. ככלל, כדאי לבחור מאזן עומסים של אפליקציות כשצריך קבוצה גמישה של תכונות לאפליקציות עם תעבורת HTTP(S). תבחרו במאזן עומסי רשת אם אתם צריכים לבצע TLS offloading בהיקף גדול או תמיכה ב-UDP, או אם אתם צריכים לחשוף את כתובות ה-IP של הלקוחות לאפליקציות שלכם.
אפשר לצמצם עוד יותר את האפשרויות בהתאם לסוג האפליקציה: חיצונית (פונה לאינטרנט) או פנימית.
בתרשים הבא מוצגים כל מצבי הפריסה הזמינים של Cloud Load Balancing. מידע נוסף זמין במדריך בנושא בחירת מאזן עומסים.
סיכום של סוגי מאזני עומסים Google Cloud
בטבלה הבאה מפורטים מאזני העומסים, כולל מסלול שירות הרשת שבו כל מאזן עומסים פועל, וסכימת איזון העומסים שלו.
| מאזן עומסים | מצב פריסה | סוג תעבורה | מסלול שירות רשת | סכמת איזון עומסים1 |
|---|---|---|---|---|
| מאזני עומסים של אפליקציות | חיצוני אזורי | 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 | מסלול פרימיום | INTERNAL |
1 סכמת איזון העומסים היא מאפיין של כלל ההעברה ושל שירות הקצה העורפי של מאזן עומסים, והיא מציינת אם אפשר להשתמש במאזן העומסים לתעבורה פנימית או חיצונית.
המונח מנוהל ב-EXTERNAL_MANAGED או ב-INTERNAL_MANAGED מציין שמאזן העומסים מיושם כשירות מנוהל ב-Google Front End (GFE) או ב-Envoy proxy בקוד פתוח. בסכמת איזון עומסים מנוהלת, הבקשות מנותבות ל-GFE או ל-Envoy proxy.
ממשקים
אפשר להגדיר ולעדכן את מאזני העומסים באמצעות הממשקים הבאים:
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.
המאמרים הבאים
- כדי לעזור לכם לקבוע איזה מאזן עומסים (LB) הכי מתאים לצרכים שלכם, תוכלו לעיין במאמר בחירת מאזן עומסים. Google Cloud
- כדי להבין את הרכיבים של סוגים שונים של מאזני עומסים, אפשר לעיין במאמר מודל המשאבים של Cloud Load Balancing. Google Cloud
- סקירה כללית של תכונות איזון העומסים שמוצעות ב-Cloud Load Balancing זמינה במאמר השוואה בין תכונות של מאזני עומסים.
- כדי להשתמש בתבניות מוכנות מראש של Terraform כדי לייעל את ההגדרה והניהול של תשתית הרשת של Google Cloud, אפשר לעיין במאגר GitHub של פתרונות פשוטים להגדרת רשתות בענן.