למושגים כלליים, ראו סקירה כללית על מאזן עומסים חיצוני של אפליקציות.
אם אתם משתמשים קיימים במאזן העומסים הקלאסי של אפליקציות (ALB), הקפידו לעיין בסקירה הכללית של ההעברה כשאתם מתכננים פריסה חדשה באמצעות מאזן העומסים החיצוני הגלובלי של אפליקציות (ALB).
לחצו על תראו לי איך כדי לקרוא הסבר מפורט על המשימה ישירות במסוף Google Cloud :
טופולוגיות של מאזני עומסים
במאזן עומסים ב-HTTPS, יוצרים את התצורה שמוצגת בתרשים הבא.
למאזן עומסים של HTTP, יוצרים את ההגדרה שמוצגת בתרשים הבא.
רצף האירועים בתרשימים הוא כדלקמן:
- לקוח שולח בקשת תוכן לכתובת IPv4 חיצונית שמוגדרת בכלל ההעברה.
במאזן עומסים מסוג HTTPS, כלל ההעברה מפנה את הבקשה אל יעד ה-HTTPS proxy.
במאזן עומסים מסוג HTTP, כלל ההעברה מפנה את הבקשה אל ה-proxy של HTTP ליעד.
ה-proxy של היעד משתמש בכלל במיפוי כתובות ה-URL כדי לקבוע שכל הבקשות מגיעות לשירות קצה עורפי יחיד.
מאזן העומסים קובע שלשירות הקצה העורפי יש רק קבוצת מכונות אחת, ומפנה את הבקשה למכונה וירטואלית (VM) בקבוצה הזו.
המכונה הווירטואלית מציגה את התוכן שהמשתמש ביקש.
לפני שמתחילים
לפני שיוצרים את מאזן העומסים, צריך לבצע את השלבים הבאים.
הגדרת משאב של אישור SSL
במאזן עומסים ב-HTTPS, יוצרים משאב של אישור SSL כמו שמתואר במאמרים הבאים:
מומלץ להשתמש באישור שמנוהל על ידי Google.
בדוגמה הזו מניחים שכבר יש לכם משאב של אישור SSL בשם www-ssl-cert.
הגדרת ההרשאות
כדי להשלים את השלבים במדריך הזה, אתם צריכים הרשאה ליצור מכונות של Compute Engine, כללי חומת אש וכתובות IP שמורות בפרויקט. צריכה להיות לכם הרשאת בעלים או הרשאת עריכה בפרויקט, או הרשאות IAM של Compute Engine.
| משימה | התפקיד הנדרש |
|---|---|
| יצירת מופעים | אדמין של מכונה |
| הוספה והסרה של כללים לחומת האש | אדמין לענייני אבטחה |
| יצירת רכיבים של מאזן עומסים | אדמין רשתות |
| יצירת פרויקט (אופציונלי) | יצירת פרויקטים |
מידע נוסף זמין במדריכים הבאים:
אופציונלי: שימוש בכתובות BYOIP
באמצעות העברת כתובות IP משלכם (BYOIP), אתם יכולים לייבא כתובות ציבוריות משלכם אלGoogle Cloud כדי להשתמש בכתובות עם משאבי Google Cloud . לדוגמה, אם מייבאים כתובות IPv4 משלכם, אפשר להקצות אחת מהן לכלל ההעברה כשמגדירים את מאזן העומסים. כשפועלים לפי ההוראות במאמר הזה כדי להגדיר את מאזן העומסים, צריך לספק את כתובת ה-IP של BYOIP בתור כתובת ה-IP.
מידע נוסף על השימוש ב-BYOIP זמין במאמר בנושא העברת כתובות IP משלכם.
הגדרת הרשתות ורשתות המשנה
כדי ליצור את הרשת ואת רשת המשנה לדוגמה, פועלים לפי השלבים הבאים.
המסוף
כדי לתמוך בתנועה מסוג IPv4 ו-IPv6, פועלים לפי השלבים הבאים:
נכנסים לדף VPC networks במסוף Google Cloud .
לוחצים על יצירת רשת VPC.
מזינים שם לרשת.
אופציונלי: אם רוצים להגדיר טווחי כתובות IPv6 פנימיים ברשתות משנה ברשת הזו, מבצעים את השלבים הבאים:
- בשדה VPC network ULA internal IPv6 range (טווח IPv6 פנימי של ULA ברשת VPC), בוחרים באפשרות Enabled (מופעל).
בקטע הקצאת טווח פנימי של IPv6, בוחרים באפשרות אוטומטית או ידנית.
אם בוחרים באפשרות Manually, צריך להזין טווח של
/48מתוך הטווחfd20::/20. אם הטווח נמצא בשימוש, תתבקשו לספק טווח אחר.
בקטע Subnet creation mode (מצב יצירת רשת משנה), בוחרים באפשרות Custom (בהתאמה אישית).
בקטע New subnet (רשת משנה חדשה), מגדירים את השדות הבאים:
- בשדה Name, מציינים שם לרשת המשנה.
- בשדה אזור, בוחרים אזור.
- בשביל IP stack type, בוחרים באפשרות IPv4 and IPv6 (dual-stack).
בשדה טווח כתובות IP, מזינים טווח של כתובות IP. זהו טווח ה-IPv4 הראשי של רשת המשנה.
אפשר להגדיר טווח כתובות IPv4 עבור רשת המשנה, אבל אי אפשר לבחור את טווח כתובות ה-IPv6 עבור רשת המשנה. Google מספקת בלוק CIDR של IPv6 בגודל קבוע (
/64).בשדה IPv6 access type, בוחרים באפשרות External.
לוחצים על סיום.
לוחצים על יצירה.
כדי לתמוך בתנועת נתונים ב-IPv4 בלבד, פועלים לפי השלבים הבאים:
נכנסים לדף VPC networks במסוף Google Cloud .
לוחצים על יצירת רשת VPC.
בשדה Name, מזינים שם לרשת.
בקטע Subnet creation mode (מצב יצירת רשת משנה), בוחרים באפשרות Custom (בהתאמה אישית).
בקטע New subnet (רשת משנה חדשה), מגדירים את האפשרויות הבאות:
- בשדה Name, מציינים שם לרשת המשנה.
- בשדה אזור, בוחרים אזור.
- בשביל IP stack type, בוחרים באפשרות IPv4 (single-stack).
- בשדה טווח כתובות IP, מזינים את טווח כתובות ה-IPv4 הראשי של רשת המשנה.
לוחצים על סיום.
לוחצים על יצירה.
gcloud
יוצרים את רשת ה-VPC במצב בהתאמה אישית:
gcloud compute networks create NETWORK \ --subnet-mode=customברשת, יוצרים רשת משנה לשרתי קצה עורפיים.
כדי לעדכן רשת משנה בשביל תנועת IPv4 ו-IPv6, משתמשים בפקודה הבאה:
gcloud compute networks subnets create SUBNET \ --stack-type=IPV4_IPV6 \ --ipv6-access-type=EXTERNAL \ --network=NETWORK \ --range=IPV4_RANGE \ --region=REGION_A
כדי להגדיר תנועת IPv4 בלבד, משתמשים בפקודה הבאה:
gcloud compute networks subnets create SUBNET \ --network=NETWORK \ --stack-type=IPV4_ONLY \ --range=IPV4_RANGE \ --region=REGION_A
מחליפים את מה שכתוב בשדות הבאים:
NETWORK: שם לרשת ה-VPC
IPV4_RANGE: טווח ה-IPv4 הראשי של תת-הרשת החדשה, בסימון CIDR. לדוגמה,10.1.2.0/24.
SUBNET: שם לרשת המשנה
-
REGION_A: שם האזור
יצירת קבוצות של מופעי מכונה מנוהלים
כדי להגדיר מאזן עומסים עם קצה עורפי של Compute Engine, המכונות הווירטואליות צריכות להיות בקבוצת מכונות. במדריך הזה מוסבר איך ליצור קבוצת מופעים מנוהלת עם מכונות וירטואליות של Linux שמופעל בהן Apache, ואז להגדיר איזון עומסים. קבוצת מופעי מכונה מנוהלים יוצרת כל אחד מהמופעים המנוהלים שלה על סמך תבניות המופעים שאתם מציינים.
קבוצת המופעים המנוהלת מספקת מכונות וירטואליות שמריצות את שרתי ה-Backend של מאזן עומסים חיצוני מסוג HTTP(S). למטרות הדגמה, שרתי קצה עורפיים מציגים את שמות המארחים שלהם.
לפני שיוצרים קבוצת מופעי מכונה מנוהלים, צריך ליצור תבנית של הגדרות מכונה.
המסוף
כדי לתמוך בתנועה מסוג IPv4 ו-IPv6, פועלים לפי השלבים הבאים:
נכנסים לדף Instance templates במסוף Google Cloud .
לוחצים על Create instance template.
בשדה Name (שם), מזינים
lb-backend-template.ברשימה Region, בוחרים אזור.
מוודאים שדיסק האתחול מוגדר לקובץ אימג' של Debian, כמו Debian GNU/Linux 10 (buster). בהוראות האלה נעשה שימוש בפקודות שזמינות רק ב-Debian, כמו
apt-get.מרחיבים את הקטע אפשרויות מתקדמות.
מרחיבים את האפשרות Networking ומגדירים את השדות הבאים:
- בקטע תגי רשת, מזינים
allow-health-check,allow-health-check-ipv6. - בקטע Network interfaces, לוחצים על Edit. מגדירים את השדות הבאים:
- רשת:
NETWORK - Subnet:
SUBNET - סוג מחסנית IP: IPv4 ו-IPv6 (מחסנית כפולה)
- רשת:
- לוחצים על סיום
- בקטע תגי רשת, מזינים
מרחיבים את האפשרות Management. בשדה סקריפט לטעינה בזמן ההפעלה, מזינים את הסקריפט הבא:
#! /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
לוחצים על יצירה.
gcloud
כדי לתמוך בתנועה של IPv4 ו-IPv6, מריצים את הפקודה הבאה:
gcloud compute instance-templates create TEMPLATE_NAME \
--region=REGION \
--network=NETWORK \
--subnet=SUBNET \
--stack-type=IPv4_IPv6 \
--tags=allow-health-check,allow-health-check-ipv6 \
--image-family=debian-10 \
--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'
Terraform
כדי ליצור את תבנית של הגדרות מכונה, משתמשים במשאב google_compute_instance_template.
יוצרים את קבוצת מופעי המכונה המנוהלים ובוחרים את תבנית של הגדרות מכונה.
המסוף
נכנסים לדף Instance groups במסוף Google Cloud .
לוחצים על יצירת קבוצת מופעים.
בצד ימין, בוחרים באפשרות קבוצת מופעי מכונה מנוהלים חדשה (ללא שמירת מצב).
בשדה Name (שם), מזינים
lb-backend-example.בקטע מיקום, בוחרים באפשרות אזור יחיד.
בקטע Region (אזור), בוחרים את האזור המועדף.
בשדה Zone, בוחרים אזור.
בקטע תבנית של הגדרות מכונה, בוחרים את תבנית המכונה
lb-backend-template.בקטע מצב התאמה אוטומטית לעומס, בוחרים באפשרות מופעל: הוספה והסרה של מופעים לקבוצה.
מגדירים את מספר המופעים המינימלי ל-
2, ואת מספר המופעים המקסימלי ל-2או יותר.כדי ליצור את קבוצת המכונות החדשה, לוחצים על יצירה.
gcloud
יוצרים את קבוצת מופעי המכונה המנוהלים על סמך התבנית.
gcloud compute instance-groups managed create lb-backend-example \ --template=TEMPLATE_NAME --size=2 --zone=ZONE_A
Terraform
כדי ליצור את קבוצת מופעי מכונה מנוהלים, משתמשים בgoogle_compute_instance_group_manager
resource.
כדי ללמוד איך להחיל הגדרות ב-Terraform או להסיר אותן, ראו פקודות בסיסיות ב-Terraform.
הוספת יציאה עם שם לקבוצת המופעים
מגדירים שירות HTTP לקבוצת המופעים וממפים שם יציאה ליציאה הרלוונטית. שירות איזון העומסים מעביר את התנועה ליציאה שצוינה. מידע נוסף זמין במאמר יציאות עם שמות.
המסוף
נכנסים לדף Instance groups במסוף Google Cloud .
לוחצים על lb-backend-example.
בדף סקירה כללית של קבוצת המופעים, לוחצים על עריכה.
בקטע Port mapping (מיפוי יציאות), לוחצים על Add port (הוספת יציאה).
- בשדה של שם הניוד, מזינים
http. בשדה של מספר היציאה, מזינים80.
- בשדה של שם הניוד, מזינים
לוחצים על Save.
gcloud
משתמשים בפקודה gcloud compute instance-groups
set-named-ports.
gcloud compute instance-groups set-named-ports lb-backend-example \
--named-ports http:80 \
--zone ZONE_A
Terraform
המאפיין named_port כלול בדוגמה של קבוצת מופעי מכונה מנוהלים.
הגדרת כלל לחומת האש
בדוגמה הזו, יוצרים את כלל חומת האש fw-allow-health-check.
זהו כלל כניסה שמאפשר תנועה ממערכות בדיקת תקינות (130.211.0.0/22 ו-35.191.0.0/16). בדוגמה הזו נעשה שימוש בתג היעד allow-health-check כדי לזהות את המכונות הווירטואליות. Google Cloud
המסוף
נכנסים לדף Firewall policies במסוף Google Cloud .
לוחצים על יצירת כלל לחומת האש כדי ליצור את הכלל.
בשדה Name (שם), מזינים
fw-allow-health-check.בוחרים רשת.
בקטע יעדים, בוחרים באפשרות תגי יעד ספציפיים.
בשדה Target tags [תגי יעד] כותבים
allow-health-check.מגדירים את Source filter בתור IPv4 ranges.
מגדירים את Source IPv4 ranges (טווחים של כתובות IPv4 של המקור) ל-
130.211.0.0/22ול-35.191.0.0/16.בקטע Protocols and ports (פרוטוקולים ויציאות), בוחרים באפשרות Specified protocols and ports (פרוטוקולים ויציאות ספציפיים).
מסמנים את התיבה TCP ומקלידים
80בשדות של מספרי היציאות.לוחצים על יצירה.
gcloud
gcloud compute firewall-rules create fw-allow-health-check \
--network=NETWORK \
--action=allow \
--direction=ingress \
--source-ranges=130.211.0.0/22,35.191.0.0/16 \
--target-tags=allow-health-check \
--rules=tcp:80
Terraform
כדי ליצור את הכלל בחומת האש, משתמשים במשאב google_compute_firewall.
כדי ללמוד איך להחיל הגדרות ב-Terraform או להסיר אותן, ראו פקודות בסיסיות ב-Terraform.
יצירת כלל לחומת האש לבדיקת תקינות של IPv6
מוודאים שיש כלל תעבורה נכנסת (ingress) שחל על המופעים שמתבצע בהם איזון עומסים, ושמאפשר תעבורה ממערכות בדיקת תקינות (2600:2d00:1:b029::/64) של Google Cloud . בדוגמה הזו נעשה שימוש בתג היעד allow-health-check-ipv6 כדי לזהות את המופעים של המכונות הווירטואליות שעליהם הכלל חל.
בלי כלל חומת האש הזה, כלל הכניסה (ingress) שמשתמע ממנו דחייה חוסם תעבורת IPv6 נכנסת למופעי ה-Backend.
המסוף
נכנסים לדף Firewall policies במסוף Google Cloud .
כדי לאפשר תעבורה של רשת משנה ב-IPv6, לוחצים שוב על יצירת כלל חומת אש ומזינים את הפרטים הבאים:
- Name (שם):
fw-allow-lb-access-ipv6 - רשת:
NETWORK - עדיפות:
1000 - כיוון התנועה: תעבורת נתונים נכנסת (ingress)
- יעדים: תגי יעד שצוינו
- בשדה Target tags (תגי טרגוט), מזינים
allow-health-check-ipv6. - מסנן מקור: טווחים של IPv6
- טווחים של כתובות IPv6 של המקור:
2600:2d00:1:b029::/64,2600:2d00:1:1::/64 - פרוטוקולים ויציאות: אישור הכול
- Name (שם):
לוחצים על יצירה.
gcloud
כדי לאפשר תקשורת עם רשת המשנה, יוצרים את כלל חומת האש fw-allow-lb-access-ipv6:
gcloud compute firewall-rules create fw-allow-lb-access-ipv6 \ --network=NETWORK \ --action=allow \ --direction=ingress \ --target-tags=allow-health-check-ipv6 \ --source-ranges=2600:2d00:1:b029::/64,2600:2d00:1:1::/64 \ --rules=all
שמירת כתובת IP חיצונית
עכשיו, כשהמופעים פועלים, צריך להגדיר כתובת IP חיצונית סטטית גלובלית שהלקוחות משתמשים בה כדי להגיע למאזן העומסים.
המסוף
נכנסים לדף External IP addresses במסוף Google Cloud .
כדי לשמור כתובת IPv4, לוחצים על שמירת כתובת IP חיצונית סטטית.
בשדה Name (שם), מזינים
lb-ipv4-1.מגדירים את מסלול שירות הרשת בתור Premium.
מגדירים את IP version ל-IPv4.
מגדירים את Type (סוג) לערך Global (גלובלי).
לוחצים על Reserve.
gcloud
gcloud compute addresses create lb-ipv4-1 \
--ip-version=IPV4 \
--network-tier=PREMIUM \
--global
שימו לב לכתובת ה-IPv4 שהוקצתה:
gcloud compute addresses describe lb-ipv4-1 \
--format="get(address)" \
--global
Terraform
כדי לשמור את כתובת ה-IP, משתמשים במשאב google_compute_global_address.
כדי ללמוד איך להחיל הגדרות ב-Terraform או להסיר אותן, ראו פקודות בסיסיות ב-Terraform.
הגדרת מאזן העומסים
בדוגמה הזו, אתם משתמשים ב-HTTPS (קצה קדמי) בין הלקוח לבין מאזן העומסים (LB). כדי להשתמש ב-HTTPS, צריך להגדיר את ה-proxy באמצעות משאבי אישור SSL אחד או יותר. מומלץ להשתמש באישור שמנוהל על ידי Google.
גם אם אתם משתמשים ב-HTTPS בחלק החזיתי, אתם יכולים להשתמש ב-HTTP בחלק האחורי. Google מצפינה באופן אוטומטי את התעבורה בין ממשקי הקצה של Google (GFE) לבין שרתי הקצה העורפיים שנמצאים ברשתות Google Cloud VPC.
המסוף
בחירת סוג מאזן העומסים
נכנסים לדף 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 (הגדרה).
הגדרה בסיסית
בשדה Name של מאזן העומסים, מזינים שם כמו web-map-https או web-map-http.
Frontend configuration
- לוחצים על Frontend configuration.
- מגדירים את Protocol ל-HTTPS.
- בוחרים באפשרות
IPv4לתעבורת IPv4. מגדירים את IP address ל-lb-ipv4-1שיצרתם קודם. - מגדירים את Port לערך 443.
- לוחצים על אישור ובוחרים את אישור ה-SSL הראשי.
- אופציונלי: יוצרים מדיניות SSL:
- ברשימה SSL policy (מדיניות SSL), בוחרים באפשרות Create a policy (יצירת מדיניות).
- מגדירים את השם של מדיניות ה-SSL ל-
my-ssl-policy. - ב-Minimum TLS Version, בוחרים באפשרות TLS 1.0.
- בשדה פרופיל, בוחרים באפשרות מודרני. מוצגות האפשרויות תכונות מופעלות ותכונות מושבתות.
- לוחצים על Save.
-
אופציונלי: מסמנים את תיבת הסימון Enable HTTP to HTTPS Redirect (הפעלת הפניה אוטומטית מ-HTTP ל-HTTPS) כדי להפעיל הפניות אוטומטיות.
אם מסמנים את תיבת הסימון הזו, נוצר מאזן עומסים חלקי נוסף של HTTP שמשתמש באותה כתובת IP כמו מאזן העומסים של HTTPS, ומפנה בקשות HTTP נכנסות לקצה הקדמי של מאזן העומסים של HTTPS.
אפשר לסמן את התיבה הזו רק אם בוחרים בפרוטוקול HTTPS ומשתמשים בכתובת IP שמורה.
- לוחצים על סיום.
Backend configuration
- לוחצים על Backend configuration.
- בקטע Backend services & backend buckets, בוחרים באפשרות Create a backend service.
- מוסיפים שם לשירות לקצה העורפי, למשל
web-backend-service. - עוברים לקטע אבטחה ובוחרים באפשרות הפעלת IAP כדי לאבטח את הגישה לאפליקציות.
אי אפשר להשתמש ב-Cloud CDN וב-IAP ביחד. אם הפעלתם את Cloud CDN ובחרתם להפעיל את IAP, Cloud CDN מושבת באופן אוטומטי.
- ברשימה IP address selection policy בוחרים באפשרות Prefer IPv6.
-
אופציונלי: הגדרת מדיניות אבטחה של קצה עורפי כברירת מחדל. מדיניות האבטחה שמוגדרת כברירת מחדל מגבילה את התנועה מעבר לסף שהמשתמש הגדיר. מידע נוסף על מדיניות אבטחה שמוגדרת כברירת מחדל זמין במאמר סקירה כללית על הגבלת קצב של יצירת בקשות.
- כדי לבטל את ההצטרפות למדיניות האבטחה שמוגדרת כברירת מחדל ב-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, בוחרים באפשרות
- שומרים את שאר הגדרות ברירת המחדל.
- לוחצים על יצירה.
כללי ניתוב
בקטע כללי ניתוב, משאירים את הגדרות ברירת המחדל.
בדיקה וסיום
- לוחצים על Review and finalize.
- בודקים את הגדרות ההגדרה של מאזן העומסים.
- אופציונלי: לוחצים על Equivalent code (קוד מקביל) כדי לראות את בקשת ה-API בארכיטקטורת REST שתשמש ליצירת מאזן העומסים.
- לוחצים על יצירה.
מחכים שמאזן העומסים ייווצר.
אם יצרתם מאזן עומסים ב-HTTPS וסימנתם את תיבת הסימון Enable HTTP to HTTPS Redirect (הפעלת הפניה אוטומטית מ-HTTP ל-HTTPS), תראו גם מאזן עומסים ב-HTTP שנוצר עם הסיומת -redirect.
- לוחצים על השם של מאזן העומסים.
- במסך Load balancer details, רושמים את IP:Port של מאזן העומסים.
gcloud
- יצירת בדיקת תקינות.
gcloud compute health-checks create http http-basic-check \ --port 80 - יוצרים שירות לקצה העורפי.
gcloud beta compute backend-services create web-backend-service \ --load-balancing-scheme=EXTERNAL_MANAGED \ --protocol=HTTP \ --port-name=http \ --ip-address-selection-policy=PREFER_IPV6 \ --health-checks=http-basic-check \ --global - מוסיפים את קבוצת המכונות בתור הקצה העורפי לשירות הקצה העורפי.
gcloud beta compute backend-services add-backend web-backend-service \ --instance-group=lb-backend-example \ --instance-group-zone=ZONE_A \ --global
- ב-HTTP, יוצרים מפת URL כדי לנתב את הבקשות הנכנסות לשירות ברירת המחדל של הקצה העורפי.
gcloud beta compute url-maps create web-map-http \ --default-service web-backend-service
- ב-HTTPS, יוצרים מפת URL כדי לנתב את הבקשות הנכנסות לשירות לקצה העורפי של ברירת המחדל.
gcloud beta compute url-maps create web-map-https \ --default-service web-backend-service
הגדרת חזית עורפית (frontend) של HTTPS
אם משתמשים במאזני עומסים מסוג HTTP, אפשר לדלג על הקטע הזה.
- ב-HTTPS, אם עדיין לא עשיתם זאת, יוצרים את משאב אישור ה-SSL הגלובלי, כמו שמוצג בקטעים הבאים:
ל-HTTPS, יוצרים שרת proxy של HTTPS ליעד כדי להפנות בקשות למפת כתובות ה-URL. ה-proxy הוא החלק במאזן העומסים שמכיל את אישור ה-SSL של מאזן עומסים של HTTPS, ולכן בשלב הזה צריך גם לטעון את האישור.
gcloud beta compute target-https-proxies create http-lb-proxy \ --http-keep-alive-timeout-sec=HTTP_KEEP_ALIVE_TIMEOUT_SEC \ --url-map=web-map-https \ --ssl-certificates=www-ssl-cert
מחליפים את
HTTP_KEEP_ALIVE_TIMEOUT_SECבערך של client HTTP keepalive timeout (זמן קצוב לתפוגה של שמירת חיבור HTTP פעיל בצד הלקוח) מ-5 ל-1,200 שניות. ערך ברירת המחדל הוא 610 שניות. השדה הזה אופציונלי.- ל-HTTPS, יוצרים כלל העברה גלובלי כדי לנתב בקשות נכנסות ל-proxy.
gcloud beta compute forwarding-rules create https-content-rule \ --load-balancing-scheme=EXTERNAL_MANAGED \ --network-tier=PREMIUM \ --address=lb-ipv4-1 \ --global \ --target-https-proxy=https-lb-proxy \ --ports=443
- אופציונלי: ל-HTTPS, יוצרים מדיניות SSL גלובלית ומצרפים אותה לשרת ה-proxy של HTTPS.
כדי ליצור מדיניות SSL גלובלית: כדי לצרף את מדיניות ה-SSL לשרת ה-proxy הגלובלי של HTTPS ביעד:gcloud compute ssl-policies create my-ssl-policy \ --profile MODERN \ --min-tls-version 1.0
gcloud compute target-https-proxies update https-lb-proxy \ --ssl-policy my-ssl-policy
הגדרת קצה קדמי של HTTP
אפשר לדלג על הקטע הזה אם משתמשים במאזני עומסים מסוג HTTPS.
- במקרה של HTTP, יוצרים שרת proxy של HTTP ליעד כדי להפנות בקשות למפת URL.
gcloud beta compute target-http-proxies create http-lb-proxy \ --http-keep-alive-timeout-sec=HTTP_KEEP_ALIVE_TIMEOUT_SEC \ --url-map=web-map-http
מחליפים את
HTTP_KEEP_ALIVE_TIMEOUT_SECבערך של client HTTP keepalive timeout מ-5 ל-1,200 שניות. ערך ברירת המחדל הוא 610 שניות. השדה הזה אופציונלי. - עבור HTTP, יוצרים כלל העברה גלובלי כדי לנתב בקשות נכנסות ל-proxy.
gcloud beta compute forwarding-rules create http-content-rule \ --load-balancing-scheme=EXTERNAL_MANAGED \ --address=lb-ipv4-1 \ --global \ --target-http-proxy=http-lb-proxy \ --ports=80
Terraform
-
כדי ליצור את בדיקת התקינות, משתמשים במשאב
google_compute_health_check. -
כדי ליצור את שירות לקצה העורפי, משתמשים במשאב
google_compute_backend_service. -
כדי ליצור את מפת ה-URL, משתמשים במשאב
google_compute_url_map. -
כדי ליצור את ה-proxy של יעד HTTP, משתמשים במשאב
google_compute_target_http_proxy. -
כדי ליצור את כלל ההעברה, משתמשים במשאב
google_compute_global_forwarding_rule.
כדי ללמוד איך להחיל הגדרות ב-Terraform או להסיר אותן, ראו פקודות בסיסיות ב-Terraform.
חיבור הדומיין למאזן העומסים
אחרי שיוצרים את מאזן העומסים, רושמים את כתובת ה-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, תוכלו לעיין במאמר בנושא הוספה, שינוי ומחיקה של רשומות.
תנועת בדיקה שנשלחת למופעים
עכשיו, כששירות איזון העומסים פועל, אפשר לשלוח תעבורה לכלל ההעברה ולראות איך התעבורה מתפזרת למופעים שונים.
המסוף
נכנסים לדף Load balancing במסוף Google Cloud .
- לוחצים על מאזן העומסים שיצרתם.
בקטע Backend, מוודאים שהמכונות הווירטואליות תקינות. העמודה Healthy אמורה להתמלא, ולציין ששתי המכונות הווירטואליות תקינות (
2/2). אם לא, נסו קודם לטעון מחדש את הדף. יכול להיות שיעברו כמה רגעים עד שמסוף Google Cloud יציין שהמכונות הווירטואליות תקינות. אם ה-backends לא מופיעים כ-healthy אחרי כמה דקות, כדאי לבדוק את הגדרת חומת האש ואת תג הרשת שהוקצה למכונות הווירטואליות של ה-backend.- ב-HTTPS, אם אתם משתמשים באישור שמנוהל על ידי Google, צריך לוודא שהסטטוס של משאב האישור הוא ACTIVE. מידע נוסף זמין במאמר סטטוס של משאבי אישורי SSL שמנוהלים על ידי Google.
- אחרי שבמסוף מוצג שהמופעים של ה-Backend תקינים, אפשר לבדוק את מאזן העומסים באמצעות דפדפן אינטרנט. לשם כך, עוברים אל
https://IP_ADDRESS(או אלhttp://IP_ADDRESS). מחליפים אתIP_ADDRESSבכתובת ה-IP של מאזן העומסים. Google Cloud - אם השתמשתם באישור בחתימה עצמית כדי לבדוק HTTPS, בדפדפן תוצג אזהרה. צריך להורות לדפדפן באופן מפורש לקבל אישור בחתימה עצמית.
- בדפדפן אמור להיות מוצג דף עם תוכן שכולל את השם של המופע שסיפק את הדף, יחד עם האזור שלו (לדוגמה,
Page served from: lb-backend-example-xxxx). אם הדף הזה לא מוצג בדפדפן, כדאי לעיין בהגדרות התצורה במדריך הזה.
gcloud
gcloud compute addresses describe lb-ipv4-1 \ --format="get(address)" \ --global
אחרי כמה דקות, אפשר לבדוק את ההגדרה על ידי הפעלת הפקודה הבאה של curl.
curl http://IP_ADDRESS
-OR-
curl https://HOSTNAME
שלבי הגדרת תצורה נוספים
בקטע הזה אנחנו מרחיבים את דוגמת ההגדרה ומציגים אפשרויות הגדרה חלופיות ונוספות. כל המשימות הן אופציונליות. אפשר לבצע אותן בכל סדר.
עדכון הזמן הקצוב לתפוגה של חיבור HTTP פעיל
מאזן העומסים שנוצר בשלבים הקודמים הוגדר עם ערך ברירת מחדל לזמן הקצוב לתפוגה של חיבור HTTP פעיל של הלקוח.כדי לעדכן את פרק הזמן הקצוב לתפוגה של הלקוח ב-HTTP keepalive, פועלים לפי ההוראות הבאות.
המסוף
נכנסים לדף Load balancing במסוף Google Cloud .
- לוחצים על השם של מאזן העומסים שרוצים לשנות.
- לוחצים על עריכה.
- לוחצים על Frontend configuration.
- מרחיבים את תכונות מתקדמות. בשדה HTTP keepalive timeout, מזינים ערך של זמן קצוב לתפוגה.
- לוחצים על עדכון.
- כדי לבדוק את השינויים, לוחצים על בדיקה וסיום ואז על עדכון.
gcloud
כדי לעדכן את שרת ה-proxy של HTTP היעד במאזן עומסים מסוג 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 \
--global
במאזן עומסים ב-HTTPS, מעדכנים את שרת ה-proxy של HTTPS באמצעות הפקודה gcloud compute target-https-proxies update:
gcloud compute target-https-proxies update TARGET_HTTPS_PROXY_NAME \
--http-keep-alive-timeout-sec=HTTP_KEEP_ALIVE_TIMEOUT_SEC \
--global
מחליפים את מה שכתוב בשדות הבאים:
-
TARGET_HTTP_PROXY_NAME: השם של ה-proxy ל-HTTP עם היעד. -
TARGET_HTTPS_PROXY_NAME: השם של שרת ה-proxy ל-HTTPS של היעד. -
HTTP_KEEP_ALIVE_TIMEOUT_SEC: ערך הזמן הקצוב לתפוגה של HTTP keepalive, מ-5 עד 600 שניות.
המאמרים הבאים
לעיון במסמכים קשורים:
- הגדרת הפניה אוטומטית מ-HTTP ל-HTTPS במאזן עומסים של אפליקציות (ALB) חיצוני
- הגדרת מאזן עומסים ב-HTTPS
- המרת מאזן עומסים של אפליקציות ל-IPv6
- הפעלת IAP במאזן עומסים של אפליקציות (ALB) חיצוני
- דוגמאות למודולים של Terraform עבור מאזני עומסים חיצוניים של אפליקציות
- ניקוי ההגדרות של מאזן העומסים
לסרטונים קשורים: