במדריך הזה מוסבר איך ליצור מאזני עומסים חיצוניים ברשת להעברת סיגנל ללא שינוי שמבוססים על שירות קצה עורפי ומאזנים עומסים של תנועת TCP, UDP, ESP, GRE, ICMP ו-ICMPv6. אפשר להשתמש בהגדרה כזו כדי לאזן עומסים של תנועה שמשתמשת בפרוטוקולי IP שאינם TCP או UDP. מאזני עומסים חיצוניים של רשתות להעברת סיגנל ללא שינוי שמבוססים על מאגר יעד לא תומכים ביכולת הזו.
כדי להגדיר מאזן עומסי רשת חיצוני להעברת סיגנל ללא שינוי עבור פרוטוקולי IP שאינם TCP או UDP, צריך ליצור כלל העברה עם פרוטוקול שמוגדר לערך L3_DEFAULT. כלל ההעברה הזה מפנה אל שירות קצה עורפי שהפרוטוקול שלו מוגדר ל-UNSPECIFIED.
בדוגמה הזו, אנחנו משתמשים בשני מאזני עומסים חיצוניים של רשת להעברת סיגנל ללא שינוי כדי לפזר את התעבורה בין מכונות וירטואליות (VM) בעורף המערכת בשתי קבוצות של מכונות מנוהלות באזור us-central1.
שני מאזני העומסים מקבלים תנועה באותה כתובת IP חיצונית.
מאזן עומסים אחד כולל כלל העברה עם פרוטוקול TCP ויציאה 80, ומאזן העומסים השני כולל כלל העברה עם פרוטוקול L3_DEFAULT. תעבורת TCP שמגיעה לכתובת ה-IP ביציאה 80 מטופלת על ידי כלל ההעברה TCP. כל התנועה האחרת שלא תואמת לכלל ההעברה הספציפי ל-TCP מטופלת על ידי כלל ההעברה L3_DEFAULT.
בתרחיש הזה, מאזן העומסים מחלק את החיבורים בין כמה פרוטוקולים באמצעות בדיקת תקינות TCP. מידע על פרוטוקולים נתמכים אחרים זמין במאמרים בנושא שירות אזורי של קצה עורפי ובדיקות תקינות.
מאזן עומסי רשת חיצוני להעברת סיגנל ללא שינוי הוא מאזן עומסים אזורי. כל הרכיבים של מאזן העומסים צריכים להיות באותו אזור.
לפני שמתחילים
מתקינים את Google Cloud CLI. סקירה כללית מלאה של הכלי זמינה במאמר סקירה כללית על ה-CLI של gcloud. אפשר למצוא פקודות שקשורות לאיזון עומסים במדריך העזר ל-API ול-gcloud.
אם לא הפעלתם את ה-CLI של gcloud בעבר, אתם צריכים קודם להריץ את הפקודה 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 זמין במאמרי עזרה כלל העברה בסקירה הכללית על מאזן עומסי רשת חיצוני להעברת סיגנל ללא שינוי.
כדי להשתמש במכונות וירטואליות קיימות כשרתי קצה עורפיים, צריך לעדכן את המכונות הווירטואליות כך שיתמכו ב-dual-stack באמצעות הפקודה gcloud compute instances network-interfaces update.
במקרים שבהם מופעלות מכונות וירטואליות כבק-אנד למאזני עומסים חיצוניים של רשת להעברת סיגנל ללא שינוי, צריך להפעיל בהן את סביבת האורח המתאימה של Linux, את סביבת האורח המתאימה של Windows או תהליכים אחרים שמספקים יכולת שוות ערך.
יצירת קבוצת המופעים לתעבורת TCP ביציאה 80
המסוף
יוצרים תבנית של הגדרות מכונה. נכנסים לדף Instance templates במסוף Google Cloud .
- לוחצים על Create instance template.
- בשדה Name (שם), מזינים
ig-us-template-tcp-80. - מוודאים שדיסק האתחול מוגדר לקובץ אימג' של Debian, כמו Debian GNU/Linux 12 (bookworm). בהוראות האלה נעשה שימוש בפקודות שזמינות רק ב-Debian, כמו
apt-get. - מרחיבים את הקטע אפשרויות מתקדמות.
מרחיבים את הקטע ניהול ומעתיקים את הסקריפט הבא לשדה סקריפט לטעינה בזמן ההפעלה.
#! /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
מרחיבים את הקטע Networking (רשת) ומציינים את הפרטים הבאים:
- בשדה Network tags (תגים של רשתות), מוסיפים את הערך
network-lb-tcp-80. בקטע Network interfaces, בוחרים את ממשק ברירת המחדל של הרשת.
כדי ליצור מכונות וירטואליות (VM) בעורף עם ממשקי רשת דו-ערוציים, צריך להגדיר את השדות הבאים:
- רשת:
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 (תגים של רשתות), מוסיפים את הערך
לוחצים על יצירה.
יוצרים קבוצה של מופעי מכונה מנוהלים. נכנסים לדף Instance groups במסוף Google Cloud .
- לוחצים על יצירת קבוצת מופעים.
- בוחרים באפשרות New managed instance group (stateless) (קבוצת מופעי מכונה מנוהלים חדשה (בלי שמירת מצב)). מידע נוסף מופיע במאמר קבוצות של מכונות וירטואליות בלי שמירת מצב או עם שמירת מצב.
- בשדה Name (שם), מזינים
ig-us-tcp-80. - בקטע מיקום, בוחרים באפשרות אזור יחיד.
- בקטע אזור, בוחרים באפשרות
us-central1. - בשדה Zone, בוחרים באפשרות
us-central1-a. - בקטע Instance template (תבנית של הגדרות מכונה), בוחרים באפשרות
ig-us-template-tcp-80. מציינים את מספר המופעים שרוצים ליצור בקבוצה.
בדוגמה הזו, מציינים את האפשרויות הבאות בקטע התאמה אוטומטית לעומס:
- בקטע מצב שינוי גודל אוטומטי, בוחרים באפשרות
Off:do not autoscale. - בשדה מספר מופעים מקסימלי, מזינים
2.
- בקטע מצב שינוי גודל אוטומטי, בוחרים באפשרות
לוחצים על יצירה.
gcloud
ההנחיות gcloud במדריך הזה מבוססות על ההנחה שאתם משתמשים ב-Cloud Shell או בסביבה אחרת שבה מותקן bash.
יוצרים תבנית של הגדרות מכונה וירטואלית עם שרת HTTP באמצעות הפקודה
gcloud compute instance-templates create.כדי ליצור מכונות וירטואליות של קצה עורפי עם ממשקי רשת דו-ערכיים, משתמשים בפקודה הבאה.
INTERNALgcloud compute instance-templates create ig-us-template-tcp-80 \ --region=us-central1 \ --network=lb-network \ --subnet=lb-subnet \ --ipv6-network-tier=PREMIUM \ --stack-type=IPV4_IPV6 \ --tags=network-lb-tcp-80 \ --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-tcp-80 \ --region=us-central1 \ --network=lb-network \ --subnet=lb-subnet \ --stack-type=IPV4_ONLY \ --tags=network-lb-tcp-80 \ --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" \ ://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-tcp-80 \ --region=us-central1 \ --network=lb-network \ --subnet=lb-subnet \ --ipv6-network-tier=PREMIUM \ --stack-type=IPV6_ONLY \ --tags=network-lb-tcp-80 \ --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-tcp-80 \ --zone us-central1-a \ --size 2 \ --template ig-us-template-tcp-80
יצירת קבוצת המופעים עבור TCP ביציאה 8080, UDP, ESP ותנועת ICMP
המסוף
יוצרים תבנית של הגדרות מכונה. נכנסים לדף Instance templates במסוף Google Cloud .
- לוחצים על Create instance template.
- בשדה Name (שם), מזינים
ig-us-template-l3-default. - מוודאים שדיסק האתחול מוגדר לקובץ אימג' של Debian, כמו Debian GNU/Linux 12 (bookworm). בהוראות האלה נעשה שימוש בפקודות שזמינות רק ב-Debian, כמו
apt-get. - מרחיבים את הקטע אפשרויות מתקדמות.
מרחיבים את הקטע ניהול ומעתיקים את הסקריפט הבא לשדה סקריפט לטעינה בזמן ההפעלה. סקריפט לטעינה בזמן ההפעלה גם מגדיר את שרת Apache להאזין ליציאה 8080 במקום ליציאה 80.
#! /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 sed -ire 's/^Listen 80$/Listen 8080/g' /etc/apache2/ports.conf systemctl restart apache2
מרחיבים את הקטע Networking (רשת) ומציינים את הפרטים הבאים:
- בשדה Network tags (תגים של רשתות), מוסיפים את הערך
network-lb-l3-default. בקטע Network interfaces, בוחרים את ממשק ברירת המחדל של הרשת.
כדי ליצור מכונות וירטואליות (VM) בעורף עם ממשקי רשת דו-ערוציים, צריך להגדיר את השדות הבאים:
- רשת:
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 (תגים של רשתות), מוסיפים את הערך
לוחצים על יצירה.
יוצרים קבוצה של מופעי מכונה מנוהלים. נכנסים לדף Instance groups במסוף Google Cloud .
- לוחצים על יצירת קבוצת מופעים.
- בוחרים באפשרות New managed instance group (stateless) (קבוצת מופעי מכונה מנוהלים חדשה (בלי שמירת מצב)). מידע נוסף מופיע במאמר קבוצות של מכונות וירטואליות בלי שמירת מצב או עם שמירת מצב.
- בשדה Name (שם), מזינים
ig-us-l3-default. - בקטע מיקום, בוחרים באפשרות אזור יחיד.
- בקטע אזור, בוחרים באפשרות
us-central1. - בשדה Zone, בוחרים באפשרות
us-central1-c. - בקטע Instance template (תבנית של הגדרות מכונה), בוחרים באפשרות
ig-us-template-l3-default. מציינים את מספר המופעים שרוצים ליצור בקבוצה.
בדוגמה הזו, מציינים את האפשרויות הבאות בקטע התאמה אוטומטית לעומס:
- בקטע מצב שינוי גודל אוטומטי, בוחרים באפשרות
Off:do not autoscale. - בשדה מספר מופעים מקסימלי, מזינים
2.
- בקטע מצב שינוי גודל אוטומטי, בוחרים באפשרות
לוחצים על יצירה.
gcloud
ההנחיות gcloud במדריך הזה מבוססות על ההנחה שאתם משתמשים ב-Cloud Shell או בסביבה אחרת שבה מותקן bash.
יוצרים תבנית של הגדרות מכונה וירטואלית עם שרת HTTP באמצעות הפקודה
gcloud compute instance-templates create.סקריפט לטעינה בזמן ההפעלה גם מגדיר את שרת Apache להאזין ליציאה 8080 במקום ליציאה 80.
כדי ליצור מכונות וירטואליות של קצה עורפי עם ממשקי רשת דו-ערכיים, משתמשים בפקודה הבאה.
gcloud compute instance-templates create ig-us-template-l3-default \ --region=us-central1 \ --network=lb-network \ --subnet=lb-subnet \ --ipv6-network-tier=PREMIUM \ --stack-type=IPV4_IPV6 \ --tags=network-lb-l3-default \ --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 sed -ire "s/^Listen 80$/Listen 8080/g" /etc/apache2/ports.conf systemctl restart apache2'כדי ליצור מכונות וירטואליות של בק-אנד עם ממשקי IPv4 בלבד, משתמשים בפקודה הבאה.
gcloud compute instance-templates create ig-us-template-l3-default \ --region=us-central1 \ --network=lb-network \ --subnet=lb-subnet \ --stack-type=IPV4_ONLY \ --tags=network-lb-l3-default \ --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 sed -ire "s/^Listen 80$/Listen 8080/g" /etc/apache2/ports.conf systemctl restart apache2'כדי ליצור מכונות וירטואליות של בק-אנד עם ממשקי רשת IPv6 בלבד, משתמשים בפקודה הבאה.
gcloud compute instance-templates create ig-us-template-l3-default \ --region=us-central1 \ --network=lb-network \ --subnet=lb-subnet \ --ipv6-network-tier=PREMIUM \ --stack-type=IPV6_ONLY \ --tags=network-lb-l3-default \ --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 sed -ire "s/^Listen 80$/Listen 8080/g" /etc/apache2/ports.conf systemctl restart apache2'יוצרים קבוצת מופעי מכונה מנוהלים באזור באמצעות הפקודה
gcloud compute instance-groups managed create.gcloud compute instance-groups managed create ig-us-l3-default \ --zone us-central1-c \ --size 2 \ --template ig-us-template-l3-default
הגדרת כללים לחומת אש
יוצרים את הכללים הבאים לחומת האש:
- כללים בחומת האש שמאפשרים לתעבורת TCP חיצונית להגיע למכונות קצה (backend) בקבוצת המכונות
ig-us-tcp-80ביציאה 80 (באמצעות תג היעדnetwork-lb-tcp-80). יוצרים כללים נפרדים בחומת האש כדי לאפשר תעבורת IPv4 ו-IPv6. - כללי חומת אש שמאפשרים לתעבורה חיצונית אחרת (TCP ביציאה 8080, UDP, ESP ו-ICMP) להגיע למכונות קצה בעורף בקבוצת המכונות
ig-us-l3-default(באמצעות תג היעדnetwork-lb-l3-default). צריך ליצור כללי חומת אש נפרדים כדי לאפשר תעבורת IPv4 ו-IPv6.
בדוגמה הזו נוצרים כללי חומת אש שמאפשרים לתעבורת נתונים מכל טווחי כתובות המקור להגיע לשרתים העורפיים ביציאות שהוגדרו. אם רוצים ליצור כללי חומת אש נפרדים במיוחד עבור בדיקות התקינות, צריך להשתמש בטווחים של כתובות ה-IP של המקור שמפורטים במאמרי העזרה סקירה כללית על בדיקות תקינות: טווחי כתובות IP של בדיקות וכללי חומת אש.
המסוף
נכנסים לדף Firewall policies במסוף Google Cloud .
כדי לאפשר לתעבורת TCP של IPv4 להגיע לשרתי קצה בעורף בקבוצת המכונות
ig-us-tcp-80, יוצרים את כלל חומת האש הבא.- לוחצים על יצירת כלל לחומת האש.
- מזינים שם של
allow-network-lb-tcp-80-ipv4. - בוחרים את הרשת שכלל חומת האש חל עליה (ברירת מחדל).
- בקטע יעדים, בוחרים באפשרות תגי יעד ספציפיים.
- בשדה Target tags (תגי יעד), מזינים
network-lb-tcp-80. - מגדירים את Source filter בתור IPv4 ranges.
- מגדירים את טווחי כתובות ה-IPv4 של המקור ל-0.0.0.0/0, כדי לאפשר תעבורת נתונים מכל מקור. כך תעבורת נתונים חיצונית וגם בדיקות תקינות יוכלו להגיע למופעי ה-Backend.
- בקטע Protocols and ports (פרוטוקולים ויציאות), בוחרים באפשרות Specified protocols and ports (פרוטוקולים ויציאות ספציפיים). לאחר מכן מסמנים את התיבה TCP ומזינים
80. - לוחצים על יצירה. יכול להיות שיעבור זמן מה עד שכלל חומת האש החדש יוצג ב-Console, או שתצטרכו ללחוץ על רענון כדי לראות את הכלל.
כדי לאפשר לתעבורת נתוני IPv4 UDP, ESP ו-ICMP להגיע לשרתי קצה בעורף של קבוצת המכונות
ig-us-l3-default, יוצרים את כלל חומת האש הבא.- לוחצים על יצירת כלל לחומת האש.
- מזינים שם של
allow-network-lb-l3-default-ipv4. - בוחרים את הרשת שכלל חומת האש חל עליה (ברירת מחדל).
- בקטע יעדים, בוחרים באפשרות תגי יעד ספציפיים.
- בשדה Target tags (תגי יעד), מזינים
network-lb-l3-default. - מגדירים את Source filter בתור IPv4 ranges.
- מגדירים את טווח כתובות IPv4 של המקור ל-
0.0.0.0/0, כדי לאפשר תעבורת נתונים מכל מקור. כך תעבורת נתונים חיצונית וגם בדיקות תקינות יוכלו להגיע למופעי ה-Backend. - בקטע Protocols and ports (פרוטוקולים ויציאות), בוחרים באפשרות Specified protocols and ports (פרוטוקולים ויציאות ספציפיים).
- מסמנים את תיבת הסימון TCP ומזינים
8080. - מסמנים את תיבת הסימון UDP.
- מסמנים את תיבת הסימון אחר ומזינים
esp, icmp.
- מסמנים את תיבת הסימון TCP ומזינים
- לוחצים על יצירה. יכול להיות שיעבור זמן מה עד שכלל חומת האש החדש יוצג ב-Console, או שתצטרכו ללחוץ על רענון כדי לראות את הכלל.
כדי לאפשר לתעבורת TCP ב-IPv6 להגיע לשרתי קצה עורפיים בקבוצת המכונות
ig-us-tcp-80, צריך ליצור את כלל חומת האש הבא.- לוחצים על יצירת כלל לחומת האש.
- מזינים שם של
allow-network-lb-tcp-80-ipv6. - בוחרים את הרשת שכלל חומת האש חל עליה (ברירת מחדל).
- בקטע יעדים, בוחרים באפשרות תגי יעד ספציפיים.
- בשדה Target tags (תגי יעד), מזינים
network-lb-tcp-80. - מגדירים את Source filter (מסנן מקור) לערך IPv6 ranges (טווחים של כתובות IPv6).
- מגדירים את טווח ה-IPv6 של המקור לערך
::/0, שמאפשר תעבורת נתונים מכל מקור. כך תעבורת נתונים חיצונית וגם בדיקות תקינות יוכלו להגיע למופעי ה-Backend. - בקטע Protocols and ports (פרוטוקולים ויציאות), בוחרים באפשרות Specified protocols and ports (פרוטוקולים ויציאות ספציפיים). לוחצים על תיבת הסימון לצד TCP ומזינים
80. - לוחצים על יצירה. יכול להיות שיעבור זמן מה עד שכלל חומת האש החדש יוצג ב-Console, או שתצטרכו ללחוץ על רענון כדי לראות את הכלל.
כדי לאפשר לתעבורת נתונים מסוג IPv6 UDP, ESP ו-ICMPv6 להגיע לשרתי קצה עורפיים בקבוצת המכונות
ig-us-l3-default, יוצרים את כלל חומת האש הבא. כלל חומת האש הזה גם מאפשר לבדיקות תקינות של TCP להגיע למופעים ביציאה 8080.- לוחצים על יצירת כלל לחומת האש.
- מזינים שם של
allow-network-lb-l3-default-ipv6. - בוחרים את הרשת שכלל חומת האש חל עליה (ברירת מחדל).
- בקטע יעדים, בוחרים באפשרות תגי יעד ספציפיים.
- בשדה Target tags (תגי יעד), מזינים
network-lb-l3-default. - מגדירים את Source filter (מסנן מקור) לערך IPv6 ranges (טווחים של כתובות IPv6).
- מגדירים את טווח ה-IPv6 של המקור לערך
::/0, שמאפשר תעבורת נתונים מכל מקור. כך תעבורת נתונים חיצונית וגם בדיקות תקינות יוכלו להגיע למופעי ה-Backend. - בקטע Protocols and ports (פרוטוקולים ויציאות), בוחרים באפשרות Specified protocols and ports (פרוטוקולים ויציאות ספציפיים).
- לוחצים על תיבת הסימון לצד TCP ומזינים
8080. - לוחצים על תיבת הסימון לצד UDP.
- לוחצים על תיבת הסימון לצד אחר ומזינים את הערך
esp, 58.
- לוחצים על תיבת הסימון לצד TCP ומזינים
- לוחצים על יצירה. יכול להיות שיעבור זמן מה עד שכלל חומת האש החדש יוצג ב-Console, או שתצטרכו ללחוץ על רענון כדי לראות את הכלל.
gcloud
כדי לאפשר לתעבורת TCP של IPv4 להגיע לשרתי קצה בעורף בקבוצת המכונות
ig-us-tcp-80, יוצרים את כלל חומת האש הבא.gcloud compute firewall-rules create allow-network-lb-tcp-80-ipv4 \ --network=lb-network \ --target-tags network-lb-tcp-80 \ --allow tcp:80 \ --source-ranges=0.0.0.0/0כדי לאפשר לתעבורת נתוני IPv4 UDP, ESP ו-ICMP להגיע לשרתי קצה בעורף של קבוצת המכונות
ig-us-l3-default, יוצרים את כלל חומת האש הבא. כלל חומת האש הזה גם מאפשר לבדיקות תקינות של TCP להגיע למופעים ביציאה 8080.gcloud compute firewall-rules create allow-network-lb-l3-default-ipv4 \ --network=lb-network \ --target-tags network-lb-l3-default \ --allow tcp:8080,udp,esp,icmp \ --source-ranges=0.0.0.0/0כדי לאפשר לתעבורת TCP ב-IPv6 להגיע לשרתי קצה עורפיים בקבוצת המכונות
ig-us-tcp-80, צריך ליצור את כלל חומת האש הבא.gcloud compute firewall-rules create allow-network-lb-tcp-80-ipv6 \ --network=lb-network \ --target-tags network-lb-tcp-80 \ --allow tcp:80 \ --source-ranges=::/0כדי לאפשר לתעבורת נתונים מסוג IPv6 UDP, ESP ו-ICMPv6 להגיע לשרתי קצה עורפיים בקבוצת המכונות
ig-us-l3-default, יוצרים את כלל חומת האש הבא. כלל חומת האש הזה גם מאפשר לבדיקות תקינות של TCP להגיע למופעים ביציאה 8080.gcloud compute firewall-rules create allow-network-lb-l3-default-ipv6 \ --network=lb-network \ --target-tags network-lb-l3-default \ --allow tcp:8080,udp,esp,58 \ --source-ranges=::/0
הגדרת מאזני העומסים
בשלב הבא, מגדירים שני מאזני עומסים. מגדירים את שני מאזני העומסים כך שישתמשו באותה כתובת IP חיצונית לכללי ההעברה, כאשר מאזן עומסים אחד מטפל בתעבורת TCP ביציאה 80, ומאזן העומסים השני מטפל בתעבורת TCP, UDP, ESP ו-ICMP ביציאה 8080.
כשמגדירים מאזן עומסים, המכונות הווירטואליות בעורף העורף מקבלות חבילות שמיועדות לכתובת ה-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 (הגדרה).
הגדרה בסיסית
- בשדה Name, מזינים את השם
backend-service-tcp-80עבור מאזן העומסים החדש. - ברשימה Region בוחרים באזור
us-central1.
הגדרת הקצה העורפי
- לוחצים על Backend configuration.
- בדף Backend configuration, מבצעים את הפעולות הבאות:
- ברשימה בדיקת תקינות, לוחצים על יצירת בדיקת תקינות ומזינים את הפרטים הבאים:
- Name (שם):
tcp-health-check-80 - Protocol: TCP
- יציאה:
80
- Name (שם):
- לוחצים על יצירה.
- בקטע New Backend, בוחרים את IP stack type.
- ברשימה Instance group, בוחרים באפשרות
ig-us-tcp-80ולוחצים על Done.
- ברשימה בדיקת תקינות, לוחצים על יצירת בדיקת תקינות ומזינים את הפרטים הבאים:
- לפני שממשיכים, מוודאים שלצד Backend configuration מופיע סימן אישור כחול.
הגדרות הקצה הקדמי
- לוחצים על Frontend configuration.
- בשדה שם מזינים
forwarding-rule-tcp-80. - כדי לטפל בתנועת נתונים ב-IPv4, פועלים לפי השלבים הבאים:
- בשביל IP version, בוחרים IPv4.
- בקטע Internal IP purpose, ברשימה IP address, בוחרים באפשרות Create IP address.
- בשדה שם מזינים
network-lb-ipv4. - לוחצים על Reserve.
- בשדה שם מזינים
- בקטע יציאות, בוחרים באפשרות יחיד. בשדה מספר יציאה, מזינים
80. - לוחצים על סיום.
כדי לטפל בתנועת נתונים ב-IPv6, פועלים לפי השלבים הבאים:
- בשביל IP version, בוחרים IPv6.
- בשדה Subnetwork, בוחרים באפשרות lb-subnet.
- ברשימה IPv6 range בוחרים באפשרות Create IP address.
- בשדה שם מזינים
network-lb-ipv6. - לוחצים על Reserve.
- בשדה שם מזינים
- בקטע יציאות, בוחרים באפשרות יחיד. בשדה מספר יציאה, מזינים
80. - לוחצים על סיום.
עיגול כחול עם סימן וי משמאל לFrontend configuration מציין שההגדרה בוצעה בהצלחה.
בדיקת ההגדרות האישיות
- לוחצים על Review and finalize.
- בודקים את הגדרות ההגדרה של מאזן העומסים.
- אופציונלי: לוחצים על Equivalent code (קוד מקביל) כדי לראות את בקשת API בארכיטקטורת REST שתשמש ליצירת מאזן העומסים.
לוחצים על יצירה.
בדף 'איזון עומסים', בעמודה 'קצה עורפי' של מאזן העומסים החדש, מופיע סימן וי ירוק שמציין שמאזן העומסים החדש תקין.
יצירת מאזן העומסים השני
התחלת ההגדרה
נכנסים לדף 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 (הגדרה).
הגדרה בסיסית
- בשדה Name, מזינים את השם
backend-service-l3-defaultעבור מאזן העומסים החדש. - ברשימה Region בוחרים באזור
us-central1.
הגדרת הקצה העורפי
- לוחצים על Backend configuration.
- בדף Backend configuration, מבצעים את הפעולות הבאות:
- ברשימה בדיקת תקינות, לוחצים על יצירת בדיקת תקינות ומזינים את הפרטים הבאים:
- Name (שם):
tcp-health-check-8080 - פרוטוקול:TCP
- יציאה:
8080
- Name (שם):
- לוחצים על יצירה.
- בקטע New Backend, בוחרים את IP stack type. אם יצרתם קצה עורפי עם תמיכה כפולה כדי לטפל בתנועה של IPv4 ו-IPv6, בוחרים באפשרות IPv4 ו-IPv6 (תמיכה כפולה). כדי לטפל בתנועת IPv4 בלבד, בוחרים באפשרות IPv4 (single-stack).
- ברשימה Instance group, בוחרים באפשרות
ig-us-l3-defaultולוחצים על Done. - ברשימה Protocols בוחרים באפשרות L3 (Multiple protocols).
- ברשימה בדיקת תקינות, לוחצים על יצירת בדיקת תקינות ומזינים את הפרטים הבאים:
- לפני שממשיכים, מוודאים שלצד Backend configuration מופיע סימן אישור כחול.
הגדרות הקצה הקדמי
- לוחצים על Frontend configuration.
- בשדה שם מזינים
forwarding-rule-l3-default. - כדי לטפל בתנועת נתונים ב-IPv4, פועלים לפי השלבים הבאים:
- בשביל IP version, בוחרים IPv4.
- בקטע Internal IP purpose, ברשימה IP address, בוחרים באפשרות Create IP address.
- בשדה שם מזינים
network-lb-ipv4. - לוחצים על Reserve.
- בשדה שם מזינים
- ברשימה Protocol בוחרים באפשרות L3 (Multiple protocols).
- בקטע Ports (יציאות), בוחרים באפשרות All (הכול).
- לוחצים על סיום.
כדי לטפל בתנועת נתונים ב-IPv6, פועלים לפי השלבים הבאים:
- בשביל IP version, בוחרים IPv6.
- בשדה Subnetwork, בוחרים באפשרות lb-subnet.
- ברשימה IPv6 range בוחרים באפשרות Create IP address.
- בשדה שם מזינים
network-lb-ipv6. - לוחצים על Reserve.
- בשדה שם מזינים
- בשדה פרוטוקול, בוחרים באפשרות L3 (Multiple protocols) (שכבה 3 (מספר פרוטוקולים)).
- בקטע Ports (יציאות), בוחרים באפשרות All (הכול).
- לוחצים על סיום.
עיגול כחול עם סימן וי משמאל לFrontend configuration מציין שההגדרה בוצעה בהצלחה.
בדיקת ההגדרות האישיות
- לוחצים על Review and finalize.
- בודקים את הגדרות ההגדרה של מאזן העומסים.
- אופציונלי: לוחצים על Equivalent code (קוד מקביל) כדי לראות את בקשת API בארכיטקטורת REST שתשמש ליצירת מאזן העומסים.
לוחצים על יצירה.
בדף 'איזון עומסים', בעמודה 'קצה עורפי' של מאזן העומסים החדש, מופיע סימן וי ירוק שמציין שמאזן העומסים החדש תקין.
gcloud
שומרים כתובת IP חיצונית סטטית.
לתעבורת IPv4: יוצרים כתובת IP חיצונית סטטית למאזני העומסים.
gcloud compute addresses create network-lb-ipv4 \ --region us-central1לתנועת IPv6: יוצרים טווח כתובות IPv6 חיצוניות סטטיות למאזני העומסים. תת-הרשת שבה משתמשים צריכה להיות תת-רשת עם שני סוגי כתובות IP, עם טווח חיצוני של כתובות IPv6.
gcloud compute addresses create network-lb-ipv6 \ --region us-central1 \ --subnet lb-subnet \ --ip-version IPV6 \ --endpoint-type NETLBיוצרים בדיקת תקינות TCP ליציאה 80. בדיקת התקינות הזו משמשת לאימות התקינות של שרתי קצה בקבוצת המופעים
ig-us-tcp-80.gcloud compute health-checks create tcp tcp-health-check-80 \ --region us-central1 \ --port 80יוצרים בדיקת תקינות TCP ליציאה 8080. בדיקת תקינות הזו משמשת לאימות התקינות של שרתי קצה עורפיים בקבוצת המופעים
ig-us-l3-default.gcloud compute health-checks create tcp tcp-health-check-8080 \ --region us-central1 \ --port 8080יוצרים את מאזן העומסים הראשון לתנועת TCP ביציאה 80.
יוצרים שירות לקצה העורפי עם פרוטוקול שמוגדר ל-
TCP.gcloud compute backend-services create backend-service-tcp-80 \ --protocol TCP \ --health-checks tcp-health-check-80 \ --health-checks-region us-central1 \ --region us-central1מוסיפים את קבוצת השרתים העורפיים לשירות הקצה העורפי.
gcloud compute backend-services add-backend backend-service-tcp-80 \ --instance-group ig-us-tcp-80 \ --instance-group-zone us-central1-a \ --region us-central1לתעבורת IPv4: יוצרים כלל העברה לניתוב תעבורת TCP נכנסת ביציאה 80 לשירות הקצה העורפי.
TCPהוא פרוטוקול ברירת המחדל של כלל ההעברה ואין צורך להגדיר אותו באופן מפורש.משתמשים בכתובת ה-IP ששמרתם בשלב 1 ככתובת IP חיצונית סטטית של מאזן העומסים.
gcloud compute forwarding-rules create forwarding-rule-tcp-80 \ --load-balancing-scheme external \ --region us-central1 \ --ports 80 \ --address network-lb-ipv4 \ --backend-service backend-service-tcp-80לתנועת IPv6: יוצרים כלל העברה כדי לנתב תנועת TCP נכנסת ביציאה 80 לשירות הקצה העורפי.
TCPהוא פרוטוקול ברירת המחדל של כלל ההעברה ואין צורך להגדיר אותו באופן מפורש.משתמשים בטווח כתובות IPv6 ששמור בשלב 1 ככתובת IP חיצונית סטטית של מאזן העומסים. תת-הרשת שבה משתמשים צריכה להיות תת-רשת עם תמיכה בשני פרוטוקולים (dual-stack) עם טווח חיצוני של תת-רשת IPv6.
gcloud compute forwarding-rules create forwarding-rule-tcp-80 \ --load-balancing-scheme external \ --region us-central1 \ --network-tier PREMIUM \ --ip-version IPV6 \ --subnet lb-subnet \ --address network-lb-ipv6 \ --ports 80 \ --backend-service backend-service-tcp-80
יוצרים את מאזן העומסים השני ל-TCP ביציאה 8080, ל-UDP, ל-ESP ולתנועת ICMP.
יוצרים שירות לקצה העורפי עם פרוטוקול שמוגדר ל-
UNSPECIFIED.gcloud compute backend-services create backend-service-l3-default \ --protocol UNSPECIFIED \ --health-checks tcp-health-check-8080 \ --health-checks-region us-central1 \ --region us-central1מוסיפים את קבוצת השרתים העורפיים לשירות הקצה העורפי.
gcloud compute backend-services add-backend backend-service-l3-default \ --instance-group ig-us-l3-default \ --instance-group-zone us-central1-c \ --region us-central1לתעבורת IPv4: יוצרים כלל העברה עם הפרוטוקול
L3_DEFAULTכדי לטפל בכל תעבורת פרוטוקול ה-IP הנתמכת שנותרה (TCP ביציאה 8080, UDP, ESP ו-ICMP). צריך להגדיר את כל היציאות עם כללי העברה שלL3_DEFAULT.משתמשים באותה כתובת IPv4 חיצונית שבה השתמשתם במאזן העומסים הקודם.
gcloud compute forwarding-rules create forwarding-rule-l3-default \ --load-balancing-scheme external \ --region us-central1 \ --ports all \ --ip-protocol L3_DEFAULT \ --address network-lb-ipv4 \ --backend-service backend-service-l3-defaultלתעבורת IPv6: יוצרים כלל העברה עם הפרוטוקול
L3_DEFAULTכדי לטפל בכל תעבורת הנתונים שנותרה בפרוטוקול IP הנתמך (TCP ביציאה 8080, UDP, ESP ו-ICMP). צריך להגדיר את כל היציאות עם כללי העברה שלL3_DEFAULT.משתמשים בטווח כתובות IPv6 ששמור בשלב 1 ככתובת IP חיצונית סטטית של מאזן העומסים. תת-הרשת שבה משתמשים צריכה להיות תת-רשת עם תמיכה בשני פרוטוקולים (dual-stack) עם טווח חיצוני של תת-רשת IPv6.
gcloud compute forwarding-rules create forwarding-rule-l3-default \ --load-balancing-scheme external \ --region us-central1 \ --network-tier PREMIUM \ --ip-version IPV6 \ --subnet lb-subnet \ --address network-lb-ipv6 \ --ports all \ --ip-protocol L3_DEFAULT \ --backend-service backend-service-l3-default
בדיקת מאזן העומסים
עכשיו, אחרי שהגדרתם את שירות איזון העומסים, אתם יכולים להתחיל לשלוח תעבורת נתונים לכתובת ה-IP החיצונית של מאזן העומסים ולראות איך תעבורת הנתונים מתחלקת בין מופעי ה-Backend.
חיפוש כתובת ה-IP החיצונית של מאזן העומסים
המסוף
במסוף Google Cloud , עוברים לדף Load balancing components של איזון העומסים.
בכרטיסייה כללי העברה, מאתרים את כללי ההעברה שבהם נעשה שימוש במאזן העומסים.
בעמודה IP Address, שימו לב לכתובת ה-IP החיצונית שמופיעה לכל כלל העברה מסוג IPv4 ו-IPv6.
gcloud: IPv4
מזינים את הפקודה הבאה כדי לראות את כתובת ה-IP החיצונית של כלל ההעברה שמשמש את מאזן העומסים.
gcloud compute forwarding-rules describe forwarding-rule-tcp-80 \
--region us-central1
בדוגמה הזו נעשה שימוש באותה כתובת IP בשני כללי ההעברה של IPv4, ולכן גם שימוש ב-forwarding-rule-l3-default יפעל.
gcloud: IPv6
מזינים את הפקודה הבאה כדי לראות את כתובת ה-IPv6 החיצונית של כלל ההעברה forwarding-rule-tcp-80 שמשמש את מאזן העומסים.
gcloud compute forwarding-rules describe forwarding-rule-tcp-80 \
--region us-central1
בדוגמה הזו נעשה שימוש באותה כתובת IP בשני כללי ההעברה של IPv6, ולכן גם שימוש ב-forwarding-rule-l3-default יפעל.
הפניית תנועה למאזן העומסים
ההליך הזה שולח תעבורה חיצונית למאזן העומסים. כדי לוודא שתעבורת TCP ביציאה 80 עוברת איזון עומסים על ידי קבוצת המופעים ig-us-tcp-80, ושכל התעבורה האחרת (TCP ביציאה 8080, UDP, ESP ו-ICMP) מטופלת על ידי קבוצת המופעים ig-us-l3-default, מריצים את הבדיקות הבאות.
אימות התנהגות באמצעות בקשות TCP ביציאה 80
שולחים בקשות אינטרנט (דרך TCP ביציאה 80) למאזן העומסים באמצעות
curlכדי ליצור קשר עם כתובת ה-IP שלו.מלקוחות עם קישוריות IPv4, מריצים את הפקודה הבאה:
while true; do curl -m1 IP_ADDRESS; done
מלקוחות עם קישוריות IPv6, מריצים את הפקודה הבאה:
while true; do curl -m1 http://IPV6_ADDRESS; done
לדוגמה, אם כתובת ה-IPv6 שהוקצתה היא [2001:db8:1:1:1:1:1:1/96], הפקודה תיראה כך:
while true; do curl -m1 http://[2001:db8:1:1:1:1:1:1]; done
שימו לב לטקסט שמוחזר על ידי הפקודה
curl. השם של מכונת ה-VM של ה-Backend שמייצרת את התגובה מוצג בטקסט הזה – לדוגמה,Page served from: VM_NAME. התשובות מגיעות רק ממופעים בקבוצת המופעיםig-us-tcp-80.אם התגובה שלכם לא מצליחה בהתחלה, יכול להיות שתצטרכו להמתין כ-30 שניות עד שההגדרה תיטען במלואה והמופעים שלכם יסומנו כפעילים, לפני שתנסו שוב.
אימות ההתנהגות באמצעות בקשות TCP ביציאה 8080
שולחים בקשות אינטרנט (דרך TCP ביציאה 8080) למאזן העומסים באמצעות curl כדי ליצור קשר עם כתובת ה-IP שלו.
מלקוחות עם קישוריות IPv4, מריצים את הפקודה הבאה:
while true; do curl -m1 IPV4_ADDRESS:8080; done
מלקוחות עם קישוריות IPv6, מריצים את הפקודה הבאה:
while true; do curl -m1 http://IPV6_ADDRESS; done
לדוגמה, אם כתובת ה-IPv6 שהוקצתה היא [2001:db8:1:1:1:1:1:1/96], הפקודה תיראה כך:
while true; do curl -m1 http://[2001:db8:1:1:1:1:1:1]:8080; done
שימו לב לטקסט שמוחזר על ידי הפקודה curl. התשובות מגיעות רק ממופעים בקבוצת המופעים ig-us-l3-default.
הדבר מצביע על כך שכל תעבורה שנשלחת לכתובת ה-IP של מאזן העומסים ביציאה 8080 מטופלת רק על ידי קצוות עורפיים בקבוצת המופעים ig-us-l3-default.
אימות התנהגות באמצעות בקשות ICMP
כדי לאמת את ההתנהגות עם תעבורת ICMP, צריך ללכוד את הפלט מהפקודה tcpdump כדי לוודא שרק מכונות וירטואליות עורפיות בקבוצת המופעים ig-us-l3-default מטפלות בבקשות ICMP שנשלחות למאזן העומסים.
משתמשים ב-SSH כדי להתחבר למכונות הווירטואליות של ה-Backend.
נכנסים לדף VM instances במסוף Google Cloud .
ברשימת המכונות הווירטואליות (VM), לוחצים על SSH בשורה של המכונה שרוצים להתחבר אליה.
מריצים את הפקודה הבאה כדי להשתמש ב-
tcpdumpולהתחיל להאזין לתנועת ICMP.sudo tcpdump icmp -w ~/icmpcapture.pcap -s0 -c 10000 tcpdump: listening on eth0, link-type EN10MB (Ethernet), capture size 262144 bytesמשאירים את חלון ה-SSH פתוח.
חוזרים על שלבים 1 ו-2 לכל ארבעת המכונות הווירטואליות של ה-Backend.
שולחים בקשות ICMP למאזן העומסים.
כדי לבדוק את התגובות של IPv4, משתמשים ב-
pingכדי ליצור קשר עם כתובת ה-IPv4 של מאזן העומסים.ping IPV4_ADDRESS
כדי לבדוק את התגובות של IPv6, משתמשים ב-
ping6כדי ליצור קשר עם כתובת ה-IPv6 של מאזן העומסים.ping6 IPV6_ADDRESS
לדוגמה, אם כתובת ה-IPv6 שהוקצתה היא [2001:db8:1:1:1:1:1:1/96], הפקודה תיראה כך:
ping6 2001:db8:1:1:1:1:1:1
חוזרים לחלון ה-SSH הפתוח של כל מכונה וירטואלית ומפסיקים את פקודת הלכידה
tcpdump. אפשר להשתמש ב-Ctrl+C כדי לעשות את זה.לכל מכונה וירטואלית, בודקים את הפלט של הפקודה
tcpdumpבקובץicmpcapture.pcap.sudo tcpdump -r ~/icmpcapture.pcap -n
למכונות וירטואליות לקצה העורפי בקבוצת המכונות
ig-us-l3-default, יוצגו רשומות בקובץ שדומות לרשומות הבאות:reading from file /home/[user-directory]/icmpcapture.pcap, link-type EN10MB (Ethernet) 22:13:07.814486 IP 35.230.115.24 > 35.193.84.93: ICMP echo request, id 1995, seq 1, length 64 22:13:07.814513 IP 35.193.84.93 > 35.230.115.24: ICMP echo reply, id 1995, seq 1, length 64 22:13:08.816150 IP 35.230.115.24 > 35.193.84.93: ICMP echo request, id 1995, seq 2, length 64 22:13:08.816175 IP 35.193.84.93 > 35.230.115.24: ICMP echo reply, id 1995, seq 2, length 64 22:13:09.817536 IP 35.230.115.24 > 35.193.84.93: ICMP echo request, id 1995, seq 3, length 64 22:13:09.817560 IP 35.193.84.93 > 35.230.115.24: ICMP echo reply, id 1995, seq 3, length 64 ...
במכונות ה-VM של ה-Backend בקבוצת המופעים
ig-us-tcp-80, לא מתקבלים חבילות והקובץ ריק:reading from file /home/[user-directory]/icmpcapture.pcap, link-type EN10MB (Ethernet)
אפשרויות הגדרה נוספות
יצירת כלל העברה של 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אוL3_DEFAULT. -
REGION_A: האזור של כלל ההעברה -
IPV6_CIDR_RANGE: טווח כתובות ה-IPv6 שהכלל להעברה משרת. הקידומת של טווח כתובות ה-IPv6 צריכה להיות זהה ל אורך הקידומת שניתן להקצאה שצוין על ידי קידומת המשנה המשויכת. -
BACKEND_SERVICE: השם של שירות הקצה העורפי -
PDP_NAME: השם של הקידומת הציבורית המוקצית. מדיניות ה-PDP חייבת להיות קידומת משנה במצב EXTERNAL_IPV6_FORWARDING_RULE_CREATION
המאמרים הבאים
- כדי להגדיר מאזן עומסי רשת חיצוני להעברת סיגנל ללא שינוי עם קצוות עורפיים של NEG אזוריים, שמאפשרים להעביר מנות לממשקי רשת של מכונות וירטואליות שאינם
nic0, אפשר לעיין במאמר הגדרת מאזן עומסי רשת חיצוני להעברת סיגנל ללא שינוי עם קצוות עורפיים של NEG אזוריים. - מידע על אופן הפעולה של מאזני עומסי רשת חיצוניים להעברת סיגנל ללא שינוי עם שירותים לקצה העורפי זמין במאמר סקירה כללית על מאזן עומסי רשת חיצוני להעברת סיגנל ללא שינוי שמבוסס על שירות לקצה העורפי.
- במאמר העברת מאזני עומסי רשת חיצוניים להעברת סיגנל ללא שינוי ממאגרי יעד לשירותי קצה עורפיים אזוריים מוסבר איך להעביר מאזן עומסי רשת חיצוני להעברת סיגנל ללא שינוי מקצה עורפי של מאגר יעד לקצה עורפי של שירות אזורי.
- כדי להגדיר הגנה מתקדמת מפני DDoS ברשת עבור מאזן עומסי רשת חיצוני להעברת סיגנל ללא שינוי באמצעות Cloud Armor, קראו את המאמר בנושא הגדרת הגנה מתקדמת מפני DDoS ברשת.
- הוראות למחיקת משאבים מופיעות במאמר הסרת המשאבים של איזון העומסים.