במסמך הזה מוסבר איך לפרוס מאזן עומסי רשת חיצוני להעברת סיגנל ללא שינוי עם קצוות עורפיים של קבוצת נקודות קצה ברשת אזורית (NEG). קבוצות אזוריות של נקודות קצה של רשתות (NEGs) עם נקודות קצה של GCE_VM_IP מאפשרות לכם:
- העברת חבילות לממשקי הרשת שאינם
nic0של מופעי מכונות וירטואליות (VM) על ידי ייצוג של ממשק רשת של מופע VM כנקודת הקצה של ה-Backend. - ליצור קבוצה גמישה של נקודות קצה בעורף, שבה אפשר לצרף נקודת קצה לכמה קבוצות NEG, ולכל קבוצת NEG יכולה להיות קבוצה שונה של נקודות קצה, שאולי חופפות.
לפני שממשיכים לקרוא את המסמך הזה, כדאי להכיר את המושגים הבאים:
- NEGs אזוריים בסקירה הכללית על מאזן עומסי רשת חיצוני להעברת סיגנל ללא שינוי שמבוסס על שירות לקצה העורפי
- סקירה כללית על קבוצות של נקודות קצה ברשת לפי אזור
הרשאות
כדי לבצע את השלבים האלה, צריך ליצור מופעים ולשנות רשת בפרויקט. אתם צריכים להיות בעלים או עורכים של הפרויקט, או שיוקצו לכם כל תפקידי ה-IAM הבאים ב-Compute Engine:
| משימה | התפקיד הנדרש |
|---|---|
| יצירת רשתות, רשתות משנה ורכיבים של מאזן עומסים | אדמין של רשתות מחשוב (roles/compute.networkAdmin)
|
| הוספה והסרה של כללים לחומת האש | אדמין לענייני אבטחה ב-Compute (roles/compute.securityAdmin)
|
| יצירת מופעים | אדמין מכונות של Compute (roles/compute.instanceAdmin)
|
מידע נוסף זמין בדפים הבאים:
סקירה כללית של ההגדרה
במאמר הזה מוסבר איך להגדיר ולבדוק מאזן עומסי רשת חיצוני להעברת סיגנל ללא שינוי שמשתמש בGCE_VM_IPקצה עורפי של NEG אזורי. בשלבים שבקטע הזה מוסבר איך להגדיר את הדברים הבאים:
- רשת VPC לדוגמה בשם
lb-networkעם רשת משנה מותאמת אישית. - כללי חומת אש שמאפשרים חיבורים נכנסים למכונות וירטואליות של שרתים עורפיים.
- ארבע מכונות וירטואליות:
- מכונות וירטואליות
vm-a1ו-vm-a2באזורus-west1-a - מכונות וירטואליות
vm-c1ו-vm-c2באזורus-west1-c
- מכונות וירטואליות
- שתי קבוצות NEGs של קצה עורפי אזורי,
neg-aבאזורus-west1-aו-neg-cבאזורus-west1-c. לכל NEG יש את נקודות הקצה הבאות:-
neg-aמכיל את שתי נקודות הקצה האלה:-
nic1של מכונה וירטואליתvm-a1שזוהתה לפי כתובת ה-IP הפנימית הראשית שלה -
nic1של מכונה וירטואליתvm-a2שזוהתה לפי כתובת ה-IP הפנימית הראשית שלה
-
-
neg-cמכיל את שתי נקודות הקצה האלה:-
nic1של מכונה וירטואליתvm-c1שזוהתה לפי כתובת ה-IP הפנימית הראשית שלה -
nic1של מכונה וירטואליתvm-c2שזוהתה לפי כתובת ה-IP הפנימית הראשית שלה
-
-
- מכונה וירטואלית אחת של לקוח (
vm-client) ב-us-west1-aלבדיקת חיבורים - הרכיבים הבאים של מאזן העומסים:
- שירות חיצוני לקצה עורפי באזור
us-west1לניהול חלוקת החיבורים לשני NEGs אזוריים - כלל העברה חיצוני וכתובת IP לקצה הקדמי של מאזן העומסים
- שירות חיצוני לקצה עורפי באזור
מאזן עומסי רשת חיצוני להעברת סיגנל ללא שינוי הוא מאזן עומסים אזורי. כל הרכיבים של מאזן העומסים (מכונות וירטואליות בקצה העורפי, שירות לקצה העורפי וכלל העברה) צריכים להיות באותו אזור.
הארכיטקטורה של הדוגמה הזו נראית כך:
לפני שמתחילים
מתקינים את 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
יצירת מכונות וירטואליות (VM) וקבוצות של נקודות קצה ברשת
כדי להדגים את האופי האזורי של מאזני עומסים חיצוניים של רשת להעברת סיגנל ללא שינוי, בדוגמה הזו נעשה שימוש בשני בק-אנדים של NEG אזוריים בשני אזורים שונים. התנועה מאוזנת בין שני ה-NEG, ובין נקודות הקצה בכל NEG.
יצירת מכונות וירטואליות
בתרחיש הזה של איזון עומסים, יוצרים ארבע מכונות וירטואליות ומתקינים שרת אינטרנט של Apache בכל מופע. שרת האינטרנט מאזין ביציאת TCP 80. כברירת מחדל, Apache מוגדר להתחבר לכל כתובת IP. מאזני עומסי רשת חיצוניים להעברת סיגנל ללא שינוי מעבירים חבילות תוך שמירה על כתובת ה-IP של היעד.
כדי לפשט את ההוראות, מכונות ה-VM של ה-Backend מריצות Debian GNU Linux 10.
כדי לטפל בתנועה של IPv4 ו-IPv6, צריך להגדיר את מכונות ה-VM של הקצה העורפי כ-dual-stack. מגדירים את stack-type של המכונה הווירטואלית לערך IPV4_IPV6. המכונות הווירטואליות מקבלות בירושה גם את ההגדרה ipv6-access-type (בדוגמה הזו, EXTERNAL) מרשת המשנה. פרטים נוספים על הדרישות של IPv6 זמינים במאמר סקירה כללית על מאזן עומסי רשת חיצוני להעברת סיגנל ללא שינוי: כללי העברה.
כדי להשתמש במכונות וירטואליות קיימות כשרתי קצה עורפיים, צריך לעדכן את המכונות הווירטואליות כך שיתמכו ב-dual-stack באמצעות הפקודה gcloud compute instances network-interfaces update.
במכונות וירטואליות שמשמשות כבק-אנד למאזני עומסי רשת חיצוניים להעברת סיגנל ללא שינוי, צריך להפעיל את סביבת האורח המתאימה של Linux, את סביבת האורח של Windows או תהליכים אחרים שמספקים יכולת שוות ערך.
כל מכונה וירטואלית נוצרת עם שני ממשקי רשת, nic0 ו-nic1. במדריך הזה נעשה שימוש ב-nic1, שמשויך לרשת ה-VPC lb-network ולתת-הרשת lb-subnet. משתמשים ברשת lb-network וברשת המשנה lb-subnet כדי ליצור את קבוצות ה-NEG האזוריות בהמשך התהליך הזה.
המסוף
יצירת מכונות וירטואליות
נכנסים לדף VM instances במסוף Google Cloud .
חוזרים על השלבים הבאים כדי ליצור ארבע מכונות וירטואליות, באמצעות שילובי השמות והאזורים הבאים:
- שם:
vm-a1, אזור:us-west1-a - שם:
vm-a2, אזור:us-west1-a - שם:
vm-c1, אזור:us-west1-c - שם:
vm-c2, אזור:us-west1-c
- שם:
לוחצים על Create instance.
מגדירים את השם כמו שצוין קודם.
בקטע Region, בוחרים באפשרות
us-west1, ובקטע Zone בוחרים באזור כמו שצוין קודם.בקטע Boot disk מוודאים שהאפשרות Debian GNU/Linux 12 (bookworm) מסומנת באפשרויות של דיסק האתחול. במקרה הצורך, לוחצים על בחירה כדי לשנות את התמונה.
לוחצים על אפשרויות מתקדמות ומבצעים את השינויים הבאים:
- לוחצים על Networking (רשת) ומוסיפים את תגי הרשת הבאים:
lb-tag בקטע ממשקי רשת, לוחצים על הוספת ממשק רשת ומבצעים את השינויים הבאים:
בשביל IPv4 and IPv6 backends:
- רשת:
lb-network - Subnet:
lb-subnet - סוג מחסנית ה-IP:
IPv4 and IPv6 (dual-stack) - כתובת IP פנימית ראשית: זמנית (אוטומטית)
- כתובת IPv4 חיצונית: זמנית (אוטומטית)
- כתובת IPv6 חיצונית: זמנית (אוטומטית)
בשביל IPv4 only backends:
- רשת:
lb-network - Subnet:
lb-subnet - סוג מחסנית ה-IP:
IPv4 (single-stack) - כתובת IP פנימית ראשית: זמנית (אוטומטית)
- כתובת IP חיצונית: זמנית
לאחר מכן, לוחצים על סיום.
- רשת:
לוחצים על ניהול. בשדה סקריפט לטעינה בזמן ההפעלה, מעתיקים ומדביקים את תוכן הסקריפט הבא. תוכן הסקריפט זהה בכל ארבע המכונות הווירטואליות:
#! /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 (רשת) ומוסיפים את תגי הרשת הבאים:
לוחצים על יצירה.
gcloud
כדי ליצור את ארבע מכונות ה-VM, מריצים את הפקודה הבאה ארבע פעמים, ומשתמשים בארבעת השילובים האלה עבור VM_NAME ו-ZONE. תוכן הסקריפט זהה בכל ארבע המכונות הווירטואליות.
-
VM_NAME:vm-a1וגםZONE:us-west1-a -
VM_NAME:vm-a2וגםZONE:us-west1-a -
VM_NAME:vm-c1וגםZONE:us-west1-c -
VM_NAME:vm-c2וגםZONE:us-west1-c
כדי לטפל בתנועה של IPv4 ו-IPv6, משתמשים בפקודה הבאה.
INTERNAL
gcloud compute instances create VM_NAME \
--zone=ZONE \
--image-family=debian-12 \
--image-project=debian-cloud \
--tags=lb-tag \
--network-interface=network=default,subnet=default,stack_type=IPV4_IPV6,--ipv6-network-tier=PREMIUM \
--network-interface=network=lb-network,subnet=lb-subnet,stack_type=IPV4_IPV6,--ipv6-network-tier=PREMIUM \
--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 instances create VM_NAME \
--zone=ZONE \
--image-family=debian-12 \
--image-project=debian-cloud \
--tags=lb-tag \
--network-interface=network=default,subnet=default,stack_type=IPV4_ONLY \
--network-interface=network=lb-network,subnet=lb-subnet,stack_type=IPV4_ONLY \
--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'
יצירת קבוצות NEGs אזוריות עם נקודות קצה מסוג GCE_VM_IP
צריך ליצור את קבוצות ה-NEG באותם אזורים שבהם נוצרו מכונות ה-VM בשלב הקודם. בדוגמה הזו נוצר גם ה-NEG ברשת ה-VPC lb-network ובתת-הרשת lb-subnet שמשויכות ל-nic1 של המכונות הווירטואליות שנוצרו בשלב הקודם. לכן, נקודות הקצה של ה-NEG יהיו ב-nic1 מהמכונות הווירטואליות.
המסוף
כדי ליצור קבוצת נקודות קצה ברשת אזורית:
- נכנסים לדף Network Endpoint Groups במסוף Google Cloud .
כניסה לדף Network Endpoint Groups - לוחצים על יצירת קבוצת נקודות קצה ברשת.
- מזינים שם ל-NEG האזורי:
neg-a. - בוחרים את סוג קבוצת נקודות הקצה ברשת: קבוצת נקודות קצה ברשת (אזורית).
- בוחרים באפשרות רשת: lb-network
- בוחרים באפשרות רשת משנה: lb-subnet
- בוחרים את האזור: us-west1-a
- לוחצים על יצירה.
- חוזרים על השלבים האלה כדי ליצור NEG אזורי שני בשם
neg-cבאזור us-west1-c.
מוסיפים נקודות קצה ל-NEG האזורי:
- נכנסים לדף Network Endpoint Groups במסוף Google Cloud .
כניסה לדף Network endpoint groups - לוחצים על Name של קבוצת נקודות הקצה הראשונה ברשת שנוצרה בשלב הקודם (neg-a). יוצג הדף Network endpoint group details.
בקטע Network endpoints in this group (נקודות קצה ברשת בקבוצה הזו), לוחצים על Add network endpoint (הוספת נקודת קצה ברשת). מוצג הדף Add network endpoint.
- לוחצים על VM instance (מכונה וירטואלית) ובוחרים באפשרות vm-a1 כדי להוסיף את כתובות ה-IP הפנימיות שלה כנקודות קצה ברשת.
- לוחצים על יצירה.
- לוחצים שוב על Add network endpoint ובוחרים באפשרות vm-a2 בקטע VM instance.
- לוחצים על יצירה.
לוחצים על Name (שם) של קבוצת נקודות הקצה השנייה ברשת שנוצרה בשלב הקודם (neg-c). יוצג הדף Network endpoint group details.
בקטע Network endpoints in this group (נקודות קצה ברשת בקבוצה הזו), לוחצים על Add network endpoint (הוספת נקודת קצה ברשת). מוצג הדף Add network endpoint.
- לוחצים על VM instance (מכונה וירטואלית) ובוחרים באפשרות vm-c1 כדי להוסיף את כתובות ה-IP הפנימיות שלה כנקודות קצה ברשת.
- לוחצים על יצירה.
- לוחצים שוב על הוספת נקודת קצה ברשת ובוחרים באפשרות vm-c2 בקטע VM instance.
- לוחצים על יצירה.
gcloud
כדי ליצור קבוצת כתובות IP אזורית בשם
neg-aבאזורus-west1-a, משתמשים בפקודהgcloud compute network-endpoint-groups create:GCE_VM_IPgcloud compute network-endpoint-groups create neg-a \ --network-endpoint-type=gce-vm-ip \ --zone=us-west1-a \ --network=lb-network \ --subnet=lb-subnetהוספת נקודות קצה ל-
neg-a:gcloud compute network-endpoint-groups update neg-a \ --zone=us-west1-a \ --add-endpoint='instance=vm-a1' \ --add-endpoint='instance=vm-a2'כדי ליצור קבוצת כתובות IP אזורית בשם
neg-cבאזורus-west1-c, משתמשים בפקודהgcloud compute network-endpoint-groups create:GCE_VM_IPgcloud compute network-endpoint-groups create neg-c \ --network-endpoint-type=gce-vm-ip \ --zone=us-west1-c \ --network=lb-network \ --subnet=lb-subnetהוספת נקודות קצה ל-
neg-c:gcloud compute network-endpoint-groups update neg-c \ --zone=us-west1-c \ --add-endpoint='instance=vm-c1' \ --add-endpoint='instance=vm-c2'
הגדרת כללים לחומת אש
יוצרים כללים של חומת אש שמאפשרים לתעבורה חיצונית (כולל בדיקות תקינות) להגיע לשרתים העורפיים.
בדוגמה הזו נוצר כלל חומת אש שמאפשר לתעבורת TCP מכל טווחי המקור להגיע לשרתים העורפיים ביציאה 80. אם רוצים ליצור כללי חומת אש נפרדים במיוחד עבור בדיקות התקינות, צריך להשתמש בטווחים של כתובות ה-IP של המקור שמפורטים במאמרי העזרה סקירה כללית על בדיקות תקינות: טווחי כתובות IP של בדיקות וכללי חומת אש.
המסוף
נכנסים לדף Firewall במסוף Google Cloud .
כדי לאפשר תנועה של IPv4, מבצעים את השלבים הבאים:
- לוחצים על יצירת כלל לחומת האש.
- מזינים שם:
allow-network-lb-ipv4. - בשדה רשת, בוחרים באפשרות lb-network.
- בקטע יעדים, בוחרים באפשרות תגי יעד שצוינו.
- בשדה Target tags (תגי יעד), מזינים
lb-tag. - בשדה מסנן מקור, בוחרים באפשרות טווחים של IPv4.
- מגדירים את Source IPv4 ranges לערך
0.0.0.0/0. כך מתאפשרת תנועה של IPv4 מכל מקור. הפעולה הזו מאפשרת גם לבדיקות התקינות של Google להגיע למופעי ה-Backend. - בקטע פרוטוקולים ויציאות שצוינו, בוחרים באפשרות TCP ומזינים
80. - לוחצים על יצירה.
כדי לאפשר תנועת IPv6, מבצעים את השלבים הבאים:
- לוחצים שוב על יצירת כלל לחומת האש.
- מזינים שם:
allow-network-lb-ipv6. - בשדה רשת, בוחרים באפשרות lb-network.
- בקטע יעדים, בוחרים באפשרות תגי יעד שצוינו.
- בשדה Target tags (תגי יעד), מזינים
lb-tag. - בשדה מסנן מקור, בוחרים באפשרות טווחים של IPv6.
- מגדירים את Source IPv6 ranges (טווחי IPv6 של המקור) לערך
::/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 הזו. אם אתם משתמשים בתמונה אחרת, אתם צריכים להגדיר את הכתובת הזו ככתובת אימייל חלופית ב-eth1 או ככתובת ללולאה חוזרת בכל מופע.
כדי להגדיר את מאזן העומסים, פועלים לפי ההוראות הבאות.
המסוף
התחלת ההגדרה
נכנסים לדף 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 (יצירת מאזן עומסי רשת חיצוני להעברת סיגנל ללא שינוי), מזינים את השם
network-lb-zonal-negשל מאזן העומסים החדש. - ברשימה Region בוחרים באזור
us-west1. - לוחצים על Backend configuration. השם של מאזן העומסים שהזנתם קודם מופיע, אבל אי אפשר לשנות אותו.
- ברשימה Backend type (סוג ה-Backend), בוחרים באפשרות Zonal network endpoint group (קבוצת נקודות קצה ברשת אזורית).
- בדף Backend configuration, מבצעים את הפעולות הבאות:
- ברשימה בדיקת תקינות, לוחצים על יצירת בדיקת תקינות ומזינים את הפרטים הבאים:
- Name (שם):
tcp-health-check - Protocol: TCP
- יציאה:
80
- Name (שם):
- לוחצים על יצירה.
- ברשימה Network endpoint group, בוחרים באפשרות
neg-aואז לוחצים על Done. - לוחצים על הוספת קצה עורפי וחוזרים על השלב הקודם כדי להוסיף את
neg-c. - לוחצים על Save.
- ברשימה בדיקת תקינות, לוחצים על יצירת בדיקת תקינות ומזינים את הפרטים הבאים:
- לפני שממשיכים, מוודאים שלצד Backend configuration מופיע סימן אישור כחול.
הגדרות הקצה הקדמי
- לוחצים על Frontend configuration.
- בשדה Name (שם), מזינים
netlb-forwarding-rule. - כדי לטפל בתנועת נתונים ב-IPv4, פועלים לפי השלבים הבאים:
- בשביל IP version, בוחרים IPv4.
- בשביל IP address, לוחצים על התפריט הנפתח ובוחרים באפשרות Create IP address.
- בדף Reserve a new static IP address, בשדה Name, מזינים
netlb-ipv4-address. - לוחצים על 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, מזינים
netlb-ipv6-address. - לוחצים על Reserve.
- בדף Reserve a new static IP address, בשדה Name, מזינים
- בקטע יציאות, בוחרים באפשרות יחיד. בשדה מספר היציאה, מזינים
80. - לוחצים על סיום.
עיגול כחול עם סימן וי משמאל לFrontend configuration מציין שההגדרה בוצעה בהצלחה.
בדיקת ההגדרות האישיות
- לוחצים על Review and finalize.
- בודקים את הגדרות ההגדרה של מאזן העומסים.
- אופציונלי: לוחצים על Equivalent code (קוד מקביל) כדי לראות את בקשת API בארכיטקטורת REST שתשמש ליצירת מאזן העומסים.
לוחצים על יצירה.
בדף 'איזון עומסים', בעמודה 'קצה עורפי' של מאזן העומסים החדש, אמור להופיע סימן וי ירוק שמציין שמאזן העומסים החדש תקין.
gcloud
שומרים כתובת IP חיצונית סטטית.
לתנועת IPv4
יוצרים כתובת IPv4 חיצונית סטטית למאזן העומסים.
gcloud compute addresses create netlb-ipv4-address \ --region=us-west1לתנועת גולשים ב-IPv6
יוצרים טווח כתובות IPv6 חיצוניות סטטיות למאזן העומסים. תת-הרשת שבה משתמשים צריכה להיות תת-רשת עם פרוטוקול כפול וטווח IPv6 חיצוני.
gcloud compute addresses create netlb-ipv6-address \ --region=us-west1 \ --subnet=lb-subnet \ --ip-version=IPV6 \ --endpoint-type=NETLBיוצרים בדיקת תקינות של TCP.
gcloud compute health-checks create tcp tcp-health-check \ --region=us-west1 \ --port=80יוצרים שירות לקצה העורפי.
gcloud compute backend-services create networklb-backend-service \ --protocol=TCP \ --health-checks=tcp-health-check \ --health-checks-region=us-west1 \ --region=us-west1מוסיפים את שני ה-NEG האזוריים,
neg-aו-neg-c, לשירות הקצה העורפי:gcloud compute backend-services add-backend networklb-backend-service \ --region=us-west1 \ --network-endpoint-group=neg-a \ --network-endpoint-group-zone=us-west1-agcloud compute backend-services add-backend networklb-backend-service \ --region=us-west1 \ --network-endpoint-group=neg-c \ --network-endpoint-group-zone=us-west1-cיוצרים את כללי ההעברה בהתאם לסוג התנועה שרוצים לטפל בה: IPv4 או IPv6. יוצרים את שני כללי ההעברה כדי לטפל בשני סוגי התנועה.
לתנועת IPv4
יוצרים כלל העברה לניתוב תנועת TCP נכנסת לשירות לקצה העורפי. משתמשים בכתובת ה-IPv4 ששמרתם בשלב 1 ככתובת ה-IP החיצונית הסטטית של מאזן העומסים.
gcloud compute forwarding-rules create forwarding-rule-ipv4 \ --load-balancing-scheme=EXTERNAL \ --region=us-west1 \ --ports=80 \ --address=netlb-ipv4-address \ --backend-service=networklb-backend-serviceלתנועת גולשים ב-IPv6
יוצרים כלל העברה לטיפול בתעבורת IPv6. משתמשים בטווח כתובות IPv6 ששמור בשלב 1 ככתובת IP חיצונית סטטית של מאזן העומסים. תת-הרשת שבה משתמשים צריכה להיות תת-רשת עם תמיכה בשני פרוטוקולים (dual-stack) עם טווח חיצוני של תת-רשת IPv6.
gcloud compute forwarding-rules create forwarding-rule-ipv6 \ --load-balancing-scheme=EXTERNAL \ --region=us-west1 \ --network-tier=PREMIUM \ --ip-version=IPV6 \ --subnet=lb-subnet \ --address=netlb-ipv6-address \ --ports=80 \ --backend-service=networklb-backend-service
בדיקת מאזן העומסים
עכשיו, אחרי שהגדרתם את שירות איזון העומסים, אתם יכולים להתחיל לשלוח תעבורת נתונים לכתובת ה-IP החיצונית של מאזן העומסים ולראות איך תעבורת הנתונים מתחלקת בין מופעי ה-Backend.
חיפוש כתובת ה-IP החיצונית של מאזן העומסים
המסוף
בדף Advanced איזון עומסים, עוברים לכרטיסייה Forwarding rules.
מאתרים את כלל ההעברה שבו נעשה שימוש במאזן העומסים.
בעמודה Address, שימו לב לכתובת ה-IP החיצונית שמופיעה.
gcloud: IPv4
מזינים את הפקודה הבאה כדי לראות את כתובת ה-IPv4 החיצונית של כלל ההעברה network-lb-forwarding-rule שמשמש את מאזן העומסים.
gcloud compute forwarding-rules describe forwarding-rule-ipv4 \
--region=us-west1
gcloud: IPv6
מזינים את הפקודה הבאה כדי לראות את כתובת ה-IPv6 החיצונית של כלל ההעברה network-lb-forwarding-rule שמשמש את מאזן העומסים.
gcloud compute forwarding-rules describe forwarding-rule-ipv6 \
--region=us-west1
הפניית תנועה למאזן העומסים
שולחים בקשות אינטרנט למאזן העומסים באמצעות 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), ניהול תעבורה ולהגדיר מדיניות מעבר לגיבוי או מדיניות מעקב אחר חיבורים. המשימות האלה הן אופציונליות ואפשר לבצע אותן בכל סדר. הוראות מפורטות במאמר אפשרויות נוספות להגדרה.
יצירת כלל העברה של 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אוL3_DEFAULT. -
REGION_A: האזור של כלל ההעברה -
IPV6_CIDR_RANGE: טווח כתובות ה-IPv6 שהכלל להעברה משרת. הקידומת של טווח כתובות ה-IPv6 צריכה להיות זהה ל אורך הקידומת שניתן להקצאה שצוין על ידי קידומת המשנה המשויכת. -
BACKEND_SERVICE: השם של שירות הקצה העורפי -
PDP_NAME: השם של הקידומת הציבורית המוקצית. מדיניות ה-PDP חייבת להיות קידומת משנה במצב EXTERNAL_IPV6_FORWARDING_RULE_CREATION
המאמרים הבאים
- במאמר העברת מאזני עומסי רשת חיצוניים להעברת סיגנל ללא שינוי ממאגרי יעד לשירותי קצה עורפי אזוריים מוסבר איך מעבירים מאזן עומסי רשת חיצוני להעברת סיגנל ללא שינוי מקצה עורפי של מאגר יעד לקצה עורפי של שירות אזורי.
- כדי להגדיר מאזן עומסי רשת חיצוני להעברת סיגנל ללא שינוי לכמה פרוטוקולי IP (תמיכה בתעבורת IPv4 ו-IPv6), אפשר לעיין במאמר הגדרה של מאזן עומסי רשת חיצוני להעברת סיגנל ללא שינוי לכמה פרוטוקולי IP.
- כדי להגדיר הגנה מתקדמת מפני DDoS ברשת עבור מאזן עומסי רשת חיצוני להעברת סיגנל ללא שינוי באמצעות Cloud Armor, קראו את המאמר בנושא הגדרת הגנה מתקדמת מפני DDoS ברשת.
- כדי למחוק משאבים, אפשר לעיין במאמר בנושא ניקוי ההגדרות של איזון העומסים.