תרחישים מתקדמים לדוגמה

בדף הזה מוסבר איך להגדיר Service Extensions באמצעות מאזני עומסים של אפליקציות לתרחישי שימוש מתקדמים.

העברה דינמית

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

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

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

  1. מגדירים רשת בשם lb-network, תת-רשת בשם backend-subnet ותת-רשת של שרת proxy בלבד באזור us-west1.

  2. מגדירים שתי מכונות וירטואליות ב-us-west1 כדי לייצג את נקודות הקצה שאפשר לנתב אליהן באופן דינמי.

    מציינים את כתובות ה-IP כ-10.1.2.1 ו-10.1.2.2, בהתאמה. מוודאים ששתי המכונות הווירטואליות משויכות לתג load-balanced-backend.

  3. מגדירים כלל חומת אש, 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
    
  4. יוצרים שירות לקצה העורפי, l7-ilb-backend-service, עם הפעלה של העברה דינמית ורישום ביומן:

    gcloud beta compute backend-services create l7-ilb-backend-service \
        --ip-port-dynamic-forwarding \
        --enable-logging \
        --region=us-west1
    
  5. יוצרים מפת URL, l7-ilb-map, לשירות הקצה העורפי.

    gcloud compute url-maps create l7-ilb-map \
        --default-service=l7-ilb-backend-service \
        --region=us-west1
    
  6. יוצרים שרת 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
    
  7. יוצרים כלל העברה ושומרים כתובת 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
    
  8. מגדירים שירות קצה עורפי של Callout לתוסף התנועה.

    לשרת התוסף, משתמשים בדוגמה של העברה דינמית במאגר Service Extensions ב-GitHub.

  9. יוצרים קובץ 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
    

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

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