למושגים כלליים, אפשר לעיין בסקירה הכללית של מאזן עומסים חיצוני של אפליקציות.
אם אתם משתמשים קיימים במאזן העומסים הקלאסי של אפליקציות (ALB), הקפידו לעיין בסקירה כללית על ההעברה כשאתם מתכננים פריסה חדשה באמצעות מאזן העומסים החיצוני הגלובלי של אפליקציות (ALB).
לחצו על תראו לי איך כדי לקרוא הסבר מפורט על המשימה ישירות במסוף Google Cloud :
טופולוגיות של מאזני עומסים
במאזן עומסים ב-HTTPS, יוצרים את התצורה שמוצגת בתרשים הבא.
למאזן עומסים של HTTP, יוצרים את ההגדרה שמוצגת בתרשים הבא.
רצף האירועים בתרשימים הוא כדלקמן:
- לקוח שולח בקשת תוכן לכתובת IPv4 חיצונית שמוגדרת בכלל ההעברה.
במאזן עומסים מסוג HTTPS, כלל ההעברה מפנה את הבקשה אל יעד ה-HTTPS proxy.
במאזן עומסים מסוג HTTP, כלל ההעברה מפנה את הבקשה אל ה-proxy של HTTP ליעד.
ה-proxy של היעד משתמש בכלל במיפוי כתובות ה-URL כדי לקבוע שכל הבקשות מגיעות לשירות קצה עורפי יחיד.
מאזן העומסים קובע שלשירות הקצה העורפי יש רק קבוצת מכונות אחת, ומפנה את הבקשה למכונה וירטואלית (VM) בקבוצה הזו.
המכונה הווירטואלית מציגה את התוכן שהמשתמש ביקש.
לפני שמתחילים
לפני שיוצרים את מאזן העומסים, צריך לבצע את השלבים הבאים.
הגדרת משאב של אישור SSL
כדי ליצור את מאזן העומסים, צריך משאב של אישור SSL שאפשר לצרף לפרוקסי היעד. משאב אישור ה-SSL יכול להיות מיפוי אישורים או אישור SSL של Compute Engine (אישור קלאסי).
מפת אישורים
אפשר ליצור מיפוי אישורים כמו שמתואר באחד מהמסמכים הבאים:
- פריסת אישור גלובלי שמנוהל על ידי Google עם הרשאה למאזן עומסים
- פריסת אישור גלובלי שמנוהל על ידי Google באמצעות הרשאת DNS
- פריסת אישור גלובלי שמנוהל על ידי Google באמצעות Certificate Authority Service
- פריסת אישור גלובלי בניהול עצמי
אישור SSL ב-Compute Engine
במאזן עומסים ב-HTTPS, יוצרים משאב אישור SSL ב-Compute Engine, כמו שמתואר באחד מהמסמכים הבאים:
מומלץ להשתמש באישור שמנוהל על ידי Google.
הגדרת ההרשאות
כדי להשלים את השלבים במדריך הזה, אתם צריכים הרשאה ליצור מכונות של Compute Engine, כללים של חומת אש וכתובות IP שמורות בפרויקט. צריכה להיות לכם הרשאת בעלים או הרשאת עריכה בפרויקט, או הרשאות IAM של Compute Engine.
| משימה | תפקיד נדרש |
|---|---|
| יצירת מופעים | אדמין של מכונה |
| הוספה והסרה של כללים לחומת האש | Security Admin |
| יצירת רכיבים של מאזן עומסים | אדמין רשתות |
| יצירת פרויקט (אופציונלי) | Project Creator |
מידע נוסף זמין במדריכים הבאים:
אופציונלי: שימוש בכתובות 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 (סוג הגישה ל-IPv6), בוחרים באפשרות 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, ואז להגדיר איזון עומסים. קבוצת מופעי מכונה מנוהלים יוצרת כל אחד מהמופעים המנוהלים שלה על סמך תבניות המופעים שאתם מציינים.
קבוצת מופעי מכונה מנוהלים מספקת מכונות וירטואליות שמריצות את שרתי הבק-אנד של מאזן עומסים חיצוני מסוג 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, בוחרים אזור.
בקטע Instance template, בוחרים את תבנית המכונה
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.
בדף סקירה כללית של קבוצת המופעים, לוחצים על עריכה.
בקטע מיפוי יציאות, לוחצים על הוספת יציאה.
- בשדה 'שם הניוד', מזינים
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 ל-
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) שחל על המופעים שמתבצע בהם איזון עומסים, ושמאפשר תעבורה ממערכות בדיקת תקינות ( Google Cloud ) (2600:2d00:1:b029::/64). בדוגמה הזו נעשה שימוש בתג היעד allow-health-check-ipv6 כדי לזהות את המופעים של המכונות הווירטואליות שעליהם הוא חל.
בלי כלל חומת האש הזה, כלל הכניסה (ingress) המשתמע של דחייה חוסם תעבורת IPv6 נכנסת למופעי ה-Backend.
המסוף
נכנסים לדף Firewall policies במסוף Google Cloud .
כדי לאפשר תעבורה של רשת משנה IPv6, לוחצים שוב על יצירת כלל חומת אש ומזינים את הפרטים הבאים:
- Name (שם):
fw-allow-lb-access-ipv6 - רשת:
NETWORK - עדיפות:
1000 - כיוון התנועה: תנועה נכנסת
- יעדים: תגי יעד שצוינו
- בשדה Target tags (תגי טרגוט), מזינים
allow-health-check-ipv6. - מסנן מקור: טווחים של IPv6
- טווחים של כתובות IPv6 של המקור:
2600:2d00:1:b029::/64,2600:2d00:1:1::/64 - Protocols and ports (פרוטוקולים ויציאות): Allow all (אישור הכול)
- 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 (קצה קדמי) בין הלקוח לבין מאזן העומסים. כדי להשתמש ב-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 policy (מדיניות SSL), בוחרים באפשרות Create a policy (יצירת מדיניות).
- מגדירים את השם של מדיניות ה-SSL ל-
my-ssl-policy. - בקטע גרסת TLS מינימלית, בוחרים באפשרות TLS 1.0.
- בשדה פרופיל, בוחרים באפשרות מודרני. מוצגות האפשרויות תכונות מופעלות ותכונות מושבתות.
- לוחצים על Save.
-
אופציונלי: מסמנים את תיבת הסימון Enable HTTP to HTTPS Redirect (הפעלת הפניה אוטומטית מ-HTTP ל-HTTPS) כדי להפעיל הפניות אוטומטיות.
אם מסמנים את תיבת הסימון הזו, נוצר מאזן עומסים חלקי נוסף של HTTP שמשתמש באותה כתובת IP כמו מאזן העומסים של HTTPS, ומפנה בקשות HTTP נכנסות לקצה הקדמי של מאזן העומסים של HTTPS.
אפשר לסמן את התיבה הזו רק אם בוחרים בפרוטוקול HTTPS ומשתמשים בכתובת IP שמורה.
- לוחצים על סיום.
Backend configuration
- לוחצים על Backend configuration.
- בקטע שירותי קצה עורפי וקטגוריות קצה עורפי, בוחרים באפשרות יצירת שירות קצה עורפי.
- מוסיפים שם לשירות לקצה העורפי, למשל
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 לשרת עורפי). - כדי להגדיר את מדיניות האבטחה שמוגדרת כברירת מחדל ב-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 שתשמש ליצירת מאזן העומסים (LB).
- לוחצים על יצירה.
מחכים שמאזן העומסים ייווצר.
אם יצרתם מאזן עומסים ב-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 הגלובלי, כמו שמוסבר בקטעים הבאים. בדוגמה הזו, השם של משאב אישור ה-SSL הוא
www-ssl-cert. ל-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בערך של זמן הקצוב לתפוגה של שמירת חיבור 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בערך של זמן הקצוב לתפוגה של שמירת חיבור HTTP פתוח בצד הלקוח מ-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 יציין שהמכונות הווירטואליות תקינות. אם השרתים העורפיים לא מופיעים כשרתים תקינים אחרי כמה דקות, כדאי לבדוק את הגדרת חומת האש ואת תג הרשת שהוקצה למכונות הווירטואליות של השרת העורפי.- ב-HTTPS, אם אתם משתמשים באישור שמנוהל על ידי Google, ודאו שהסטטוס של משאב האישור הוא ACTIVE. מידע נוסף זמין במאמר סטטוס של משאבי אישורי SSL שמנוהלים על ידי Google.
- אחרי שבמסוף Google Cloud מוצג שהמופעים בעורף בריאים, אפשר לבדוק את מאזן העומסים באמצעות דפדפן אינטרנט. לשם כך, עוברים אל
https://IP_ADDRESS(או אלhttp://IP_ADDRESS). מחליפים אתIP_ADDRESSבכתובת ה-IP של מאזן העומסים. - אם השתמשתם באישור בחתימה עצמית כדי לבדוק 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
-או-
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 שניות.
הגדרת מדיניות מטמון של Cloud CDN
אפשר להגדיר מדיניות מטמון של Cloud CDN ברמות שונות של מפת URL. כדי להגדיר מדיניות בנושא מטמון דרך מסוף Google Cloud , אפשר להשתמש בדף Cloud CDN או בדף Load balancing.
כדי להגדיר מדיניות שמירה במטמון ב-Cloud CDN:
המסוף
נכנסים לדף Load balancing במסוף Google Cloud .
- לוחצים על השם של מאזן העומסים של אפליקציות (ALB) החיצוני הגלובלי שרוצים לשנות.
- לוחצים על עריכה ואז על כללי ניתוב.
מוודאים שנבחר המצב כלל מתקדם של מארח ונתיב.
כדי להשתמש בכלל ברירת המחדל לניתוב:
בקטע Host and path rules (כללי מארח ונתיב), בקטע Action (פעולה), מוודאים שהמצב Route traffic to a single backend (ניתוב תנועה לחלק עורפי יחיד) מוגדר, ושחלק עורפי נבחר מהרשימה.
בקטע Cache policy, מסמנים את התיבה Enable cache policy.
בוחרים מצב מטמון.
אופציונלי: מציינים פרמטרים אחרים, כמו TTL ומפתחות מטמון מותאמים אישית.
לוחצים על סיום.
כדי להשתמש בכלל ספציפי של מארח ונתיב:
בקטע Host and path rules, בוחרים באפשרות Add host and path rule.
בשדה מארחים, מזינים
*כדי להתאים לכל שמות המארחים.בקטע Path matcher, משתמשים בעורך YAML כדי להגדיר את התצורה.
לוחצים על Code guidance (הנחיות לגבי הקוד) מתחת לעורך YAML כדי לקבל הנחיות לגבי הקוד.
מעתיקים את קטע הקוד Add caching (Cloud CDN) ומדביקים אותו בכלי לעריכת YAML.
מעדכנים את הערכים הזמניים לשמירת מקום.
לוחצים על סיום.
בודקים את ההגדרות ולוחצים על עדכון.
המאמרים הבאים
לעיון במסמכים קשורים:
- הגדרת הפניה אוטומטית מ-HTTP ל-HTTPS במאזן עומסים של אפליקציות (ALB) חיצוני
- הגדרת מאזן עומסים ב-HTTPS
- המרת מאזן עומסים של אפליקציות ל-IPv6
- הפעלת IAP במאזן עומסים חיצוני של אפליקציות
- דוגמאות למודולים של Terraform עבור מאזני עומסים חיצוניים של אפליקציות (ALB)
- ניקוי ההגדרות של מאזן העומסים
לסרטונים קשורים: