הגדרה של מאזן עומסי רשת פנימי להעברת סיגנל ללא שינוי עם קבוצות אזוריות של נקודות קצה ברשת (NEG)

במדריך הזה מוסבר איך פורסים מאזן עומסים פנימי להעברת סיגנל ללא שינוי עם קצוות עורפיים של קבוצת נקודות קצה ברשת (NEG) אזורית. קבוצות NEGs אזוריות הן משאבים אזוריים שמייצגים אוספים של כתובות IP או של שילובים של כתובות IP ויציאות של משאבי Google Cloud תת-רשת אחת. קבוצות NEGs מאפשרות ליצור קיבוצים לוגיים של כתובות IP או שילובים של כתובות IP ויציאות שמייצגים שירותי תוכנה במקום מכונות וירטואליות שלמות.

לפני שתמשיכו לקרוא את המדריך הזה, כדאי שתכירו את המושגים הבאים:

מאזני עומסי רשת פנימיים להעברת סיגנל ללא שינוי תומכים רק ב-NEGs אזוריים עם GCE_VM_IPנקודות קצה.

הרשאות

כדי לפעול לפי המדריך הזה, צריך ליצור מופעים ולשנות רשת בפרויקט. צריכות להיות לכם הרשאות בעלים או עריכה בפרויקט, או כל תפקידי ה-IAM הבאים ב-Compute Engine:

משימה תפקיד נדרש
יצירת רשתות, רשתות משנה ורכיבים של מאזן עומסים אדמין רשתות
הוספה והסרה של כללים לחומת האש Security Admin
יצירת מופעים Compute Instance Admin

מידע נוסף זמין במדריכים הבאים:

סקירה כללית של ההגדרה

במדריך הזה מוסבר איך להגדיר ולבדוק מאזן עומסי רשת פנימי להעברת סיגנל ללא שינוי עם GCE_VM_IP קצוות עורפיים של NEG אזוריים. בשלבים שבקטע הזה מוסבר איך להגדיר את הדברים הבאים:

  1. רשת VPC לדוגמה בשם lb-network עם רשת משנה בהתאמה אישית
  2. כללי חומת אש שמאפשרים חיבורים נכנסים למכונות וירטואליות של שרתים עורפיים
  3. ארבע מכונות וירטואליות:
    • מכונות וירטואליות vm-a1 ו-vm-a2 באזור us-west1-a
    • מכונות וירטואליות vm-c1 ו-vm-c2 באזור us-west1-c
  4. שתי קבוצות NEGs של קצה עורפי אזורי, neg-a באזור us-west1-a ו-neg-c באזור us-west1-c. לכל NEG יהיו נקודות הקצה הבאות:
    • neg-a מכיל את שתי נקודות הקצה האלה:
      • כתובת IP פנימית של מכונה וירטואלית vm-a1
      • כתובת IP פנימית של מכונה וירטואלית vm-a2
    • neg-c מכיל את שתי נקודות הקצה האלה:
      • כתובת IP פנימית של מכונה וירטואלית vm-c1
      • כתובת IP פנימית של מכונה וירטואלית vm-c2
  5. מכונה וירטואלית אחת של לקוח (vm-client) ב-us-west1-a לבדיקת חיבורים
  6. הרכיבים הבאים של מאזן עומסי רשת פנימי להעברת סיגנל ללא שינוי:
    • שירות פנימי לקצה העורפי באזור us-west1 לניהול חלוקת החיבורים לשני NEGs אזוריים
    • כלל העברה פנימי וכתובת IP פנימית לחלק הקדמי של מאזן העומסים

הארכיטקטורה של הדוגמה הזו נראית כך:

הגדרה של מאזן עומסי רשת פנימי להעברת סיגנל ללא שינוי עם קבוצות אזוריות של נקודות קצה ברשת (NEGs)
הגדרה של מאזן עומסי רשת פנימי להעברת סיגנל ללא שינוי עם NEGs אזוריים

הגדרת רשת, אזור ורשת משנה

מאזן העומסים הפנימי להעברת סיגנל ללא שינוי שמתואר בדף הזה נוצר ברשת VPC במצב מותאם אישית בשם lb-network.

המכונות הווירטואליות בבק-אנד, קבוצות ה-NEG של התחום ורכיבי מאזן העומסים בדוגמה הזו ממוקמים באזור ובתת-הרשת הבאים:

  • אזור: us-west1
  • רשת משנה: lb-subnet, עם טווח כתובות IP ראשי 10.1.2.0/24

כדי ליצור את הרשת ואת רשת המשנה לדוגמה, פועלים לפי השלבים הבאים.

המסוף

  1. נכנסים לדף VPC networks במסוף Google Cloud .
    כניסה לדף של רשת VPC
  2. לוחצים על יצירת רשת VPC.
  3. מזינים שם של lb-network.
  4. בקטע Subnets (רשתות משנה):
    • מגדירים את מצב יצירת רשתות משנה לבהתאמה אישית.
    • בקטע New subnet (רשת משנה חדשה), מזינים את הפרטים הבאים:
      • Name (שם): lb-subnet
      • אזור: us-west1
      • טווח כתובות IP: 10.1.2.0/24
      • לוחצים על סיום.
  5. לוחצים על יצירה.

gcloud

  1. יוצרים את רשת ה-VPC המותאמת אישית:

    gcloud compute networks create lb-network --subnet-mode=custom
    
    1. ברשת lb-network, יוצרים רשת משנה למכונות וירטואליות בבק-אנד באזור us-west1:
    gcloud compute networks subnets create lb-subnet \
        --network=lb-network \
        --range=10.1.2.0/24 \
        --region=us-west1
    

הגדרת כללים לחומת אש

בדוגמה הזו נעשה שימוש בכללים הבאים של חומת האש:

  • fw-allow-lb-access: כלל כניסה (ingress) שחל על כל היעדים ברשת ה-VPC, ומאפשר תעבורה ממקורות בטווח 10.1.2.0/24. הכלל הזה מאפשר תנועה נכנסת מכל לקוח שממוקם ב-lb-subnet.

  • fw-allow-ssh: כלל תעבורה נכנסת שחל על המופעים שמתבצע בהם איזון עומסים, ומאפשר קישוריות SSH נכנסת ביציאת TCP מספר 22 מכל כתובת. אפשר לבחור טווח כתובות IP של מקור עם הגבלה גדולה יותר עבור הכלל הזה. לדוגמה, אפשר לציין רק את טווחי כתובות ה-IP של המערכת שממנה תפעילו סשנים של SSH. בדוגמה הזו נעשה שימוש בתג היעד allow-ssh כדי לזהות את מכונות ה-VM שאליהן צריך להחיל את התג.

בלי כללי חומת האש האלה, הכלל default deny ingress חוסם תנועה נכנסת למופעי ה-backend.

