בדוגמה הזו מוסבר איך לשכתב את הנתיב שצוין בבקשה למאזן עומסים קלאסי של אפליקציות (ALB).
כדי להגדיר ניהול תעבורה למאזני עומסים גלובליים חיצוניים של אפליקציות ולמאזני עומסים אזוריים חיצוניים של אפליקציות, אפשר לעיין בדפים הבאים:
- הגדרת ניהול תעבורה במאזן עומסים גלובלי חיצוני של אפליקציות (ALB)
- הגדרת ניהול תעבורה למאזן עומסים חיצוני אזורי של אפליקציות (ALB)
לפני שמתחילים
מידע נוסף על שינוי כתובות URL
מידע על מיפוי כתובות URL באופן כללי ועל התאמה של נתיבים בפרט.
בדוגמה של שכתוב כתובת ה-URL מניחים שכבר יצרתם מאזן עומסים חיצוני של אפליקציות (ALB) לפי השלבים שמפורטים במאמר הגדרת מאזן עומסים עם קטגוריות של Cloud Storage.
בדוגמה הזו מוסבר איך ליצור שני משאבים:
http://IP_ADDRESS/never-fetch/three-cats.jpghttp://IP_ADDRESS/love-to-fetch/two-dogs.jpg
המיקום שבו
/never-fetch/three-cats.jpgמאוחסן ב-/cats, שהוא שירות ברירת המחדל, והמיקום שבו/love-to-fetch/two-dogs.jpgמאוחסן ב-/dogs.בשלב הזה, מפת ה-URL נראית כך:
gcloud compute url-maps describe http-lb
creationTimestamp: '2020-10-13T11:18:10.561-07:00' defaultService: https://www.googleapis.com/compute/v1/projects/PROJECT_ID/global/backendBuckets/cats fingerprint: MKfYsObzqgw= hostRules: - hosts: - '*' pathMatcher: path-matcher-1 id: '1420501688756228493' kind: compute#urlMap name: test-bucket pathMatchers: - defaultService: https://www.googleapis.com/compute/v1/projects/PROJECT_ID/global/backendBuckets/cats name: path-matcher-1 pathRules: - paths: - /love-to-fetch/* service: https://www.googleapis.com/compute/v1/projects/PROJECT_ID/global/backendBuckets/dogs selfLink: https://www.googleapis.com/compute/v1/projects/PROJECT_ID/global/urlMaps/http-lb
שינוי מפת URL
בדוגמה הזו, אתם משכתבים את כתובת ה-URL /love-to-fetch/ כדי שהמשתמשים יוכלו להגיע לתמונה two-dogs.jpg באמצעות כתובת ה-URL הפשוטה הזו:
http://IP_ADDRESS/two-dogs.jpg
כדי לעשות את זה, משנים את מפת ה-URL של מאזן העומסים באופן הבא:
המסוף
עריכת מאזן העומסים
- נכנסים לדף Load balancing במסוף Google Cloud .
כניסה לדף Load balancing - לחץ על
http-lb. - לוחצים על Edit .
- כדי להמשיך, צריך להשאיר את החלון פתוח.
שינוי הכללים של המארח והנתיב
- בעמודה הימנית של המסך, לוחצים על כללים של מארח ונתיב.
- בוחרים באפשרות כלל מתקדם של מארח ונתיב (הפניה אוטומטית של כתובת URL, שכתוב של כתובת URL).
- לוחצים על השורה שמכילה את כלל הנתיב שאינו ברירת המחדל. במקרה הזה, השורה שבה מופיע כוכבית (
*) בכל המארחים. - לוחצים על סמל העיפרון בשורה
/love-to-fetch/* Route traffic to a single backend: dogs. - בקטע נתיבים, מוחקים את
/love-to-fetch/*ומוסיפים את/*. - בקטע פעולה, בוחרים באפשרות ניתוב תעבורה לחלק האחורי של מערכת אחת.
- לוחצים על פעולת תוסף (כתיבה מחדש של כתובת URL).
- משאירים את השדה Host rewrite (שכתוב המארח) ריק.
- בקטע Path prefix rewrite (שכתוב קידומת הנתיב), מזינים
/love-to-fetch/. - בקטע Backend, בוחרים באפשרות
dogs. - לוחצים על Save.
לוחצים על סיום. כלל חדש של מארח ונתיב נראה כך:
נתיבים פעולה בק-אנד כל מה שלא תואם (ברירת מחדל) ניתוב תנועת גולשים לחלק אחורי יחיד חתולים /* ניתוב תנועת גולשים לחלק אחורי יחיד כלבים אם הכל נראה נכון, לוחצים על עדכון כדי לעדכן את מאזן העומסים של HTTP.
gcloud
יוצרים קובץ YAML
/tmp/http-lb.yaml, ומקפידים להחליף את PROJECT_ID במזהה הפרויקט.כשמשתמש מבקש את הנתיב
/*, הנתיב נכתב מחדש בקצה העורפי למיקום בפועל של התוכן, שהוא/love-to-fetch/*.defaultService: https://www.googleapis.com/compute/v1/projects/PROJECT_ID/global/backendBuckets/cats hostRules: - hosts: - '*' pathMatcher: path-matcher-1 name: http-lb pathMatchers: - defaultService: https://www.googleapis.com/compute/v1/projects/PROJECT_ID/global/backendBuckets/cats name: path-matcher-1 pathRules: - paths: - /* routeAction: urlRewrite: pathPrefixRewrite: /love-to-fetch/ service: https://www.googleapis.com/compute/v1/projects/PROJECT_ID/global/backendBuckets/dogs tests: - description: Test routing to backend bucket, dogs host: example.com path: /love-to-fetch/test service: https://www.googleapis.com/compute/v1/projects/PROJECT_ID/global/backendBuckets/dogsמאמתים את מפת ה-URL.
gcloud compute url-maps validate --source /tmp/http-lb.yaml
אם הבדיקות עוברות והפקודה מחזירה הודעת הצלחה, שומרים את השינויים במפת ה-URL.
מעדכנים את מפת ה-URL.
gcloud compute url-maps import http-lb \ --source /tmp/http-lb.yaml \ --global
בדיקה
שימו לב לכתובת ה-IPv4 שהוקצתה:
gcloud compute addresses describe example-ip \
--format="get(address)" \
--global
אחרי שממתינים כמה דקות עד שהשינויים יופצו, אפשר לבדוק את ההגדרה הזו.
בשורת הפקודה, מריצים את פקודת ה-curl הבאה:
curl http://IP_ADDRESS/two-dogs.jpg
פותחים את http://IP_ADDRESS/two-dogs.jpg בדפדפן.