הגדרת שירות לקצה העורפי של Cloud Load Balancing ברמה גלובלית

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

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

  • ‫NEG ללא שרת: רשימה של אפליקציות Cloud Run או פונקציות Cloud Run ללא שרת כבקאנד.

  • קבוצת מופעי מכונה מנוהלים (MIG): רשימה של קבוצות מופעי מכונה ב-Compute Engine כשרתי קצה עורפיים.

מידע נוסף זמין במאמר סקירה כללית של שירותי Backend.

במאמר הזה מוסבר על החיבורים והפרמטרים שאתם מגדירים כשאתם משתמשים ב-App Design Center כדי ליצור קצה עורפי גלובלי של Cloud Load Balancing. פרמטרי ההגדרה מבוססים על מודול Terraform‏ terraform-google-lb-http.

חיבורי רכיבים

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

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

רכיב מחובר

עדכונים לאפליקציות

נתוני רקע

Cloud Run

  • מאזן העומסים יכול להפיץ את התעבורה הנכנסת לשירות Cloud Run.
  • שירות Cloud Run מתווסף כנקודת קצה של עורף חזיתי בהגדרת העורפים החזיתיים של NEG ללא שרת ב-Cloud Load Balancing.
הגדרת מאזן עומסים גלובלי חיצוני של אפליקציות (ALB) באמצעות Cloud Run

חלק קדמי גלובלי של Cloud Load Balancing (חובה)

  • חלק הקצה הקדמי של Cloud Load Balancing, שמטפל בבקשות נכנסות, מקושר לחלק הבק-אנד של Cloud Load Balancing, שמעבד את הבקשות.
  • פרטי שירות לקצה העורפי מתווספים לקלט של מפת URL בקצה הקדמי.
סקירה כללית של מפות כתובות URL

Compute Engine MIG

  • מאזן העומסים יכול להפיץ את התנועה הנכנסת ל-MIG ב-Compute Engine.
  • קבוצת ה-MIG של Compute Engine מתווספת לשדה של קבוצות הקצה העורפי בשירות Cloud Load Balancing.
הגדרת מאזן עומסים של אפליקציות (ALB) קלאסי עם קצה עורפי של קבוצת מופעי מכונה מנוהלים

פרמטרים נדרשים להגדרה

אם התבנית כוללת רכיב backend של Cloud Load Balancing גלובלי, צריך להגדיר את הפרמטרים הבאים לפני הפריסה.

שם הפרמטר

תיאור ומגבלות

נתוני רקע

שם

שם השירות לקצה העורפי של מאזן העומסים. name

מזהה הפרויקט

הפרויקט שבו רוצים לפרוס את שירות הקצה העורפי של Cloud Load Balancing.

הגדרת רכיבים

פרמטרים אופציונליים להגדרה

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

תכונה

שם הפרמטר

תיאור ומידע על אילוצים

נתוני רקע

מיפויים של נתיבי מארחים

מארח הגדרת מיפוי כתובות URL שימוש במפות של כתובות URL
נתיב הגדרת מיפוי כתובות URL שימוש במפות של כתובות URL
סכמת איזון עומסים loadBalancingScheme סקירה כללית על שירותים לקצה העורפי
פרוטוקול protocol פרוטוקול לשרתי הקצה העורפי
שם הבקשה לניוד portName יציאות עם שם
תיאור תיאור של שירות הקצה העורפי. description
הפעלת CDN enableCDN סקירה כללית על Cloud CDN
מצב דחיסה compressionMode הדחיסה לא פועלת
כותרות בקשה מותאמות אישית customRequestHeaders[] יצירת כותרות בהתאמה אישית בשירותי קצה עורפי
כותרות תגובה מותאמות אישית customResponseHeaders[] יצירת כותרות בהתאמה אישית בשירותי קצה עורפי
הזמן הקצוב להשלמת תהליך (connection draining) בשניות connectionDraining.drainingTimeoutSec הפעלת ניתוק הדרגתי של חיבורים
תחום עניין משותף ברמת הסשן sessionAffinity זיקה לסשן
משך החיים (TTL) של קובץ Cookie של שיוך (בשניות) affinityCookieTtlSec זיקה לקובץ Cookie שנוצר
מדיניות איזון עומסים (LB) של אזור localityLbPolicy מדיניות מקומית של איזון עומסים
זמן קצוב לתפוגה (שניות) timeoutSec זמן קצוב לתפוגה של שירות לקצה העורפי

