במדריך הזה מוסבר איך ליצור פריסה של מאזן עומסי רשת חיצוני להעברת סיגנל ללא שינוי באמצעות שירות לקצה העורפי אזורי. בדוגמה הזו נוצר מאזן עומסי רשת חיצוני להעברת סיגנל ללא שינוי, שתומך בתעבורת נתונים מסוג TCP או UDP. אם אתם רוצים ליצור מאזן עומסי רשת חיצוני להעברת סיגנל ללא שינוי, שיבצע איזון עומסים של תנועת TCP, UDP, ESP, GRE, ICMP ו-ICMPv6 (ולא רק TCP או UDP), כדאי לעיין במאמר בנושא הגדרת מאזן עומסי רשת חיצוני להעברת סיגנל ללא שינוי למספר פרוטוקולי IP.
בדוגמה הזו, מאזן העומסים משמש להפצת תנועת TCP בין מכונות וירטואליות (VM) בעורף המערכת בשתי קבוצות של מופעי מכונה בניהול אזורי באזור us-central1. גישה תקפה באותה מידה היא להשתמש בקבוצת מופעי מכונה מנוהלים אזורית אחת עבור אזור us-central1.
בתרחיש הזה, העומס מאוזן בחיבורי TCP ומתבצעת בדיקת תקינות של TCP. מידע על פרוטוקולים נתמכים אחרים זמין במאמרים בנושא שירות backend אזורי ובדיקות תקינות.
מאזן עומסי רשת חיצוני להעברת סיגנל ללא שינוי הוא מאזן עומסים אזורי. כל הרכיבים של מאזן העומסים (מכונות וירטואליות בקצה העורפי, שירות לקצה העורפי וכלל העברה) צריכים להיות באותו אזור.
לפני שמתחילים
מתקינים את Google Cloud CLI. סקירה כללית מלאה של הכלי זמינה במאמר סקירה כללית על ה-CLI של gcloud. אפשר למצוא פקודות שקשורות לאיזון עומסים בהפניות ל-API ול-gcloud.
אם לא הפעלתם את Google Cloud CLI בעבר, קודם מריצים את gcloud init כדי לבצע אימות.
במדריך הזה אנחנו יוצאים מנקודת הנחה שאתם מכירים את bash.
הגדרת הרשתות ורשתות המשנה
בדוגמה שבדף הזה נעשה שימוש ברשת VPC במצב מותאם אישית בשם lb-network. אם רוצים לטפל רק בתנועה של IPv4, אפשר להשתמש ברשת VPC במצב אוטומטי.
עם זאת, לא ניתן להשתמש בתת-רשתות עם טווחי כתובות IPv6 ברשתות VPC במצב אוטומטי. יש תמיכה בתת-רשתות עם טווחי כתובות IPv6 רק ברשתות VPC במצב מותאם אישית.
בדוגמה הזו, נוצרות רשתות משנה של סוגי הערימות הבאים:
| טווחים של רשתות משנה | סוג הערימה |
|---|---|
| רק טווחי תת-רשת של IPv4 | IPV4_ONLY (single-stack) |
| טווחי רשתות משנה של IPv4 ו-IPv6 | IPV4_IPV6 (dual-stack) |
| רק טווחי רשתות משנה של IPv6 | IPV6_ONLY (single-stack) |
עבור רשתות משנה עם תמיכה כפולה ורשתות משנה עם IPv6 בלבד שמשתמשות בטווח כתובות IPv6, צריך לבחור סוג גישה IPv6 לרשת המשנה. סוג הגישה ל-IPv6 קובע אם רשת המשנה מוגדרת עם כתובות IPv6 פנימיות או עם כתובות IPv6 חיצוניות. בדוגמה הזו, הפרמטר ipv6-access-type של רשת המשנה מוגדר ל-EXTERNAL.
אפשר גם להשתמש ברשת משנה עם טווח כתובות IPv6 חיצוניות, כלומר שבה הפרמטר ipv6-access-type מוגדר ל-EXTERNAL, כדי לקבוע את כתובת ה-IPv6 החיצונית של כלל העברה. מידע נוסף זמין במאמר בנושא מפרטים של כתובות IP לכללי העברה.
רכיבי הבק-אנד ומאזן העומסים שמשמשים בדוגמה הזו נמצאים באזור וברשת המשנה האלה:
- אזור:
us-central1 - רשת משנה:
lb-subnet, עם טווח כתובות IPv4 ראשי 10.1.2.0/24. אתם בוחרים את טווח כתובות ה-IPv4 שמוגדר בתת-הרשת, אבל טווח כתובות ה-IPv6 מוקצה באופן אוטומטי. Google מספקת בלוק CIDR של IPv6 בגודל קבוע (/64).
כדי ליצור את הרשת ואת רשת המשנה לדוגמה, פועלים לפי השלבים הבאים.
המסוף
כדי לתמוך בתנועה מסוג IPv4 ו-IPv6, פועלים לפי השלבים הבאים:
נכנסים לדף VPC networks במסוף Google Cloud .
לוחצים על יצירת רשת VPC.
בשדה Name (שם), מזינים
lb-network.מגדירים את מצב יצירת רשתות משנה למותאם אישית.
בקטע Subnets (רשתות משנה), לוחצים על Add subnet (הוספת רשת משנה) ומגדירים את השדות הבאים:
- Name (שם):
lb-subnet - אזור:
us-central1 - סוג מחסנית IP: IPv4 ו-IPv6 (מחסנית כפולה)
- טווח IPv4:
10.1.2.0/24
אפשר להגדיר טווח של כתובות IPv4 לרשת המשנה, אבל אי אפשר לבחור את טווח כתובות ה-IPv6 לרשת המשנה. Google מספקת בלוק CIDR של IPv6 בגודל קבוע (/64). - סוג הגישה ל-IPv6: חיצוני
- לוחצים על סיום
- Name (שם):
לוחצים על יצירה.
כדי לתמוך בתנועת IPv4 בלבד, פועלים לפי השלבים הבאים:
נכנסים לדף VPC networks במסוף Google Cloud .
לוחצים על יצירת רשת VPC.
בשדה Name (שם), מזינים
lb-network.מגדירים את מצב יצירת רשתות משנה למותאם אישית.
בקטע Subnets (רשתות משנה), לוחצים על Add subnet (הוספת רשת משנה) ומגדירים את השדות הבאים:
- Name (שם):
lb-subnet - אזור:
us-central1 - סוג מחסנית פרוטוקולי IP: IPv4 (מחסנית יחידה)
- טווח IPv4:
10.1.2.0/24
- Name (שם):
לוחצים על יצירה.
כדי לתמוך בתנועת IPv6 בלבד, פועלים לפי השלבים הבאים:
נכנסים לדף VPC networks במסוף Google Cloud .
לוחצים על יצירת רשת VPC.
בשדה Name (שם), מזינים
lb-network.מגדירים את מצב יצירת רשתות משנה למותאם אישית.
בקטע Subnets (רשתות משנה), לוחצים על Add subnet (הוספת רשת משנה) ומגדירים את השדות הבאים:
- Name (שם):
lb-subnet - אזור:
us-central1 - סוג מחסנית IP: IPv6 (single-stack)
- סוג הגישה ל-IPv6: חיצוני
- Name (שם):
לוחצים על יצירה.
gcloud
יוצרים את רשת ה-VPC במצב בהתאמה אישית:
gcloud compute networks create lb-network \ --subnet-mode=customברשת
lb-network, יוצרים רשת משנה לשרתי קצה באזורus-central1.כדי ליצור רשת משנה עם תמיכה כפולה ב-IPv4 וב-IPv6, משתמשים בפקודה הבאה:
gcloud compute networks subnets create lb-subnet \ --stack-type=IPV4_IPV6 \ --ipv6-access-type=EXTERNAL \ --network=lb-network \ --range=10.1.2.0/24 \ --region=us-central1כדי להגדיר תנועת IPv4 בלבד, משתמשים בפקודה הבאה:
gcloud compute networks subnets create lb-subnet \ --network=lb-network \ --range=10.1.2.0/24 \ --region=us-central1כדי להגדיר תנועה ב-IPv6 בלבד, משתמשים בפקודה הבאה:
gcloud compute networks subnets create lb-subnet \ --stack-type=IPV6_ONLY \ --ipv6-access-type=EXTERNAL \ --network=lb-network \ --region=us-central1
יצירת קבוצות של מופעי מכונה מנוהלים אזוריים
בתרחיש הזה של איזון עומסים, יוצרים שתי קבוצות של מכונות מנוהלות ב-Compute Engine באזורים שונים, ומתקינים שרת אינטרנט של Apache בכל מכונה.
קבוצת המופעים מפנה לתבנית של הגדרות מכונה, שמשמשת ליצירת מכונות וירטואליות של קצה עורפי. בדוגמה הזו, יוצרים מכונות וירטואליות של קצה עורפי עם ממשקי רשת מסוג IPv4 בלבד, מסוג dual-stack ומסוג IPv6 בלבד. המכונות הווירטואליות מקבלות בירושה גם את ההגדרה ipv6-access-type (בדוגמה הזו, EXTERNAL) מרשת המשנה. מידע נוסף על הדרישות של IPv6 זמין במאמר כלל העברה בסקירה הכללית על מאזן עומסי רשת חיצוני להעברת סיגנל ללא שינוי.
כדי להשתמש במכונות וירטואליות קיימות כשרתי קצה עורפיים, צריך לעדכן את המכונות הווירטואליות כך שיהיו בעלות מחסנית כפולה באמצעות הפקודה gcloud compute instances network-interfaces
update.
במקרים שבהם מכונות וירטואליות משמשות כמכונות וירטואליות של בק-אנד למאזני עומסי רשת חיצוניים להעברת סיגנל ללא שינוי, הן צריכות להריץ את סביבת האורח המתאימה של Linux, את סביבת האורח של Windows או תהליכים אחרים שמספקים יכולת שוות ערך.
הגדרת המכונות
המסוף
יצירת תבנית של הגדרות מכונה
נכנסים לדף Instance templates במסוף Google Cloud .
לוחצים על Create instance template.
בשדה Name (שם), מזינים
ig-us-template.בקטע דיסק אתחול מוודאים שהImage מוגדר לתמונת Debian, כמו Debian GNU/Linux 12 (bookworm). ההוראות האלה כוללות פקודות שזמינות רק ב-Debian, כמו
apt-get.לוחצים על אפשרויות מתקדמות.
לוחצים על Networking.
- בשדה Network tags (תגי רשת), מזינים
lb-tag. בקטע Network interfaces, בוחרים את ממשק ברירת המחדל של הרשת.
כדי ליצור מכונות וירטואליות (VM) בעורף עם ממשקי רשת dual-stack, צריך להגדיר את השדות הבאים:
- רשת:
lb-network - Subnetwork:
lb-subnet - סוג מחסנית IP: IPv4 ו-IPv6 (מחסנית כפולה)
- כתובת IPv4 חיצונית: זמנית
- כתובת IPv6 חיצונית: הקצאה אוטומטית
כדי ליצור מכונות וירטואליות (VM) בעורף הקצה עם ממשקי רשת IPv4 בלבד, צריך להגדיר את השדות הבאים:
- רשת:
lb-network - Subnetwork:
lb-subnet - סוג מחסנית פרוטוקולי IP: IPv4 (מחסנית יחידה)
- כתובת IPv4 חיצונית: זמנית
כדי ליצור מכונות וירטואליות (VM) בעורף עם ממשקי רשת IPv6 בלבד, צריך להגדיר את השדות הבאים:
- רשת:
lb-network - Subnetwork:
lb-subnet - סוג מחסנית IP: IPv6 (single-stack)
- כתובת IPv6 חיצונית: הקצאה אוטומטית
- רשת:
לוחצים על סיום.
- בשדה Network tags (תגי רשת), מזינים
לוחצים על ניהול ומעתיקים את הסקריפט הבא לשדה סקריפט לטעינה בזמן ההפעלה.
#! /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לוחצים על יצירה.
יצירה של קבוצת מופעי מכונה מנוהלים
נכנסים לדף Instance groups במסוף Google Cloud .
לוחצים על יצירת קבוצת מופעים.
בוחרים באפשרות New managed instance group (stateless) (קבוצת מופעי מכונה מנוהלים חדשה (בלי שמירת מצב)). מידע נוסף זמין במאמר בנושא קבוצות של מכונות וירטואליות מנוהלות.
בשדה Name (שם), מזינים
ig-us-1.בשדה תבנית של הגדרות מכונה, בוחרים באפשרות
ig-us-template.בקטע מיקום, בוחרים באפשרות אזור יחיד.
בשדה אזור, בוחרים באפשרות
us-central1.בשדה Zone, בוחרים באפשרות
us-central1-a.מציינים את מספר המופעים שרוצים ליצור בקבוצה.
בדוגמה הזו, מציינים את האפשרויות הבאות בקטע Autoscaling:
- בקטע מצב שינוי גודל אוטומטי, בוחרים באפשרות
Off:do not autoscale. - בשדה מספר מופעים מקסימלי, מזינים
2.
- בקטע מצב שינוי גודל אוטומטי, בוחרים באפשרות
לוחצים על יצירה.
חוזרים על השלבים הקודמים כדי ליצור קבוצת מופעי מכונה מנוהלים שנייה באזור us-central1-c עם המפרט הבא:
- Name (שם):
ig-us-2 - Zone (תחום):
us-central1-c - תבנית של הגדרות מכונה: משתמשים באותה תבנית של הגדרות מכונה
ig-us-templateשנוצרה בקטע הקודם.
gcloud
ההנחיות gcloud במדריך הזה מבוססות על ההנחה שאתם משתמשים ב-Cloud Shell או בסביבה אחרת שבה מותקן bash.
יוצרים תבנית של הגדרות מכונה וירטואלית עם שרת HTTP באמצעות הפקודה
gcloud compute instance-templates create.כדי ליצור מכונות וירטואליות של קצה עורפי עם ממשקי רשת דו-ערכיים, משתמשים בפקודה הבאה.
מגדירים את
--ipv6-network-tierל-PREMIUMרק אם יוצרים את המכונות הווירטואליות ברשתות משנה עםipv6-access-typeשמוגדר ל-EXTERNAL. אם ה-ipv6-access-typeשל תת-הרשת הואINTERNAL, לא מציינים את הדגל.gcloud compute instance-templates create ig-us-template \ --region=us-central1 \ --network=lb-network \ --subnet=lb-subnet \ --ipv6-network-tier=PREMIUM \ --stack-type=IPV4_IPV6 \ --tags=lb-tag \ --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'כדי ליצור מכונות וירטואליות של קצה עורפי עם ממשקי רשת IPv4 בלבד, משתמשים בפקודה הבאה.
gcloud compute instance-templates create ig-us-template \ --region=us-central1 \ --network=lb-network \ --subnet=lb-subnet \ --stack-type=IPV4_ONLY \ --tags=lb-tag \ --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'כדי ליצור מכונות וירטואליות של בק-אנד עם ממשקי רשת IPv6 בלבד, משתמשים בפקודה הבאה.
INTERNALgcloud compute instance-templates create ig-us-template \ --region=us-central1 \ --network=lb-network \ --subnet=lb-subnet \ --ipv6-network-tier=PREMIUM \ --stack-type=IPV6_ONLY \ --tags=lb-tag \ --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'יוצרים קבוצת מופעי מכונה מנוהלים באזור באמצעות הפקודה
gcloud compute instance-groups managed create.gcloud compute instance-groups managed create ig-us-1 \ --zone us-central1-a \ --size 2 \ --template ig-us-templateיוצרים קבוצה שנייה של מופעי מכונה מנוהלים באזור
us-central1-c:gcloud compute instance-groups managed create ig-us-2 \ --zone us-central1-c \ --size 2 \ --template ig-us-template
הגדרת כללים לחומת אש
יוצרים כללים של חומת אש שמאפשרים לתנועה חיצונית – כולל בדיקות תקינות – להגיע לשרתים העורפיים.
בדוגמה הזו נוצר כלל חומת אש שמאפשר לתעבורת TCP מכל טווחי המקור להגיע לשרתים העורפיים ביציאה 80. אם רוצים ליצור כללי חומת אש נפרדים במיוחד עבור בדיקות התקינות, צריך להשתמש בטווחים של כתובות ה-IP של המקור שמפורטים בקטע טווחים של כתובות IP של בדיקות וכללי חומת אש במאמרי העזרה בנושא סקירה כללית של בדיקות תקינות.
המסוף
נכנסים לדף Firewall policies במסוף Google Cloud .
כדי לאפשר תנועה של IPv4, מבצעים את השלבים הבאים:
- לוחצים על יצירת כלל לחומת האש.
- בשדה Name (שם), מזינים
allow-network-lb-ipv4. - ברשימה Network בוחרים באפשרות
lb-network. - בקטע יעדים, בוחרים באפשרות תגי יעד שצוינו.
- בשדה Target tags (תגי יעד), מזינים
lb-tag. - בשדה מסנן מקור, בוחרים באפשרות טווחים של IPv4.
- מגדירים את Source IPv4 ranges (טווחי כתובות IPv4 של המקור) ל-
0.0.0.0/0. כך מתאפשרת תנועה של IPv4 מכל מקור. זה גם מאפשר לבדיקות התקינות של Google להגיע למופעי ה-Backend. - בקטע פרוטוקולים ויציאות שצוינו, מסמנים את תיבת הסימון TCP ומזינים
80. - לוחצים על יצירה. יכול להיות שיעבור זמן מה עד שכלל חומת האש החדש יוצג במסוףGoogle Cloud , או שתצטרכו ללחוץ על רענון כדי לראות את הכלל.
כדי לאפשר תנועת IPv6, מבצעים את השלבים הבאים:
- לוחצים שוב על יצירת כלל לחומת האש.
- בשדה Name (שם), מזינים
allow-network-lb-ipv6. - ברשימה Network בוחרים באפשרות
lb-network. - בקטע יעדים, בוחרים באפשרות תגי יעד שצוינו.
- בשדה Target tags (תגי יעד), מזינים
lb-tag. - בשדה מסנן מקור, בוחרים באפשרות טווחים של IPv6.
- מגדירים את Source IPv6 ranges ל-
::/0. כך מאפשרים תנועת IPv6 מכל מקור. זה גם מאפשר לבדיקות התקינות של Google להגיע למופעי ה-Backend. - בשדה פרוטוקולים ויציאות שצוינו, מסמנים את תיבת הסימון TCP* ומזינים
80. - לוחצים על יצירה. יכול להיות שיעבור זמן מה עד שכלל חומת האש החדש יוצג במסוף, או שתצטרכו ללחוץ על רענון כדי לראות את הכלל.
gcloud
כדי לאפשר תנועה של IPv4, מריצים את הפקודה הבאה:
gcloud compute firewall-rules create allow-network-lb-ipv4 \
--network=lb-network \
--target-tags=lb-tag \
--allow=tcp:80 \
--source-ranges=0.0.0.0/0
כדי לאפשר תנועה ב-IPv6, מריצים את הפקודה הבאה:
gcloud compute firewall-rules create allow-network-lb-ipv6 \
--network=lb-network \
--target-tags=lb-tag \
--allow=tcp:80 \
--source-ranges=::/0
הגדרת מאזן העומסים
בשלב הבא, מגדירים את מאזן העומסים.
כשמגדירים את מאזן העומסים, המכונות הווירטואליות מקבלות חבילות שמיועדות לכתובת ה-IP החיצונית הסטטית שהגדרתם. אם אתם משתמשים בתמונה שסופקה על ידי Compute Engine, המכונות שלכם מוגדרות אוטומטית לטיפול בכתובת ה-IP הזו. אם משתמשים בתמונה אחרת, צריך להגדיר את הכתובת הזו ככתובת alias ב-eth0 או ככתובת loopback בכל מופע.
כדי להגדיר את מאזן העומסים, פועלים לפי ההוראות הבאות.
המסוף
התחלת ההגדרה
נכנסים לדף Load balancing במסוף Google Cloud .
- לוחצים על Create load balancer (יצירת מאזן עומסים).
- בקטע Type of load balancer (סוג מאזן העומסים), בוחרים באפשרות Network Load Balancer (TCP/UDP/SSL) (מאזן עומסים ברשת (TCP/UDP/SSL)) ולוחצים על Next (הבא).
- בקטע Proxy or passthrough (פרוקסי או העברה), בוחרים באפשרות Passthrough load balancer (מאזן עומסים להעברה) ולוחצים על Next (הבא).
- בקטע Public facing or internal (פנימי או גלוי לכולם), בוחרים באפשרות Public facing (external) (גלוי לכולם – חיצוני) ולוחצים על Next (הבא).
- לוחצים על Configure (הגדרה).
הגדרת הקצה העורפי
- בדף Create external passthrough Network Load Balancer (יצירת מאזן עומסי רשת חיצוני להעברת סיגנל ללא שינוי), מזינים את השם
tcp-network-lbשל מאזן העומסים החדש. - בשדה אזור, בוחרים באפשרות
us-central1. - לוחצים על Backend configuration.
- בדף Backend configuration, מבצעים את הפעולות הבאות:
- ברשימה בדיקת תקינות, לוחצים על יצירת בדיקת תקינות ומזינים את הפרטים הבאים:
- Name (שם):
tcp-health-check - Protocol: TCP
- יציאה:
80
- Name (שם):
- לוחצים על יצירה.
- בשדה New Backend, בוחרים את סוג מחסנית ה-IP.
- ברשימה Instance group, בוחרים באפשרות
ig-us-1ולוחצים על Done. - לוחצים על הוספת קצה עורפי וחוזרים על השלב הזה כדי להוסיף את
ig-us-2. - לוחצים על Save.
- ברשימה בדיקת תקינות, לוחצים על יצירת בדיקת תקינות ומזינים את הפרטים הבאים:
- לפני שממשיכים, מוודאים שלצד הגדרות ה-Backend מופיע סימן אישור כחול.
הגדרות הקצה הקדמי
- לוחצים על Frontend configuration.
- בשדה Name (שם), מזינים
network-lb-forwarding-rule. - כדי לטפל בתנועת נתונים ב-IPv4, פועלים לפי השלבים הבאים:
- בשביל IP version, בוחרים IPv4.
- לוחצים על הרשימה IP address ובוחרים באפשרות Create IP address.
- בדף Reserve a new static IP address, בשדה Name, מזינים
network-lb-ipv4. - לוחצים על Reserve.
- בדף Reserve a new static IP address, בשדה Name, מזינים
- בקטע יציאות, בוחרים באפשרות יחיד. בשדה מספר היציאה, מזינים
80. - לוחצים על סיום.
כדי לטפל בתנועת נתונים ב-IPv6, פועלים לפי השלבים הבאים:
- בשביל IP version, בוחרים IPv6.
- בשדה Subnetwork, בוחרים באפשרות lb-subnet.
- ברשימה IPv6 range, בוחרים באפשרות Create IP address.
- בדף Reserve a new static IP address, בשדה Name, מזינים
network-lb-ipv6. - לוחצים על Reserve.
- בדף Reserve a new static IP address, בשדה Name, מזינים
- בשדה יציאות, בוחרים באפשרות יחיד. בשדה מספר היציאה, מזינים
80. - לוחצים על סיום.
לפני שממשיכים, צריך לוודא שההגדרה בוצעה בהצלחה. לשם כך, בודקים אם מופיע עיגול כחול עם סימן וי משמאל להגדרת קצה קדמי.
בדיקת ההגדרות האישיות
- לוחצים על Review and finalize.
- בודקים את הגדרות ההגדרה של מאזן העומסים.
- אופציונלי: לוחצים על Equivalent code כדי לראות את בקשת API בארכיטקטורת REST שבה יש להשתמש כדי ליצור את מאזן העומסים.
לוחצים על יצירה.
בעמודה Backend בדף 'איזון עומסים' של מאזן העומסים החדש, מוודאים שמופיע סימן וי ירוק שמעיד על תקינות מאזן העומסים החדש.
gcloud
שומרים כתובת IP חיצונית סטטית.
לתנועת IPv4
יוצרים כתובת IPv4 חיצונית סטטית למאזן העומסים.
gcloud compute addresses create network-lb-ipv4 \ --region us-central1לתנועת גולשים ב-IPv6
יוצרים טווח כתובות IPv6 חיצוניות סטטיות למאזן העומסים. תת-הרשת שבה משתמשים צריכה להיות תת-רשת עם פרוטוקול כפול וטווח IPv6 חיצוני.
gcloud compute addresses create network-lb-ipv6 \ --region us-central1 \ --subnet lb-subnet \ --ip-version IPV6 \ --endpoint-type NETLBיוצרים בדיקת תקינות של TCP.
gcloud compute health-checks create tcp tcp-health-check \ --region us-central1 \ --port 80יוצרים שירות לקצה העורפי.
gcloud compute backend-services create network-lb-backend-service \ --protocol TCP \ --health-checks tcp-health-check \ --health-checks-region us-central1 \ --region us-central1מוסיפים את קבוצות המכונות לשירות הקצה העורפי.
gcloud compute backend-services add-backend network-lb-backend-service \ --instance-group ig-us-1 \ --instance-group-zone us-central1-a \ --region us-central1gcloud compute backend-services add-backend network-lb-backend-service \ --instance-group ig-us-2 \ --instance-group-zone us-central1-c \ --region us-central1יוצרים את כללי ההעברה בהתאם לסוג התנועה שרוצים לטפל בה: IPv4 או IPv6. יוצרים את שני כללי ההעברה כדי לטפל בשני סוגי התנועה.
לתנועת IPv4
יוצרים כלל העברה לניתוב תנועת TCP נכנסת לשירות לקצה העורפי. משתמשים בכתובת IPv4 ששמורה בשלב 1 ככתובת IP חיצונית סטטית של מאזן העומסים.
gcloud compute forwarding-rules create network-lb-forwarding-rule-ipv4 \ --load-balancing-scheme EXTERNAL \ --region us-central1 \ --ports 80 \ --address network-lb-ipv4 \ --backend-service network-lb-backend-serviceלתנועת גולשים ב-IPv6
יוצרים כלל העברה לטיפול בתעבורת IPv6. משתמשים בטווח כתובות IPv6 ששמור בשלב 1 ככתובת IP חיצונית סטטית של מאזן העומסים. תת-הרשת שבה משתמשים צריכה להיות תת-רשת עם תמיכה כפולה או תת-רשת עם IPv6 בלבד, עם טווח חיצוני של תת-רשת IPv6.
gcloud compute forwarding-rules create network-lb-forwarding-rule-ipv6 \ --load-balancing-scheme EXTERNAL \ --region us-central1 \ --network-tier PREMIUM \ --ip-version IPV6 \ --subnet lb-subnet \ --address network-lb-ipv6 \ --ports 80 \ --backend-service network-lb-backend-service
בדיקת מאזן העומסים
עכשיו, אחרי שהגדרתם את שירות איזון העומסים, אתם יכולים להתחיל לשלוח תעבורת נתונים לכתובת ה-IP החיצונית של מאזן העומסים ולראות איך תעבורת הנתונים מתחלקת בין מופעי ה-Backend.
חיפוש כתובת ה-IP החיצונית של מאזן העומסים
המסוף
במסוף Google Cloud , עוברים לדף Load balancing components של איזון העומסים.
בכרטיסייה כללי העברה, מאתרים את כלל ההעברה שבו נעשה שימוש במאזן העומסים.
בעמודה External IP address, רושמים את כתובת ה-IP החיצונית שמופיעה.
gcloud: IPv4
מזינים את הפקודה הבאה כדי לראות את כתובת ה-IPv4 החיצונית של כלל ההעברה network-lb-forwarding-rule שמשמש את מאזן העומסים.
gcloud compute forwarding-rules describe network-lb-forwarding-rule-ipv4 \
--region us-central1
gcloud: IPv6
מזינים את הפקודה הבאה כדי לראות את כתובת ה-IPv6 החיצונית של כלל ההעברה network-lb-forwarding-rule שמשמש את מאזן העומסים.
gcloud compute forwarding-rules describe network-lb-forwarding-rule-ipv6 \
--region us-central1
הפניית תנועה למאזן העומסים
שולחים בקשות אינטרנט למאזן העומסים באמצעות curl כדי ליצור קשר עם כתובת ה-IP שלו.
מלקוחות עם קישוריות IPv4, מריצים את הפקודה הבאה:
while true; do curl -m1 IPV4_ADDRESS; done
מלקוחות עם קישוריות IPv6, מריצים את הפקודה הבאה:
while true; do curl -m1 http://IPV6_ADDRESS; done
לדוגמה, אם כתובת ה-IPv6 שהוקצתה היא
[2001:db8:1:1:1:1:1:1/96]:80, הפקודה תיראה כך:while true; do curl -m1 http://[2001:db8:1:1:1:1:1:1]:80; done
שימו לב לטקסט שמוחזר על ידי הפקודה curl. השם של מכונת ה-VM של ה-Backend שמייצרת את התגובה מוצג בטקסט הזה. לדוגמה: Page served
from: VM_NAME
התשובה מהפקודה curl מתחלפת באופן אקראי בין מופעי ה-Backend. אם התגובה שלכם לא מצליחה בהתחלה, יכול להיות שתצטרכו להמתין כ-30 שניות עד שההגדרה תיטען במלואה והמופעים שלכם יסומנו כפעילים, לפני שתנסו שוב.
אפשרויות הגדרה נוספות
בקטע הזה מוסבר על דוגמה להגדרה, ומוצגות הוראות להתאמה אישית נוספת של מאזן עומסי רשת חיצוני להעברת סיגנל ללא שינוי. המשימות האלה הן אופציונליות. אפשר לבצע אותן בכל סדר.
הגדרת זיקה לסשן
ההגדרה לדוגמה יוצרת שירות לקצה העורפי עם השבתה של זיקה לסשן (session affinity) (הערך מוגדר ל-NONE). בסעיף הזה מוסבר איך לעדכן את שירות לקצה העורפי כדי לשנות את הגדרת זיקה לסשן (session affinity) של מאזן העומסים (LB).
במאמר Session affinity מפורטים סוגי ההצמדה לסשן שנתמכים.
המסוף
נכנסים לדף Load balancing במסוף Google Cloud .
בכרטיסייה Load balancers (מאזני עומסים), לוחצים על השם של שירות לקצה העורפי ואז על Edit (עריכה).
בדף עריכת מאזן עומסי רשת חיצוני להעברת סיגנל ללא שינוי, לוחצים על Backend configuration (הגדרת קצה עורפי).
בוחרים אפשרות מהרשימה Session affinity.
לוחצים על עדכון.
gcloud
משתמשים בפקודה gcloud הבאה כדי לעדכן את הזיקה לסשן (session affinity) לשירות לקצה העורפי:
gcloud compute backend-services update BACKEND_SERVICE \
--region=REGION \
--session-affinity=SESSION_AFFINITY_OPTION
מחליפים את ה-placeholders בערכים תקינים:
-
BACKEND_SERVICE: השירות לקצה העורפי שאתם מעדכנים
SESSION_AFFINITY_OPTION: האפשרות של זיקה לסשן שרוצים להגדיררשימת הערכים הנתמכים למאזן עומסי רשת חיצוני להעברת סיגנל ללא שינוי זמינה במאמר אפשרויות של זיקה לסשן.
הגדרת מדיניות מעקב אחר חיבורים
ההגדרות לדוגמה יוצרות שירות קצה עורפי עם הגדרות ברירת המחדל של מדיניות מעקב החיבורים שלו. בקטע הזה מוסבר איך לעדכן את שירות הקצה העורפי כדי לשנות את מדיניות מעקב החיבורים שמוגדרת כברירת מחדל במאזן העומסים.
מדיניות מעקב אחר חיבורים כוללת את ההגדרות הבאות:
- מצב מעקב ההמרות
- שמירת חיבורים בקצוות עורפיים לא תקינים
- הזמן הקצוב לתפוגה (60 שניות, לא ניתן להגדרה) עד לכניסה למצב 'בלי פעילות'
gcloud
כדי לעדכן את מדיניות מעקב החיבורים בשירות לקצה העורפי, משתמשים בפקודה gcloud compute backend-services update הבאה:
gcloud compute backend-services update BACKEND_SERVICE \
--region=REGION \
--tracking-mode=TRACKING_MODE \
--connection-persistence-on-unhealthy-backends=CONNECTION_PERSISTENCE_BEHAVIOR
מחליפים את ה-placeholders בערכים תקינים:
-
BACKEND_SERVICE: השירות לקצה העורפי שאתם מעדכנים -
TRACKING_MODE: מצב מעקב החיבורים שבו יש להשתמש עבור חבילות נתונים נכנסות. רשימת הערכים הנתמכים זמינה במאמר בנושא מצב מעקב. -
CONNECTION_PERSISTENCE_BEHAVIOR: התנהגות החיבור כשהשרתים העורפיים לא תקינים. רשימת הערכים הנתמכים מופיעה במאמר התמדה של חיבורים בשרתי קצה עורפיים לא תקינים.
הגדרת ניהול תנועה
בקטע הזה מוסבר איך לעדכן את הגדרות הקצה הקדמי של מאזן עומסים (LB) כדי להגדיר הכוונת תנועה שמבוססת על כתובת ה-IP של המקור. פרטים על אופן הפעולה של ניהול תעבורת נתונים זמינים במאמר ניהול תעבורת נתונים.
אנחנו יוצאים מנקודת הנחה שכבר יצרתם את כלל ההעברה הבסיסי של ההורה. בדוגמה הזו נוצר כלל העברה שני, שהוא כלל ההעברה של ההפניה, עם אותה כתובת IP, אותו פרוטוקול IP ואותם פורטים כמו כלל ההעברה הראשי. כלל ההעברה הזה מוגדר עם טווחי כתובות IP של מקורות, כדי שתוכלו להתאים אישית את אופן ההעברה של מנות מהטווחי הכתובות האלה.
gcloud
משתמשים בפקודה הבאה כדי ליצור כלל העברה שמפנה לשירות לקצה העורפי:
gcloud compute forwarding-rules create STEERING_FORWARDING_RULE_BS \
--load-balancing-scheme=EXTERNAL \
--backend-service=BACKEND_SERVICE \
--address=LOAD_BALANCER_VIP \
--ip-protocol=IP_PROTOCOL \
--ports=PORTS \
--region=REGION \
--source-ip-ranges=SOURCE_IP_ADDRESS_RANGES
משתמשים בפקודה הבאה כדי ליצור כלל העברה שמפנה למופע יעד:
gcloud compute forwarding-rules create STEERING_FORWARDING_RULE_TI \
--load-balancing-scheme=EXTERNAL \
--target-instance=TARGET_INSTANCE \
--address=LOAD_BALANCER_VIP \
--ip-protocol=IP_PROTOCOL \
--ports=PORTS \
--region=REGION \
--source-ip-ranges=SOURCE_IP_ADDRESS_RANGES
מחליפים את ה-placeholders בערכים תקינים:
-
STEERING_FORWARDING_RULE_BSאוSTEERING_FORWARDING_RULE_TI: השם של כלל ההעברה לניתוב שיחות שרוצים ליצור. -
BACKEND_SERVICEאוTARGET_INSTANCE: השם של שירות לקצה העורפי או של מכונת היעד שאליהם כלל העברה זה של ניהוג התנועה ישלח תנועה. גם אם כלל ההעברה של ההורה מפנה לשירות backend, אפשר ליצור כללי העברה לניתוב תנועה שמפנים למכונות יעד. -
LOAD_BALANCER_VIP,IP_PROTOCOL,PORTS: כתובת ה-IP, פרוטוקול ה-IP והיציאות, בהתאמה, של כלל ההעברה של התנועה שאתם יוצרים. ההגדרות האלה צריכות להיות זהות לכלל העברה בסיסי שכבר קיים. -
REGION: האזור של כלל ההעברה שיוצרים. -
SOURCE_IP_ADDRESS_RANGES: רשימה מופרדת בפסיקים של כתובות IP או טווחי כתובות IP. כלל ההעברה הזה מעביר תנועה רק אם כתובת ה-IP של המקור של חבילת הנתונים הנכנסת נמצאת באחד מטווחי כתובות ה-IP שמוגדרים כאן.
כדי למחוק כלל העברה, משתמשים בפקודה הבאה. כדי למחוק מאזן עומסים, קודם צריך למחוק את כל כללי ההפניה של התנועה שמאזן העומסים משתמש בהם.
gcloud compute forwarding-rules delete STEERING_FORWARDING_RULE \
--region=REGION
הגדרת מדיניות מעבר לגיבוי (failover)
הוראות להגדרת מדיניות המעבר לגיבוי זמינות במאמר הגדרת יתירות כשל למאזנים חיצוניים של עומסי רשת להעברת סיגנל ללא שינוי.
הגדרת איזון עומסים משוקלל
כדי להגדיר איזון עומסים משוקלל, ראו הגדרת איזון עומסים משוקלל.
יצירת כלל העברה של IPv6 באמצעות BYOIP
מאזן העומסים שנוצר בשלבים הקודמים מוגדר עם כללי העברה שבהם IP version הוא IPv4 או IPv6. בקטע הזה מוסבר איך ליצור כלל להעברת IPv6 עם כתובות IP משלכם (BYOIP).
התכונה 'העברת כתובות IP משלכם' מאפשרת לכם להקצות ולהשתמש בכתובות IPv6 ציבוריות משלכם עבור Google Cloud משאבים. מידע נוסף מופיע במאמר בנושא שימוש בכתובות IP משלכם.
לפני שמתחילים להגדיר כלל להעברת IPv6 עם כתובות BYOIP, צריך לבצע את השלבים הבאים:
- יצירת קידומת IPv6 ציבורית שמוכרזת
- יצירת קידומות ציבוריות שהוקצו
- יצירת קידומות משנה של IPv6
- הכרזה על הקידומת
כדי ליצור כלל העברה חדש, פועלים לפי השלבים הבאים:
המסוף
נכנסים לדף Load balancing במסוף Google Cloud .
- לוחצים על השם של מאזן העומסים שרוצים לשנות.
- לוחצים על עריכה.
- לוחצים על Frontend configuration.
- לוחצים על Add frontend IP and port.
- בקטע New Frontend IP and port, מציינים את הפרטים הבאים:
- בוחרים את הפרוטוקול שרוצים.
- בשדה IP version, בוחרים באפשרות IPv6.
- בשדה מקור טווח IPv6, בוחרים באפשרות BYOIP.
- ברשימה IP collection בוחרים קידומת משנה שנוצרה בשלבים הקודמים עם האפשרות של כלל ההעברה שהופעלה.
- בשדה טווח IPv6, מזינים את טווח כתובות ה-IPv6. הקידומת של טווח כתובות IPv6 צריכה להיות זהה ל אורך הקידומת שניתן להקצאה שצוין על ידי קידומת המשנה המשויכת.
- בשדה יציאות, מזינים מספר יציאה.
- לוחצים על סיום.
- לוחצים על עדכון.
gcloud
יוצרים את כלל ההעברה באמצעות הפקודה
gcloud compute forwarding-rules create:
gcloud compute forwarding-rules create FWD_RULE_NAME \
--load-balancing-scheme EXTERNAL \
--ip-protocol PROTOCOL \
--ports ALL \
--ip-version IPV6 \
--region REGION_A \
--address IPV6_CIDR_RANGE \
--backend-service BACKEND_SERVICE \
--ip-collection PDP_NAME
מחליפים את מה שכתוב בשדות הבאים:
-
FWD_RULE_NAME: השם של כלל ההעברה -
PROTOCOL: פרוטוקול ה-IP של כלל ההעברה. ערך ברירת המחדל הואTCP. בדוגמה הזו, פרוטוקול ה-IP יכול להיותTCPאוUDP. -
REGION_A: האזור של כלל ההעברה -
IPV6_CIDR_RANGE: טווח כתובות ה-IPv6 שהכלל להעברה משרת. הקידומת של טווח כתובות ה-IPv6 צריכה להיות זהה ל אורך הקידומת שניתן להקצאה שצוין על ידי קידומת המשנה המשויכת. -
BACKEND_SERVICE: השם של שירות הקצה העורפי -
PDP_NAME: השם של הקידומת הציבורית המוקצית. מדיניות ה-PDP חייבת להיות קידומת משנה במצב EXTERNAL_IPV6_FORWARDING_RULE_CREATION
המאמרים הבאים
- במאמר העברת מאזן עומסי רשת חיצוני להעברת סיגנל ללא שינוי ממאגר יעד לשירות קצה עורפי אזורי מוסבר איך מעבירים מאזן עומסי רשת חיצוני להעברת סיגנל ללא שינוי ממאגר יעד לשירות קצה עורפי אזורי.
- כדי להגדיר מאזן עומסי רשת חיצוני להעברת סיגנל ללא שינוי לכמה פרוטוקולי IP (תמיכה בתעבורת IPv4 ו-IPv6), אפשר לעיין במאמר הגדרה של מאזן עומסי רשת חיצוני להעברת סיגנל ללא שינוי לכמה פרוטוקולי IP.
- כדי להגדיר מאזן עומסי רשת חיצוני להעברת סיגנל ללא שינוי עם קצוות עורפיים של קבוצות אזוריות של נקודות קצה ברשת (NEG), שמאפשרים להעביר חבילות לממשקי רשת שאינם
nic0של מכונות וירטואליות, אפשר לעיין במאמר הגדרת מאזן עומסי רשת חיצוני להעברת סיגנל ללא שינוי עם קבוצות אזוריות של נקודות קצה ברשת (NEG). - כדי להגדיר הגנה מתקדמת מפני DDoS ברשת עבור מאזן עומסי רשת חיצוני להעברת סיגנל ללא שינוי באמצעות Cloud Armor, קראו את המאמר בנושא הגדרת הגנה מתקדמת מפני DDoS ברשת.
- במאמר ניקוי הגדרות של איזון עומסים מוסבר איך למחוק משאבים.