בדף הזה מוסבר איך להגדיר Service Extensions באמצעות מאזני עומסים של אפליקציות לתרחישי שימוש מתקדמים.
העברה דינמית
העברה דינמית עוזרת לכם לקשר אלפי או אפילו מיליוני דיירים למכונות וירטואליות (VM) ספציפיות או לקבוצות של מכונות וירטואליות. אתם יכולים להשתמש ב-Service Extensions כדי לקבוע באופן פרוגרמטי לאילו מכונות וירטואליות ממופה דייר מסוים, בלי שתצטרכו לעדכן את מפת URL. כך אפשר להרחיב את מפת ה-URL מעבר למגבלות של מפת ה-URL הקיימת.
אפשר להגדיר העברה דינמית באמצעות קריאות להפניה של תנועה ושל נתיבים עם מאזני העומסים הבאים של אפליקציות: מאזן עומסים חיצוני אזורי של אפליקציות (ALB), מאזן עומסים פנימי אזורי של אפליקציות (ALB) ומאזן עומסים פנימי חוצה אזורים של אפליקציות (ALB).
בקטע הזה מוסבר על דוגמה להגדרת תוסף להפניית תנועה, כדי להפנות תנועה באופן אקראי בין שתי מכונות וירטואליות. משתמשים בערכים לדוגמה שצוינו.
מגדירים רשת בשם
lb-network, תת-רשת בשםbackend-subnetותת-רשת של שרת proxy בלבד באזורus-west1.מגדירים שתי מכונות וירטואליות ב-
us-west1כדי לייצג את נקודות הקצה שאפשר לנתב אליהן באופן דינמי.מציינים את כתובות ה-IP כ-
10.1.2.1ו-10.1.2.2, בהתאמה. מוודאים ששתי המכונות הווירטואליות משויכות לתגload-balanced-backend.מגדירים כלל חומת אש,
fw-allow-proxies, שמאפשר תעבורת נתונים מתת-רשת של שרת proxy למכונות וירטואליות ברשת.gcloud compute firewall-rules create fw-allow-proxies \ --network=df-network \ --action=allow \ --direction=ingress \ --source-ranges=source-range \ --target-tags=load-balanced-backend \ --rules=tcp:80,tcp:443,tcp:8080יוצרים שירות לקצה העורפי,
l7-ilb-backend-service, עם הפעלה של העברה דינמית ורישום ביומן:gcloud beta compute backend-services create l7-ilb-backend-service \ --ip-port-dynamic-forwarding \ --enable-logging \ --region=us-west1יוצרים מפת URL,
l7-ilb-map, לשירות הקצה העורפי.gcloud compute url-maps create l7-ilb-map \ --default-service=l7-ilb-backend-service \ --region=us-west1יוצרים שרת proxy יעד,
l7-ilb-proxy.gcloud compute target-http-proxies create l7-ilb-proxy \ --url-map=l7-ilb-map \ --url-map-region=us-west1 \ --region=us-west1יוצרים כלל העברה ושומרים כתובת IP למאזן העומסים של האפליקציה.
gcloud compute forwarding-rules create l7-ilb-forwarding-rule \ --load-balancing-scheme=INTERNAL_MANAGED \ --network=lb-network \ --subnet=backend-subnet \ --subnet-region=us-west1 \ --ports=80 \ --region=us-west1 \ --target-http-proxy=l7-ilb-proxy \ --target-http-proxy-region=us-west1מגדירים שירות קצה עורפי של Callout לתוסף התנועה.
לשרת התוסף, משתמשים בדוגמה של העברה דינמית במאגר Service Extensions ב-GitHub.
יוצרים קובץ YAML,
dynamic-ext.yaml, עם התוכן הבא:name: traffic-ext forwardingRules: - https://www.googleapis.com/compute/v1/projects/PROJECT_ID/regions/us-west1/forwardingRules/l7-ilb-forwarding-rule loadBalancingScheme: INTERNAL_MANAGED extensionChains: - name: "chain1" matchCondition: celExpression: 'request.host == "example.com"' extensions: - name: 'ext11' authority: ext11.com allowDynamicForwarding: true service: https://www.googleapis.com/compute/v1/projects/PROJECT_ID/regions/us-west1/backendServices/l7-ilb-callout-service failOpen: false timeout: 0.1s supportedEvents: - REQUEST_HEADERSמחליפים את
PROJECT_IDבמזהה הפרויקט.מייבאים את התוסף של התנועה לכלל ההעברה:
gcloud beta service-extensions lb-traffic-extensions import traffic-ext \ --source=dynamic-ext.yaml \ --location=us-west1
אחרי שמגדירים את התוסף, התעבורה מנותבת על סמך ההטמעה של שרת התוסף.
המאמרים הבאים
- ניהול תוספים
- אפשר לראות דוגמאות של שרתים ב-Python וב-Go במאגר GitHub של Service Extensions לשיחות חיצוניות.
ext-proc