המסוף

  1. נכנסים לדף Firewall policies במסוף Google Cloud .
    מעבר אל Firewall policies
  2. לוחצים על יצירת כלל לחומת האש ומזינים את הפרטים הבאים כדי ליצור את הכלל שיאפשר תעבורת נתונים ברשת המשנה:
    • Name (שם): fw-allow-lb-access
    • רשת: lb-network
    • עדיפות: 1000
    • כיוון התנועה: כניסה
    • פעולה במקרה של התאמה: לאפשר
    • יעדים: כל המופעים ברשת
    • מסנן מקור: טווחים של כתובות IPv4
    • טווחי IPv4 של המקור: 10.1.2.0/24
    • Protocols and ports (פרוטוקולים ויציאות): Allow all (אישור הכול)
  3. לוחצים על יצירה.
  4. לוחצים שוב על יצירת כלל לחומת האש כדי ליצור את הכלל שמאפשר חיבורי SSH נכנסים:
    • Name (שם): fw-allow-ssh
    • רשת: lb-network
    • עדיפות: 1000
    • כיוון התנועה: כניסה
    • פעולה במקרה של התאמה: לאפשר
    • יעדים: תגי יעד שצוינו
    • תגי טירגוט: allow-ssh
    • מסנן מקור: טווחים של כתובות IPv4
    • טווחי IPv4 של המקור: 0.0.0.0/0
    • פרוטוקולים ויציאות: בוחרים באפשרות פרוטוקולים ויציאות שצוינו ואז מקלידים: tcp:22
  5. לוחצים על יצירה.
  6. לוחצים על יצירת כלל לחומת האש בפעם השלישית כדי ליצור את הכלל שיאפשרGoogle Cloud בדיקות תקינות:
    • Name (שם): fw-allow-health-check
    • רשת: lb-network
    • עדיפות: 1000
    • כיוון התנועה: כניסה
    • פעולה במקרה של התאמה: לאפשר
    • יעדים: תגי יעד שצוינו
    • תגי טירגוט: allow-health-check
    • מסנן מקור: טווחים של כתובות IPv4
    • טווחים של כתובות IPv4 של המקור: 35.191.0.0/16
    • Protocols and ports (פרוטוקולים ויציאות): Allow all (אישור הכול)
  7. לוחצים על יצירה.

gcloud

  1. יוצרים את כלל חומת האש fw-allow-lb-access כדי לאפשר תקשורת מתוך תת-הרשת:

    gcloud compute firewall-rules create fw-allow-lb-access \
        --network=lb-network \
        --action=allow \
        --direction=ingress \
        --source-ranges=10.1.2.0/24 \
        --rules=tcp,udp,icmp
    
  2. יוצרים את כלל חומת האש fw-allow-ssh כדי לאפשר קישוריות SSH למכונות וירטואליות עם תג הרשת allow-ssh. אם לא מציינים את source-ranges, Google Cloud מפרש את הכלל כאילו הוא מתייחס לכל מקור.

    gcloud compute firewall-rules create fw-allow-ssh \
        --network=lb-network \
        --action=allow \
        --direction=ingress \
        --target-tags=allow-ssh \
        --rules=tcp:22
    
  3. יוצרים את הכלל fw-allow-health-check כדי לאפשר Google Cloudבדיקות תקינות.

    gcloud compute firewall-rules create fw-allow-health-check \
        --network=lb-network \
        --action=allow \
        --direction=ingress \
        --target-tags=allow-health-check \
        --source-ranges=35.191.0.0/16 \
        --rules=tcp,udp,icmp
    

יצירת עורפי NEG

כדי להדגים את האופי האזורי של מאזני עומסי רשת פנימיים להעברת סיגנל ללא שינוי, בדוגמה הזו נעשה שימוש בשני בק-אנדים של NEG אזוריים, neg-a ו-neg-c, באזורים us-west1-a ו-us- west1-c. התנועה מאוזנת בין שתי קבוצות ה-NEG, ובין נקודות הקצה בכל קבוצת NEG.

יצירת מכונות וירטואליות

כדי לתמוך בדוגמה הזו, כל אחת מארבעת המכונות הווירטואליות מריצה שרת אינטרנט של Apache שמקשיב ליציאות ה-TCP הבאות: 80,‏ 8008,‏ 8080,‏ 8088,‏ 443 ו-8443.

לכל מכונה וירטואלית מוקצית כתובת IP פנימית בפורמט lb-subnet וכתובת IP חיצונית (ציבורית) זמנית. אפשר להסיר את כתובות ה-IP החיצוניות בשלב מאוחר יותר.

לא נדרשות כתובות IP חיצוניות למכונות וירטואליות של קצה עורפי, אבל הן שימושיות בדוגמה הזו כי הן מאפשרות למכונות הווירטואליות להוריד את Apache מהאינטרנט, והן מאפשרות לכם להתחבר באמצעות SSH. כברירת מחדל,‏ Apache מוגדר להתחבר לכל כתובת IP. מאזני עומסי רשת פנימיים להעברת סיגנל ללא שינוי מעבירים מנות תוך שמירה על כתובת ה-IP של היעד.