הגדרת יומן

הפעלה logConfig.enable Logging
תדירות הדגימה logConfig.sampleRate Logging

קבוצות Google

קבוצה backends[].group Backends
תיאור תיאור של קבוצת השרתים העורפיים. backends[].description
מצב איזון backends[].balancingMode מצבי איזון והגדרות של קיבולת יעד
Capacity Scaler backends[].capacityScaler Capacity scaler
מקסימום חיבורים backends[].maxConnections מצב איזון החיבור
מספר החיבורים המקסימלי לכל מופע backends[].maxConnectionsPerInstance מצב איזון החיבור
מספר החיבורים המקסימלי לכל נקודת קצה backends[].maxConnectionsPerEndpoint מצב איזון החיבור
השיעור המקסימלי backends[].maxRate מצב איזון תעריפים
קצב מקסימלי לכל מופע backends[].maxRatePerInstance מצב איזון תעריפים
קצב מקסימלי לכל נקודת קצה backends[].maxRatePerEndpoint מצב איזון תעריפים
שימוש מקסימלי backends[].maxUtilization מצב איזון ניצול

בקצה העורפי של NEG ללא שרת (serverless)

אזור region סקירה כללית על קבוצות של נקודות קצה ברשת ללא שרתים
סוג סוג הבק-אנד בלי שרת (serverless). הערכים האפשריים כוללים cloud-run, cloud-function או app-engine. מאזני עומסים נתמכים
שם השירות appEngine.service סקירה כללית על קבוצות של נקודות קצה ברשת ללא שרתים
גרסת השירות appEngine.version סקירה כללית על קבוצות של נקודות קצה ברשת ללא שרתים

IAP Config

הפעלה iap.enabled סקירה כללית על שרת proxy לאימות זהויות (IAP)
מזהה לקוח ב-OAuth2 iap.oauth2ClientId איך משתפים לקוחות OAuth
סוד לקוח ב-OAuth2 iap.oauth2ClientSecret איך משתפים לקוחות OAuth

מדיניות CDN

מצב מטמון cdnPolicy.cacheMode סקירה כללית בנושא שמירה במטמון
הגיל המקסימלי של כתובת URL חתומה במטמון (בשניות) cdnPolicy.signedUrlCacheMaxAgeSec התאמה אישית של הזמן המקסימלי של השהייה במטמון
ערך ברירת המחדל של TTL cdnPolicy.defaultTtl שינוי הגדרות TTL וביטולים
אורך חיים מקסימלי (TTL) cdnPolicy.maxTtl שינוי הגדרות TTL וביטולים
אורך החיים (TTL) של הלקוח cdnPolicy.clientTtl שינוי הגדרות TTL וביטולים
Negative Caching cdnPolicy.negativeCaching שימוש ב-negative caching
הצגת תוכן בזמן שהוא לא עדכני cdnPolicy.serveWhileStale הצגת תוכן ישן
עקיפת המטמון בכותרות הבקשות cdnPolicy.bypassCacheOnRequestHeaders[] עקיפת המטמון

המדיניות בנושא negative caching

קוד cdnPolicy.negativeCachingPolicy[].code שימוש ב-negative caching
TTL cdnPolicy.negativeCachingPolicy[].ttl שימוש ב-negative caching

מדיניות בנושא מפתח מטמון

הכללת המארח cdnPolicy.cacheKeyPolicy.includeHost מפתחות מטמון
הכללת פרוטוקול cdnPolicy.cacheKeyPolicy.includeProtocol מפתחות מטמון
הכללת מחרוזת השאילתה cdnPolicy.cacheKeyPolicy.includeQueryString רשימת הכללה של מחרוזת שאילתה
רשימה שחורה של מחרוזות שאילתה cdnPolicy.cacheKeyPolicy.queryStringBlacklist[] רשימת החרגות של מחרוזות שאילתה
רשימת ההיתרים של מחרוזות השאילתה cdnPolicy.cacheKeyPolicy.queryStringWhitelist[] רשימת הכללה של מחרוזת שאילתה
כוללים כותרות HTTP cdnPolicy.cacheKeyPolicy.includeHttpHeaders[] הגדרות של מפתח מטמון של כותרות HTTP וקובצי Cookie של HTTP
כולל קובצי Cookie עם שמות cdnPolicy.cacheKeyPolicy.includeNamedCookies[] כולל קובצי Cookie עם שם

זיהוי חריגים

זמן הוצאת הבסיס בשניות outlierDetection.baseEjectionTime.seconds זיהוי חריגות ב-NEGs ללא שרת
זמן בסיסי להוצאת מים בננו-שניות outlierDetection.baseEjectionTime.nanos זיהוי חריגות ב-NEGs ללא שרת
שגיאות עוקבות outlierDetection.consecutiveErrors זיהוי חריגות ב-NEGs ללא שרת
רצף כשלי שער outlierDetection.consecutiveGatewayFailure זיהוי חריגות ב-NEGs ללא שרת
אכיפה של רצף שגיאות outlierDetection.enforcingConsecutiveErrors זיהוי חריגות ב-NEGs ללא שרת
אכיפה של רצף כשלי שער outlierDetection.enforcingConsecutiveGatewayFailure זיהוי חריגות ב-NEGs ללא שרת
אכיפת שיעור הצלחה outlierDetection.enforcingSuccessRate זיהוי חריגות ב-NEGs ללא שרת
אינטרוול בשניות outlierDetection.interval.seconds זיהוי חריגות ב-NEGs ללא שרת
מרווח בננו-שניות outlierDetection.interval.nanos זיהוי חריגות ב-NEGs ללא שרת
אחוז ההוצאה המקסימלי outlierDetection.maxEjectionPercent זיהוי חריגות ב-NEGs ללא שרת
שיעור ההצלחה של המארחים המינימלי outlierDetection.successRateMinimumHosts זיהוי חריגות ב-NEGs ללא שרת
שיעור ההצלחה של נפח הבקשות outlierDetection.successRateRequestVolume זיהוי חריגות ב-NEGs ללא שרת
גורם סטיית התקן של שיעור ההצלחה outlierDetection.successRateStdevFactor זיהוי חריגות ב-NEGs ללא שרת

בדיקת אבטחה

מארח http2HealthCheck.host דגלים נוספים לבדיקות תקינות של HTTP,‏ HTTPS ו-HTTP/2
נתיב הבקשה http2HealthCheck.requestPath קריטריונים להצלחה של HTTP,‏ HTTPS ו-HTTP/2
בקשה sslHealthCheck.request קריטריונים להצלחה של SSL ו-TCP
תשובה sslHealthCheck.response דגלים נוספים לבדיקות תקינות של HTTP,‏ HTTPS ו-HTTP/2
יציאה http2HealthCheck.port קטגוריות, פרוטוקולים ויציאות של בדיקות תקינות
שם הבקשה לניוד http2HealthCheck.portName יציאות עם שם
כותרת של שרת proxy http2HealthCheck.proxyHeader כותרות
מפרט הניוד http2HealthCheck.portSpecification תכונות ניסיוניות לציון יציאות
פרוטוקול type קטגוריות, פרוטוקולים ויציאות של בדיקות תקינות
מרווח הזמן לבדיקה (שניות) checkIntervalSec Probes
זמן קצוב לתפוגה (שניות) timeoutSec Probes
סף בריא healthyThreshold מצב בריאותי
סף לא תקין unhealthyThreshold מצב בריאותי
רישום ביומן logConfig.enable מידע על רישום ביומן של בדיקות תקינות
מדיניות אבטחה של Edge edge_security_policy מדיניות אבטחה של Edge
מדיניות האבטחה security_policy סקירה כללית של מדיניות האבטחה
חומות אש ברשתות network הגדרת כללים לחומת אש
פרויקטים של חומת אש שמות הפרויקטים שבהם רוצים ליצור כללים לחומת האש. הגדרת כללים לחומת אש
תגי טירגוט targetTags[] הגבלת הלקוחות שיכולים לשלוח תנועה למאזן העומסים
חשבונות שירות של היעד targetServiceAccounts[]‎ סינון של מקורות ויעדים לפי חשבון שירות

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

מחברים את רכיב ה-Backend לרכיב ה-Frontend. כדי להגדיר את רכיב ה-Frontend, אפשר לעיין במאמר הגדרה של Frontend גלובלי של Cloud Load Balancing ב-Application Design Center.