במסמך הזה מוסבר איך להגדיר ולבדוק מאזן עומסי רשת פנימי להעברת סיגנל ללא שינוי, שתומך בתנועה פנימית של IPv6 בלבד. בהגדרת הדוגמה הזו, מתקינים שרת אינטרנט של Apache במכונות וירטואליות (VM) פנימיות של קצה עורפי עם IPv6 בלבד, כדי להציג תוכן בתגובה לתעבורה שמתקבלת דרך כתובת ה-IP הווירטואלית (VIP) של מאזן העומסים.
כפי שמוצג בתרשים הארכיטקטורה הבא, מכונות ה-VM של הבק-אנד של מאזן העומסים מוגדרות עם כתובות פנימיות של IPv6 בלבד. לצורך הגדרת הדוגמה הזו, המכונות הווירטואליות של הבק-אנד צריכות להוריד את Apache כדי להתקין שרת אינטרנט, ולכן הן צריכות גישה לאינטרנט הציבורי. עם זאת, למכונות הווירטואליות האלה בבק-אנד אין כתובות IP חיצוניות, ולכן הן לא יכולות לגשת לאינטרנט ישירות.
כדי לאפשר גישה לאינטרנט, בדוגמה הזו נעשה שימוש במכונת VM נפרדת, שהוגדרה באמצעות כתובת IPv6 חיצונית, ומשמשת כשער NAT. המכונה הווירטואלית הזו מבצעת תרגום כתובות ברמת ליבת Linux. בפרט, השרשרת POSTROUTING בטבלת ה-NAT משמשת להסתרת כתובת המקור של מנות יוצאות – כתובת ה-IPv6 הפנימית של כל מכונת קצה עורפית מוחלפת בכתובת ה-IPv6 החיצונית של מכונת ה-VM של שער ה-NAT בממשק הרשת שצוין.
במידע שבהמשך מוסבר איך להגדיר את הרכיבים השונים שמשמשים להגדרת מאזן עומסי רשת פנימי להעברת סיגנל ללא שינוי עם קצה עורפי פנימי של IPv6 בלבד.
הרשאות
כדי לפעול לפי המדריך הזה, צריך ליצור מופעים ולשנות רשת בפרויקט. צריכות להיות לכם הרשאות בעלים או עריכה בפרויקט, או שיוקצו לכם כל תפקידי ה-IAM הבאים ב-Compute Engine:
| משימה | התפקיד הנדרש |
|---|---|
| יצירת רשתות, רשתות משנה ורכיבים של מאזן עומסים | אדמין ברשת Compute ( roles/compute.networkAdmin)
|
| הוספה והסרה של כללים לחומת האש | אדמין לענייני אבטחה ב-Compute ( roles/compute.securityAdmin)
|
| יצירת מופעים | אדמין מכונות של Compute ( roles/compute.instanceAdmin)
|
מידע נוסף זמין במדריכים הבאים:
הגדרת רשת ורשת משנה עם כתובות IPv6 פנימיות בלבד
מאזן עומסי רשת פנימי להעברת סיגנל ללא שינוי שמתואר בדף הזה נוצר ברשת VPC במצב מותאם אישית בשם lb-network-ipv6-only.
כדי להגדיר רשתות משנה עם טווחי IPv6 פנימיים, צריך להפעיל טווח IPv6 פנימי של ULA ברשת VPC. טווחים של רשתות משנה פנימיות של IPv6 מוקצים מתוך הטווח הזה.
המסוף
נכנסים לדף VPC networks במסוף Cloud de Confiance .
לוחצים על יצירת רשת VPC.
בשדה Name (שם), מזינים
lb-network-ipv6-only.כדי להגדיר טווחי כתובות IPv6 פנימיות ברשתות משנה ברשת הזו, צריך לבצע את השלבים הבאים:
- בקטע Private IPv6 address settings (הגדרות של כתובות IPv6 פרטיות), בוחרים באפשרות Configure a ULA internal IPv6 range for this VPC Network (הגדרת טווח פנימי של כתובות IPv6 מסוג ULA לרשת ה-VPC הזו).
- בקטע הקצאת טווח פנימי של IPv6, בוחרים באפשרות אוטומטית או ידנית.
אם בוחרים באפשרות Manually, צריך להזין טווח של
/48מתוך הטווחfd20::/20. אם הטווח כבר בשימוש, תתבקשו לספק טווח אחר.
בקטע Subnet creation mode (מצב יצירת רשת משנה), בוחרים באפשרות Custom (בהתאמה אישית).
בקטע New subnet (רשת משנה חדשה), מציינים את פרמטרי ההגדרה הבאים של רשת המשנה:
- Name (שם):
lb-subnet-ipv6-only - אזור:
us-west1 - סוג מחסנית IP: IPv6 (single-stack)
- סוג הגישה ל-IPv6: פנימי
- Name (שם):
לוחצים על סיום.
לוחצים על יצירה.
gcloud
כדי ליצור רשת VPC חדשה במצב מותאם אישית, מריצים את הפקודה
gcloud compute networks create.כדי להגדיר טווחים פנימיים של IPv6 בכל רשת משנה ברשת הזו, משתמשים בדגל
--enable-ula-internal-ipv6.gcloud compute networks create lb-network-ipv6-only \ --subnet-mode=custom \ --enable-ula-internal-ipv6 \ --bgp-routing-mode=regionalמגדירים רשת משנה עם
ipv6-access-typeשמוגדר ל-INTERNAL. המשמעות היא שלמכונות הווירטואליות ברשת המשנה הזו יכולות להיות רק כתובות IPv6 פנימיות. בדוגמה הזו, שם רשת המשנה הואlb-subnet-ipv6-only-internal.כדי ליצור את רשת המשנה, מריצים את הפקודה
gcloud compute networks subnets create.gcloud compute networks subnets create lb-subnet-ipv6-only-internal \ --network=lb-network-ipv6-only \ --region=us-west1 \ --stack-type=IPV6_ONLY \ --ipv6-access-type=INTERNAL
הגדרת רשת משנה עם כתובות IPv6 חיצוניות בלבד
רשת משנה עם כתובות IPv6 חיצוניות בלבד משמשת ליצירת מכונה וירטואלית שמשמשת כשער NAT.
המסוף
נכנסים לדף VPC networks במסוף Cloud de Confiance .
כדי לראות את הדף VPC network details, לוחצים על השם של רשת ה-VPC שיצרתם.
בכרטיסייה Subnets (רשתות משנה), לוחצים על Add subnet (הוספת רשת משנה). בחלונית שמופיעה, מציינים את פרמטרי ההגדרה הבאים עבור רשת המשנה:
- Name (שם):
lb-subnet-ipv6-only-external - אזור:
us-west1 - סוג מחסנית IP: IPv6 (single-stack)
- סוג הגישה ל-IPv6: חיצוני
- Name (שם):
לוחצים על הוספה.
gcloud
מגדירים רשת משנה עם ipv6-access-type שמוגדר ל-EXTERNAL.
המשמעות היא שלמכונות הווירטואליות ברשת המשנה הזו יכולות להיות כתובות IPv6 חיצוניות. בדוגמה הזו, שם רשת המשנה הוא lb-subnet-ipv6-only-external.
כדי ליצור את רשת המשנה, מריצים את הפקודה gcloud compute networks subnets create.
gcloud compute networks subnets create lb-subnet-ipv6-only-external \
--network=lb-network-ipv6-only \
--region=us-west1 \
--stack-type=IPV6_ONLY \
--ipv6-access-type=EXTERNAL
הגדרת כללי חומת אש ברשת ה-VPC
בדוגמה הזו נעשה שימוש בכללים הבאים של חומת האש:
fw-allow-lb-access-ipv6-only: כלל כניסה שחל על כל היעדים ברשת ה-VPC, שמאפשר תנועה מכל מקורות ה-IPv6.
fw-allow-ssh: כלל תעבורת נתונים נכנסת שמאפשר קישוריות SSH נכנסת ביציאת TCP22מכל כתובת. אתם יכולים לבחור טווח IP של מקור מגביל יותר לכלל הזה. לדוגמה, אתם יכולים לציין רק את טווחי ה-IP של המערכת שממנה אתם מפעילים סשנים של SSH. בדוגמה הזו נעשה שימוש בתג היעדallow-sshכדי לזהות את מכונות ה-VM שצריך להחיל עליהן את התג.
fw-allow-health-check-ipv6-only: כלל כניסה שחל על המופעים שעוברים איזון עומסים, שמאפשר תעבורת נתונים ממערכות בדיקת תקינות (2600:2d00:1:b029::/64). בדוגמה הזו נעשה שימוש בתג היעדallow-health-check-ipv6כדי לזהות את המופעים שצריך להחיל עליהם את הכלל. Cloud de Confiance
בלי כללי חומת האש האלה, הכלל default deny ingress חוסם תנועה נכנסת למופעי ה-Backend.
המסוף
נכנסים לדף Firewall policies במסוף Cloud de Confiance .
כדי לאפשר תעבורה של רשת משנה ב-IPv6, לוחצים שוב על יצירת כלל חומת אש ומזינים את הפרטים הבאים:
- Name (שם):
fw-allow-lb-access-ipv6-only - רשת:
lb-network-ipv6-only - עדיפות:
1000 - כיוון התנועה: כניסה
- פעולה במקרה של התאמה: אישור
- יעדים: כל המופעים ברשת
- מסנן מקור: טווחים של IPv6
- טווחים של כתובות IPv6 של המקור:
::/0 - פרוטוקולים ויציאות: אישור הכול
- Name (שם):
לוחצים על יצירה.
כדי לאפשר חיבורי SSH נכנסים, לוחצים שוב על יצירת כלל חומת אש ומזינים את הפרטים הבאים:
- Name (שם):
fw-allow-ssh - רשת:
lb-network-ipv6-only - עדיפות:
1000 - כיוון התנועה: כניסה
- פעולה במקרה של התאמה: אישור
- יעדים: תגי יעד שצוינו
- תגי טירגוט:
allow-ssh - מסנן מקור: טווחים של IPv6
- טווחים של כתובות IPv6 של המקור:
::/0 - פרוטוקולים ויציאות: בוחרים באפשרות פרוטוקולים ויציאות שצוינו, מסמנים את תיבת הסימון TCP ומזינים
22ביציאות.
- Name (שם):
לוחצים על יצירה.
כדי לאפשר בדיקות תקינות של IPv6, לוחצים שוב על יצירת כלל חומת אש ומזינים את הפרטים הבאים: Cloud de Confiance
- Name (שם):
fw-allow-health-check-ipv6-only - רשת:
lb-network-ipv6-only - עדיפות:
1000 - כיוון התנועה: כניסה
- פעולה במקרה של התאמה: אישור
- יעדים: תגי יעד שצוינו
- תגי טירגוט:
allow-health-check-ipv6 - מסנן מקור: טווחים של IPv6
- טווחים של כתובות IPv6 של המקור:
2600:2d00:1:b029::/64 - פרוטוקולים ויציאות: אישור הכול
- Name (שם):
לוחצים על יצירה.
gcloud
יוצרים את כלל חומת האש
fw-allow-lb-access-ipv6-onlyכדי לאפשר את כל תעבורת הנתונים הנכנסת ב-IPv6 לכל המכונות הווירטואליות ברשת ה-VPC:gcloud compute firewall-rules create fw-allow-lb-access-ipv6-only \ --network=lb-network-ipv6-only \ --action=allow \ --direction=ingress \ --source-ranges=::/0 \ --rules=allיוצרים את כלל חומת האש
fw-allow-sshכדי לאפשר קישוריות SSH למכונות וירטואליות עם תג הרשתallow-ssh. אם לא מציינים אתsource-ranges,Cloud de Confiance מפרש את הכלל כאילו הוא מתייחס לכל מקור.gcloud compute firewall-rules create fw-allow-ssh \ --network=lb-network-ipv6-only \ --action=allow \ --direction=ingress \ --target-tags=allow-ssh \ --source-ranges=::/0 \ --rules=tcp:22יוצרים את כלל
fw-allow-health-check-ipv6כדי לאפשר בדיקות תקינות שלCloud de Confiance IPv6.gcloud compute firewall-rules create fw-allow-health-check-ipv6-only \ --network=lb-network-ipv6-only \ --action=allow \ --direction=ingress \ --target-tags=allow-health-check-ipv6 \ --source-ranges=2600:2d00:1:b029::/64 \ --rules=tcp,udp
יצירת מופע של מכונה וירטואלית שמשמשת כשער NAT
בדוגמה הזו, נעשה שימוש בסקריפט Bash כדי ליצור שער NAT שמשמש לשינוי מנות IPv6 ברמת ליבת Linux.
סקריפט Bash משנה את כתובת המקור של כל מנות ה-IPv6 היוצאות בשרשרת POSTROUTING, ומחליף אותה בכתובת ה-IPv6 החיצונית של ממשק המכונה הווירטואלית.
סקריפט Bash משנה את שרשרת POSTROUTING ב-iptables כדי להסתיר את כתובת ה-IPv6 של המקור של כל המנות היוצאות, ומחליף אותה בכתובת ה-IPv6 החיצונית של ממשק הרשת של ה-VM.
צריך גם להפעיל העברת IP למופע הזה.
כדי ליצור מכונה וירטואלית שמשמשת כשער NAT:
המסוף
נכנסים לדף VM instances במסוף Cloud de Confiance .
לוחצים על Create instance.
בשדה Name (שם), מזינים
nat-gateway-instance.בשדה Region, בוחרים
us-west1, ובשדה Zone, בוחריםus-west1-a.בקטע Boot disk מוודאים שהאפשרות Debian GNU/Linux 12 (bookworm) מסומנת באפשרויות של דיסק האתחול. אם צריך, לוחצים על שינוי כדי לשנות את התמונה.
לוחצים על Networking ומגדירים את השדות הבאים:
- בשדה Network tags (תגי רשת), מזינים
allow-ssh. - בקטע העברת כתובות IP, מסמנים את תיבת הסימון הפעלה.
- בקטע Network interfaces (ממשקי רשת), בוחרים באפשרויות הבאות:
- רשת:
lb-network-ipv6-only - Subnet:
lb-subnet-ipv6-only-external - סוג מחסנית IP: IPv6 (single-stack)
- כתובת IPv6 חיצונית: הקצאה אוטומטית
- רשת:
- בשדה Network tags (תגי רשת), מזינים
לוחצים על מתקדם ובשדה סקריפט לטעינה בזמן ההפעלה מזינים את הסקריפט הבא:
#!/bin/bash set -e echo "Starting GCE startup script..." # --- IPv6 NAT table configuration --- echo "Modifying the source IPv6 address using the NAT table" # Enable IPv6 forwarding sysctl -w net.ipv6.conf.all.forwarding=1 # Determine the primary network interface (assuming it's the last one listed) IFACE=$(ip -brief link | tail -1 | awk '{print $1}') echo "Using interface: $IFACE for IPv6 NAT" # Flush existing IPv6 NAT rules ip6tables -F -t nat ip6tables -X -t nat # Masquerade all outgoing IPv6 traffic on the determined interface ip6tables -t nat -A POSTROUTING -o "$IFACE" -j MASQUERADE echo "IPv6 masquerading configured successfully." echo "GCE startup script finished."לוחצים על יצירה.
gcloud
יוצרים סקריפט לטעינה בזמן ההפעלה.
nano startup.sh
מוסיפים את הסקריפט הבא ושומרים את הקובץ.
#!/bin/bash set -e echo "Starting GCE startup script..." # --- IPv6 NAT table configuration --- echo "Modifying the source IPv6 address using the NAT table" # Enable IPv6 forwarding sysctl -w net.ipv6.conf.all.forwarding=1 # Determine the primary network interface (assuming it's the last one listed) IFACE=$(ip -brief link | tail -1 | awk '{print $1}') echo "Using interface: $IFACE for IPv6 NAT" # Flush existing IPv6 NAT rules ip6tables -F -t nat ip6tables -X -t nat # Masquerade all outgoing IPv6 traffic on the determined interface ip6tables -t nat -A POSTROUTING -o "$IFACE" -j MASQUERADE echo "IPv6 masquerading configured successfully." echo "GCE startup script finished."יוצרים מכונה וירטואלית ומוסיפים את קובץ המטא-נתונים למכונה הווירטואלית. כדי להשתמש במכונה הווירטואלית הזו כנקודת מעבר הבאה במסלול, צריך להשתמש בדגל
--can-ip-forwardכדי להפעיל העברת IP עבור המופע הזה.gcloud compute instances create nat-gateway-instance \ --zone=us-west1-a \ --tags=allow-ssh \ --image-family=debian-12 \ --image-project=debian-cloud \ --subnet=lb-subnet-ipv6-only-external \ --stack-type=IPV6_ONLY \ --can-ip-forward \ --metadata-from-file=startup-script=startup.sh
יצירת נתיב סטטי חדש ברשת ה-VPC
בדוגמה הזו, נוצר נתיב בהתאמה אישית שמפנה את כל תעבורת הנתונים באינטרנט ב-IPv6 (::/0) ממכונות וירטואליות שתויגו ב-nat-gw-tag אל המכונה הווירטואלית nat-gateway-instance, שמשמשת כשער NAT.
כדי ליצור מסלול:
המסוף
נכנסים לדף Routes במסוף Cloud de Confiance .
לוחצים על הכרטיסייה ניהול נתיבים.
לוחצים על יצירת מסלול.
מציינים שם ותיאור לנתיב.
ברשימה Network בוחרים את רשת ה-VPC
lb-network-ipv6-only.ברשימה IP version בוחרים באפשרות IPv6.
מציינים טווח יעד של כתובות IPv6. היעד הרחב ביותר האפשרי הוא
::/0עבור IPv6.כדי שהניתוב יחול רק על מקרים נבחרים עם תגי רשת תואמים, מציינים את התגים האלה בשדה תגי מופעים. משאירים את השדה ריק כדי שהנתיב יחול על כל המופעים ברשת. בדוגמה הזו, מזינים
nat-gw-tag.בקטע הניתוב הבא, בוחרים באפשרות ציון מופע.
בוחרים את השם של מופע שיצרתם כדי שישמש כשער NAT. בדוגמה הזו, בוחרים באפשרות
nat-gateway-instance.לוחצים על יצירה.
gcloud
משתמשים בפקודה gcloud compute routes create כדי ליצור מסלול חדש.
המנה מועברת למופע של מכונה וירטואלית nat-gateway-instance כפי שצוין ב---next-hop-instance של המסלול.
gcloud compute routes create route-1 \
--network=lb-network-ipv6-only \
--priority=1000 \
--tags=nat-gw-tag \
--destination-range=::/0 \
--next-hop-instance=nat-gateway-instance \
--next-hop-instance-zone=us-west1-a
יצירת מכונות וירטואליות בעורף וקבוצות של מופעים
בדוגמה הזו אנחנו משתמשים בשתי קבוצות של מופעי מכונה לא מנוהלים, שלכל אחת מהן יש שתי מכונות וירטואליות של קצה עורפי. כדי להדגים את האופי האזורי של מאזני עומסי רשת פנימיים להעברת סיגנל ללא שינוי, שתי קבוצות המופעים ממוקמות באזורים נפרדים, us-west1-a ו-us-west1-c.
- קבוצת המופעים
ig-aמכילה את שתי המכונות הווירטואליות האלה:vm-a1vm-a2
- קבוצת המופעים
ig-cמכילה את שתי המכונות הווירטואליות האלה:vm-c1vm-c2
התנועה לכל ארבעת מכונות ה-VM בקצה העורפי מאוזנת.
בדוגמה הזו, הניתוב הסטטי שנוצר בשלב קודם מוגבל למכונות וירטואליות ספציפיות באמצעות תג הרשת nat-gw-tag.
המסוף
יצירת מכונות וירטואליות של קצה עורפי
נכנסים לדף VM instances במסוף Cloud de Confiance .
חוזרים על השלבים האלה לכל מכונה וירטואלית, באמצעות השילובים הבאים של שם ואזור.
- שם:
vm-a1, אזור:us-west1-a - שם:
vm-a2, אזור:us-west1-a - שם:
vm-c1, אזור:us-west1-c - שם:
vm-c2, אזור:us-west1-c
- שם:
לוחצים על Create instance.
מגדירים את השם כמו שמופיע בשלב 2.
בשדה Region, בוחרים באפשרות
us-west1ובוחרים Zone כמו שמוסבר בשלב 2.בקטע Boot disk מוודאים שהאפשרות Debian GNU/Linux 12 (bookworm) מסומנת באפשרויות של דיסק האתחול. אם צריך, לוחצים על שינוי כדי לשנות את התמונה.
לוחצים על אפשרויות מתקדמות.
לוחצים על Networking ומגדירים את השדות הבאים:
- בשדה Network tags (תגי רשת), מזינים
allow-ssh,allow-health-check-ipv6, ו-nat-gw-tag. - בקטע Network interfaces (ממשקי רשת), בוחרים באפשרויות הבאות:
- רשת:
lb-network-ipv6-only - Subnet:
lb-subnet-ipv6-only-internal - סוג מחסנית 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 במסוף Cloud de Confiance .
כדי ליצור שתי קבוצות של מכונות וירטואליות לא מנוהלות, שבכל אחת מהן יש שתי מכונות וירטואליות, חוזרים על השלבים הבאים ומשתמשים בשילובים האלה.
- שם קבוצת המופעים:
ig-a, אזור:us-west1-a, מכונות וירטואליות:vm-a1ו-vm-a2 - שם קבוצת המופעים:
ig-c, אזור:us-west1-c, מכונות וירטואליות:vm-c1ו-vm-c2
- שם קבוצת המופעים:
לוחצים על יצירת קבוצת מופעים.
לוחצים על קבוצת מופעים חדשה לא מנוהלת.
מגדירים את השם כמו שמוסבר בשלב 2.
בקטע Location, בוחרים באפשרות
us-west1בשדה Region, ואז בוחרים Zone כמו שמוסבר בשלב 2.בקטע רשת, בוחרים באפשרות
lb-network-ipv6-only.בשדה רשת משנה, בוחרים באפשרות
lb-subnet-ipv6-only-internal.בקטע VM instances, מוסיפים את המכונות הווירטואליות כמו שמוסבר בשלב 2.
לוחצים על יצירה.
gcloud
כדי ליצור את ארבע מכונות ה-VM, מריצים את הפקודה
gcloud compute instances createארבע פעמים, ומשתמשים בארבעת השילובים הבאים לערכים של[VM-NAME]ו-[ZONE].VM-NAME:vm-a1,ZONE:us-west1-aVM-NAME:vm-a2,ZONE:us-west1-aVM-NAME:vm-c1,ZONE:us-west1-cVM-NAME:vm-c2,ZONE:us-west1-c
gcloud compute instances create VM-NAME \ --zone=ZONE \ --image-family=debian-12 \ --image-project=debian-cloud \ --tags=allow-ssh,allow-health-check-ipv6,nat-gw-tag \ --subnet=lb-subnet-ipv6-only-internal \ --stack-type=IPV6_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'יוצרים את שתי הקבוצות של מופעי מכונה לא מנוהלים בכל אזור:
gcloud compute instance-groups unmanaged create ig-a \ --zone=us-west1-a gcloud compute instance-groups unmanaged create ig-c \ --zone=us-west1-cמוסיפים את המכונות הווירטואליות לקבוצות המופעים המתאימות:
gcloud compute instance-groups unmanaged add-instances ig-a \ --zone=us-west1-a \ --instances=vm-a1,vm-a2 gcloud compute instance-groups unmanaged add-instances ig-c \ --zone=us-west1-c \ --instances=vm-c1,vm-c2
הגדרת רכיבים של מאזן עומסים
בשלבים הבאים מוסבר איך להגדיר את הרכיבים השונים של מאזן עומסי רשת פנימי להעברת סיגנל ללא שינוי, החל מבדיקת התקינות והשירות לקצה העורפי, ועד לקצה החזיתי.
המסוף
התחלת ההגדרה
נכנסים לדף Load balancing במסוף Cloud de Confiance .
- לוחצים על Create load balancer (יצירת מאזן עומסים).
- בקטע Type of load balancer (סוג מאזן העומסים), בוחרים באפשרות Network Load Balancer (TCP/UDP/SSL) (מאזן עומסים ברשת (TCP/UDP/SSL)) ולוחצים על Next (הבא).
- בקטע Proxy or passthrough (פרוקסי או העברה), בוחרים באפשרות Passthrough load balancer (מאזן עומסים להעברה) ולוחצים על Next (הבא).
- לוחצים על Configure (הגדרה).
הגדרה בסיסית
בדף Create internal passthrough Network Load Balancer (יצירת מאזן עומסי רשת פנימי להעברת סיגנל ללא שינוי), מזינים את הפרטים הבאים:
- שם של מאזן עומסים:
ilb-ipv6-only - אזור:
us-west1 - רשת:
lb-network-ipv6-only
הגדרת הקצה העורפי
- לוחצים על Backend configuration.
- ברשימה בדיקת תקינות, בוחרים באפשרות יצירת בדיקת תקינות ומזינים את הפרטים הבאים:
- Name (שם):
hc-http-80 - היקף: אזורי
- Protocol: HTTP
- יציאה:
80 - פרוטוקול שרת proxy: ללא
- בקשה:
/
- Name (שם):
- לוחצים על יצירה.
- בקטע New Backend, בהגדרה IP stack type, בוחרים באפשרות IPv6 (single-stack).
- בקטע Instance group, בוחרים את קבוצת המכונות
ig-aולוחצים על Done. - לוחצים על הוספת קצה עורפי וחוזרים על השלב כדי להוסיף את
ig-c. - מוודאים שמופיע סימן וי כחול לצד Backend configuration.
הגדרות הקצה הקדמי
- לוחצים על Frontend configuration. בקטע New Frontend IP and port מבצעים את הפעולות הבאות:
- בשדה Name (שם), מזינים
fr-ilb-ipv6-only. - כדי לטפל בתעבורת IPv6:
- בשביל IP version, בוחרים IPv6. שרת ה-TCP של IPv6 שתיצרו בקטע הבא יקשר ל-VIP של כלל ההעברה.
- בשדה Subnetwork, בוחרים באפשרות
lb-subnet-ipv6-only-internal. טווח כתובות ה-IPv6 בכלל ההעברה הוא תמיד זמני. - בקטע יציאות, בוחרים באפשרות כמה, ואז בשדה מספר היציאה מזינים
80. - לוחצים על סיום.
- לפני שממשיכים, מוודאים שלצד Frontend configuration מופיע סימן אישור כחול.
- בשדה Name (שם), מזינים
בדיקת ההגדרות האישיות
- לוחצים על Review and finalize. בודקים את כל ההגדרות.
- אם ההגדרות נכונות, לוחצים על יצירה. יצירת מאזן עומסי רשת פנימי להעברת סיגנל ללא שינוי נמשכת כמה דקות.
gcloud
יוצרים בדיקת תקינות חדשה של HTTP ברמה האזורית כדי לבדוק את הקישוריות של HTTP למכונות הווירטואליות ביציאה 80.
gcloud compute health-checks create http hc-http-80 \ --region=us-west1 \ --port=80יוצרים את שירות הקצה העורפי:
gcloud compute backend-services create ilb-ipv6-only \ --load-balancing-scheme=INTERNAL \ --protocol=tcp \ --region=us-west1 \ --health-checks=hc-http-80 \ --health-checks-region=us-west1מוסיפים את שתי קבוצות המופעים לשירות ה-Backend:
gcloud compute backend-services add-backend ilb-ipv6-only \ --region=us-west1 \ --instance-group=ig-a \ --instance-group-zone=us-west1-agcloud compute backend-services add-backend ilb-ipv6-only \ --region=us-west1 \ --instance-group=ig-c \ --instance-group-zone=us-west1-cיוצרים את כלל ההעברה של IPv6 עם כתובת IPv6 זמנית.
gcloud compute forwarding-rules create fr-ilb-ipv6-only \ --region=us-west1 \ --load-balancing-scheme=INTERNAL \ --subnet=lb-subnet-ipv6-only-internal \ --ip-protocol=TCP \ --ports=80 \ --backend-service=ilb-ipv6-only \ --backend-service-region=us-west1 \ --ip-version=IPV6
בדיקת מאזן העומסים
כדי לבדוק את מאזן העומסים, יוצרים מכונת VM של לקוח באותו אזור שבו נמצא מאזן העומסים, ואז שולחים תעבורה מהלקוח למאזן העומסים.
יצירת מכונה וירטואלית של לקוח
בדוגמה הזו נוצרת מכונה וירטואלית של לקוח (vm-client) באותו אזור שבו נמצאות המכונות הווירטואליות של השרת (בק-אנד).
המסוף
נכנסים לדף VM instances במסוף Cloud de Confiance .
לוחצים על Create instance.
בשדה Name (שם), מזינים
vm-client.בשדה אזור, בוחרים באפשרות
us-west1.בשדה Zone, בוחרים באפשרות
us-west1-a.לוחצים על אפשרויות מתקדמות.
לוחצים על Networking ומגדירים את השדות הבאים:
- בשדה Network tags (תגי רשת), מזינים
allow-ssh. - בקטע Network interfaces (ממשקי רשת), בוחרים באפשרויות הבאות:
- רשת:
lb-network-ipv6-only - Subnet:
lb-subnet-ipv6-only-internal - סוג מחסנית IP: IPv6 (single-stack)
- רשת:
- לוחצים על סיום.
- בשדה Network tags (תגי רשת), מזינים
לוחצים על יצירה.
gcloud
המכונה הווירטואלית של הלקוח יכולה להיות בכל תחום באותו אזור שבו נמצא מאזן העומסים. בדוגמה הזו, הלקוח נמצא באזור us-west1-a והוא משתמש באותה רשת משנה כמו המכונות הווירטואליות של הבק-אנד.
gcloud compute instances create vm-client \
--zone=us-west1-a \
--image-family=debian-12 \
--image-project=debian-cloud \
--stack-type=IPV6_ONLY \
--tags=allow-ssh \
--subnet=lb-subnet-ipv6-only-internal
בדיקת החיבור
בבדיקה הזו מתבצעת פנייה למאזן העומסים ממכונה וירטואלית נפרדת של לקוח, כלומר לא ממכונה וירטואלית של קצה עורפי ששייכת למאזן העומסים. ההתנהגות הצפויה היא שהתנועה תתחלק בין ארבעת המכונות הווירטואליות של ה-Backend.
מתחברים למכונה הווירטואלית של הלקוח באמצעות SSH.
gcloud compute ssh vm-client --zone=us-west1-a
תאר את כלל ההעברה של IPv6
fr-ilb-ipv6-only. שימו לב לIPV6_ADDRESSבתיאור.gcloud compute forwarding-rules describe fr-ilb-ipv6-only \ --region=us-west1מלקוחות עם קישוריות IPv6, מריצים את הפקודה הבאה:
curl http://IPV6_ADDRESS:80
לדוגמה, אם כתובת ה-IPv6 שהוקצתה היא
[fd20:307:120c:2000:0:1:0:0/96]:80, הפקודה צריכה להיראות כך:curl http://[fd20:307:120c:2000:0:1:0:0]:80
התגובה יכולה להיות כזו:
Page returned from: vm-a2