מוודאים שתוכנת השרת שפועלת במכונות הווירטואליות מאזינה לכתובת ה-IP של כלל ההעברה הפנימי של מאזן העומסים.

כדי לפשט את ההוראות, מכונות ה-VM של ה-Backend מריצות Debian GNU Linux 10.

המסוף

יצירת מכונות וירטואליות

  1. נכנסים לדף VM instances במסוף Google Cloud .
    כניסה לדף VM instances
  2. חוזרים על השלבים הבאים כדי ליצור ארבע מכונות וירטואליות, באמצעות השילובים הבאים של שם ואזור.
    • שם: vm-a1, אזור: us-west1-a
    • שם: vm-a2, אזור: us-west1-a
    • שם: vm-c1, אזור: us-west1-c
    • שם: vm-c2, אזור: us-west1-c
  3. לוחצים על Create instance.
  4. מגדירים את השם כמו שמוסבר בשלב 2.
  5. בשדה Region, בוחרים us-west1, ובשדה Zone בוחרים אזור כמו שמוסבר בשלב 2.
  6. בקטע Boot disk מוודאים שהאפשרות Debian GNU/Linux 12 (bookworm)‎ מסומנת באפשרויות של דיסק האתחול. לוחצים על בחירה כדי לשנות את התמונה, אם צריך.
  7. לוחצים על אפשרויות מתקדמות ומבצעים את השינויים הבאים:

    • לוחצים על Networking ומוסיפים את Network tags הבאים: allow-ssh ו-allow-health-check
    • לוחצים על Edit בקטע Network interfaces, מבצעים את השינויים הבאים ולוחצים על Done:
      • רשת: lb-network
      • Subnet (רשת משנה): lb-subnet
      • כתובת IP פנימית ראשית: זמנית (אוטומטית)
      • כתובת IP חיצונית: זמנית
    • לוחצים על ניהול. בשדה Startup script (סקריפט הפעלה), מעתיקים ומדביקים את תוכן הסקריפט הבא. תוכן הסקריפט זהה בכל ארבע המכונות הווירטואליות:

      #! /bin/bash
      if [ -f /etc/startup_script_completed ]; then
      exit 0
      fi
      apt-get update
      apt-get install apache2 -y
      a2ensite default-ssl
      a2enmod ssl
      file_ports="/etc/apache2/ports.conf"
      file_http_site="/etc/apache2/sites-available/000-default.conf"
      file_https_site="/etc/apache2/sites-available/default-ssl.conf"
      http_listen_prts="Listen 80\nListen 8008\nListen 8080\nListen 8088"
      http_vh_prts="*:80 *:8008 *:8080 *:8088"
      https_listen_prts="Listen 443\nListen 8443"
      https_vh_prts="*:443 *:8443"
      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
      echo "Page served from: $vm_hostname" | \
      tee /var/www/html/index.html
      prt_conf="$(cat "$file_ports")"
      prt_conf_2="$(echo "$prt_conf" | sed "s|Listen 80|${http_listen_prts}|")"
      prt_conf="$(echo "$prt_conf_2" | sed "s|Listen 443|${https_listen_prts}|")"
      echo "$prt_conf" | tee "$file_ports"
      http_site_conf="$(cat "$file_http_site")"
      http_site_conf_2="$(echo "$http_site_conf" | sed "s|*:80|${http_vh_prts}|")"
      echo "$http_site_conf_2" | tee "$file_http_site"
      https_site_conf="$(cat "$file_https_site")"
      https_site_conf_2="$(echo "$https_site_conf" | sed "s|_default_:443|${https_vh_prts}|")"
      echo "$https_site_conf_2" | tee "$file_https_site"
      systemctl restart apache2
      touch /etc/startup_script_completed
      
  8. לוחצים על יצירה.

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

    gcloud compute instances create VM-NAME \
        --zone=ZONE \
        --image-family=debian-12 \
        --image-project=debian-cloud \
        --tags=allow-ssh,allow-health-check \
        --subnet=lb-subnet \
        --metadata=startup-script='#! /bin/bash
    if [ -f /etc/startup_script_completed ]; then
    exit 0
    fi
    apt-get update
    apt-get install apache2 -y
    a2ensite default-ssl
    a2enmod ssl
    file_ports="/etc/apache2/ports.conf"
    file_http_site="/etc/apache2/sites-available/000-default.conf"
    file_https_site="/etc/apache2/sites-available/default-ssl.conf"
    http_listen_prts="Listen 80\nListen 8008\nListen 8080\nListen 8088"
    http_vh_prts="*:80 *:8008 *:8080 *:8088"
    https_listen_prts="Listen 443\nListen 8443"
    https_vh_prts="*:443 *:8443"
    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
    prt_conf="$(cat "$file_ports")"
    prt_conf_2="$(echo "$prt_conf" | sed "s|Listen 80|${http_listen_prts}|")"
    prt_conf="$(echo "$prt_conf_2" | sed "s|Listen 443|${https_listen_prts}|")"
    echo "$prt_conf" | tee "$file_ports"
    http_site_conf="$(cat "$file_http_site")"
    http_site_conf_2="$(echo "$http_site_conf" | sed "s|*:80|${http_vh_prts}|")"
    echo "$http_site_conf_2" | tee "$file_http_site"
    https_site_conf="$(cat "$file_https_site")"
    https_site_conf_2="$(echo "$https_site_conf" | sed "s|_default_:443|${https_vh_prts}|")"
    echo "$https_site_conf_2" | tee "$file_https_site"
    systemctl restart apache2
    touch /etc/startup_script_completed'
    

יצירת קבוצות NEG אזוריותGCE_VM_IP

צריך ליצור את ה-NEGs (מסוג neg-a ו-neg-c) באותם אזורים שבהם נוצרו מכונות ה-VM בשלב הקודם.

המסוף

כדי ליצור קבוצת נקודות קצה ברשת אזורית:

  1. נכנסים לדף Network Endpoint Groups במסוף Google Cloud .
    כניסה לדף Network Endpoint Groups
  2. לוחצים על יצירת קבוצת נקודות קצה ברשת.
  3. מזינים שם ל-NEG האזורי: neg-a.
  4. בוחרים את סוג קבוצת נקודות הקצה ברשת: קבוצת נקודות קצה ברשת (אזורית).
  5. בוחרים את הרשת: lb-network
  6. בוחרים את תת-הרשת: lb-subnet
  7. בוחרים את האזור: us-west1-a
  8. לוחצים על יצירה.
  9. חוזרים על השלבים האלה כדי ליצור עוד קבוצת NEG אזורית בשם neg-c באזור us-west1-c.

מוסיפים נקודות קצה ל-NEG האזורי:

  1. נכנסים לדף Network Endpoint Groups במסוף Google Cloud .
    כניסה לדף Network endpoint groups
  2. לוחצים על Name (שם) של קבוצת נקודות הקצה הראשונה ברשת שנוצרה בשלב הקודם (neg-a). יוצג הדף Network endpoint group details.
  3. בקטע Network endpoints in this group (נקודות קצה ברשת בקבוצה הזו), לוחצים על Add network endpoint (הוספת נקודת קצה ברשת). מוצג הדף Add network endpoint.

    1. לוחצים על VM instance (מכונה וירטואלית) ובוחרים באפשרות vm-a1 כדי להוסיף את כתובות ה-IP הפנימיות שלה כנקודות קצה ברשת.
    2. לוחצים על יצירה.
    3. לוחצים שוב על Add network endpoint ובוחרים באפשרות vm-a2 בקטע VM instance.
    4. לוחצים על יצירה.
  4. לוחצים על Name של קבוצת נקודות הקצה השנייה ברשת שנוצרה בשלב הקודם (neg-c). יוצג הדף Network endpoint group details.

  5. בקטע Network endpoints in this group (נקודות קצה ברשת בקבוצה הזו), לוחצים על Add network endpoint (הוספת נקודת קצה ברשת). מוצג הדף Add network endpoint.

    1. לוחצים על VM instance ובוחרים באפשרות vm-c1 כדי להוסיף את כתובות ה-IP הפנימיות שלה כנקודות קצה ברשת.
    2. לוחצים על יצירה.
    3. לוחצים שוב על הוספת נקודת קצה ברשת ובוחרים באפשרות vm-c2 בקטע מופע של מכונה וירטואלית.
    4. לוחצים על יצירה.

