במאמר הזה מוסבר איך ליצור מאזן עומסי רשת גלובלי חיצוני מסוג passthrough כדי לאזן את תעבורת הנתונים בין מערכות בק-אנד של NEG אזוריות שנפרסו בכמה אזורים.
לפני שמתחילים
חשוב לוודא שההגדרה עומדת בדרישות המוקדמות הבאות.
התקנת Google Cloud CLI
ההוראות במדריך הזה מתייחסות לשימוש ב-Google Cloud CLI כדי להגדיר מאזן עומסי רשת גלובלי חיצוני להעברת סיגנל ללא שינוי. הוראות להתקנה מופיעות במאמר התקנת ה-CLI של gcloud.
התפקידים הנדרשים
אם אתם יוצרי הפרויקט, מוקצה לכם התפקיד 'בעלים' (roles/owner). כברירת מחדל, התפקיד 'בעלים' (roles/owner) או התפקיד 'עריכה' (roles/editor) כוללים את ההרשאות שנדרשות כדי לבצע את הפעולות שמתוארות במאמר הזה.
אם אתם לא יוצרי הפרויקט, צריך להעניק את ההרשאות הנדרשות בפרויקט לחשבון המשתמש המתאים. לדוגמה, חשבון ראשי יכול להיות חשבון Google (למשתמשי קצה) או חשבון שירות.
כדי לקבל את ההרשאות שנדרשות להגדרה של מאזן עומסי רשת גלובלי חיצוני מסוג passthrough עם קצה עורפי של קבוצת מכונות וירטואליות, צריך לבקש מהאדמין להקצות לכם את תפקידי ה-IAM הבאים בפרויקט:
-
יצירת רשת VPC, תת-רשת ורכיבים של איזון עומסים:
התפקיד 'אדמין רשתות' ב-Compute (
roles/compute.networkAdmin) -
יצירת כללי חומת אש:
אדמין לענייני אבטחה ב-Compute (
roles/compute.securityAdmin) -
יצירת מופעים של מכונות וירטואליות:
התפקיד 'אדמין של מופע Compute' (
roles/compute.instanceAdmin)
להסבר על מתן תפקידים, ראו איך מנהלים את הגישה ברמת הפרויקט, התיקייה והארגון.
יכול להיות שאפשר לקבל את ההרשאות הנדרשות גם באמצעות תפקידים בהתאמה אישית או תפקידים מוגדרים מראש.
מידע נוסף על תפקידים והרשאות ב-Cloud Load Balancing זמין במאמר תפקידים והרשאות. למידע נוסף על הגדרת מדיניות IAM עם מענקים מותנים לכללי העברה, ראו תנאי IAM לכללי העברה.
סקירה כללית של ההגדרה
בתרשים הבא מוצג מאזן עומסי רשת גלובלי חיצוני להעברת סיגנל ללא שינוי עם מערכות בק-אנד של NEG אזוריות שנפרסו באזורים us-west1 ו-europe-west2.
כדי להבין איך פועל מאזן עומסי רשת גלובלי חיצוני מסוג passthrough, אפשר לעיין בקטע ארכיטקטורה במדריך הסקירה הכללית.
בדוגמה הזו, הרכיבים הבאים מוגדרים:
ארבע מכונות וירטואליות בבק-אנד:
-
vm-us-1ו-vm-us-2באזורus-west1-a -
vm-eu-1ו-vm-eu-2באזורeurope-west2-a
-
שתי קבוצות נקודות קצה ברשת (NEG) אזוריות עם
GCE_VM_IPנקודות קצה:- צירוף
nic0מתוךvm-us-1ו-vm-us-2ל-NEG באזורus-west1-a - צירוף
nic0מתוךvm-eu-1ו-vm-eu-2ל-NEG באזורeurope-west2-a
- צירוף
מאזן עומסי רשת גלובלי חיצוני להעברת סיגנל ללא שינוי אחד לאיזון תעבורת נתונים של
TCP:80בין ארבע נקודות הקצה ברשת.
הגדרת הרשת ורשתות המשנה
בדוגמה הזו נעשה שימוש ברשת VPC במצב מותאם אישית בשם lb-network עם תת-רשתות בשני אזורים שונים.
אתם יכולים להגדיר מאזן עומסי רשת גלובלי להעברת סיגנל ללא שינוי עם GCE_VM_IP נקודות קצה ברשת שיכולות להפנות לממשק רשת של מכונה וירטואלית, שסוג הסטאק שלה יכול להיות IPv4 בלבד, IPv6 בלבד או סטאק כפול.
בטבלה הבאה מוצגת תאימות בין סוגי תעבורה של מאזני עומסים, ממשקי רשת של מכונות וירטואליות בבק-אנד וסוגי מחסנית של רשתות משנה ב-VPC. חשוב לוודא שאתם מכירים את דרישות התאימות של ממשק הרשת של מכונת הבק-אנד עם רשתות המשנה של ה-VPC, שמפורטות במדריך לארכיטקטורה של מאזן עומסי רשת גלובלי חיצוני להעברת סיגנל ללא שינוי.
| סוג התנועה במאזן העומסים | סוג הערימה של ממשק הרשת של מכונת ה-VM של הבק-אנד | סוג ה-Stack של רשת משנה של VPC |
|---|---|---|
| תנועה מסוג IPv4 בלבד | IPV4_ONLY |
IPV4_ONLY או IPV4_IPV6 |
IPV4_IPV6 |
IPV4_IPV6 |
|
| תנועת IPv6 בלבד | IPV6_ONLY |
IPV6_ONLY או IPV4_IPV6 |
IPV4_IPV6 |
IPV4_IPV6 |
|
| תנועה ב-IPv4 וב-IPv6 | IPV4_IPV6 |
IPV4_IPV6 |
gcloud
יוצרים את רשת ה-VPC. בדוגמה הזו, רשת ה-VPC נקראת
lb-network.gcloud compute networks create lb-network --subnet-mode=custom
ברשת ה-VPC (
lb-network), יוצרים תת-רשתות בשני אזורים.יוצרים תת-רשת בשם
lb-subnet-usעבור נקודות הקצה ברשת באזורus-west1.כדי ליצור רשת משנה עם IPv4 בלבד, משתמשים בפקודה הבאה:
gcloud compute networks subnets create lb-subnet-us \ --stack-type=IPV4_ONLY \ --network=lb-network \ --range=10.1.2.0/24 \ --region=us-west1כדי ליצור רשת משנה עם כתובות IPv6 בלבד, משתמשים בפקודה הבאה:
gcloud compute networks subnets create lb-subnet-us \ --stack-type=IPV6_ONLY \ --ipv6-access-type=EXTERNAL \ --network=lb-network \ --region=us-west1כדי ליצור רשת משנה עם פרוטוקול כפול, משתמשים בפקודה הבאה:
gcloud compute networks subnets create lb-subnet-us \ --stack-type=IPV4_IPV6 \ --ipv6-access-type=EXTERNAL \ --network=lb-network \ --range=10.1.2.0/24 \ --region=us-west1יוצרים תת-רשת בשם
lb-subnet-euעבור נקודות הקצה ברשת באזורeurope-west2.כדי ליצור רשת משנה עם IPv4 בלבד, משתמשים בפקודה הבאה:
gcloud compute networks subnets create lb-subnet-eu \ --stack-type=IPV4_ONLY \ --network=lb-network \ --range=10.1.3.0/24 \ --region=europe-west2כדי ליצור רשת משנה עם כתובות IPv6 בלבד, משתמשים בפקודה הבאה:
gcloud compute networks subnets create lb-subnet-eu \ --stack-type=IPV6_ONLY \ --ipv6-access-type=EXTERNAL \ --network=lb-network \ --region=europe-west2כדי ליצור רשת משנה עם פרוטוקול כפול, משתמשים בפקודה הבאה:
gcloud compute networks subnets create lb-subnet-eu \ --stack-type=IPV4_IPV6 \ --ipv6-access-type=EXTERNAL \ --network=lb-network \ --range=10.1.3.0/24 \ --region=europe-west2
יצירת כללים לחומת האש
כדי להגדיר את סביבת הייצור בצורה מאובטחת, צריך ליצור שני כללים נפרדים בחומת האש:
כלל חומת אש של בדיקת תקינות, שמוגדר לאפשר תעבורת נתונים נכנסת (ingress) מ:
- טווחי כתובות ה-IP של בדיקות התקינות של Google, וגם
- פרוטוקול ה-IP והיציאות שמוגדרים בבדיקת התקינות
כלל חומת אש לתעבורת נתונים של משתמשים, שמוגדר לאפשר תעבורת נתונים נכנסת (ingress) מהמקורות הבאים:
- טווחים ספציפיים של כתובות IP של מקורות לקוח שצריכים לגשת למאזן העומסים, וכן
- פרוטוקול ה-IP והיציאות שמוגדרים בכללי ההעברה
שימו לב לנקודות הבאות:
אם האפליקציה שלכם משרתת את כל משתמשי האינטרנט ללא הגבלה, צריך להגדיר טווחי כתובות IP של מקור
0.0.0.0/0לתעבורת IPv4 ו-::/0לתעבורת IPv6.אם הגדרתם את בדיקת התקינות כך שתבדוק את פרוטוקול ה-IP והיציאות של מאזן העומסים, תוכלו להגדיר כלל חומת אש יחיד על ידי מיזוג של בדיקת התקינות וכללי חומת האש של תעבורת המשתמשים.
gcloud
יוצרים כלל חומת אש שמאפשר לתעבורת TCP מכל טווחי המקור להגיע למכונות הווירטואליות של השרתים העורפיים ביציאה 80. היציאה והפרוטוקול האלה משמשים גם לאיזון עומסים וגם לבדיקות תקינות.
כדי לאפשר את כל תנועת ה-IPv4, מריצים את הפקודה הבאה:
gcloud compute firewall-rules create firewall-allow-traffic-ipv4 \ --network=lb-network \ --target-tags=allow-traffic \ --allow=tcp:80 \ --source-ranges=0.0.0.0/0כדי לאפשר את כל תנועת ה-IPv6, מריצים את הפקודה הבאה:
gcloud compute firewall-rules create firewall-allow-traffic-ipv6 \ --network=lb-network \ --target-tags=allow-traffic \ --allow=tcp:80 \ --source-ranges=::/0
יצירת מכונות וירטואליות של בק-אנד
בדוגמה הזו של איזון עומסים, יוצרים ארבע מכונות וירטואליות (VM) כמו שמודגש בקטע סקירה כללית של ההגדרה.
בדוגמה הזו, הממשק nic0 של המכונה הווירטואלית משויך לרשת ה-VPC lb-network ולאחת מתת-הרשתות – lb-subnet-us או lb-subnet-eu. ממשק הרשת שאליו מפנה נקודת הקצה GCE_VM_IP חייב להיות באותה רשת משנה של VPC שמשויכת ל-NEG אזורי.
בטבלה הבאה מוצגת תאימות בין סוגי תעבורה של מאזני עומסים, ממשקי רשת של מכונות וירטואליות בבק-אנד וסוגי מחסנית של רשתות משנה ב-VPC. חשוב לוודא שאתם מכירים את דרישות התאימות של ממשק הרשת של מכונת הבק-אנד עם רשתות המשנה של ה-VPC, שמפורטות במדריך לארכיטקטורה של מאזן עומסי רשת גלובלי חיצוני להעברת סיגנל ללא שינוי.
| סוג התנועה במאזן העומסים | סוג הערימה של ממשק הרשת של מכונת ה-VM של הבק-אנד | סוג ה-Stack של רשת משנה של VPC |
|---|---|---|
| תנועה מסוג IPv4 בלבד | IPV4_ONLY |
IPV4_ONLY או IPV4_IPV6 |
IPV4_IPV6 |
IPV4_IPV6 |
|
| תנועת IPv6 בלבד | IPV6_ONLY |
IPV6_ONLY או IPV4_IPV6 |
IPV4_IPV6 |
IPV4_IPV6 |
|
| תנועה ב-IPv4 וב-IPv6 | IPV4_IPV6 |
IPV4_IPV6 |
gcloud
מריצים את הפקודה gcloud compute instances create ארבע פעמים כדי ליצור את ארבע המכונות הווירטואליות, ומשתמשים בארבעת השילובים הבאים עבור VM_NAME, REGION, ZONE ו-SUBNET.
סקריפט ה-Bash זהה לכל ארבע המכונות הווירטואליות.
| VM_NAME | REGION | ZONE | SUBNET |
|---|---|---|---|
vm-us-1 |
us-west1 |
us-west1-a |
lb-subnet-us |
vm-us-2 |
us-west1 |
us-west1-a |
lb-subnet-us |
vm-eu-1 |
europe-west2 |
europe-west2-a |
lb-subnet-eu |
vm-eu-2 |
europe-west2 |
europe-west2-a |
lb-subnet-eu |
כדי ליצור מכונות וירטואליות של קצה עורפי עם ממשקי רשת IPv4 בלבד, משתמשים בפקודה הבאה.
gcloud compute instances create VM_NAME \
--zone=ZONE \
--image-family=debian-12 \
--image-project=debian-cloud \
--tags=allow-traffic \
--network-interface=network=lb-network,subnet=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'
כדי ליצור מכונות וירטואליות של בק-אנד עם ממשקי רשת IPv6 בלבד, משתמשים בפקודה הבאה.
gcloud compute instances create VM_NAME \
--zone=ZONE \
--image-family=debian-12 \
--image-project=debian-cloud \
--tags=allow-traffic \
--network-interface=network=lb-network,subnet=SUBNET,stack-type=IPV6_ONLY,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'
כדי ליצור מכונות וירטואליות של קצה עורפי עם ממשקי רשת דו-ערכיים, משתמשים בפקודה הבאה.
gcloud compute instances create VM_NAME \
--zone=ZONE \
--image-family=debian-12 \
--image-project=debian-cloud \
--tags=allow-traffic \
--network-interface=network=lb-network,subnet=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'
יצירת קבוצות אזוריות של נקודות קצה ברשת (NEGs) עם נקודות קצה מסוג GCE_VM_IP
בדוגמה הזו של איזון עומסים, יוצרים שתי קבוצות אזוריות של נקודות קצה ברשת (NEGs) עם GCE_VM_IP נקודות קצה.
- Zonal NEG
neg-usבאזורus-west1-a. קבוצת נקודות הקצה ברשת (NEG) ברמת האזור מורכבת משתי נקודות קצה ברשת:- מצרפים את
nic0מתוךvm-us-1ואתvm-us-2ל-NEG האזוריneg-us
- מצרפים את
- Zonal NEG
neg-euב-europe-west2-a. קבוצת נקודות הקצה ברשת האינטרנט מורכבת משתי נקודות קצה ברשת:- מצרפים את
nic0מתוךvm-eu-1ואתvm-eu-2ל-NEG האזוריneg-eu
- מצרפים את
כשיוצרים NEG אזורי עם נקודות קצה של GCE_VM_IP, צריך לשייך את ה-NEG לתת-רשת של VPC באופן מפורש לפני שמוסיפים נקודות קצה ל-NEG. מאזן העומסים מעביר חבילות לממשק הרשת שנמצא ברשת המשנה של ה-VPC שמשויכת ל-NEG. בדוגמה הזו, נקודות הקצה של קבוצת נקודות הקצה האזורית יצביעו על nic0 של המכונות הווירטואליות.
gcloud
יוצרים
GCE_VM_IPzonal NEG בשםneg-usבאזורus-west1-a.gcloud compute network-endpoint-groups create neg-us \ --network-endpoint-type=gce-vm-ip \ --zone=us-west1-a \ --network=lb-network \ --subnet=lb-subnet-usמוסיפים נקודות קצה לקבוצת נקודות הקצה באזור
neg-us.gcloud compute network-endpoint-groups update neg-us \ --zone=us-west1-a \ --add-endpoint='instance=vm-us-1' \ --add-endpoint='instance=vm-us-2'יוצרים
GCE_VM_IPzonal NEG בשםneg-euבאזורeurope-west2-a.gcloud compute network-endpoint-groups create neg-eu \ --network-endpoint-type=gce-vm-ip \ --zone=europe-west2-a \ --network=lb-network \ --subnet=lb-subnet-euמוסיפים נקודות קצה לקבוצת נקודות הקצה באזור
neg-eu.gcloud compute network-endpoint-groups update neg-eu \ --zone=europe-west2-a \ --add-endpoint='instance=vm-eu-1' \ --add-endpoint='instance=vm-eu-2'
שמירת כתובות IP חיצוניות גלובליות
מאזן עומסי רשת גלובלי חיצוני להעברת סיגנל ללא שינוי דורש שתי כתובות IP חיצוניות גלובליות, אחת מכל קבוצת זמינות. שתי כתובות ה-IP האלה מצורפות לכלל ההעברה של מאזן העומסים.
במאזן עומסי רשת גלובלי חיצוני להעברת סיגנל ללא שינוי, כתובות ה-IP של כלל ההעברה מנותקות לחלוטין מרשתות המשנה של ה-VPC. כתובות ה-IP שייכות למאגרים גלובליים של כתובות IP חיצוניות בבעלות Google או לקידומות ציבוריות גלובליות של IPv4 שהוקצו (BYOIP) מקבוצות זמינות נפרדות, והן לא משויכות לאף רשת משנה של VPC.
כשמגדירים כלל העברה של IPv6, כתובות ה-IP של כלל ההעברה מוקצות כקידומות /96.
gcloud
לתנועת IPv4:
שומרים את כתובת ה-IP החיצונית הגלובלית הראשונה בשם
lb-ipv4-ag0בקבוצת הזמינות 0.gcloud beta compute addresses create lb-ipv4-ag0 \ --global \ --purpose=PASSTHROUGH_LOAD_BALANCER_AVAILABILITY_GROUP0 \ --ip-version=IPV4שומרים את כתובת ה-IP החיצונית הגלובלית השנייה
lb-ipv4-ag1בקבוצת הזמינות 1.gcloud beta compute addresses create lb-ipv4-ag1 \ --global \ --purpose=PASSTHROUGH_LOAD_BALANCER_AVAILABILITY_GROUP1 \ --ip-version=IPV4
לתנועת IPv6:
שומרים את כתובת ה-IP החיצונית הגלובלית הראשונה בשם
lb-ipv6-ag0בקבוצת הזמינות 0.gcloud beta compute addresses create lb-ipv6-ag0 \ --global \ --purpose=PASSTHROUGH_LOAD_BALANCER_AVAILABILITY_GROUP0 \ --ip-version=IPV6שומרים את כתובת ה-IP החיצונית הגלובלית השנייה
lb-ipv6-ag1בקבוצת הזמינות 1.gcloud beta compute addresses create lb-ipv6-ag1 \ --global \ --purpose=PASSTHROUGH_LOAD_BALANCER_AVAILABILITY_GROUP1 \ --ip-version=IPV6
הגדרת מאזן העומסים
הגדרה של מאזן עומסי רשת גלובלי חיצוני להעברת סיגנל ללא שינוי כוללת יצירה של בדיקת תקינות, שירות לקצה העורפי וכלל העברה.
gcloud
יצירת בדיקת תקינות של TCP שמוגדרת ליצירת
TCP:80בקשות לבדיקות תקינותgcloud compute health-checks create tcp hc-tcp-80 \ --global \ --port=80
יוצרים שירות קצה עורפי גלובלי באמצעות סכימת איזון העומסים
EXTERNAL_PASSTHROUGH.gcloud beta compute backend-services create lb-backend-service \ --load-balancing-scheme=EXTERNAL_PASSTHROUGH \ --health-checks=hc-tcp-80 \ --global
מוסיפים את קבוצות ה-NEG האזוריות כבק-אנדים לשירות לקצה העורפי.
מוסיפים את ה-NEG האזורי באזור
us-west1-aלשירות הקצה העורפי.gcloud beta compute backend-services add-backend lb-backend-service \ --network-endpoint-group=neg-us \ --network-endpoint-group-zone=us-west1-a \ --balancing-mode=RATE \ --max-rate-per-endpoint=100000 \ --globalמוסיפים את ה-NEG האזורי באזור
europe-west2-aלשירות הקצה העורפי.gcloud beta compute backend-services add-backend lb-backend-service \ --network-endpoint-group=neg-eu \ --network-endpoint-group-zone=europe-west2-a \ --balancing-mode=RATE \ --max-rate-per-endpoint=100000 \ --globalיוצרים כלל גלובלי להעברה כדי לטפל בתנועה של
TCP:80. צריך ליצור שני כללי העברה כדי לטפל בתנועה של IPv4 ו-IPv6.מוודאים שגרסת ה-IP של כלל ההעברה תואמת לסוג המצבור של ממשקי הרשת של מכונת ה-VM בקצה העורפי.
כלל ההעברה מתייחס לכתובות IP מכל קבוצת זמינות.
לתנועת IPv4:
gcloud beta compute forwarding-rules create lb-forwarding-rule-ipv4 \ --load-balancing-scheme=EXTERNAL_PASSTHROUGH \ --ip-protocol=TCP \ --ports=80 \ --backend-service=lb-backend-service \ --global \ --ip-addresses=lb-ipv4-ag0,lb-ipv4-ag1
לתנועת IPv6:
gcloud beta compute forwarding-rules create lb-forwarding-rule-ipv6 \ --load-balancing-scheme=EXTERNAL_PASSTHROUGH \ --ip-protocol=TCP \ --ports=80 \ --backend-service=lb-backend-service \ --global \ --ip-addresses=lb-ipv6-ag0,lb-ipv6-ag1
בדיקת מאזן העומסים
מקבלים את כתובות ה-IP השמורות שמצורפות לכלל ההעברה.
gcloud beta compute forwarding-rules describe lb-forwarding-rule-ipv4 \ --globalהפונקציה מחזירה שתי כתובות IP, אחת לכל קבוצת זמינות. כתובות ה-IP האלה נקראות
IP_ADDRESS_AVAILABILITY_GROUP_0ו-IP_ADDRESS_AVAILABILITY_GROUP_1.הפניית התנועה לאחת מכתובות ה-IP.
curl http://IP_ADDRESS_AVAILABILITY_GROUP_0
curl http://IP_ADDRESS_AVAILABILITY_GROUP_1
אמורות להופיע תגובות ממכונות וירטואליות בעורף (backend) באזורים שונים, בהתאם למיקום ולתקינות העורף.
בדיקה של טבלת הניתוב המקומית לכתובות ה-IP של מאזן העומסים
טבלאות הניתוב המקומיות של מכונות ה-VM בבק-אנד מכילות את כתובות ה-IP של מאזן עומסי רשת גלובלי חיצוני להעברת סיגנל ללא שינוי.
כדי לבדוק את המסלולים המקומיים במכונת ה-VM של השרת העורפי, מתחברים למכונת ה-VM של השרת העורפי באמצעות SSH ומריצים את הפקודה הבאה:
ip route list table local
הפלט אמור להיראות כך:
local 10.1.2.5 dev ens4 proto kernel scope host src 10.1.2.5 local 127.0.0.0/8 dev lo proto kernel scope host src 127.0.0.1 local 127.0.0.1 dev lo proto kernel scope host src 127.0.0.1 broadcast 127.255.255.255 dev lo proto kernel scope link src 127.0.0.1 local 136.124.69.214 dev ens4 proto 66 scope host local 136.124.83.205 dev ens4 proto 66 scope host
בדוגמה הקודמת, 136.124.69.214 ו-136.124.83.205 הן כתובות ה-IP שהוקצו לכלל ההעברה של איזון העומסים. הערכים בשורות local 136.124.69.214 dev ens4 proto 66 scope host ו-local 136.124.83.205
dev ens4 proto 66 scope host בטבלת הניתוב המקומית של המכונה הווירטואלית מאפשרים לקבל בחלק האחורי של המערכת מנות שמיועדות לכתובות ה-IP של מאזן העומסים. Google Cloud סביבת האורח אחראית להוספת הרשומה הזו.
הרשומה בטבלת הניתוב המקומית במכונה הווירטואלית של ה-Backend מקבלת את החבילה למסירה למארח המקומי, שבו מחסנית הרשת מעבירה אותה לאפליקציה שממתינה לה. מנות התגובה מהאפליקציה נשלחות ישירות ללקוח.
חשוב לזכור שכתובת ה-IP של איזון העומסים לא מוגדרת בפועל בממשק הרשת של המכונה הווירטואלית. כדי לבדוק את זה, מריצים את הפקודה הבאה:
ip addr list
הפלט אמור להיראות כך: כתובות ה-IP (136.124.69.214 ו-136.124.83.205) מופיעות בטבלת הניתוב המקומית, אבל הן לא מוגדרות בממשק הרשת.
1: lo:mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000 link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00 inet 127.0.0.1/8 scope host lo valid_lft forever preferred_lft forever inet6 ::1/128 scope host noprefixroute valid_lft forever preferred_lft forever 2: ens4: mtu 1460 qdisc fq_codel state UP group default qlen 1000 link/ether 42:01:0a:01:02:0d brd ff:ff:ff:ff:ff:ff altname enp0s4 inet 10.1.2.13/32 metric 100 scope global dynamic ens4 valid_lft 84283sec preferred_lft 84283sec inet6 fe80::4001:aff:fe01:20d/64 scope link valid_lft forever preferred_lft forever