במאמר הזה מוסבר איך לפרוס מאזן עומסים פנימי אזורי של אפליקציות (ALB) באמצעות Cloud Run. כדי להגדיר את זה, משתמשים בבק-אנד של NEG בלי שרת עבור מאזן העומסים.
אף על פי שמסמך זה מתאר תצורת Cloud Run, נקודת קצה של NEG ללא שרתים ב-Cloud Run יכולה להפנות למשאב Cloud Run או למשאב פונקציות Cloud Run (דור שני).
לפני שמנסים את התהליך הזה, חשוב להכיר את הנושאים הבאים:
במאמר הזה מוסבר איך להגדיר מאזן עומסים של אפליקציות שמעביר בקשות לקצה עורפי של NEG ללא שרת.
קבוצות של נקודות קצה ברשת (NEGs) בלי שרת מאפשרות לכם להשתמש בשירותי Cloud Run עם מאזן העומסים. אחרי שמגדירים מאזן עומסים עם קצה עורפי של NEG בלי שרת, בקשות למאזן העומסים מנותבות לקצה העורפי של Cloud Run.
לפני שמתחילים
התקנה של Google Cloud SDK
מתקינים את הכלי Google Cloud CLI. מידע על מושגים ועל התקנה של ה-CLI של gcloud זמין במאמר סקירה כללית של ה-CLI של gcloud.
אם לא הפעלתם את ה-CLI של gcloud בעבר, קודם מריצים את הפקודה gcloud init כדי לאתחל את ספריית ה-CLI של gcloud.
פריסת שירות Cloud Run
ההוראות בדף הזה מניחות שכבר יש לכם שירות Cloud Run שפועל.
כדי לפרוס שירות Cloud Run, אפשר להשתמש בכל אחד מהמדריכים למתחילים בנושא Cloud Run.
ה-NEG ללא שרת, מאזן העומסים וכל מכונות ה-VM של הלקוח צריכים להיות באותו אזור כמו שירות Cloud Run.כדי למנוע גישה לשירות Cloud Run מהאינטרנט, מגבילים את תעבורת הכניסה לרשת ל-internal. תנועה ממאזן העומסים הפנימי של אפליקציות נחשבת לתנועה פנימית.
gcloud run deploy CLOUD_RUN_SERVICE_NAME \
--platform=managed \
--allow-unauthenticated \
--ingress=internal \
--region=REGION \
--image=IMAGE_URL
שימו לב לשם השירות שאתם יוצרים. בהמשך הדף מוסבר איך להגדיר איזון עומסים שמנתב בקשות לשירות הזה.
הגדרת ההרשאות
כדי לפעול לפי המדריך הזה, צריך ליצור NEG בלי שרת (serverless) וליצור מאזן עומסים (LB) בפרויקט. אתם צריכים להיות בעלים או עורכים של הפרויקט, או שיהיו לכם ההרשאות ותפקידי ה-IAM הבאים ב-Compute Engine:
| משימה | התפקיד הנדרש |
|---|---|
| יצירת מאזן עומסים ורכיבי רשת | אדמין ברשת Compute (roles/compute.networkAdmin) |
| יצירה ושינוי של קבוצות של ישויות בעלות שם | אדמין מכונות של Compute (גרסה 1) (roles/compute.instanceAdmin.v1) |
| יצירה ושינוי של אישורי SSL | אדמין לענייני אבטחה (roles/iam.securityAdmin) |
הגדרת הרשתות ורשתות המשנה
כדי להגדיר את הרשת ואת רשתות המשנה שלה, מבצעים את המשימות הבאות:
- יוצרים רשת VPC ותת-רשת.
- יוצרים תת-רשת של שרת proxy בלבד.
יצירת רשת VPC
יוצרים רשת VPC במצב מותאם אישית, ואז את רשתות המשנה שרוצים באזור מסוים.
המסוף
נכנסים לדף VPC networks במסוף Google Cloud .
לוחצים על יצירת רשת VPC.
בשדה Name (שם), מזינים
lb-network.בקטע Subnet creation mode (מצב יצירת רשת משנה), בוחרים באפשרות Custom (בהתאמה אישית).
בקטע New subnet (רשת משנה חדשה), מציינים את פרמטרי ההגדרה הבאים של רשת משנה:
- בשדה Name (שם), מזינים
lb-subnet. - בוחרים Region.
- בשדה IP address range (טווח כתובות IP), מזינים
10.1.2.0/24. - לוחצים על סיום.
- בשדה Name (שם), מזינים
לוחצים על יצירה.
gcloud
יוצרים את רשת ה-VPC המותאמת אישית באמצעות הפקודה
gcloud compute networks create:gcloud compute networks create lb-network --subnet-mode=custom
יוצרים רשת משנה ברשת
lb-network. בדוגמה הזו נעשה שימוש בטווח כתובות IP של10.1.2.0/24עבור רשת המשנה. אפשר להגדיר טווח תקין של רשתות משנה.gcloud compute networks subnets create lb-subnet \ --network=lb-network \ --range=10.1.2.0/24 \ --region=REGION
יצירת תת-רשת לשרת proxy בלבד
יוצרים רשת משנה (subnet) לשרתי proxy בלבד לכל מאזני העומסים האזוריים שמבוססים על Envoy באזור ספציפי ברשת lb-network.
המסוף
נכנסים לדף VPC networks במסוף Google Cloud .
לוחצים על השם של רשת ה-VPC המשותפת שרוצים להוסיף לה את רשת המשנה מסוג proxy בלבד.
לוחצים על הוספת רשת משנה.
בשדה שם מזינים
proxy-only-subnet.בוחרים Region.
מגדירים את Purpose (מטרה) לערך Regional Managed Proxy (שרת proxy מנוהל אזורי).
מזינים טווח כתובות IP בתבנית
10.129.0.0/23.לוחצים על הוספה.
gcloud
יוצרים את רשת המשנה של ה-proxy בלבד באמצעות הפקודה gcloud compute networks subnets
create.
בדוגמה הזו נעשה שימוש בטווח כתובות IP 10.129.0.0/23 עבור תת-הרשת של ה-proxy בלבד. אפשר להגדיר כל טווח תקין של רשת משנה.
gcloud compute networks subnets create proxy-only-subnet \
--purpose=REGIONAL_MANAGED_PROXY \
--role=ACTIVE \
--region=REGION \
--network=lb-network \
--range=10.129.0.0/23
יצירת מאזן העומסים
בתרשים הבא, מאזן העומסים משתמש בקצה עורפי של NEG ללא שרת כדי להפנות בקשות לשירות Cloud Run ללא שרת.
תעבורה שיוצאת ממאזן העומסים אל קצה העורפי של קבוצת ה-NEG בלי שרתים משתמשת במסלולים מיוחדים שמוגדרים מחוץ ל-VPC, שלא חלים עליהם כללי חומת האש. לכן, אם למאזן העומסים שלכם יש רק שרתים עורפיים (backend) של NEG בלי שרת, אתם לא צריכים ליצור כללי חומת אש כדי לאפשר תעבורת נתונים מתת-רשת של שרת proxy בלבד לשרת עורפי בלי שרת.
המסוף
בחירת סוג מאזן העומסים
נכנסים לדף Load balancing במסוף Google Cloud .
- לוחצים על Create load balancer (יצירת מאזן עומסים).
- בקטע Type of load balancer, בוחרים באפשרות Application Load Balancer (HTTP/HTTPS) ולוחצים על Next.
- בקטע Public facing or internal (פנימי או גלוי לכולם), בוחרים באפשרות Internal (פנימי) ולוחצים על Next (הבא).
- בקטע פריסה חוצה אזורים או פריסה באזור יחיד, בוחרים באפשרות הכי מתאים לעומסי עבודה אזוריים ולוחצים על הבא.
- לוחצים על Configure (הגדרה).
הגדרה בסיסית
- בשדה של שם מאזן העומסים, מזינים
serverless-lb. - בוחרים באפשרות רשת בתור
lb_network. - כדי להמשיך, צריך להשאיר את החלון פתוח.
הגדרת הקצה הקדמי
- לפני שממשיכים, צריך לוודא שיש אישור SSL.
- לוחצים על Frontend configuration.
- מזינים שם.
- כדי להגדיר מאזן עומסים פנימי של אפליקציות (ALB), ממלאים את השדות באופן הבא.
- בשדה Protocol, בוחרים באפשרות HTTPS.
- בקטע Subnetwork (רשת משנה), בוחרים את רשת המשנה.
- בשביל IP version, בוחרים IPv4.
- בקטע IP address, בוחרים באפשרות Ephemeral.
- בשדה יציאה, בוחרים באפשרות
443. בשדה Choose certificate repository, בוחרים באפשרות Classic Certificates.
בדוגמה הבאה אפשר לראות איך ליצור אישורי SSL של Compute Engine:
- לוחצים על יצירת אישור חדש.
- בשדה שם, מזינים שם.
- בשדות המתאימים, מעלים את הקבצים בפורמט PEM:
- אישור
- מפתח פרטי
- לוחצים על יצירה.
- אופציונלי: כדי ליצור מאזן עומסים ב-HTTP:
- בשדה Protocol, בוחרים באפשרות HTTP.
- בקטע Subnetwork (רשת משנה), בוחרים את רשת המשנה.
- בשביל IP version, בוחרים IPv4.
- בקטע IP address, בוחרים באפשרות Ephemeral.
- בשדה יציאה, בוחרים באפשרות
80. - לוחצים על סיום.
אם רוצים לבדוק את התהליך הזה בלי להגדיר משאב של אישור SSL, אפשר להגדיר מאזן עומסים HTTP.
הגדרת שירותי הקצה העורפי
- לוחצים על Backend configuration.
- בתפריט Create or select backend services, מעבירים את הסמן מעל שירותי קצה עורפי ובוחרים באפשרות יצירת שירות קצה עורפי.
- בחלון Create a backend service, מזינים Name.
- בקטע Backend type (סוג קצה עורפי), בוחרים באפשרות Serverless network endpoint group (קבוצה של נקודות קצה ברשת ללא שרת).
- משאירים את Protocol ללא שינוי. המערכת מתעלמת מהפרמטר הזה.
- בקטע Backends > New backend, בוחרים באפשרות Create serverless network endpoint group.
- בחלון Create serverless network endpoint group (יצירת קבוצת נקודות קצה ברשת ללא שרתים), מזינים שם.
- בקטע אזור מוצג האזור של מאזן העומסים.
- בשדה Serverless network endpoint group type בוחרים באפשרות Cloud Run. Cloud Run הוא הסוג היחיד שנתמך.
- לוחצים על בחירת שם השירות.
- ברשימה Service, בוחרים את שירות Cloud Run שרוצים ליצור עבורו מאזן עומסים.
- לוחצים על סיום.
- לוחצים על יצירה.
-
אופציונלי: הגדרת מדיניות אבטחה של קצה עורפי כברירת מחדל. מדיניות האבטחה שמוגדרת כברירת מחדל מגבילה את התנועה מעבר לסף שהמשתמש הגדיר. מידע נוסף על מדיניות אבטחה שמוגדרת כברירת מחדל זמין במאמר סקירה כללית על הגבלת קצב של יצירת בקשות.
- כדי לבטל את ההצטרפות למדיניות האבטחה שמוגדרת כברירת מחדל ב-Cloud Armor, בוחרים באפשרות
Noneברשימה Cloud Armor backend security policy. - כדי להגדיר את מדיניות האבטחה שמוגדרת כברירת מחדל ב-Cloud Armor, בוחרים באפשרות Default security policy (מדיניות האבטחה שמוגדרת כברירת מחדל) ברשימה Cloud Armor backend security policy (מדיניות האבטחה של העורף האחורי ב-Cloud Armor).
- בשדה Policy name, מאשרים את השם שנוצר באופן אוטומטי או מזינים שם למדיניות האבטחה.
- בשדה Request count (מספר הבקשות), מאשרים את מספר הבקשות שמוגדר כברירת מחדל או מזינים מספר שלם בין
1ל-10,000. - בשדה Interval, בוחרים מרווח.
- בשדה Enforce on key (החלת האכיפה על מפתח), בוחרים באחד מהערכים הבאים: All (הכול), IP address (כתובת IP) או X-Forwarded-For IP address (כתובת ה-IP של X-Forwarded-For). מידע נוסף על האפשרויות האלה זמין במאמר בנושא זיהוי לקוחות להגבלת קצב.
- כדי לבטל את ההצטרפות למדיניות האבטחה שמוגדרת כברירת מחדל ב-Cloud Armor, בוחרים באפשרות
- בחלון יצירת שירות לקצה העורפי, לוחצים על יצירה.
הגדרת כללי ניתוב
כללי הניתוב קובעים לאן התנועה מופנית. אפשר להפנות תנועה לשירות לקצה העורפי או לשירות Kubernetes. כל תעבורה שלא תואמת באופן מפורש למארח ולנתיב, תישלח לשירות ברירת המחדל.
- לוחצים על Simple host and path rule (כלל פשוט של מארח ונתיב).
- בוחרים שירות קצה עורפי מהרשימה Backend.
בדיקת ההגדרות האישיות
- לוחצים על Review and finalize.
- בודקים את הערכים של Backend, Host and Path rules ו-Frontend.
- אופציונלי: לוחצים על Equivalent Code (קוד מקביל) כדי לראות את בקשת ה-API בארכיטקטורת REST שתשמש ליצירת מאזן העומסים.
- לוחצים על יצירה. מחכים שמאזן העומסים ייווצר.
- לוחצים על השם של מאזן העומסים (serverless-lb).
- שימו לב לכתובת ה-IP של מאזן העומסים לקראת המשימה הבאה.
gcloud
- יוצרים NEG ללא שרת בשביל שירות Cloud Run:
gcloud compute network-endpoint-groups create SERVERLESS_NEG_NAME \ --region=REGION \ --network-endpoint-type=serverless \ --cloud-run-service=CLOUD_RUN_SERVICE_NAME - יוצרים שירות לקצה עורפי אזורי. מגדירים את
--protocolל-HTTP. המערכת מתעלמת מהפרמטר הזה, אבל חובה להשתמש בו כי אחרת--protocolמוגדר כברירת מחדל ל-TCP.gcloud compute backend-services create BACKEND_SERVICE_NAME \ --load-balancing-scheme=INTERNAL_MANAGED \ --protocol=HTTP \ --region=REGION - מוסיפים את ה-NEG בלי שרת (serverless) כקצה עורפי לשירות לקצה העורפי:
gcloud compute backend-services add-backend BACKEND_SERVICE_NAME \ --region=REGION \ --network-endpoint-group=SERVERLESS_NEG_NAME \ --network-endpoint-group-region=REGION - יוצרים מפת URL אזורית כדי לנתב בקשות נכנסות לשירות לקצה העורפי:
מפת ה-URL בדוגמה הזו מכוונת רק לשירות לקצה העורפי אחד שמייצג אפליקציה אחת בלי שרת (serverless), ולכן לא צריך להגדיר כללי מארח או התאמות נתיבים.gcloud compute url-maps create URL_MAP_NAME \ --default-service=BACKEND_SERVICE_NAME \ --region=REGION - אופציונלי: מבצעים את השלב הזה אם משתמשים ב-HTTPS בין הלקוח לבין מאזן העומסים. לא צריך לבצע את השלב הזה במאזני עומסים מסוג HTTP.
אתם יכולים ליצור אישורים של Compute Engine או של Certificate Manager. אפשר להשתמש בכל אחת מהשיטות הבאות כדי ליצור אישורים באמצעות Certificate Manager:
- אישורים אזוריים בניהול עצמי. מידע על יצירה ושימוש באישורים אזוריים בניהול עצמי אין תמיכה במיפוי אישורים.
אישורים אזוריים שמנוהלים על ידי Google. אין תמיכה במיפוי אישורים.
ב-Certificate Manager יש תמיכה בסוגים הבאים של אישורים אזוריים בניהול Google:
- אישורים אזוריים שמנוהלים על ידי Google עם הרשאת DNS לכל פרויקט. מידע נוסף זמין במאמר בנושא פריסת אישור אזורי שמנוהל על ידי Google עם הרשאת DNS.
- אישורים אזוריים שמנוהלים על ידי Google (פרטיים) באמצעות Certificate Authority Service. מידע נוסף זמין במאמר בנושא פריסת אישור אזורי שמנוהל על ידי Google באמצעות Certificate Authority Service.
אחרי שיוצרים אישורים, מצרפים אותם ישירות לשרת ה-proxy של היעד.
כדי ליצור משאב של אישור SSL אזורי בניהול עצמי:gcloud compute ssl-certificates create SSL_CERTIFICATE_NAME \ --certificate CRT_FILE_PATH \ --private-key KEY_FILE_PATH \ --region=REGION - יוצרים שרת proxy אזורי ליעד כדי להפנות בקשות למפת ה-URL.
כדי ליצור HTTP Target Proxy למאזן עומסים מסוג HTTP: למאזן עומסים מסוג HTTPS, יוצרים שרת proxy ליעד HTTPS. ה-proxy הוא החלק במאזן העומסים שמכיל את אישור ה-SSL לאיזון עומסים של HTTPS, ולכן בשלב הזה צריך גם לטעון את האישור.gcloud compute target-http-proxies create TARGET_HTTP_PROXY_NAME \ --url-map=URL_MAP_NAME \ --region=REGIONgcloud compute target-https-proxies create TARGET_HTTPS_PROXY_NAME \ --ssl-certificates=SSL_CERTIFICATE_NAME \ --url-map=URL_MAP_NAME \ --region=REGION - יוצרים כלל העברה כדי להפנות בקשות נכנסות לשרת ה-proxy.
אל תשתמשו בתת-הרשת של ה-proxy בלבד לכתובת ה-IP של כלל ההעברה. אפשר להגדיר כל כתובת IP תקינה מתת-הרשת (
lb-subnet).
במאזן עומסים מסוג HTTP: במאזן עומסים מסוג HTTPS:gcloud compute forwarding-rules create HTTP_FORWARDING_RULE_NAME \ --load-balancing-scheme=INTERNAL_MANAGED \ --network=lb-network \ --subnet=lb-subnet \ --target-http-proxy=TARGET_HTTP_PROXY_NAME \ --target-http-proxy-region=REGION \ --region=REGION \ --ports=80gcloud compute forwarding-rules create HTTPS_FORWARDING_RULE_NAME \ --load-balancing-scheme=INTERNAL_MANAGED \ --network=lb-network \ --subnet=lb-subnet \ --target-https-proxy=TARGET_HTTPS_PROXY_NAME \ --target-https-proxy-region=REGION \ --region=REGION \ --ports=443
בדיקת מאזן העומסים
אחרי שמגדירים את מאזן העומסים, אפשר להתחיל לשלוח תנועה לכתובת ה-IP של מאזן העומסים.
יצירת מכונה וירטואלית של לקוח
בדוגמה הזו נוצרת מכונה וירטואלית של לקוח (vm-client) באותו אזור שבו נמצא מאזן העומסים. הלקוח משמש לאימות ההגדרה של מאזן העומסים ולהדגמת ההתנהגות הצפויה.
gcloud
המכונה הווירטואלית של הלקוח יכולה להיות בכל אזור באותו אזור כמו מאזן העומסים, והיא יכולה להשתמש בכל רשת משנה באותה רשת VPC.
gcloud compute instances create vm-client \
--image-family=debian-12 \
--image-project=debian-cloud \
--tags=allow-ssh \
--network=lb-network \
--subnet=lb-subnet \
--zone=ZONE
הגדרת כלל לחומת האש
בדוגמה הזו נדרש כלל חומת האש הבא למכונה הווירטואלית של לקוח הבדיקה:
fw-allow-ssh. כלל תעבורת נתונים נכנסת (ingress) שחל על מכונת הלקוח הווירטואלית לבדיקה, שמאפשר קישוריות SSH נכנסת ביציאת TCP 22 מכל כתובת. אפשר לבחור טווח כתובות IP של מקור מוגבל יותר לכלל הזה. לדוגמה, אפשר לציין רק את טווחי כתובות ה-IP של המערכת שממנה מתחילים סשנים של SSH. בדוגמה הזו נשתמש בתג היעד allow-ssh.
המסוף
- נכנסים לדף Firewall policies במסוף Google Cloud .
מעבר אל Firewall policies - לוחצים על יצירת כלל לחומת האש כדי ליצור את הכלל שיאפשר חיבורי SSH נכנסים:
- Name (שם):
allow-ssh - רשת:
lb-network - כיוון התנועה: כניסה
- פעולה במקרה של התאמה: אישור
- יעדים: תגי יעד שצוינו
- תגי טירגוט:
allow-ssh - מסנן מקור: טווחים של IPv4
- טווחים של כתובות IPv4 של המקור:
0.0.0.0/0 - פרוטוקולים ויציאות:
- בוחרים באפשרות פרוטוקולים ויציאות שצוינו.
- מסמנים את התיבה TCP ומזינים
22כמספר היציאה.
- Name (שם):
- לוחצים על יצירה.
gcloud
יוצרים את כלל חומת האש fw-allow-ssh כדי לאפשר קישוריות SSH למכונות וירטואליות עם תג הרשת allow-ssh. אם לא מציינים את source-ranges,Google Cloud מפרש את הכלל כאילו הוא מתייחס לכל מקור.
gcloud compute firewall-rules create fw-allow-ssh \ --network=lb-network \ --action=allow \ --direction=ingress \ --target-tags=allow-ssh \ --rules=tcp:22
הפניית תנועה למאזן העומסים
יכול להיות שיחלפו כמה דקות עד שההגדרה של איזון העומסים תתעדכן אחרי הפריסה הראשונית.
מתחברים למופע הלקוח באמצעות SSH.
gcloud compute ssh vm-client \ --zone=ZONE
מוודאים שמאזן העומסים מציג את דף הבית של שירות Cloud Run כמצופה.
כדי לבדוק HTTP, מריצים את הפקודה:
curl IP_ADDRESS
כדי להריץ בדיקה של HTTPS:
curl -k -s 'https://TEST_DOMAIN_URL:443' --connect-to TEST_DOMAIN_URL:443:IP_ADDRESS:443
מחליפים את
TEST_DOMAIN_URLבדומיין שמשויך לאפליקציה. לדוגמה,test.example.com.הדגל
-kגורם ל-curl לדלג על אימות האישור.
אפשרויות הגדרה נוספות
בקטע הזה אנחנו מרחיבים את דוגמת ההגדרה ומציגים אפשרויות הגדרה חלופיות ונוספות. כל המשימות הן אופציונליות. אפשר לבצע אותן בכל סדר.
שימוש במסכת כתובת URL
כשיוצרים NEG ללא שרת, במקום לבחור שירות ספציפי ב-Cloud Run, אפשר להשתמש במסכת כתובות URL כדי להפנות לכמה שירותים שפועלים באותו דומיין. מסכת כתובת URL היא תבנית של סכימת כתובות ה-URL שלכם. ה-NEG בלי שרת (serverless) משתמש בתבנית הזו כדי לחלץ את שם השירות מכתובת ה-URL של הבקשה הנכנסת ולמפות את הבקשה לשירות המתאים.
מסכות של כתובות URL שימושיות במיוחד אם השירות ממופה לדומיין בהתאמה אישית ולא לכתובת ברירת המחדל ש- Google Cloud מספקת לשירות שנפרס. מסכת כתובת URL מאפשרת לכם לטרגט כמה שירותים וגרסאות באמצעות כלל אחד, גם אם האפליקציה שלכם משתמשת בתבנית מותאמת אישית של כתובת URL.
אם עדיין לא עשיתם את זה, כדאי לקרוא את סקירת הכללית של קבוצות NEG ללא שרתים: מסכות של כתובות URL.
יצירת מסכת כתובת URL
כדי ליצור מסכת כתובת URL למאזן העומסים, מתחילים עם כתובת ה-URL של השירות. בדוגמה הזו נשתמש באפליקציה לדוגמה בלי שרת (serverless) שפועלת בכתובת
https://example.com/login. זו כתובת ה-URL שבה מוצג השירות של אפליקציית login.
- מסירים את
httpאוhttpsמכתובת ה-URL. נותרו לךexample.com/login. - מחליפים את שם השירות בפלייסלודר למסיכת כתובת ה-URL.
- Cloud Run: מחליפים את שם השירות ב-Cloud Run במחזיק המקום
<service>. אם שירות Cloud Run משויך לתג, מחליפים את שם התג במחזיק המקום<tag>. בדוגמה הזו, מסכת כתובת ה-URL שנותרה היאexample.com/<service>.
- Cloud Run: מחליפים את שם השירות ב-Cloud Run במחזיק המקום
אופציונלי: אם אפשר לחלץ את שם השירות מחלק הנתיב של כתובת ה-URL, אפשר להשמיט את הדומיין. החלק של הנתיב במסכת כתובת ה-URL מובחן על ידי התו הראשון של הקו הנטוי (
/). אם אין לוכסן (/) במסכת כתובת ה-URL, המערכת מפרשת את המסכה כייצוג של המארח בלבד. לכן, בדוגמה הזו, אפשר לצמצם את מסכת כתובת ה-URL ל-/<service>.באופן דומה, אם אפשר לחלץ את הערך
<service>מחלק המארח של כתובת ה-URL, אפשר להשמיט את הנתיב לחלוטין ממסכת כתובת ה-URL.אפשר גם להשמיט רכיבים של מארח או של תת-דומיין שמגיעים לפני ה-placeholder הראשון, וגם רכיבים של נתיב שמגיעים אחרי ה-placeholder האחרון. במקרים כאלה, הפלייסהולדר [מציין המיקום] מתעד את המידע הנדרש לגבי הרכיב.
הנה עוד כמה דוגמאות שממחישות את הכללים האלה:
בטבלה הזו מניחים שיש לכם דומיין מותאם אישית בשם example.com וכל השירותים שלכם ב-Cloud Run ממופים לדומיין הזה.
| שירות, שם התג | כתובת URL של דומיין מותאם אישית ב-Cloud Run | מסיכת כתובת URL |
|---|---|---|
| service: login | https://login-home.example.com/web | <service>-home.example.com |
| service: login | https://example.com/login/web | example.com/<service> או /<service> |
| service: login, tag: test | https://test.login.example.com/web | <tag>.<service>.example.com |
| service: login, tag: test | https://example.com/home/login/test | example.com/home/<service>/<tag> or /home/<service>/<tag> |
| service: login, tag: test | https://test.example.com/home/login/web | <tag>.example.com/home/<service> |
יצירת NEG ללא שרת עם מסכת כתובת URL
המסוף
כדי ליצור מאזן עומסים חדש, אפשר להשתמש באותו תהליך מקצה לקצה שמתואר בהמשך המסמך. כשמגדירים את שירות לקצה העורפי, במקום לבחור שירות ספציפי, מזינים מסכת כתובת URL.
אם יש לכם מאזן עומסים קיים, אתם יכולים לערוך את הגדרת ה-backend ולגרום ל-NEG בלי שרת להפנות למסכת כתובות URL במקום לשירות ספציפי.
כדי להוסיף NEG ללא שרת שמבוסס על מסכת כתובות URL לשירות קצה עורפי קיים:
- נכנסים לדף Load balancing במסוף Google Cloud .
כניסה לדף איזון עומסים - לוחצים על השם של מאזן העומסים שכולל את שירות הלקצה העורפי שרוצים לערוך.
- בדף Load balancer details (פרטי איזון העומסים), לוחצים על Edit (עריכה).
- בדף Edit global external Application Load Balancer, לוחצים על Backend configuration.
- בדף Backend configuration (הגדרות ה-Backend), לוחצים על Edit (עריכה) בשירות לקצה העורפי שרוצים לשנות.
- לוחצים על הוספת קצה עורפי.
- בוחרים באפשרות יצירת קבוצה של נקודות קצה ברשת ללא שרת.
- בשדה Name (שם), מזינים
helloworld-serverless-neg. - בקטע Region (אזור), מוצג האזור של מאזן העומסים.
- בקטע סוג קבוצת נקודות קצה ברשת ללא שרת, Cloud Run הוא סוג קבוצת נקודות הקצה ברשת היחיד שנתמך.
- בוחרים באפשרות שימוש בהסתרת כתובת URL.
- מזינים מסכת כתובות URL. מידע על יצירת מסכת כתובת URL זמין במאמר יצירת מסכת כתובת URL.
- לוחצים על יצירה.
- בקצה העורפי החדש, לוחצים על סיום.
- לוחצים על עדכון.
gcloud
כדי ליצור NEG בלי שרת (serverless) עם מסכת כתובת URL לדוגמה של
example.com/<service>:
gcloud compute network-endpoint-groups create SERVERLESS_NEG_MASK_NAME \
--region=REGION \
--network-endpoint-type=serverless \
--cloud-run-url-mask="example.com/<service>"
עדכון פסק הזמן של שמירת החיבור ב-HTTP
מאזן העומסים שנוצר בשלבים הקודמים הוגדר עם ערך ברירת מחדל לזמן הקצוב לתפוגה של חיבור HTTP פעיל של הלקוח.כדי לעדכן את זמן הקצוב לתפוגה של הלקוח ב-HTTP keepalive, פועלים לפי ההוראות הבאות.
המסוף
נכנסים לדף Load balancing במסוף Google Cloud .
- לוחצים על השם של מאזן העומסים שרוצים לשנות.
- לוחצים על עריכה.
- לוחצים על Frontend configuration.
- מרחיבים את תכונות מתקדמות. בשדה HTTP keepalive timeout, מזינים ערך של זמן קצוב לתפוגה.
- לוחצים על עדכון.
- כדי לבדוק את השינויים, לוחצים על בדיקה וסיום ואז על עדכון.
gcloud
במאזן עומסים מסוג HTTP, מעדכנים את ה-proxy של יעד ה-HTTP באמצעות הפקודה gcloud compute target-http-proxies update.
gcloud compute target-http-proxies update TARGET_HTTP_PROXY_NAME \
--http-keep-alive-timeout-sec=HTTP_KEEP_ALIVE_TIMEOUT_SEC \
--region=REGION
במאזן עומסים מסוג HTTPS, מעדכנים את שרת ה-proxy של HTTPS באמצעות הפקודה gcloud compute target-https-proxies update.
gcloud compute target-https-proxies update TARGET_HTTP_PROXY_NAME \
--http-keep-alive-timeout-sec=HTTP_KEEP_ALIVE_TIMEOUT_SEC \
--region REGION
מחליפים את מה שכתוב בשדות הבאים:
-
TARGET_HTTP_PROXY_NAME: השם של ה-proxy ל-HTTP של היעד. -
TARGET_HTTPS_PROXY_NAME: השם של שרת ה-proxy ל-HTTPS של היעד. -
HTTP_KEEP_ALIVE_TIMEOUT_SEC: ערך הזמן הקצוב לתפוגה של HTTP keepalive, מ-5 עד 600 שניות.
מחיקה של NEG ללא שרת
אי אפשר למחוק קבוצת נקודות קצה ברשת אם היא מצורפת לשירות קצה עורפי. לפני שמוחקים NEG, מוודאים שהוא מנותק משירות לקצה העורפי.
המסוף
- כדי לוודא ש-NEG בלי שרת שרוצים למחוק לא נמצא בשימוש על ידי אף שירות לקצה העורפי, עוברים לכרטיסייה Backend services בדף Load balancing components.
כניסה לדף Backend services - אם ה-NEG בלי שרת (serverless) נמצא בשימוש, מבצעים את הפעולות הבאות:
- לוחצים על השם של שירות הקצה העורפי שמשתמש ב-NEG ללא שרת.
- לוחצים על עריכה.
- ברשימה Backends, לוחצים על כדי להסיר את ה-NEG של ה-backend בלי שרת (serverless) משירות לקצה העורפי.
- לוחצים על Save.
- נכנסים לדף Network endpoint group במסוף Google Cloud .
מעבר אל 'קבוצת נקודות קצה ברשת' - מסמנים את התיבה שלצד קבוצת ה-NEG בלי שרת (serverless) שרוצים למחוק.
- לוחצים על Delete.
- לוחצים שוב על מחיקה כדי לאשר את הפעולה.
gcloud
כדי להסיר NEG בלי שרת (serverless) משירות לקצה העורפי, צריך לציין את האזור שבו נוצר ה-NEG.
gcloud compute backend-services remove-backend BACKEND_SERVICE_NAME \
--network-endpoint-group=SERVERLESS_NEG_NAME \
--network-endpoint-group-region=REGION \
--region=REGION
כדי למחוק את ה-NEG בלי שרת (serverless):
gcloud compute network-endpoint-groups delete SERVERLESS_NEG_NAME \
--region=REGION
המאמרים הבאים
- פריסה של מאזן עומסים פנימי אזורי של אפליקציות (ALB) באמצעות Cloud Run באמצעות Terraform
- ניקוי הגדרות של איזון עומסים
- ביטול של ניהול התצורה ב-VPC משותף
- רישום ביומן ומעקב אחרי מאזן עומסים פנימי אזורי של אפליקציות (ALB)
- פתרון בעיות במאזני עומסים פנימיים אזוריים של אפליקציות