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

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

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

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

הרשאות

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

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

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

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

במדריך הזה מוסבר איך להגדיר ולבדוק מאזן עומסי רשת פנימי להעברת סיגנל ללא שינוי עם 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 לניהול חלוקת החיבורים לשתי קבוצות ה-NEG האזוריות
    • כלל העברה פנימי וכתובת 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: כלל תעבורת נתונים נכנסת (ingress) שחל על המכונות שמתבצע עליהן איזון עומסים, שמאפשר קישוריות SSH נכנסת ביציאה 22 ב-TCP מכל כתובת. אפשר לבחור טווח 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 של המקור: 130.211.0.0/22 ו-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=130.211.0.0/22,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
    • בקטע Network interfaces, לוחצים על Edit , מבצעים את השינויים הבאים ולוחצים על Done:
      • רשת: lb-network
      • Subnet: lb-subnet
      • כתובת IP פנימית ראשית: זמנית (אוטומטית)
      • כתובת IP חיצונית: זמנית
    • לוחצים על ניהול. בשדה סקריפט לטעינה בזמן ההפעלה, מעתיקים ומדביקים את תוכן הסקריפט הבא. תוכן הסקריפט זהה בכל ארבע המכונות הווירטואליות:

      #! /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) באותם אזורים שבהם נוצרו המכונות הווירטואליות בשלב הקודם.

המסוף

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

  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 בקטע VM instance.
    4. לוחצים על יצירה.

gcloud

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

    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. כדי ליצור קבוצת כתובות IP אזורית בשם neg-c באזור us-west1-c, משתמשים בפקודה gcloud compute network-endpoint-groups create:GCE_VM_IP

    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. מוסיפים את שני ה-NEG האזוריים, 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
    

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

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

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

בדוגמה הזו נוצרת מכונה וירטואלית של לקוח (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
    

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