gcloud

  1. כדי ליצור GCE_VM_IP קבוצת NEG אזורית בשם neg-a באזור us-west1-a, משתמשים בפקודה gcloud compute network-endpoint-groups create:

    gcloud compute network-endpoint-groups create neg-a \
        --network-endpoint-type=gce-vm-ip \
        --zone=us-west1-a \
        --network=lb-network \
        --subnet=lb-subnet
    
  2. הוספת נקודות קצה ל-neg-a:

    gcloud compute network-endpoint-groups update neg-a \
        --zone=us-west1-a \
        --add-endpoint='instance=vm-a1' \
        --add-endpoint='instance=vm-a2'
    
  3. כדי ליצור GCE_VM_IP קבוצת NEG אזורית בשם neg-c באזור us-west1-c, משתמשים בפקודה gcloud compute network-endpoint-groups create:

    gcloud compute network-endpoint-groups create neg-c \
        --network-endpoint-type=gce-vm-ip \
        --zone=us-west1-c \
        --network=lb-network \
        --subnet=lb-subnet
    
  4. הוספת נקודות קצה ל-neg-c:

    gcloud compute network-endpoint-groups update neg-c \
        --zone=us-west1-c \
        --add-endpoint='instance=vm-c1' \
        --add-endpoint='instance=vm-c2'
    

הגדרת רכיבים של מאזן עומסים

בשלבים האלה מגדירים את כל הרכיבים של מאזן עומסי הרשת הפנימי להעברת סיגנל ללא שינוי:

  • שירות לקצה העורפי: בדוגמה הזו, צריך להעביר תנועת HTTP דרך מאזן העומסים. לכן, צריך להשתמש ב-TCP ולא ב-UDP.

  • כלל העברה: בדוגמה הזו נוצר כלל העברה פנימי יחיד.

  • כתובת IP פנימית: בדוגמה הזו, מציינים כתובת IP פנימית, 10.1.2.99, כשיוצרים את כלל ההעברה.

המסוף

gcloud

  1. יצירת בדיקת תקינות HTTP אזורית חדשה.

    gcloud compute health-checks create http hc-http-80 \
        --region=us-west1 \
        --port=80
    
  2. יוצרים את שירות הקצה העורפי:

    gcloud compute backend-services create bs-ilb \
        --load-balancing-scheme=internal \
        --protocol=tcp \
        --region=us-west1 \
        --health-checks=hc-http-80 \
        --health-checks-region=us-west1
    
  3. מוסיפים את שני ה-NEGs האזוריים, neg-a ו-neg-c, לשירות הקצה העורפי:

    gcloud compute backend-services add-backend bs-ilb \
        --region=us-west1 \
        --network-endpoint-group=neg-a \
        --network-endpoint-group-zone=us-west1-a
    
    gcloud compute backend-services add-backend bs-ilb \
        --region=us-west1 \
        --network-endpoint-group=neg-c \
        --network-endpoint-group-zone=us-west1-c
    
  4. יוצרים כלל העברה לשירות הקצה העורפי. כשיוצרים את כלל ההעברה, מציינים 10.1.2.99 לכתובת ה-IP הפנימית ברשת המשנה.

    gcloud compute forwarding-rules create fr-ilb \
        --region=us-west1 \
        --load-balancing-scheme=internal \
        --network=lb-network \
        --subnet=lb-subnet \
        --address=10.1.2.99 \
        --ip-protocol=TCP \
        --ports=80,8008,8080,8088 \
        --backend-service=bs-ilb \
        --backend-service-region=us-west1
    

