במאמר הזה מוצגות שתי הגדרות לדוגמה להגדרת מאזן עומסים של אפליקציות (ALB) חיצוני גלובלי עם עורפי קצה של קבוצות מופעי VM בסביבת VPC משותף:
- בדוגמה הראשונה, הרכיבים של הקצה הקדמי והקצה העורפי של מאזן העומסים נוצרים בפרויקט שירות אחד.
- בדוגמה השנייה, רכיבי הקצה הקדמי של מאזן העומסים ומפת URL נוצרים בפרויקט שירות אחד, בעוד ששירות לקצה העורפי והבק-אנדים של מאזן העומסים נוצרים בפרויקט שירות אחר. סוג הפריסה הזה, שבו מפת URL בפרויקט אחד מפנה לשירות לקצה העורפי בפרויקט אחר, נקרא הפניה לשירות בפרויקט אחר.
בשני המקרים צריך לבצע את אותה הגדרה ראשונית כדי להעניק הרשאות, להגדיר את הרשת ואת רשת המשנה בפרויקט המארח ולהגדיר VPC משותף לפני שמתחילים ליצור מאזני עומסים.
אלה לא ההגדרות היחידות של Shared VPC שנתמכות על ידי מאזן העומסים הגלובלי החיצוני של אפליקציות (ALB). דוגמאות נוספות לארכיטקטורות תקפות של VPC משותף זמינות במאמר בנושא ארכיטקטורה של VPC משותף.
אם אתם לא רוצים להשתמש ברשת VPC משותפת, תוכלו לעיין במאמר בנושא הגדרה של מאזן עומסים חיצוני גלובלי של אפליקציות עם קצה עורפי של קבוצת מכונות וירטואליות.
לפני שמתחילים
- סקירה כללית על VPC משותף
- מומלץ לקרוא את סקירת מאזן העומסים של אפליקציות (ALB) החיצוני, כולל הקטע על ארכיטקטורת VPC משותף.
ההרשאות הנדרשות
כדי להגדיר מאזן עומסים ברשת VPC משותפת, אדמין צריך לבצע כמה הגדרות ראשוניות ולהקצות משאבים. אחרי ההגדרה הראשונית, הבעלים של פרויקט השירות יכול לבצע אחת מהפעולות הבאות:
- פריסת כל הרכיבים של איזון העומסים והעורפים שלו בפרויקט שירות.
- פריסת רכיבי הקצה העורפי של איזון העומסים (שירות קצה עורפי וקצוות עורפיים) בפרויקטים של שירותים שאפשר להפנות אליהם באמצעות מפת URL בשירות אחר או בפרויקט מארח.
בקטע הזה מופיע סיכום של ההרשאות שנדרשות כדי לפעול לפי המדריך הזה ולהגדיר איזון עומסים ברשת VPC משותפת.
הגדרת VPC משותף
התפקידים הבאים נדרשים לביצוע המשימות הבאות:
- ביצוע משימות ניהוליות חד-פעמיות, כמו הגדרת VPC משותף והפעלת פרויקט מארח.
- ביצוע משימות ניהול שצריך לחזור עליהן בכל פעם שרוצים להוסיף פרויקט שירות חדש. הפעולות האלה כוללות צירוף של פרויקט השירות, הקצאה והגדרה של משאבי רשת והענקת גישה לאדמין של פרויקט השירות.
צריך לבצע את המשימות האלה בפרויקט המארח של ה-VPC המשותף. מומלץ שאדמין ה-VPC המשותף יהיה גם הבעלים של הפרויקט המארח של ה-VPC המשותף. התפקידים 'אדמין רשת' ו'אדמין לענייני אבטחה' מוקצים אוטומטית.
| משימה | התפקיד הנדרש |
|---|---|
| הגדרה של VPC משותף, הפעלה של פרויקט מארח ומתן גישה לאדמינים של פרויקט שירות | אדמין ל-VPC משותף |
| יוצרים תת-רשתות בפרויקט המארח של ה-VPC המשותף ומעניקים גישה לאדמינים של פרויקט השירות | אדמין רשתות |
| הוספה והסרה של כללים לחומת האש | אדמין לענייני אבטחה |
אחרי הקצאת רשתות המשנה, הבעלים של פרויקט המארח צריך להעניק את התפקיד 'משתמש רשת' בפרויקט המארח לכל מי שצריך להשתמש במשאבים האלה (בדרך כלל אדמינים של פרויקט השירות, מפתחים או חשבונות שירות).
| משימה | התפקיד הנדרש |
|---|---|
| שימוש ברשתות VPC ובתת-רשתות ששייכות לפרויקט המארח | משתמש ברשת |
אפשר להעניק את התפקיד הזה ברמת הפרויקט או ברמת רשתות משנה ספציפיות. מומלץ להקצות את התפקיד ברשתות משנה נפרדות. הקצאת התפקיד בפרויקט מספקת גישה לכל רשתות המשנה הנוכחיות והעתידיות ברשת ה-VPC של הפרויקט המארח.
פריסת מאזן עומסים וקצה עורפי
אדמינים של פרויקט שירות צריכים את התפקידים הבאים בפרויקט השירות כדי ליצור משאבי איזון עומסים ושרתי קצה עורפיים. ההרשאות האלה מוענקות באופן אוטומטי לבעלים או לעורכים של פרויקט השירות.
| משימה | התפקיד הנדרש |
|---|---|
| יצירת רכיבים של מאזן עומסים | אדמין רשתות |
| יצירת מופעים | אדמין של מכונה |
| יצירה ושינוי של אישורי SSL | אדמין לענייני אבטחה |
הפניה לשירותים לקצה עורפי בין פרויקטים
אם מאזן העומסים צריך להפנות לשירותי קצה עורפיים מפרויקטים אחרים של שירותים, תהליך שנקרא גם הפניה לשירותים בפרויקטים שונים, לאדמינים של מאזן העומסים יידרש התפקיד הבא בפרויקט השירות שבו נוצר שירות הקצה העורפי.
| משימה | התפקיד הנדרש |
|---|---|
| הרשאות לשימוש בשירותים בפרויקטים אחרים | משתמש בשירותים של מאזן עומסים |
אפשר להקצות את התפקיד הזה ברמת הפרויקט או לשירותי קצה עורפיים ספציפיים. הוראות להענקת התפקיד הזה מופיעות בדוגמה להפניה לשירותים בין פרויקטים בדף הזה.
למידע נוסף על IAM, אפשר לעיין במדריכים הבאים:
דרישות מוקדמות
בקטע הזה, צריך לבצע את השלבים הבאים:
לא צריך לבצע את השלבים שבקטע הזה בכל פעם שרוצים ליצור מאזן עומסים חדש. עם זאת, לפני שיוצרים את איזון העומסים, צריך לוודא שיש גישה למשאבים שמתוארים כאן.
הגדרת הרשתות ורשתות המשנה בפרויקט המארח
צריך רשת VPC משותפת עם רשת משנה לקצה העורפי של מאזן העומסים.בדוגמה הזו נעשה שימוש ברשת, באזור וברשת המשנה הבאים:
רשת. שם הרשת הוא
lb-network.רשת משנה עבור שרתי הבק-אנד של מאזן העומסים. רשת משנה בשם
lb-backend-subnetבאזורus-west1משתמשת ב-10.1.2.0/24כטווח כתובות ה-IP הראשי שלה.
הגדרת רשת המשנה לקצוות העורפיים של מאזן העומסים
לא צריך לבצע את השלב הזה בכל פעם שרוצים ליצור מאזן עומסים חדש. צריך רק לוודא שלפרויקט השירות יש גישה לתת-רשת ברשת ה-VPC המשותפת.צריך לבצע את כל השלבים בקטע הזה בפרויקט המארח.
המסוף
- נכנסים לדף VPC networks במסוף Google Cloud .
- לוחצים על יצירת רשת VPC.
- בשדה Name (שם), מזינים
lb-network. בקטע Subnets (רשתות משנה):
- מגדירים את מצב יצירת רשתות משנה לבהתאמה אישית.
בקטע New subnet (רשת משנה חדשה), מזינים את הפרטים הבאים:
- Name (שם):
lb-backend-subnet
אזור:
us-west1טווח כתובות IP:
10.1.2.0/24
- Name (שם):
לוחצים על סיום.
לוחצים על יצירה.
gcloud
יוצרים רשת VPC באמצעות הפקודה
gcloud compute networks create:gcloud compute networks create lb-network --subnet-mode=custom
יוצרים רשת משנה ברשת
lb-networkבאזורus-west1:gcloud compute networks subnets create lb-backend-subnet
--network=lb-network
--range=10.1.2.0/24
--region=us-west1
מתן גישה לאדמינים של פרויקטים של שירותים לרשת המשנה של ה-Backend
אדמינים של פרויקט שירות צריכים גישה לlb-backend-subnet רשת המשנה כדי שהם יוכלו להקצות את העורפים של איזון העומסים.
אדמין של VPC משותף צריך להעניק גישה לתת-הרשת של ה-Backend לאדמינים של פרויקט השירות (או למפתחים שמפריסים משאבים ו-Backends שמשתמשים בתת-הרשת). הוראות מפורטות מופיעות במאמר אדמינים של פרויקטים של שירותים בחלק מרשתות המשנה.
הגדרת כללים לחומת האש בפרויקט המארח
בדוגמה הזו נעשה שימוש בכלל חומת האש הבא:fw-allow-health-check. כלל תעבורה נכנסת (ingress) שחל על המופעים שמתבצע לגביהם איזון עומסים, שמאפשר את כל תעבורת ה-TCP ממערכות בדיקת התקינות ב- Google Cloud,130.211.0.0/22ו-35.191.0.0/16. בדוגמה הזו נעשה שימוש בתג היעדload-balanced-backendכדי לזהות את המקרים שבהם צריך להחיל את התג.
צריך לבצע את כל השלבים בקטע הזה בפרויקט המארח.
המסוף
נכנסים לדף Firewall policies במסוף Google Cloud .
- לוחצים על יצירת כלל לחומת האש כדי ליצור את הכלל שיאפשר Google Cloud בדיקות תקינות:
- Name (שם):
fw-allow-health-check - רשת:
lb-network - כיוון התנועה: כניסה
- פעולה בהתאמה: אישור
- יעדים: תגי יעד שצוינו
- תגי טירגוט:
load-balanced-backend - מסנן מקור: טווחי IPv4
- טווחי IPv4 של המקור:
130.211.0.0/22ו-35.191.0.0/16 - פרוטוקולים ויציאות:
- בוחרים באפשרות פרוטוקולים ויציאות שצוינו.
- מסמנים את התיבה TCP ומזינים
80כמספר היציאה.
מומלץ להגביל את הכלל הזה רק לפרוטוקולים ולפורטים שתואמים לאלה שמשמשים בבדיקת תקינות. אם משתמשים ב-
tcp:80בשביל הפרוטוקול והיציאה,אפשר להשתמש ב-HTTP ביציאה80כדי ליצור קשר עם מכונות ה-VM, אבל אי אפשר להשתמש ב-HTTPS ביציאה443כדי ליצור איתן קשר. Google Cloud - לוחצים על יצירה.
gcloud
יוצרים את כלל חומת האש
fw-allow-health-checkכדי לאפשרGoogle Cloud בדיקות תקינות. בדוגמה הזו, כל תנועת ה-TCP מבודקי בדיקת תקינות מורשית. עם זאת, אפשר להגדיר קבוצה מצומצמת יותר של יציאות בהתאם לצרכים שלכם.gcloud compute firewall-rules create fw-allow-health-check \ --network=lb-network \ --action=allow \ --direction=ingress \ --source-ranges=130.211.0.0/22,35.191.0.0/16 \ --target-tags=load-balanced-backend \ --rules=tcp
הגדרת VPC משותף בפרויקט המארח
בשלב הזה צריך להפעיל פרויקט מארח של VPC משותף, לשתף תת-רשתות של הפרויקט המארח ולצרף פרויקטים של שירות לפרויקט המארח, כדי שהפרויקטים של השירות יוכלו להשתמש ברשת ה-VPC המשותפת. כדי להגדיר VPC משותף בפרויקט המארח, אפשר לעיין בדפים הבאים:
בהמשך ההוראות האלה אנחנו מניחים שכבר הגדרתם VPC משותף. זה כולל הגדרה של מדיניות IAM לארגון והגדרת הפרויקט המארח והפרויקטים של השירותים.
אל תמשיכו עד שתגדירו VPC משותף ותפעילו את הפרויקטים המארח והשירות.
אחרי שמבצעים את השלבים שמפורטים בקטע הזה של הדרישות המוקדמות, אפשר להמשיך לאחד מההגדרות הבאות:
הגדרת מאזן עומסים בפרויקט שירות אחד
אחרי שמגדירים את רשת ה-VPC בפרויקט המארח ומגדירים VPC משותף, אפשר לעבור לפרויקט השירות, שבו צריך ליצור את כל רכיבי איזון העומסים (שירות לקצה העורפי, מפת URL, שרת proxy ליעד וכלל העברה) ואת הקצוות העורפיים.
בקטע הזה מניחים שביצעתם את השלבים הנדרשים שמתוארים בקטע הקודם בפרויקט המארח. בקטע הזה, רכיבי הקצה הקדמי והבק-אנד של מאזן העומסים, יחד עם קצוות העורף, נוצרים בפרויקט שירות אחד.
באיור הבא מוצגים הרכיבים של מאזן עומסים גלובלי חיצוני של אפליקציות בפרויקט שירות אחד, שמצורף לפרויקט המארח ברשת VPC משותפת.
את השלבים האלה צריך לבצע אדמין של פרויקט השירות (או מפתח שפועל בתוך פרויקט השירות), ולא נדרשת מעורבות של אדמין של פרויקט המארח. השלבים בקטע הזה דומים לשלבים הרגילים להגדרת מאזן עומסים חיצוני גלובלי של אפליקציות (ALB).
בדוגמה שבדף הזה מוגדרת במפורש כתובת IP שמורה לכלל ההעברה של מאזן עומסים חיצוני גלובלי של אפליקציות, במקום לאפשר הקצאה של כתובת IP זמנית. כשיטה מומלצת, כדאי להקצות כתובות IP לכללי העברה.
יצירת קצה עורפי של קבוצת מופעי מכונה מנוהלים
לפני שיוצרים קבוצה של מופעי מכונה מנוהלים, צריך ליצור תבנית של הגדרות מכונה, שהיא משאב שאפשר להשתמש בו כדי ליצור מופעים של מכונות וירטואליות (VM). התנועה מלקוחות מאוזנת בעומס למכונות וירטואליות בקבוצת מכונות. קבוצת מופעי מכונה מנוהלים מספקת מכונות וירטואליות שמריצות את שרתי הבק-אנד של מאזן עומסים חיצוני של אפליקציות (ALB). בדוגמה הזו, השרתים העורפיים מציגים את שמות המארחים שלהם.
המסוף
יצירת תבנית של הגדרות מכונה
יוצרים תבנית של הגדרות מכונה כדי לשמור את ההגדרה של מכונת ה-VM שמשמשת להקצאת מכונות וירטואליות לקצה העורפי של מאזן העומסים החיצוני הגלובלי של האפליקציות.
נכנסים לדף Instance templates של Compute Engine במסוף Google Cloud .
לוחצים על Create instance template.
בשדה Name (שם), מזינים
backend-template.בקטע Boot disk מוודאים שדיסק האתחול מוגדר לתמונת Debian, כמו Debian GNU/Linux 12 (bookworm). לוחצים על שינוי כדי לשנות את התמונה, אם צריך.
מרחיבים את הקטע אפשרויות מתקדמות.
מרחיבים את הקטע Networking (רשת) ובשדה Network tags (תגי רשת) מזינים את הערך
load-balanced-backend.בקטע Network interfaces (ממשקי רשת), בוחרים באפשרות Networks shared with me (from host project:
HOST_PROJECT_ID) (רשתות ששותפו איתי (מפרויקט המארח:HOST_PROJECT_ID)).ברשימה Shared subnetwork, בוחרים את רשת המשנה
lb-backend-subnetמהרשתlb-network.מרחיבים את הקטע ניהול, ובשדה אוטומציה מציינים את סקריפט לטעינה בזמן ההפעלה הבא:
#! /bin/bash apt-get update apt-get install apache2 -y a2ensite default-ssl a2enmod ssl vm_hostname="$(curl -H "Metadata-Flavor:Google" \ http://metadata.google.internal/computeMetadata/v1/instance/name)" echo "Page served from: $vm_hostname" | \ tee /var/www/html/index.html systemctl restart apache2לוחצים על יצירה.
יצירת קבוצות של מופעי מכונה מנוהלים
יוצרים קבוצת מופעי מכונה מנוהלים כדי לספק את שרתי הבק-אנד שמטפלים בבקשות שמפוזרות על ידי שירות הבק-אנד של מאזן העומסים הגלובלי החיצוני של האפליקציות.
במסוף Google Cloud , נכנסים לדף Instance groups של Compute Engine.
לוחצים על Create Instance Group (יצירת קבוצת מופעים).
מהאפשרויות, בוחרים באפשרות קבוצת מופעי מכונה מנוהלים חדשה (בלי שמירת מצב).
בשדה 'שם קבוצת המופעים', מזינים
lb-backend.ברשימה Instance template בוחרים את תבנית של הגדרות מכונה
backend-templateשיצרתם בשלב הקודם.בקטע מיקום, בוחרים באפשרות אזור יחיד ומזינים את הערכים הבאים:
בשדה אזור, בוחרים באפשרות
us-west1.בשדה Zone, בוחרים באפשרות
us-west1-a.
בקטע Autoscaling (שינוי גודל אוטומטי), מזינים את הערכים הבאים:
בקטע מצב התאמה אוטומטית לעומס, בוחרים באפשרות מופעל: הוספה והסרה של מופעים לקבוצה.
בקטע מספר מינימלי של מופעים, בוחרים באפשרות
2.בקטע מספר מופעים מקסימלי, בוחרים באפשרות
3.
בקטע Port mapping (מיפוי יציאות), לוחצים על Add port (הוספת יציאה) ומזינים את הערכים הבאים:
בשדה שם הניוד, מזינים
http.בשדה מספר היציאה, מזינים
80.
לוחצים על יצירה.
gcloud
יוצרים תבנית של הגדרות מכונה:
gcloud compute instance-templates create backend-template \ --region=us-west1 \ --network=projects/HOST_PROJECT_ID/global/networks/lb-network \ --subnet=projects/HOST_PROJECT_ID/regions/us-west1/subnetworks/lb-backend-subnet \ --tags=load-balanced-backend \ --image-family=debian-12 \ --image-project=debian-cloud \ --metadata=startup-script='#! /bin/bash apt-get update apt-get install apache2 -y a2ensite default-ssl a2enmod ssl vm_hostname="$(curl -H "Metadata-Flavor:Google" \ http://metadata.google.internal/computeMetadata/v1/instance/name)" echo "Page served from: $vm_hostname" | \ tee /var/www/html/index.html systemctl restart apache2' \ --project=SERVICE_PROJECT_IDיוצרים קבוצה של מופעי מכונה מנוהלים ובוחרים את תבנית המופע שיצרתם בשלב הקודם:
gcloud compute instance-groups managed create lb-backend \ --zone=us-west1-a \ --size=2 \ --template=backend-template \ --project=SERVICE_PROJECT_IDמוסיפים יציאה עם שם לקבוצת המופעים:
gcloud compute instance-groups set-named-ports lb-backend \ --named-ports=http:80 \ --zone=us-west1-a \ --project=SERVICE_PROJECT_ID
יצירת בדיקת תקינות
בדיקות תקינות הן בדיקות שמאשרות את הזמינות של שרתי קצה עורפיים. יוצרים בדיקת תקינות שמשתמשת בפרוטוקול HTTP ובודקת את יציאה 80. בהמשך, תצרפו את בדיקת תקינות השירות לשירות הקצה העורפי שאליו מתייחס מאזן העומסים.
המסוף
במסוף Google Cloud , נכנסים לדף Health checks של Compute Engine.
בשדה 'שם בדיקת התקינות', מזינים
lb-health-check.מגדירים את הפרוטוקול ל-HTTP.
לוחצים על יצירה.
gcloud
יצירת בדיקת תקינות HTTP.
gcloud compute health-checks create http lb-health-check \ --use-serving-port \ --project=SERVICE_PROJECT_ID
שמירת כתובת ה-IP של מאזן העומסים
שמירת כתובת IP חיצונית סטטית גלובלית שאפשר להקצות לכלל ההעברה של מאזן העומסים.
המסוף
נכנסים לדף IP addresses במסוף Google Cloud .
לוחצים על שמירת כתובת IP חיצונית סטטית.
בשדה Name (שם), מזינים
lb-ipv4-1.מגדירים את מסלול שירות הרשת בתור Premium.
מגדירים את IP version ל-IPv4.
מגדירים את Type (סוג) לערך Global (גלובלי).
לוחצים על Reserve.
gcloud
יוצרים כתובת IP חיצונית סטטית גלובלית.
gcloud compute addresses create lb-ipv4-1 \ --ip-version=IPV4 \ --network-tier=PREMIUM \ --global --project=SERVICE_PROJECT_ID
הגדרת משאב של אישור SSL
כדי ליצור מאזן עומסים שמשתמש ב-HTTPS כפרוטוקול של בקשות ותגובות, צריך ליצור משאב של אישור SSL כמו שמתואר במקורות הבאים:
מומלץ להשתמש באישור שמנוהל על ידי Google.
בדוגמה הזו מניחים שיצרתם אישור SSL בשם lb-ssl-cert. אישור ה-SSL מצורף לשרת ה-proxy של היעד שתיצרו באחד מהשלבים הבאים.
הגדרת מאזן העומסים
בקטע הזה מוסבר איך ליצור את המשאבים הבאים למאזן עומסים חיצוני גלובלי של אפליקציות:
- שירות קצה עורפי עם קבוצת מופעי מכונה מנוהלים כקצה עורפי
- מפה של כתובות URL
- אישור SSL (נדרש רק לתנועת HTTPS)
- שרת proxy יעד
- כלל העברה
בדוגמה הזו, אפשר להשתמש ב-HTTP או ב-HTTPS כפרוטוקול של הבקשה והתשובה בין הלקוח לבין מאזן העומסים. כדי להשתמש ב-HTTPS, צריך משאב של אישור SSL כדי להגדיר את ה-proxy. מומלץ להשתמש באישור שמנוהל על ידי Google.
המסוף
בחירת סוג מאזן העומסים
נכנסים לדף Load balancing במסוף Google Cloud .
- לוחצים על Create load balancer (יצירת מאזן עומסים).
- בקטע Type of load balancer, בוחרים באפשרות Application Load Balancer (HTTP/HTTPS) ולוחצים על Next.
- בקטע Public facing or internal (פנימי או חיצוני), בוחרים באפשרות Public facing (external) (חיצוני) ולוחצים על Next (הבא).
- לפריסה גלובלית או פריסה באזור יחיד, בוחרים באפשרות הכי מתאים לעומסי עבודה גלובליים ולוחצים על הבא.
- בקטע Load balancer generation (דור מאזן העומסים), בוחרים באפשרות Global external Application Load Balancer (מאזן עומסים גלובלי חיצוני של אפליקציות) ולוחצים על Next (הבא).
- לוחצים על Configure (הגדרה).
הגדרה בסיסית
- בשדה של שם מאזן העומסים, מזינים
l7-xlb-shared-vpc.
הגדרת הקצה הקדמי של מאזן העומסים
לתנועת HTTP:
לוחצים על Frontend configuration.
בשם של חזית מאזן העומסים, מזינים
http-fw-rule.בשדה Protocol, בוחרים באפשרות HTTP.
מגדירים את IP version ל-IPv4.
בשדה IP address, בוחרים באפשרות
lb-ipv4-1, שהיא כתובת ה-IP ששמרתם קודם.מגדירים את היציאה ל-
80כדי לאפשר תעבורת HTTP.כדי להשלים את הגדרת ה-frontend, לוחצים על Done.
לפני שממשיכים, מוודאים שלצד Frontend configuration מופיע סימן אישור כחול.
לתנועת נתונים בפרוטוקול HTTPS:
לוחצים על Frontend configuration.
בשם של חזית מאזן העומסים, מזינים
https-fw-rule.בשדה Protocol, בוחרים באפשרות HTTPS.
מגדירים את IP version ל-IPv4.
בשדה IP address, בוחרים באפשרות
lb-ipv4-1, שהיא כתובת ה-IP ששמרתם קודם.מגדירים את היציאה ל-
443כדי לאפשר תעבורת HTTPS.ברשימה Certificate, בוחרים את אישור ה-SSL שיצרתם.
כדי להשלים את הגדרת ה-frontend, לוחצים על Done.
לפני שממשיכים, מוודאים שלצד Frontend configuration מופיע סימן וי כחול.
הגדרת הקצה העורפי
לוחצים על Backend configuration.
בתפריט Backend services and backend buckets (שירותי קצה עורפיים ומאגרי קצה עורפיים), לוחצים על Create a backend service (יצירת שירות קצה עורפי).
בשדה של שם שירות לקצה העורפי, מזינים
lb-backend-service.בשדה Backend type, בוחרים באפשרות Instance group.
מגדירים את Protocol ל-HTTP.
בשדה Named port, מזינים
http. זהו אותו שם יציאה שהזנתם כשיצרתם את קבוצת מופעי המכונה המנוהלים.כדי להוסיף שרתים עורפיים לשירות לקצה העורפי:
בקטע Backends, מגדירים את Instance group לערך
lb-backend, שהוא קבוצת מופעי מכונה מנוהלים שיצרתם בשלב קודם.בשדה מספרי יציאות, מזינים
80.כדי להוסיף את ה-Backend, לוחצים על סיום.
כדי להוסיף בדיקת תקינות, ברשימה Health check בוחרים באפשרות
lb-health-check, שהיא בדיקת התקינות שיצרתם קודם.כדי ליצור את שירות לקצה העורפי, לוחצים על Create.
לפני שממשיכים, מוודאים שלצד Backend configuration (הגדרת קצה עורפי) מופיע סימן אישור כחול.
הגדרת כללי הניתוב
- לוחצים על כללי ניתוב. מוודאים ש-
lb-backend-serviceהוא שירות הקצה העורפי שמוגדר כברירת מחדל לכל מארח שלא תואם ולכל נתיב שלא תואם.
מידע על ניהול תנועה זמין במאמר הגדרת ניהול תנועה.
בדיקה וסיום של ההגדרה
לוחצים על Review and finalize.
בודקים את הגדרות הקצה העורפי והקצה הקדמי של מאזן העומסים כדי לוודא שהוא מוגדר כמו שרוצים.
לוחצים על Create וממתינים עד שמאזן העומסים ייווצר.
gcloud
יוצרים שירות לקצה העורפי כדי להפיץ את התנועה בין ה-backends:
gcloud compute backend-services create lb-backend-service \ --load-balancing-scheme=EXTERNAL_MANAGED \ --protocol=HTTP \ --port-name=http \ --health-checks=lb-health-check \ --global \ --project=SERVICE_PROJECT_IDמוסיפים את קבוצת המכונות בתור הקצה העורפי לשירות הקצה העורפי:
gcloud compute backend-services add-backend lb-backend-service \ --instance-group=lb-backend \ --instance-group-zone=us-west1-a \ --global \ --project=SERVICE_PROJECT_IDיוצרים מפת URL כדי לנתב בקשות נכנסות לשירות הקצה העורפי:
gcloud compute url-maps create lb-map \ --default-service=lb-backend-service \ --global \ --project=SERVICE_PROJECT_IDיוצרים שרת proxy ליעד.
לתנועת HTTP, יוצרים שרת proxy של HTTP ליעד כדי להפנות בקשות למפת URL:
gcloud compute target-http-proxies create http-proxy \ --url-map=lb-map \ --global \ --project=SERVICE_PROJECT_IDלתנועת HTTPS, יוצרים שרת proxy של HTTPS ליעד כדי להפנות בקשות למפת URL. הפרוקסי הוא החלק במאזן העומסים שמכיל את אישור ה-SSL של מאזן עומסים של HTTPS, לכן בשלב הזה צריך גם לטעון את אישור ה-SSL:
gcloud compute target-https-proxies create https-proxy \ --url-map=lb-map \ --ssl-certificates=lb-ssl-cert --global \ --project=SERVICE_PROJECT_IDיוצרים כלל העברה.
לתנועת HTTP, יוצרים כלל העברה גלובלי כדי לנתב בקשות נכנסות לשרת ה-proxy של היעד:
gcloud compute forwarding-rules create http-fw-rule \ --load-balancing-scheme=EXTERNAL_MANAGED \ --address=lb-ipv4-1 \ --global \ --target-http-proxy=http-proxy \ --ports=80 \ --project=SERVICE_PROJECT_IDלתנועת HTTPS, יוצרים כלל העברה גלובלי כדי לנתב בקשות נכנסות אל ה-proxy של היעד:
gcloud compute forwarding-rules create https-fw-rule \ --load-balancing-scheme=EXTERNAL_MANAGED \ --address=lb-ipv4-1 \ --global \ --target-https-proxy=https-proxy \ --ports=443 \ --project=SERVICE_PROJECT_ID
בדיקת מאזן העומסים
כששירות איזון העומסים פועל, אפשר לשלוח תעבורה לכלל ההעברה ולראות איך התעבורה מתפזרת למופעים שונים.
המסוף
נכנסים לדף Load balancing במסוף Google Cloud .
לוחצים על מאזן העומסים שיצרתם.
שימו לב לכתובת ה-IP של מאזן העומסים. בשלבים הבאים נתייחס לכתובת ה-IP הזו כאל
LB_IP_ADDRESS.בקטע Backend, מוודאים שהמכונות הווירטואליות תקינות.
העמודה Healthy (תקין) צריכה להתמלא, כדי לציין שהמכונות הווירטואליות תקינות. לדוגמה, אם נוצרו שתי מכונות, אמורה להופיע הודעה עם הסימן
2 of 2וסימן וי ירוק לידו. אם אתם רואים משהו אחר, נסו קודם לטעון מחדש את הדף. יכול להיות שיחלפו כמה דקות עד שמסוף Google Cloud יציין שהמכונות הווירטואליות תקינות. אם ה-backends לא מופיעים כפעילים אחרי כמה דקות, כדאי לבדוק את הגדרת חומת האש ואת תג הרשת שהוקצה למכונות הווירטואליות של ה-backend.אחרי שבמסוף מוצג שהמופעים בעורף בריאים, אפשר לבדוק את מאזן העומסים על ידי הפניית דפדפן האינטרנט אל
https://LB_IP_ADDRESS(או אלhttp://LB_IP_ADDRESS). מחליפים אתLB_IP_ADDRESSבכתובת ה-IP של מאזן העומסים. Google Cloudאם השתמשתם באישור בחתימה עצמית כדי לבדוק HTTPS, בדפדפן תוצג אזהרה. צריך להנחות את הדפדפן באופן מפורש לקבל אישור בחתימה עצמית.
בדפדפן אמור להיות מוצג דף עם תוכן שכולל את שם המופע שסיפק את הדף (לדוגמה,
Page served from: lb-backend-example-xxxx). אם הדף הזה לא מוצג בדפדפן, צריך לבדוק את הגדרות התצורה במדריך הזה.
gcloud
שימו לב לכתובת ה-IP שהוזמנה:
gcloud compute addresses describe IP_ADDRESS_NAME \
--format="get(address)" \
--global
כדי לבדוק את איזון העומסים, מפנים את דפדפן האינטרנט אל https://LB_IP_ADDRESS (או אל http://LB_IP_ADDRESS). מחליפים את LB_IP_ADDRESS בכתובת ה-IP של איזון העומסים.
אם השתמשתם באישור בחתימה עצמית כדי לבדוק HTTPS, בדפדפן תוצג אזהרה. צריך להנחות את הדפדפן באופן מפורש לקבל אישור בחתימה עצמית.
בדפדפן אמור להיטען דף עם מידע מינימלי על מופע ה-Backend. אם הדפדפן לא מעבד את הדף הזה, כדאי לעיין בהגדרות התצורה במדריך הזה.
הגדרת מאזן עומסים עם שירות קצה עורפי חוצה-פרויקטים
בקטע הזה מוסבר איך להגדיר מאזן עומסים עם שירות קצה עורפי חוצה פרויקטים בסביבת VPC משותף.
לפני שמתחילים
בדוגמה הקודמת בדף הזה מוסבר איך להגדיר פריסה של VPC משותף שבה כל הרכיבים של מאזן העומסים והקצה העורפי שלו נוצרים בפרויקט שירות אחד. מאזני עומסים גלובליים חיצוניים של אפליקציות מאפשרים גם להגדיר פריסות של VPC משותף שבהן מפת URL בפרויקט מארח או בפרויקט שירות אחד מפנה לשירותי קצה עורפיים (ולקצה עורפי) שנמצאים בכמה פרויקטים של שירות בסביבת ה-VPC המשותף.
אפשר להשתמש בשלבים שבסעיף הזה כהפניה להגדרת אחת מהקומבינציות הנתמכות שמפורטות כאן:
- כלל העברה, שרת proxy ליעד ומפת URL בפרויקט המארח, ושירות קצה עורפי בפרויקט שירות
- כלל העברה, שרת proxy ביעד ומפת URL בפרויקט שירות אחד, ושירות לקצה העורפי בפרויקט שירות אחר
בקטע הזה נעשה שימוש בסביבת VPC משותף כדי להגדיר פריסה בין פרויקטים, אבל לא חייבים להשתמש בסביבת VPC משותף. במאזני עומסים חיצוניים גלובליים של אפליקציות, הקצה הקדמי של מאזן העומסים יכול להפנות לשירותים לקצה העורפי או לקטגוריות קצה עורפי מכל פרויקט באותו ארגון.
דרישות להגדרה
אם עדיין לא עשיתם את זה, אתם צריכים להשלים את כל השלבים המקדימים להגדרת VPC משותף ולהגדרת הרשת, רשתות המשנה וכללי חומת האש שנדרשים בדוגמה הזו. הוראות מפורטות מופיעות בקטעים הבאים בתחילת הדף הזה:
בהגדרה הזו, כלל ההעברה, שרת ה-proxy של היעד ומפת URL נמצאים בפרויקט שירות אחד, ושירות לקצה העורפי וה-Backends נמצאים בפרויקט שירות אחר.
- בפרויקט השירות B, מגדירים את משאבי ה-Backend הבאים:
- קצה עורפי של קבוצת מופעי מכונה מנוהלים
- בדיקת תקינות
- שירות לקצה העורפי גלובלי
- בפרויקט השירות A, מגדירים את משאבי חזית הלקוח הבאים:
- כתובת IP
- אישור SSL
- מפה של כתובות URL
- שרת proxy יעד
- כלל העברה
באיור הבא מוצג מאזן עומסים חיצוני גלובלי של אפליקציות, שבו שירות הקצה העורפי של מאזן העומסים בפרויקט שירות אחד מפנה למפת URL בפרויקט שירות אחר.
כשמשתמשים במאזן עומסים של אפליקציות (ALB) חיצוני גלובלי כדי להפנות לשירותים בפרויקטים שונים, לא צריך שהשרתים העורפיים (backend instances) יהיו חלק מאותה רשת VPC או מרשת VPC משותף.
בדוגמה הזו, המכונות הווירטואליות של ה-Backend בפרויקט השירות הן חלק מרשת ה-VPC המשותפת שנוצרה בפרויקט המארח. עם זאת, אפשר גם להגדיר רשת VPC עצמאית (כלומר, רשת VPC לא משותפת) יחד עם כללי חומת האש הנדרשים בפרויקט שירות. לאחר מכן תוכלו ליצור מכונות עורפיות (למשל, קבוצת מכונות) שהן חלק מרשת ה-VPC העצמאית הזו. אחרי שיוצרים את מופעי הבק-אנד, אפשר לבצע את השלבים שנותרו, כמו שמוצג בדוגמה הזו, כדי ליצור שירות לקצה העורפי בפרויקט השירות ולחבר אותו למפת URL בפרויקט שירות אחר באמצעות הפניה לשירות בין פרויקטים.
הגדרת רכיבי הקצה העורפי של מאזן העומסים בפרויקט השירות B
בקטע הזה, צריך להגדיר את משאבי ה-Backend הבאים בפרויקט השירות B:
- קבוצת מופעי מכונה מנוהלים
- בדיקת תקינות
- שירות לקצה העורפי גלובלי
יצירת קצה עורפי של קבוצת מופעי מכונה מנוהלים
לפני שיוצרים קבוצה של מופעי מכונה מנוהלים, צריך ליצור תבנית של הגדרות מכונה, שהיא משאב שאפשר להשתמש בו כדי ליצור מופעים של מכונות וירטואליות (VM). התנועה מלקוחות מאוזנת בעומס למכונות וירטואליות בקבוצת מכונות. קבוצת מופעי מכונה מנוהלים מספקת מכונות וירטואליות שמריצות את שרתי הבק-אנד של מאזן עומסים חיצוני של אפליקציות (ALB). בדוגמה הזו, שרתי הקצה העורפי משרתים את שמות המארחים שלהם.
המסוף
יצירת תבנית של הגדרות מכונה
נכנסים לדף Instance templates של Compute Engine במסוף Google Cloud .
לוחצים על Create instance template.
בשדה Name (שם), מזינים
backend-template.בקטע Boot disk מוודאים שדיסק האתחול מוגדר לתמונת Debian, כמו Debian GNU/Linux 12 (bookworm). אם צריך לשנות את התמונה, לוחצים על שינוי.
מרחיבים את הקטע אפשרויות מתקדמות.
מרחיבים את הקטע Networking (רשת) ובשדה Network tags (תגי רשת) מזינים את הערך
load-balanced-backend.בקטע Network interfaces, בוחרים באפשרות Networks shared with me (from host project:
HOST_PROJECT_ID).ברשימה Shared subnetwork, בוחרים את רשת המשנה
lb-backend-subnetמהרשתlb-network.מרחיבים את הקטע ניהול, ובשדה אוטומציה מציינים את סקריפט לטעינה בזמן ההפעלה הבא:
#! /bin/bash apt-get update apt-get install apache2 -y a2ensite default-ssl a2enmod ssl vm_hostname="$(curl -H "Metadata-Flavor:Google" \ http://metadata.google.internal/computeMetadata/v1/instance/name)" echo "Page served from: $vm_hostname" | \ tee /var/www/html/index.html systemctl restart apache2לוחצים על יצירה.
יצירה של קבוצת מופעי מכונה מנוהלים
במסוף Google Cloud , נכנסים לדף Instance groups של Compute Engine.
לוחצים על Create Instance Group (יצירת קבוצת מופעים).
מהאפשרויות, בוחרים באפשרות קבוצת מופעי מכונה מנוהלים חדשה (בלי שמירת מצב).
בשדה 'שם קבוצת המופעים', מזינים
lb-backend.ברשימה Instance template בוחרים את תבנית של הגדרות מכונה
backend-templateשיצרתם בשלב הקודם.בקטע מיקום, בוחרים באפשרות אזור יחיד ומזינים את הערכים הבאים:
בשדה אזור, בוחרים באפשרות
us-west1.בשדה Zone, בוחרים באפשרות
us-west1-a.
בקטע Autoscaling (שינוי גודל אוטומטי), מזינים את הערכים הבאים:
בקטע מצב התאמה אוטומטית לעומס, בוחרים באפשרות מופעל: הוספה והסרה של מופעים לקבוצה.
בקטע מספר מינימלי של מופעים, בוחרים באפשרות
2.בקטע מספר מופעים מקסימלי, בוחרים באפשרות
3.
בקטע Port mapping (מיפוי יציאות), לוחצים על Add port (הוספת יציאה) ומזינים את הערכים הבאים:
בשדה שם הניוד, מזינים
http.בשדה מספר היציאה, מזינים
80.
לוחצים על יצירה.
gcloud
יוצרים תבנית של הגדרות מכונה:
gcloud compute instance-templates create backend-template \ --region=us-west1 \ --network=projects/HOST_PROJECT_ID/global/networks/lb-network \ --subnet=projects/HOST_PROJECT_ID/regions/us-west1/subnetworks/lb-backend-subnet \ --tags=load-balanced-backend \ --image-family=debian-12 \ --image-project=debian-cloud \ --metadata=startup-script='#! /bin/bash apt-get update apt-get install apache2 -y a2ensite default-ssl a2enmod ssl vm_hostname="$(curl -H "Metadata-Flavor:Google" \ http://metadata.google.internal/computeMetadata/v1/instance/name)" echo "Page served from: $vm_hostname" | \ tee /var/www/html/index.html systemctl restart apache2' \ --project=SERVICE_PROJECT_B_IDיוצרים קבוצה של מופעי מכונה מנוהלים ובוחרים את תבנית של הגדרות מכונה שיצרתם בשלב הקודם:
gcloud compute instance-groups managed create lb-backend \ --zone=us-west1-a \ --size=2 \ --template=backend-template \ --project=SERVICE_PROJECT_B_IDמוסיפים יציאה עם שם לקבוצת המופעים:
gcloud compute instance-groups set-named-ports lb-backend \ --named-ports=http:80 \ --zone=us-west1-a \ --project=SERVICE_PROJECT_B_ID
יצירת בדיקת תקינות
בדיקות תקינות הן בדיקות שמאשרות את הזמינות של שרתי קצה עורפיים. יוצרים בדיקת תקינות שמשתמשת בפרוטוקול HTTP ובודקת את יציאה 80. בהמשך, תצרפו את בדיקת תקינות השירות לשירות הקצה העורפי שאליו מתייחס מאזן העומסים.
המסוף
במסוף Google Cloud , נכנסים לדף Health checks של Compute Engine.
בשדה 'שם בדיקת התקינות', מזינים
lb-health-check.מגדירים את הפרוטוקול ל-HTTP.
לוחצים על יצירה.
gcloud
יצירת בדיקת תקינות HTTP.
gcloud compute health-checks create http lb-health-check \ --use-serving-port \ --project=SERVICE_PROJECT_B_ID
יצירת שירות לקצה עורפי גלובלי
יוצרים שירות לקצה עורפי גלובלי כדי להפיץ את תעבורת הנתונים בין הקצוות העורפיים. במסגרת השלב הזה, צריך להקצות את בדיקת תקינות שיצרתם לשירות הקצה העורפי ולהוסיף את קבוצת המכונות כקצה העורפי לשירות הקצה העורפי.
המסוף
נכנסים לדף Load balancing במסוף Google Cloud .
עוברים לקטע Backends.
לוחצים על יצירת שירות לקצה העורפי.
בקטע שירות לקצה העורפי גלובלי, לוחצים על הלחצן Create שלידו.
בשדה של שם שירות לקצה העורפי, מזינים
cross-ref-backend-service.בשדה Backend type, בוחרים באפשרות Instance group.
מגדירים את Protocol ל-HTTP.
בשדה Named port, מזינים
http. זהו אותו שם יציאה שהזנתם כשיצרתם את קבוצת מופעי המכונה המנוהלים.כדי להוסיף שרתים עורפיים לשירות לקצה העורפי:
בקטע Backends, מגדירים את Instance group לערך
lb-backend, שהוא קבוצת מופעי מכונה מנוהלים שיצרתם בשלב קודם.בשדה מספרי יציאות, מזינים
80.כדי להוסיף את ה-Backend, לוחצים על סיום.
כדי להוסיף בדיקת תקינות, ברשימה Health check בוחרים באפשרות
lb-health-check, שהיא בדיקת התקינות שיצרתם קודם.אופציונלי: בקטע Add permissions, מזינים את עקרונות האבטחה של IAM מפרויקטים אחרים (בדרך כלל כתובת אימייל) שיש להם את התפקיד 'אדמין של מאזן עומסים של Compute' (
roles/compute.loadBalancerAdmin), כדי שהם יוכלו להשתמש בשירות הקצה העורפי הזה למאזני עומסים בפרויקטים שלהם. בלי ההרשאה הזו, אי אפשר להשתמש בהפניה לשירותים בין פרויקטים.אם אין לכם הרשאה להגדיר מדיניות בקרת גישה לשירותי קצה עורפיים בפרויקט הזה, אתם עדיין יכולים ליצור את שירות הקצה העורפי עכשיו, ומשתמש מורשה יוכל לבצע את השלב הזה מאוחר יותר, כמו שמתואר בקטע הענקת הרשאות לאדמין של מאזן העומסים של Compute לשימוש בשירות הקצה העורפי. בקטע הזה מוסבר גם איך להעניק גישה לכל שירותי הקצה העורפי בפרויקט הזה, כדי שלא תצטרכו להעניק גישה בכל פעם שתיצרו שירות קצה עורפי חדש.
כדי ליצור את שירות לקצה העורפי, לוחצים על Create.
gcloud
יוצרים שירות לקצה עורפי גלובלי כדי להפיץ את התנועה בין הקצוות העורפיים:
gcloud compute backend-services create cross-ref-backend-service \ --load-balancing-scheme=EXTERNAL_MANAGED \ --protocol=HTTP \ --port-name=http \ --health-checks=lb-health-check \ --global \ --project=SERVICE_PROJECT_B_IDמוסיפים את קבוצת המכונות בתור הקצה העורפי לשירות הקצה העורפי:
gcloud compute backend-services add-backend cross-ref-backend-service \ --instance-group=lb-backend \ --instance-group-zone=us-west1-a \ --global \ --project=SERVICE_PROJECT_B_ID
הגדרת רכיבי הקצה הקדמי של מאזן העומסים בפרויקט השירות A
בקטע הזה, צריך להגדיר את משאבי ה-frontend הבאים בפרויקט השירות A:
- כתובת IP
- אישור SSL
- מפה של כתובות URL
- שרת proxy יעד
- כלל העברה
שמירת כתובת ה-IP של מאזן העומסים
שמירת כתובת IP חיצונית סטטית גלובלית שאפשר להקצות לכלל ההעברה של מאזן העומסים.
המסוף
נכנסים לדף IP addresses במסוף Google Cloud .
לוחצים על שמירת כתובת IP חיצונית סטטית.
בשדה Name (שם), מזינים
cross-ref-ip-address.מגדירים את מסלול שירות הרשת בתור Premium.
מגדירים את IP version ל-IPv4.
מגדירים את Type (סוג) לערך Global (גלובלי).
לוחצים על Reserve.
gcloud
יוצרים כתובת IP חיצונית סטטית גלובלית.
gcloud compute addresses create cross-ref-ip-address \
--ip-version=IPV4 \
--network-tier=PREMIUM \
--global \
--project=SERVICE_PROJECT_A_ID
הגדרת משאב של אישור SSL
כדי ליצור מאזן עומסים שמשתמש ב-HTTPS כפרוטוקול של בקשות ותגובות, צריך ליצור משאב של אישור SSL כמו שמתואר במקורות הבאים:
מומלץ להשתמש באישור שמנוהל על ידי Google.
בדוגמה הזו מניחים שיצרתם אישור SSL בשם lb-ssl-cert. אישור ה-SSL מצורף לשרת ה-proxy של היעד שתיצרו באחד מהשלבים הבאים.
יצירת רכיבי הקצה הקדמי
המסוף
בחירת סוג מאזן העומסים
נכנסים לדף Load balancing במסוף Google Cloud .
- לוחצים על Create load balancer (יצירת מאזן עומסים).
- בקטע Type of load balancer, בוחרים באפשרות Application Load Balancer (HTTP/HTTPS) ולוחצים על Next.
- בקטע Public facing or internal (פנימי או חיצוני), בוחרים באפשרות Public facing (external) (חיצוני) ולוחצים על Next (הבא).
- לפריסה גלובלית או פריסה באזור יחיד, בוחרים באפשרות הכי מתאים לעומסי עבודה גלובליים ולוחצים על הבא.
- בקטע Load balancer generation (דור מאזן העומסים), בוחרים באפשרות Global external Application Load Balancer (מאזן עומסים גלובלי חיצוני של אפליקציות) ולוחצים על Next (הבא).
- לוחצים על Configure (הגדרה).
הגדרה בסיסית
- מזינים את השם של מאזן העומסים:
cross-ref-lb-shared-vpc. - כדי להמשיך, צריך להשאיר את הדף פתוח.
הגדרת הקצה הקדמי
ל-HTTP:
- לוחצים על Frontend configuration.
- מזינים שם לכלל ההעברה:
cross-ref-http-forwarding-rule. - מגדירים את Protocol ל-
HTTP. - בוחרים את כתובת ה-IP שיצרתם בשלב שמירת כתובת ה-IP של מאזן העומסים, שנקראת cross-ref-ip-address.
- מגדירים את Port ל-
80. - לוחצים על סיום.
ל-HTTPS:
אם אתם משתמשים ב-HTTPS בין הלקוח לבין מאזן העומסים, אתם צריכים משאב אחד או יותר של אישור SSL כדי להגדיר את ה-proxy. מידע על יצירת משאבי אישורי SSL זמין במאמר בנושא אישורי SSL. אין תמיכה באישורים שמנוהלים על ידי Google במאזני עומסים אזוריים חיצוניים של אפליקציות.
- לוחצים על Frontend configuration.
- מזינים שם לכלל ההעברה:
cross-ref-https-forwarding-rule. - בשדה Protocol, בוחרים באפשרות
HTTPS (includes HTTP/2). - בוחרים את כתובת ה-IP שיצרתם בשלב שמירת כתובת ה-IP של מאזן העומסים, שנקראת cross-ref-ip-address.
- מוודאים שהיציאה מוגדרת ל-
443כדי לאפשר תנועה של HTTPS. - לוחצים על הרשימה אישור.
- אם כבר יש לכם משאב של אישור SSL בניהול עצמי שבו אתם רוצים להשתמש כאישור ה-SSL הראשי, בוחרים אותו מהתפריט.
- אחרת, בוחרים באפשרות Create a new certificate.
- מזינים שם לאישור ה-SSL.
- בשדות המתאימים, מעלים את הקבצים בפורמט PEM:
- אישור של מפתח ציבורי
- שרשרת אישורים
- מפתח פרטי
- לוחצים על יצירה.
- כדי להוסיף משאבי אישורים בנוסף למשאב אישור ה-SSL הראשי:
- לוחצים על הוספת אישור.
- בוחרים אישור מהרשימה Certificates או לוחצים על Create a new certificate ופועלים לפי ההוראות הקודמות.
- לוחצים על סיום.
הגדרת הקצה העורפי
- לוחצים על Backend configuration.
- לוחצים על Cross-project backend services (שירותי קצה עורפיים חוצי-פרויקטים).
- בשדה Project ID, מזינים את מזהה הפרויקט של פרויקט שירות B.
- ברשימה Select backend services (בחירת שירותי קצה עורפי), בוחרים את שירותי הקצה העורפי מפרויקט השירות B שרוצים להשתמש בהם. בדוגמה הזו, מזינים את הערך
cross-ref-backend-service. - לוחצים על OK.
הגדרת כללי הניתוב
- לוחצים על כללי ניתוב. מוודאים ש-cross-ref-backend-service הוא שירות הקצה העורפי היחיד לכל מארח שלא נמצאה לו התאמה ולכל נתיב שלא נמצאה לו התאמה.
מידע על ניהול תנועה זמין במאמר הגדרת ניהול תנועה.
בדיקה וסיום של ההגדרה
- לוחצים על יצירה.
gcloud
אופציונלי: לפני שיוצרים מאזן עומסים עם שירותי בק-אנד שמתייחסים זה לזה, כדאי לבדוק אם אפשר להתייחס לשירותי הבק-אנד שרוצים להפנות אליהם באמצעות מיפוי URL:
gcloud compute backend-services list-usable \ --global \ --project=SERVICE_PROJECT_B_IDיוצרים מפת URL כדי לנתב בקשות נכנסות לשירות הקצה העורפי:
gcloud compute url-maps create cross-ref-url-map \ --default-service=projects/SERVICE_PROJECT_B_ID/global/backendServices/cross-ref-backend-service \ --global \ --project=SERVICE_PROJECT_A_IDיוצרים שרת proxy ליעד.
לתנועת HTTP, יוצרים שרת proxy של HTTP ליעד כדי להפנות בקשות למפת URL:
gcloud compute target-http-proxies create cross-ref-http-proxy \ --url-map=cross-ref-url-map \ --global \ --project=SERVICE_PROJECT_A_IDלתנועת HTTPS, יוצרים שרת proxy של HTTPS ליעד כדי להפנות בקשות למפת URL. הפרוקסי הוא החלק במאזן העומסים שמכיל את אישור ה-SSL של מאזן עומסים של HTTPS, לכן בשלב הזה צריך גם לטעון את אישור ה-SSL:
gcloud compute target-https-proxies create cross-ref-https-proxy \ --url-map=cross-ref-url-map \ --ssl-certificates=lb-ssl-cert \ --global \ --project=SERVICE_PROJECT_A_IDיוצרים כלל העברה.
לתנועת HTTP, יוצרים כלל העברה גלובלי כדי לנתב בקשות נכנסות לשרת ה-proxy של היעד:
gcloud compute forwarding-rules create cross-ref-http-forwarding-rule \ --load-balancing-scheme=EXTERNAL_MANAGED \ --address=cross-ref-ip-address \ --global \ --target-http-proxy=cross-ref-http-proxy \ --ports=80 \ --project=SERVICE_PROJECT_A_IDלתנועת HTTPS, יוצרים כלל העברה גלובלי כדי לנתב בקשות נכנסות אל ה-proxy של היעד:
gcloud compute forwarding-rules create cross-ref-https-forwarding-rule \ --load-balancing-scheme=EXTERNAL_MANAGED \ --address=cross-ref-ip-address \ --global \ --target-https-proxy=cross-ref-https-proxy \ --ports=443 \ --project=SERVICE_PROJECT_A_ID
מתן הרשאות לאדמין של מאזן עומסים של Compute להשתמש בשירות לקצה העורפי
אם רוצים שמאזני עומסים יפנו לשירותי קצה עורפיים בפרויקטים אחרים של שירותים, למנהל מאזן העומסים צריכה להיות ההרשאה compute.backendServices.use. כדי להעניק את ההרשאה הזו, אפשר להשתמש בתפקיד המוגדר מראש ב-IAM שנקרא Compute Load Balancer Services User (משתמש בשירותי איזון עומסים ב-Compute) (roles/compute.loadBalancerServiceUser). התפקיד הזה צריך להיות מוענק על ידי אדמין בפרויקט השירות, ואפשר להחיל אותו ברמת הפרויקט או ברמת שירות לקצה העורפי הספציפי.
לא צריך לבצע את השלב הזה אם כבר הענקתם את ההרשאות הנדרשות ברמת שירות הקצה העורפי בזמן יצירת שירות הקצה העורפי. אפשר לדלג על הקטע הזה או להמשיך לקרוא כדי ללמוד איך להעניק גישה לכל שירותי הקצה העורפי בפרויקט הזה, כך שלא תצטרכו להעניק גישה בכל פעם שתיצרו שירות קצה עורפי חדש.
בדוגמה הזו, אדמין בפרויקט שירות ב' צריך להריץ אחת מהפקודות הבאות כדי להעניק את ההרשאה compute.backendServices.use לאדמין של מאזן עומסים מפרויקט שירות א'. אפשר לעשות את זה ברמת הפרויקט (לכל שירותי הקצה העורפי בפרויקט) או לכל שירות קצה עורפי בנפרד.
המסוף
הרשאות ברמת הפרויקט
כדי לתת הרשאות לכל שירותי הקצה העורפי בפרויקט, מבצעים את הפעולות הבאות.
כדי להשלים את השלב הזה, צריך את ההרשאות compute.backendServices.setIamPolicy ו-resourcemanager.projects.setIamPolicy.
נכנסים לדף IAM במסוף Google Cloud .
בוחרים את הפרויקט הרצוי.
לוחצים על Grant access.
בשדה New principals, מזינים את כתובת האימייל או מזהה אחר של החשבון הראשי.
ברשימה Select a role בוחרים באפשרות Compute Load Balancer Services User.
אם רוצים, מוסיפים תנאי לתפקיד.
לוחצים על Save.
הרשאות ברמת המשאב לשירותי קצה עורפיים ספציפיים
כדי לתת הרשאות לשירותי קצה עורפיים ספציפיים בפרויקט, מבצעים את השלבים הבאים.
כדי להשלים את השלב הזה, נדרשת ההרשאה compute.backendServices.setIamPolicy.
נכנסים לדף Backends במסוף Google Cloud .
ברשימת שירותי הקצה העורפי, בוחרים את שירות הקצה העורפי שרוצים להעניק לו גישה ולוחצים על הרשאות.
לוחצים על Add principal.
בשדה New principals, מזינים את כתובת האימייל או מזהה אחר של החשבון הראשי.
ברשימה Select a role בוחרים באפשרות Compute Load Balancer Services User.
לוחצים על Save.
gcloud
הרשאות ברמת הפרויקט
כדי לתת הרשאות לכל שירותי הקצה העורפי בפרויקט, מבצעים את הפעולות הבאות.
כדי להשלים את השלב הזה, צריך את ההרשאות compute.backendServices.setIamPolicy ו-resourcemanager.projects.setIamPolicy.
gcloud projects add-iam-policy-binding SERVICE_PROJECT_B_ID \
--member="user:LOAD_BALANCER_ADMIN" \
--role="roles/compute.loadBalancerServiceUser"
הרשאות ברמת המשאב לשירותי קצה עורפיים ספציפיים
ברמת שירות הקצה העורפי, אדמינים של פרויקט שירות יכולים להשתמש באחת מהפקודות הבאות כדי להעניק את התפקיד 'משתמש בשירותי איזון עומסים ב-Compute' (roles/compute.loadBalancerServiceUser).
כדי להשלים את השלב הזה, נדרשת ההרשאה compute.backendServices.setIamPolicy.
gcloud projects add-iam-policy-binding SERVICE_PROJECT_B_ID \
--member="user:LOAD_BALANCER_ADMIN" \
--role="roles/compute.loadBalancerServiceUser" \
--condition='expression=resource.name=="projects/SERVICE_PROJECT_B_ID/regions/us-west1/backend-services/BACKEND_SERVICE_NAME",title=Shared VPC condition'
או
gcloud compute backend-services add-iam-policy-binding BACKEND_SERVICE_NAME \
--member="user:LOAD_BALANCER_ADMIN" \
--role="roles/compute.loadBalancerServiceUser" \
--project=SERVICE_PROJECT_B_ID \
--region=us-west1
כדי להשתמש בפקודות האלה, צריך להחליף את LOAD_BALANCER_ADMIN בפרינציפל של המשתמש, למשל test-user@gmail.com.
אפשר גם להגדיר הרשאות IAM כך שהן יחולו רק על קבוצת משנה של שירותי קצה עורפיים אזוריים באמצעות תנאים וציון מאפייני תנאים.
בדיקת מאזן העומסים
יכול להיות שיחלפו כמה דקות עד שמאזן העומסים יוגדר. כששירות איזון העומסים פועל, אפשר לשלוח תנועה לכלל ההעברה בפרויקט שירות א' ולראות את התנועה מתפזרת למופעי מכונות וירטואליות שונים בפרויקט שירות ב'.
המסוף
במסוף Google Cloud , נכנסים לדף איזון עומסים בפרויקט שירות א'.
לוחצים על מאזן העומסים שיצרתם.
שימו לב לכתובת ה-IP של מאזן העומסים. בשלבים הבאים נתייחס לכתובת ה-IP הזו כאל
LB_IP_ADDRESS.כדי לבדוק את איזון העומסים, מפנים את דפדפן האינטרנט אל
https://LB_IP_ADDRESS(או אלhttp://LB_IP_ADDRESS). מחליפים אתLB_IP_ADDRESSבכתובת ה-IP של איזון העומסים.אם השתמשתם באישור בחתימה עצמית כדי לבדוק HTTPS, בדפדפן תוצג אזהרה. צריך להנחות את הדפדפן באופן מפורש לקבל אישור בחתימה עצמית.
בדפדפן אמור להיות מוצג דף עם תוכן שכולל את שם המופע שסיפק את הדף (לדוגמה,
Page served from: lb-backend-example-xxxx). אם הדף הזה לא מוצג בדפדפן, צריך לבדוק את הגדרות התצורה במדריך הזה.
gcloud
שימו לב לכתובת ה-IP שהוזמנה:
gcloud compute addresses describe IP_ADDRESS_NAME \
--format="get(address)" \
--global
--project=SERVICE_PROJECT_A_ID
כדי לבדוק את איזון העומסים, מפנים את דפדפן האינטרנט אל https://LB_IP_ADDRESS (או אל http://LB_IP_ADDRESS). מחליפים את LB_IP_ADDRESS בכתובת ה-IP של איזון העומסים.
אם השתמשתם באישור בחתימה עצמית כדי לבדוק HTTPS, בדפדפן תוצג אזהרה. צריך להנחות את הדפדפן באופן מפורש לקבל אישור בחתימה עצמית.
בדפדפן אמור להיטען דף עם מידע מינימלי על מופע ה-Backend. אם הדפדפן לא מעבד את הדף הזה, כדאי לעיין בהגדרות התצורה במדריך הזה.
המאמרים הבאים
- כדי להגביל את השימוש בתכונות של VPC משותף, כמו הפניה לשירותים בין פרויקטים, בפרויקט שלכם, אתם יכולים להשתמש באילוצים על מדיניות הארגון עבור Cloud Load Balancing.
- איך פותרים בעיות במאזן עומסים של אפליקציות (ALB) חיצוני ברמה הגלובלית
- פינוי הגדרות של איזון עומסים