במסמך הזה מפורטות הוראות להגדרה של מאזן עומסי רשת קלאסי בשרת proxy עם שרתי קצה של SSL proxy וקבוצות של מכונות וירטואליות (VM) בעורף. לפני שמתחילים, כדאי לקרוא את המאמר סקירה כללית על מאזן עומסי רשת חיצוני לשרת proxy כדי לקבל מידע על אופן הפעולה של מאזני העומסים האלה.
סקירה כללית של ההגדרה
בדוגמה הזו מוסבר איך להגדיר מאזן עומסי רשת חיצוני בשרת proxy לשירות שקיים בשני אזורים: אזור א' ואזור ב'. תגדירו את הפרטים הבאים:
- ארבעה מופעים שמתפרסים על פני שני אזורים
- קבוצות של מופעים להחזקת המופעים
- רכיבי קצה עורפי, כולל:
- בדיקת תקינות – משמשת למעקב אחר תקינות המופע
- שירות קצה עורפי – עוקב אחרי קבוצות של מופעי מכונה ומונע מהן לחרוג מהשימוש שהוגדר
- שרתי קצה עורפיים – מכילים את קבוצות המופעים
- רכיבי קצה קדמי, שכוללים את הרכיבים הבאים:
- משאב של אישור SSL. אתם יכולים להשתמש באישור בניהול עצמי, שבו אתם מספקים אישור SSL משלכם, או באישור בניהול Google, שבו Google מנפיקה אישור שתקף לכל הדומיינים שלכם. מידע נוסף זמין במאמר בנושא סוגים של אישורי SSL.
- ה-SSL proxy עצמו עם אישור ה-SSL שלו
- כתובת IPv4 חיצונית סטטית וכלל העברה ששולח את תנועת המשתמשים לשרת ה-proxy
- כתובת IPv6 חיצונית סטטית וכלל העברה ששולח את תנועת המשתמשים לשרת ה-proxy
- כלל חומת אש שמאפשר תעבורת נתונים ממאזן העומסים ומבודק תקינות המופעים אל המופעים.
- אפשר גם להגדיר מדיניות SSL כדי לשלוט בתכונות של SSL שמאזן העומסים של פרוקסי SSL מנהל משא ומתן לגביהן עם לקוחות.
אחרי כן, תבדקו את ההגדרה.
הרשאות
כדי לפעול לפי המדריך הזה, אתם צריכים להיות מסוגלים ליצור מופעים ולשנות רשת בפרויקט. כדי לבצע את הפעולה הזו, אתם צריכים להיות בעלים או בעלי הרשאת עריכה בפרויקט, או שיהיו לכם את כל תפקידי ה-IAM הבאים ב-Compute Engine:
| משימה | התפקיד הנדרש |
|---|---|
| יצירת רשתות, רשתות משנה ורכיבים של מאזן עומסים | אדמין רשתות |
| הוספה והסרה של כללים לחומת האש | אדמין לענייני אבטחה |
| יצירת מופעים | אדמין מכונות של Compute |
מידע נוסף זמין במדריכים הבאים:
הגדרת הרשתות ורשתות המשנה
כדי ליצור את הרשת ואת רשת המשנה לדוגמה, פועלים לפי השלבים הבאים.
המסוף
נכנסים לדף VPC networks במסוף Google Cloud .
לוחצים על יצירת רשת VPC.
מזינים שם לרשת.
בוחרים באפשרות Custom בשביל Subnet creation mode.
בקטע New subnet (רשת משנה חדשה), מציינים את פרמטרי ההגדרה הבאים של רשת משנה:
- בשדה Name, מציינים שם לרשת המשנה.
- בשדה Region, מזינים שם לאזור.
- בשביל IP stack type, בוחרים באפשרות IPv4 (single-stack).
- בשדה טווח כתובות IP, מזינים טווח של כתובות IP. זהו טווח ה-IPv4 הראשי של רשת המשנה.
לוחצים על סיום.
כדי להוסיף רשת משנה באזור אחר, לוחצים על הוספת רשת משנה וחוזרים על השלבים הקודמים.
לוחצים על יצירה.
gcloud
gcloud compute networks subnets update SUBNET \
--network=NETWORK \
--stack-type=IPV4_ONLY \
--range=10.1.2.0/24 \
--region=REGION_A
מחליפים את מה שכתוב בשדות הבאים:
NETWORK: שם לרשת ה-VPC
SUBNET: שם לרשת המשנה
REGION_A: שם האזור
הגדרת מכונות וקבוצות של מכונות
בקטע הזה מוסבר איך ליצור מופעים וקבוצות של מופעים, ואז להוסיף את המופעים לקבוצות של המופעים. במערכת ייצור בדרך כלל משתמשים בקבוצות מופעי מכונה מנוהלים שמבוססות על תבניות של הגדרות מכונה, אבל ההגדרה הזו מהירה יותר לבדיקה ראשונית.
יצירת מופעים
יוצרים את המקרים האלה עם התג ssl-lb, שבו ישתמש הכלל בחומת האש בהמשך.
המסוף
יצירת מופעים
נכנסים לדף VM instances במסוף Google Cloud .
לוחצים על Create instance.
מגדירים את Name לערך
vm-a1.מגדירים את Zone לערך ZONE_A.
לוחצים על אפשרויות מתקדמות.
לוחצים על Networking (רשת) ומגדירים את השדה הבא:
- בשדה Network tags (תגי רשת), מזינים את הערכים
ssl-lbו-allow-health-check-ipv6.
- בשדה Network tags (תגי רשת), מזינים את הערכים
בקטע Network interfaces, לוחצים על Edit ומבצעים את השינויים הבאים:
- בוחרים את הרשת.
בוחרים רשת משנה.
לוחצים על סיום.
לוחצים על ניהול. מזינים את הסקריפט הבא בשדה סקריפט לטעינה בזמן ההפעלה.
sudo apt-get update sudo apt-get install apache2 -y sudo a2ensite default-ssl sudo a2enmod ssl sudo service apache2 restart echo '<!doctype html><html><body><h1>vm-a1</h1></body></html>' | sudo tee /var/www/html/index.html
משאירים את ערכי ברירת המחדל בשאר השדות.
לוחצים על יצירה.
יוצרים את
vm-a2עם אותן הגדרות, אבל עם סקריפט לטעינה בזמן ההפעלה שמוגדר כך:sudo apt-get update sudo apt-get install apache2 -y sudo a2ensite default-ssl sudo a2enmod ssl sudo service apache2 restart echo '<!doctype html><html><body><h1>vm-a2</h1></body></html>' | sudo tee /var/www/html/index.html
יוצרים את
vm-b1עם אותן הגדרות, למעט Zone שמוגדר ל-ZONE_BוStartup script שמוגדר לסקריפט לטעינה בזמן ההפעלה הבא:sudo apt-get update sudo apt-get install apache2 -y sudo a2ensite default-ssl sudo a2enmod ssl sudo service apache2 restart echo '<!doctype html><html><body><h1>vm-b1</h1></body></html>' | sudo tee /var/www/html/index.html
יוצרים את
vm-b2עם אותן הגדרות, למעט Zone שמוגדר ל-ZONE_BוStartup script שמוגדר לסקריפט לטעינה בזמן ההפעלה הבא:sudo apt-get update sudo apt-get install apache2 -y sudo a2ensite default-ssl sudo a2enmod ssl sudo service apache2 restart echo '<!doctype html><html><body><h1>vm-b2</h1></body></html>' | sudo tee /var/www/html/index.html
gcloud
יצירת
vm-a1באזורZONE_A.gcloud compute instances create vm-a1 \ --image-family debian-12 \ --image-project debian-cloud \ --tags ssl-lb \ --zone ZONE_A \ --metadata startup-script="#! /bin/bash sudo apt-get update sudo apt-get install apache2 -y sudo a2ensite default-ssl sudo a2enmod ssl sudo service apache2 restart echo '<!doctype html><html><body><h1>vm-a1</h1></body></html>' | sudo tee /var/www/html/index.html EOF"יצירת
vm-a2באזורZONE_A.gcloud compute instances create vm-a2 \ --image-family=debian-12 \ --image-project=debian-cloud \ --tags=ssl-lb \ --zone=ZONE_A \ --metadata=startup-script="#! /bin/bash sudo apt-get update sudo apt-get install apache2 -y sudo a2ensite default-ssl sudo a2enmod ssl sudo service apache2 restart echo '<!doctype html><html><body><h1>vm-a2</h1></body></html>' | sudo tee /var/www/html/index.html EOF"יצירת
vm-b1באזורZONE_B.gcloud compute instances create vm-b1 \ --image-family=debian-12 \ --image-project=debian-cloud \ --tags=ssl-lb \ --zone=ZONE_B \ --metadata=startup-script="#! /bin/bash sudo apt-get update sudo apt-get install apache2 -y sudo a2ensite default-ssl sudo a2enmod ssl sudo service apache2 restart echo '<!doctype html><html><body><h1>vm-b1</h1></body></html>' | sudo tee /var/www/html/index.html EOF"יצירת
vm-b2באזורZONE_B.gcloud compute instances create vm-b2 \ --image-family=debian-12 \ --image-project=debian-cloud \ --tags=ssl-lb \ --zone=ZONE_B \ --metadata=startup-script="#! /bin/bash sudo apt-get update sudo apt-get install apache2 -y sudo a2ensite default-ssl sudo a2enmod ssl sudo service apache2 restart echo '<!doctype html><html><body><h1>vm-b2</h1></body></html>' | sudo tee /var/www/html/index.html EOF"
יצירת קבוצת מופעים לכל אזור והוספת מופעים
המסוף
נכנסים לדף Instance groups במסוף Google Cloud .
לוחצים על יצירת קבוצת מופעים.
מגדירים את Name לערך
instance-group-a.מגדירים את Zone לערך
ZONE_A.בקטע מיפוי יציאות, לוחצים על הוספת יציאה. מאזן עומסים שולח תנועה לקבוצת מופעים דרך יציאה עם שם. יוצרים יציאה עם שם כדי למפות את התנועה הנכנסת למספר יציאה ספציפי.
- מזינים שם יציאה של
ssl-lbומספרי יציאות של443.
- מזינים שם יציאה של
בקטע Instance definition, לוחצים על Select existing instances.
בקטע VM instances, בוחרים באפשרות
vm-a1ואז באפשרותvm-a2.לא משנים הגדרות אחרות.
לוחצים על יצירה.
חוזרים על השלבים, אבל מגדירים את הערכים הבאים:
- Name (שם):
instance-group-b - Zone (תחום):
ZONE_B - שם היציאה של
ssl-lbומספרי היציאות של443 - Instances: vm-b1 and vm-b2.
- Name (שם):
מוודאים שיש עכשיו שתי קבוצות של מכונות, שבכל אחת מהן יש שתי מכונות.
gcloud
יוצרים את קבוצת המכונות instance-group-a.
gcloud compute instance-groups unmanaged create instance-group-a --zone ZONE_A
מגדירים יציאה עם שם לקבוצת המכונות.
gcloud compute instance-groups set-named-ports instance-group-a \ --named-ports=ssl-lb:443 \ --zone=ZONE_Aהוספה של
vm-a1ושלvm-a2לקבוצת המופעים instance-group-agcloud compute instance-groups unmanaged add-instances instance-group-a \ --instances=vm-a1,vm-a2 \ --zone=ZONE_Aיוצרים את קבוצת המכונות
instance-group-b.gcloud compute instance-groups unmanaged create instance-group-b --zone ZONE_B
מגדירים יציאה עם שם לקבוצת המכונות.
gcloud compute instance-groups set-named-ports instance-group-b \ --named-ports=ssl-lb:443 \ --zone=ZONE_Bהוספה של
vm-b1ושלvm-b2לקבוצת המופעים instance-group-bgcloud compute instance-groups unmanaged add-instances instance-group-b \ --instances=vm-b1,vm-b2 \ --zone=ZONE_B
עכשיו יש לכם קבוצת מופעים בכל אחד משני אזורים, ולכל קבוצה שני מופעים.
יצירת כלל לחומת האש עבור מאזן העומסים של SSL
מגדירים את חומת האש כך שתאפשר תעבורת נתונים ממאזן העומסים ומכלי הבדיקה של תקינות המכונות אל המכונות.
המסוף
נכנסים לדף Firewall policies במסוף Google Cloud .
לוחצים על יצירת כלל לחומת האש.
בשדה שם מזינים
allow-ssl-lb-and-health.בוחרים את הרשת.
בקטע יעדים, בוחרים באפשרות תגי יעד ספציפיים.
מגדירים את Target tags ל-
ssl-lb.מגדירים את Source filter בתור IPv4 ranges.
מגדירים את Source IPv4 ranges (טווחים של כתובות IPv4 של המקור) ל-
130.211.0.0/22ול-35.191.0.0/16.בקטע פרוטוקולים ויציאות, מגדירים את פרוטוקולים ויציאות שצוינו לערך
tcp:443.לוחצים על יצירה.
gcloud
gcloud compute firewall-rules create allow-ssl-lb-and-health \ --source-ranges=130.211.0.0/22,35.191.0.0/16 \ --target-tags=ssl-lb \ --allow=tcp:443
אם אתם משתמשים באישור ש-Google מנהלת, ודאו שהסטטוס של משאב האישור הוא ACTIVE. מידע נוסף זמין במאמר סטטוס של משאב אישור SSL בניהול Google.
gcloud compute ssl-certificates list
הגדרת מאזן העומסים
המסוף
התחלת ההגדרה
נכנסים לדף Load balancing במסוף Google Cloud .
- לוחצים על Create load balancer (יצירת מאזן עומסים).
- בקטע Type of load balancer (סוג מאזן העומסים), בוחרים באפשרות Network Load Balancer (TCP/UDP/SSL) (מאזן עומסים ברשת (TCP/UDP/SSL)) ולוחצים על Next (הבא).
- בקטע Proxy or passthrough (פרוקסי או העברה), בוחרים באפשרות Proxy load balancer (מאזן עומסים של פרוקסי) ולוחצים על Next (הבא).
- בקטע Public facing or internal (פנימי או חיצוני), בוחרים באפשרות Public facing (external) (חיצוני) ולוחצים על Next (הבא).
- לפריסה גלובלית או פריסה באזור יחיד, בוחרים באפשרות הכי מתאים לעומסי עבודה גלובליים ולוחצים על הבא.
- בקטע Load balancer generation (דור מאזן העומסים), בוחרים באפשרות Classic proxy Network Load Balancer (מאזן עומסי רשת קלאסי בשרת proxy) ולוחצים על Next (הבא).
- לוחצים על Configure (הגדרה).
הגדרה בסיסית
מגדירים את Name לערך my-ssl-lb.
Backend configuration
- לוחצים על Backend configuration.
- ברשימה Backend type (סוג ה-Backend), בוחרים באפשרות Instance groups (קבוצות של מכונות).
- ברשימה Protocol בוחרים באפשרות SSL.
- בשדה Named port, מזינים
ssl-lb. - מאשרים את ערך ברירת המחדל של Timeout.
- מגדירים את בדיקת התקינות:
- ברשימה בדיקת תקינות, בוחרים באפשרות יצירת בדיקת תקינות.
- בשדה שם מזינים
my-ssl-health-check. - ברשימה Protocol בוחרים באפשרות SSL.
- משאירים את שאר ערכי ברירת המחדל.
- לוחצים על יצירה.
- מגדירים את הקצה העורפי הראשון:
- בקטע New backend (עורף חדש), בוחרים בקבוצת מכונות
instance-group-a. - מגדירים את ניוד מספרים ל-
443. - משאירים את שאר ערכי ברירת המחדל.
- בקטע New backend (עורף חדש), בוחרים בקבוצת מכונות
- מגדירים את הקצה העורפי השני:
- לוחצים על הוספת קצה עורפי.
- בוחרים קבוצת מכונות
instance-group-b. - מגדירים את ניוד מספרים ל-
443. - לוחצים על סיום.
- במסוף Google Cloud , מוודאים שיש סימן וי ליד Backend configuration. אם לא, צריך לוודא שהשלמתם את כל השלבים.
Frontend configuration
- לוחצים על Frontend configuration.
- מזינים שם של
my-ssl-lb-forwarding-rule. - בקטע Protocol, בוחרים באפשרות SSL.
- בקטע כתובת IP, בוחרים באפשרות יצירת כתובת IP:
- מזינים שם של
ssl-lb-static-ipv4. - לוחצים על Reserve.
- מזינים שם של
- בקטע Certificate, בוחרים באפשרות Create a new certificate.
- מזינים שם של
my-ssl-cert. - אם בוחרים באפשרות העלאת האישור שלי, מבצעים את השלבים הבאים:
- מדביקים את האישור או לוחצים על העלאה כדי לנווט אל קובץ האישור.
- מדביקים את המפתח הפרטי או לוחצים על העלאה כדי לנווט לקובץ המפתח הפרטי.
- אם בוחרים באפשרות Create Google managed certificate, מזינים Domain.
- כדי להזין דומיינים נוספים, לוחצים על הוספת דומיין.
- לוחצים על יצירה.
- כדי להוסיף משאבי אישורים בנוסף למשאב אישור ה-SSL הראשי, לוחצים על אישורים נוספים. אחר כך בוחרים אישור אחר מהתפריט Certificates או לוחצים על Create a new certificate ופועלים לפי ההוראות שלמעלה.
- (אופציונלי) כדי ליצור מדיניות SSL:
- בקטע SSL policy (מדיניות SSL), בוחרים באפשרות Create a policy (יצירת מדיניות).
- מזינים שם של
my-ssl-policy. - ב-Minimum TLS Version, בוחרים באפשרות TLS 1.0.
- בשדה פרופיל, בוחרים באפשרות מודרני. מוצגות האפשרויות תכונות מופעלות ותכונות מושבתות.
- לוחצים על Save.
- אופציונלי: מפעילים את האפשרות פרוטוקול שרת proxy.
- לוחצים על סיום.
- לוחצים על Add frontend IP and port.
- מזינים שם של
my-ssl-lb-ipv6-forwarding-rule. - מגדירים את IP version ל-
IPv6. - בקטע כתובת IP, לוחצים על יצירת כתובת IP.
- מזינים שם של
ssl-lb-static-ipv6. - לוחצים על Reserve.
- מזינים שם של
- בקטע אישור, בוחרים באפשרות
my-ssl-cert. - כדי להוסיף משאבי אישורים בנוסף למשאב אישור ה-SSL הראשי, בוחרים אישור מהרשימה Certificates או לוחצים על Create a new certificate.
- אופציונלי: משתמשים במדיניות SSL או מפעילים את פרוטוקול ה-Proxy.
- לוחצים על סיום.
- מוודאים שמופיע סימן וי ירוק ליד Frontend configuration במסוף Google Cloud . אם לא, בודקים שוב שביצעתם את כל השלבים הקודמים.
- לוחצים על סיום.
- כדי להוסיף את כלל ההעברה הראשון:
- מוסיפים את כלל ההעברה השני:
בדיקה וסיום
- לוחצים על Review and finalize.
- בודקים את הגדרות ההגדרה של מאזן העומסים.
- אופציונלי: לוחצים על Equivalent code כדי לראות את בקשת ה-API בארכיטקטורת REST שתשמש ליצירת מאזן העומסים.
- לוחצים על יצירה.
gcloud
- יצירת בדיקת תקינות.
gcloud compute health-checks create ssl my-ssl-health-check --port=443
- יוצרים שירות לקצה העורפי.
gcloud compute backend-services create my-ssl-lb \ --load-balancing-scheme EXTERNAL \ --global-health-checks \ --protocol=SSL \ --port-name=ssl-lb \ --health-checks=my-ssl-health-check \ --timeout=5m \ --globalלחלופין, אפשר להגדיר תקשורת לא מוצפנת ממאזן העומסים למופעים באמצעות
--protocol=TCP. - מוסיפים קבוצות של מכונות וירטואליות לשירות הקצה העורפי.
gcloud compute backend-services add-backend my-ssl-lb \ --instance-group=instance-group-a \ --instance-group-zone=ZONE_A \ --balancing-mode=UTILIZATION \ --max-utilization=0.8 \ --globalgcloud compute backend-services add-backend my-ssl-lb \ --instance-group=instance-group-b \ --instance-group-zone=ZONE_B \ --balancing-mode=UTILIZATION \ --max-utilization=0.8 \ --global - מגדירים את משאב אישור ה-SSL.
אם אתם משתמשים באישור בניהול עצמי, אתם צריכים להעלות לפחות אישור SSL אחד. אם לא, אפשר לעיין בסקירה הכללית על אישורי SSL. כשמשתמשים בכמה אישורי SSL, צריך ליצור אותם אחד בכל פעם.
אם אתם משתמשים באישורי SSL בניהול עצמי ואין לכם מפתח פרטי ואישור חתום, אתם יכולים ליצור ולהשתמש באישור בחתימה עצמית למטרות בדיקה.
כדי ליצור משאב של אישור SSL בניהול עצמי:
gcloud compute ssl-certificates create my-ssl-cert \ --certificate=CRT_FILE_PATH \ --private-key=KEY_FILE_PATHכדי ליצור משאב של אישור SSL בניהול Google:
gcloud compute ssl-certificates create www-ssl-cert \ --domains=DOMAIN_1,DOMAIN_2 - מגדירים שרת proxy של SSL ביעד.
מאזני עומסים חיצוניים לשרת proxy תומכים ביצירת שרת proxy של SSL עם אישורי SSL אחד עד חמישה עשר. לפני שמריצים את הפקודה הזו, צריך ליצור משאב של אישור SSL לכל אישור.
אם רוצים להפעיל את כותרת ה-proxy, צריך להגדיר אותה ל-
PROXY_V1במקום ל-none. אפשר גם לצרף מדיניות SSL לשרת ה-proxy של היעד. קודם יוצרים את המדיניות.gcloud compute ssl-policies create my-ssl-policy \ --profile=MODERN \ --min-tls-version=1.0לאחר מכן, מצרפים את המדיניות לשרת ה-proxy של היעד.
gcloud compute target-ssl-proxies create my-ssl-lb-target-proxy \ --backend-service=my-ssl-lb \ --ssl-certificates=[SSL_CERT_1][,[SSL_CERT_2],...] \ --ssl-policy=my-ssl-policy \ --proxy-header=NONE - שמירת כתובות IP סטטיות גלובליות.
הלקוחות שלכם משתמשים בכתובות ה-IP האלה כדי לגשת לשירות שלכם שמתבצע בו איזון עומסים.
gcloud compute addresses create ssl-lb-static-ipv4 \ --ip-version=IPV4 \ --globalgcloud compute addresses create ssl-lb-static-ipv6 \ --ip-version=IPV6 \ --global - הגדרת כללי העברה גלובליים.
יוצרים כללי העברה גלובליים שמשויכים לשרת ה-Proxy של היעד. מחליפים את LB_STATIC_IP ואת LB_STATIC_IPV6 בכתובות ה-IP שיצרתם בשלב שמירת כתובות IP סטטיות גלובליות.
gcloud compute forwarding-rules create my-ssl-lb-forwarding-rule \ --load-balancing-scheme EXTERNAL \ --global \ --target-ssl-proxy=my-ssl-lb-target-proxy \ --address=LB_STATIC_IP \ --ports=443gcloud compute forwarding-rules create my-ssl-lb-ipv6-forwarding-rule \ --load-balancing-scheme EXTERNAL \ --global \ --target-ssl-proxy=my-ssl-lb-target-proxy \ --address=LB_STATIC_IPV6 \ --ports=443
חיבור הדומיין למאזן העומסים
אחרי שיוצרים את מאזן העומסים, רושמים את כתובת ה-IP שמשויכת למאזן העומסים – לדוגמה, 30.90.80.100. כדי להפנות את הדומיין למאזן העומסים, צריך ליצור רשומת A באמצעות שירות הרישום של הדומיין. אם הוספתם מספר דומיינים לאישור ה-SSL, צריך להוסיף רשומת A לכל אחד מהם, כשכולם מפנים לכתובת ה-IP של מאזן העומסים. לדוגמה, כדי ליצור רשומות A בשביל www.example.com ובשביל example.com, משתמשים בפקודה הבאה:
NAME TYPE DATA www A 30.90.80.100 @ A 30.90.80.100
אם אתם משתמשים ב-Cloud DNS כספק ה-DNS, תוכלו לעיין במאמר בנושא הוספה, שינוי ומחיקה של רשומות.
בדיקת מאזן העומסים
בדפדפן האינטרנט, מתחברים לכתובת ה-IP הסטטית באמצעות HTTPS. בהגדרת הבדיקה הזו, המופעים משתמשים באישורים עם חתימה עצמית. לכן, בפעם הראשונה שתגשו לדף, תוצג אזהרה בדפדפן. לוחצים על האזהרה כדי לראות את הדף בפועל. מחליפים את IP_ADDRESS בכתובת IPv4 או IPv6 שיצרתם קודם.
https://IP_ADDRESS
אחד המנחים מהאזור הקרוב אליכם אמור להופיע. טוענים מחדש את הדף עד שמופיע המופע השני באזור הזה. כדי לראות מכונות מאזור אחר, צריך לעצור את המכונות באזור הקרוב ביותר.
אפשר גם להשתמש בפקודה curl משורת הפקודה במחשב המקומי.
אם אתם משתמשים באישור בחתימה עצמית בשרת ה-proxy של SSL, אתם צריכים לציין גם את -k. האפשרות curl -k מאפשרת ל-curl לפעול גם אם יש לכם אישור בחתימה עצמית או אם אין לכם אישור בכלל. אם יש לכם אישור רגיל, אתם יכולים להסיר את הפרמטר הזה. מומלץ להשתמש בפרמטר -k
רק כדי לבדוק את האתר שלכם. בנסיבות רגילות, אישור תקין הוא אמצעי אבטחה חשוב, ואסור להתעלם מאזהרות לגבי אישורים.
מחליפים את IP_ADDRESS בכתובת IPv4 או IPv6 שיצרתם קודם.
curl -k https://IP_ADDRESS
אם לא מצליחים להגיע למאזן העומסים, כדאי לנסות את השלבים שמתוארים במאמר רישום ביומן ומעקב של מאזן עומסי רשת פרוקסי כדי לבדוק את היומנים והמדדים של מאזן העומסים.
אפשרויות הגדרה נוספות
בקטע הזה אנחנו מרחיבים את דוגמת ההגדרה ומציגים אפשרויות הגדרה חלופיות ונוספות. כל המשימות הן אופציונליות. אפשר לבצע אותן בכל סדר.
פרוטוקול PROXY לשמירת פרטי החיבור של הלקוח
מאזן עומסי רשת של ה-proxy מסיים חיבורי TCP מהלקוח ויוצר חיבורים חדשים למופעים. כברירת מחדל, המידע המקורי על כתובת ה-IP והיציאה של הלקוח לא נשמר.
כדי לשמור את פרטי החיבור המקוריים ולשלוח אותם למופעים, צריך להפעיל את גרסה 1 של פרוטוקול PROXY. הפרוטוקול הזה שולח כותרת נוספת שמכילה את כתובת ה-IP של המקור, כתובת ה-IP של היעד ומספרי היציאות למופע כחלק מהבקשה.
מוודאים שהשרתים העורפיים (backend instance) של מאזן העומסים של ה-proxy פועלים בשרתים שתומכים בכותרות של פרוטוקול PROXY. אם השרתים לא מוגדרים לתמיכה בכותרות של פרוטוקול PROXY, המופעים העורפיים מחזירים תגובות ריקות.
אם הגדרתם את פרוטוקול ה-PROXY לתנועת משתמשים, אתם יכולים להגדיר אותו גם עבור בדיקות התקינות. אם אתם בודקים את התקינות ומציגים תוכן באותה יציאה, צריך להגדיר את --proxy-header של בדיקת התקינות כך שיתאים להגדרה של מאזן העומסים.
כותרת פרוטוקול ה-PROXY היא בדרך כלל שורה אחת של טקסט שקריא למשתמש בפורמט הבא:
PROXY TCP4 <client IP> <load balancing IP> <source port> <dest port>\r\n
בדוגמה הבאה מוצג פרוטוקול PROXY:
PROXY TCP4 192.0.2.1 198.51.100.1 15221 110\r\n
בדוגמה שלמעלה, כתובת ה-IP של הלקוח היא 192.0.2.1, כתובת ה-IP של איזון העומסים היא 198.51.100.1, יציאת הלקוח היא 15221 ויציאת היעד היא 110.
אם כתובת ה-IP של הלקוח לא ידועה, מאזן העומסים יוצר כותרת של פרוטוקול PROXY בפורמט הבא:
PROXY UNKNOWN\r\n
עדכון כותרת פרוטוקול ה-PROXY עבור שרת ה-proxy של היעד
ההגדרה לדוגמה של מאזן העומסים בדף הזה מראה איך להפעיל את כותרת פרוטוקול ה-PROXY בזמן יצירת מאזן עומסי הרשת של ה-proxy. כדי לשנות את הכותרת של פרוטוקול ה-PROXY עבור שרת proxy קיים ליעד, פועלים לפי השלבים הבאים.
המסוף
נכנסים לדף Load balancing במסוף Google Cloud .
- לוחצים על Edit (עריכה) ליד מאזן העומסים.
- לוחצים על Frontend configuration.
- משנים את הערך של השדה Proxy protocol (פרוטוקול שרת Proxy) ל-On (מופעל).
- לוחצים על עדכון כדי לשמור את השינויים.
gcloud
בפקודה הבאה, עורכים את השדה --proxy-header ומגדירים אותו לערך NONE או PROXY_V1, בהתאם לדרישה.
gcloud compute target-ssl-proxies update TARGET_PROXY_NAME \
--proxy-header=[NONE | PROXY_V1]
הגדרת זיקה לסשן
בקטעים הבאים מוסבר איך לעדכן שירות לקצה העורפי עבור איזון עומסים לדוגמה בשרת proxy של SSL, כך ששירות לקצה העורפי ישתמש בזיקה לכתובת IP של לקוח.
כשמופעלת זיקה לכתובת IP של לקוח, מאזן העומסים (LB) מפנה את הבקשות של לקוח מסוים לאותה מכונה וירטואלית בעורף, על סמך ערך hash שנוצר מכתובת ה-IP של הלקוח ומכתובת ה-IP של מאזן העומסים (כתובת ה-IP החיצונית של כלל העברה חיצוני).
המסוף
כדי להפעיל זיקה לסשן לפי כתובת IP של לקוח:
נכנסים לדף Load balancing במסוף Google Cloud .
לוחצים על Backends.
לוחצים על my-ssl-lb (השם של שירות לקצה העורפי שיצרתם בדוגמה הזו) ואז על עריכה.
בדף פרטי שירות לקצה העורפי, לוחצים על הגדרות מתקדמות.
בקטע Session affinity, בוחרים באפשרות Client IP מהתפריט.
לוחצים על עדכון.
gcloud
משתמשים בפקודה הבאה כדי לעדכן את שירות הקצה העורפי my-ssl-lb, ומציינים את זיקת הסשן של כתובת ה-IP של הלקוח:
gcloud compute backend-services update my-ssl-lb \
--global \
--session-affinity=CLIENT_IP
API
כדי להגדיר זיקה לסשן (session affinity) של כתובת IP של לקוח, שולחים בקשת PATCH אל ה-method backendServices/patch.
PATCH https://www.googleapis.com/compute/v1/projects/[PROJECT_ID]/global/us-west1/backendServices/my-ssl-lb
{
"sessionAffinity": "CLIENT_IP"
}
הפעלת זמן להשלמת תהליך (connection draining)
אתם יכולים להפעיל זמן להשלמת תהליך (connection draining) בשירותי קצה עורפי כדי להבטיח הפרעה מינימלית למשתמשים כשמופסקת פעילות של מופע שמשרת תעבורה, כשמסירים אותו באופן ידני או כשמסירים אותו באמצעות מידרוג אוטומטי. מידע נוסף על זמן להשלמת תהליך (connection draining) זמין במאמרי עזרה בנושא הפעלת זמן להשלמת תהליך (connection draining).
המאמרים הבאים
- במאמר רישום ביומן ומעקב אחרי מאזן עומסי רשת חיצוני בשרת proxy מוסבר איך מתבצע מעקב אחרי מאזני עומסי רשת חיצוניים בשרת proxy.
- במאמר סקירה כללית על מדיניות SSL מוסבר איך מדיניות SSL פועלת.
- מידע על הגדרת מדיניות SSL מופיע במאמר שימוש במדיניות SSL.