בדיקת מאזן העומסים

בבדיקה הזו מתבצעת פנייה למאזן העומסים ממכונה וירטואלית נפרדת של לקוח, כלומר לא ממכונה וירטואלית של קצה עורפי של מאזן העומסים. ההתנהגות הצפויה היא שהטראפיק יתחלק בין ארבע המכונות הווירטואליות של ה-Backend כי לא הוגדרה זיקה לסשן.

יצירת מכונה וירטואלית של לקוח לבדיקה

בדוגמה הזו נוצרת מכונה וירטואלית של לקוח (vm-client) באותו אזור שבו נמצאות המכונות הווירטואליות של השרת (בק-אנד). הלקוח משמש לאימות התצורה של מאזן העומסים ולהדגמת ההתנהגות הצפויה כפי שמתואר בקטע בדיקה.

המסוף

  1. נכנסים לדף VM instances במסוף Google Cloud .
    כניסה לדף VM instances
  2. לוחצים על Create instance.
  3. מגדירים את Name לערך vm-client.
  4. מגדירים את Zone לערך us-west1-a.
  5. לוחצים על אפשרויות מתקדמות ומבצעים את השינויים הבאים:
    • לוחצים על Networking ומוסיפים את הערך allow-ssh לNetwork tags.
    • לוחצים על לחצן העריכה בקטע Network interfaces, מבצעים את השינויים הבאים ולוחצים על Done:
      • רשת: lb-network
      • Subnet (רשת משנה): lb-subnet
      • כתובת IP פנימית ראשית: זמנית (אוטומטית)
      • כתובת IP חיצונית: זמנית
  6. לוחצים על יצירה.

gcloud

המכונה הווירטואלית של הלקוח יכולה להיות בכל אזור באותו אזור כמו מאזן העומסים, והיא יכולה להשתמש בכל רשת משנה באותו אזור. בדוגמה הזו, הלקוח נמצא באזור us-west1-a והוא משתמש באותה רשת משנה כמו המכונות הווירטואליות של הבק-אנד.

gcloud compute instances create vm-client \
    --zone=us-west1-a \
    --image-family=debian-12 \
    --image-project=debian-cloud \
    --tags=allow-ssh \
    --subnet=lb-subnet

הפניית תנועה למאזן העומסים

כדי להתחבר למאזן העומסים, מבצעים את השלבים הבאים.

  1. מתחברים למופע ה-VM של הלקוח.

    gcloud compute ssh vm-client --zone=us-west1-a
    
  2. שולחים בקשת אינטרנט למאזן העומסים באמצעות curl כדי ליצור קשר עם כתובת ה-IP שלו. חוזרים על הבקשה כדי לראות שהתשובות מגיעות ממכונות וירטואליות שונות בעורף. שם המכונה הווירטואלית שמייצרת את התגובה מוצג בטקסט בתגובת ה-HTML, בהתאם לתוכן של /var/www/html/index.html בכל מכונת קצה וירטואלית. התשובות הצפויות נראות כך: Page served from: vm-a1 ו-Page served from: vm-a2.

    curl http://10.1.2.99
    

    כלל ההעברה מוגדר להעברת נתונים ביציאות 80, 8008, 8080 ו-8088. כדי לשלוח תנועה ליציאות האחרות האלה, מוסיפים נקודתיים (:) ואת מספר היציאה אחרי כתובת ה-IP, כך:

    curl http://10.1.2.99:8008
    

המאמרים הבאים