בדוגמה הזו מוצגת כתיבה מחדש של הנתיב שצוין בבקשה למאזן עומסים קלאסי של אפליקציות.
כדי להגדיר ניהול תנועה למאזני עומסים גלובליים חיצוניים של אפליקציות (ALB) ולמאזני עומסים חיצוניים אזוריים של אפליקציות (ALB), אפשר לעיין בדפים הבאים:
- הגדרה של ניהול תעבורה עבור מאזן עומסים גלובלי חיצוני של אפליקציות (ALB)
- הגדרת ניהול תעבורה למאזן עומסים חיצוני אזורי של אפליקציות (ALB)
לפני שמתחילים
מידע על מיפוי כתובות 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 של מאזן העומסים באופן הבא:
המסוף
עריכת מאזן העומסים
- עוברים לדף איזון עומסים במסוף Google Cloud .
לדף איזון עומסים - לחץ על
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 בדפדפן.