יצירת שירות עם איזון עומסים

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

המדריך הזה מיועד למומחי Cloud Architect, למומחי Network Architect, לאדמינים של רשתות ולאדמינים ב-IT.

מטרות

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

עלויות

במסמך הזה משתמשים ברכיבים הבאים של Google Cloud, והשימוש בהם כרוך בתשלום:

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

משתמשים חדשים של Google Cloud ? יכול להיות שאתם זכאים לתקופת ניסיון בחינם.

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

לפני שמתחילים

  1. יוצרים או בוחרים פרויקט לשימוש במשאבים של בעלים של שירות מנוהל. במדריכים הבאים, הפרויקט הזה נקרא PRODUCER_PROJECT
    1. In the Google Cloud console, go to the project selector page.

      Go to project selector

    2. Select or create a Google Cloud project.

      Roles required to select or create a project

      • Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
      • Create a project: To create a project, you need the Project Creator role (roles/resourcemanager.projectCreator), which contains the resourcemanager.projects.create permission. Learn how to grant roles.
  2. Enable the Compute Engine API.

    Roles required to enable APIs

    To enable APIs, you need the Service Usage Admin IAM role (roles/serviceusage.serviceUsageAdmin), which contains the serviceusage.services.enable permission. Learn how to grant roles.

    Enable the API

  3. Make sure that you have the following role or roles on the project: Compute Engine > Compute Network Admin, Compute Engine > Compute Security Admin, Compute Engine > Compute Instance Admin

    Check for the roles

    1. In the Google Cloud console, go to the IAM page.

      Go to IAM
    2. Select the project.
    3. In the Principal column, find all rows that identify you or a group that you're included in. To learn which groups you're included in, contact your administrator.

    4. For all rows that specify or include you, check the Role column to see whether the list of roles includes the required roles.

    Grant the roles

    1. In the Google Cloud console, go to the IAM page.

      כניסה לדף IAM
    2. בוחרים את הפרויקט.
    3. לוחצים על ‎ Grant access.
    4. בשדה New principals, מזינים את מזהה המשתמש. ‫ בדרך כלל מזהה המשתמש הוא כתובת האימייל של חשבון Google.

    5. לוחצים על בחירת תפקיד ומחפשים את התפקיד.
    6. כדי לתת עוד תפקידים, לוחצים על Add another role ומוסיפים את כולם.
    7. לוחצים על Save.

הגדרה של רשתות

בקטעים הבאים מוסבר איך ליצור רשת, רשת משנה וכללי חומת אש לשירות.

הגדרת רשת ורשת משנה

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

המסוף

  1. נכנסים לדף VPC networks במסוף Google Cloud .

    מעבר לרשתות VPC

  2. לוחצים על יצירת רשת VPC.

  3. בשדה Name (שם), מזינים service-network.

  4. בקטע Subnet creation mode (מצב יצירת רשת משנה), בוחרים באפשרות Custom (בהתאמה אישית).

  5. בקטע New subnet (רשת משנה חדשה), מזינים את הפרטים הבאים.

    1. בשדה Name (שם), מזינים service-subnet.
    2. בקטע Region בוחרים את האזור שבו רוצים להשתמש.
    3. בשביל IP stack type, בוחרים באפשרות IPv4 (single-stack).
    4. בשדה IPv4 range, מזינים 10.10.10.0/24.
    5. לוחצים על סיום.
  6. לוחצים על יצירה.

gcloud

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

    gcloud compute networks create service-network --subnet-mode=custom
    
  2. ברשת service-network, יוצרים רשת משנה.

    gcloud compute networks subnets create service-subnet \
        --network=service-network \
        --range=10.10.10.0/24 \
        --region=REGION
    

    מחליפים את REGION באזור שבו רוצים להשתמש.

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

יוצרים כללים של חומת אש שמאפשרים את תעבורת הנתונים הבאה:

  • fw-allow-subnet: מאפשר לתנועה מ-10.10.10.0/24 להגיע למקורות אחרים ב-10.10.10.0/24.
  • fw-allow-ssh: מאפשר תעבורת SSH מ-0.0.0.0/0 להגיע למכונות וירטואליות עם תג הרשת allow-ssh.
  • fw-allow-healthcheck: מאפשר לתנועה ממערכות בדיקת תקינות להגיע למכונות וירטואליות עם תג הרשת allow-healthcheck. Google Cloud

המסוף

  1. נכנסים לדף Firewall policies במסוף Google Cloud .

    לדף Firewall policies

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

    • בשדה Name (שם), מזינים fw-allow-subnet.
    • בקטע רשת, בוחרים באפשרות service-network.
    • בשדה עדיפות מזינים 1000.
    • בשדה כיוון התנועה, בוחרים באפשרות תנועה נכנסת.
    • בקטע פעולה בהתאמה, בוחרים באפשרות אישור.
    • בקטע יעדים, בוחרים באפשרות כל המופעים ברשת.
    • בשדה מסנן מקור, בוחרים באפשרות טווחים של IPv4.
    • בשדה Source IPv4 ranges (טווחים של כתובות IPv4 של המקור), מזינים 10.10.10.0/24.
    • בקטע פרוטוקולים ויציאות, בוחרים באפשרות אישור הכול.
  3. לוחצים על יצירה.

  4. כדי לאפשר חיבורי SSH נכנסים, לוחצים על Create firewall rule (יצירת כלל חומת אש) ומשתמשים בהגדרות הבאות:

    • בשדה Name (שם), מזינים fw-allow-ssh.
    • בקטע רשת, בוחרים באפשרות service-network.
    • בשדה עדיפות מזינים 1000.
    • בשדה כיוון התנועה, בוחרים באפשרות תנועה נכנסת.
    • בקטע פעולה בהתאמה, בוחרים באפשרות אישור.
    • בקטע יעדים, בוחרים באפשרות תגי יעד שצוינו.
    • בשדה תגי יעד, מזינים allow-ssh.
    • בשדה מסנן מקור, בוחרים באפשרות טווחים של IPv4.
    • בשדה Source IPv4 ranges (טווחים של כתובות IPv4 של המקור), מזינים 0.0.0.0/0.
    • בקטע Protocols and ports (פרוטוקולים ויציאות), בוחרים באפשרות Specified protocols and ports (פרוטוקולים ויציאות שצוינו), מסמנים את תיבת הסימון TCP. בשדה Ports (יציאות), מזינים 22.
  5. לוחצים על יצירה.

  6. כדי לאפשר Google Cloud בדיקות תקינות, לוחצים על יצירת כלל חומת אש ומשתמשים בהגדרות הבאות:

    • בשדה Name (שם), מזינים fw-allow-healthcheck.
    • בקטע רשת, בוחרים באפשרות service-network.
    • בשדה עדיפות מזינים 1000.
    • בשדה כיוון התנועה, בוחרים באפשרות תנועה נכנסת.
    • בקטע פעולה בהתאמה, בוחרים באפשרות אישור.
    • בקטע יעדים, בוחרים באפשרות תגי יעד שצוינו.
    • בשדה תגי יעד, מזינים allow-healthcheck.
    • בשדה מסנן מקור, בוחרים באפשרות טווחים של IPv4.
    • בשדה Source IPv4 ranges (טווחים של כתובות IPv4 של המקור), מזינים 130.211.0.0/22 ו-35.191.0.0/16.
    • בקטע פרוטוקולים ויציאות, בוחרים באפשרות אישור הכול.
  7. לוחצים על יצירה.

gcloud

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

    gcloud compute firewall-rules create fw-allow-subnet \
        --network=service-network \
        --action=allow \
        --direction=ingress \
        --source-ranges=10.10.10.0/24 \
        --rules=tcp,udp,icmp
    

  1. יוצרים את כלל חומת האש fw-allow-ssh כדי לאפשר קישוריות SSH למכונות וירטואליות עם תג הרשת allow-ssh.

    gcloud compute firewall-rules create fw-allow-ssh \
        --network=service-network \
        --action=allow \
        --direction=ingress \
        --source-ranges=0.0.0.0/0 \
        --target-tags=allow-ssh \
        --rules=tcp:22
    

  1. יוצרים את הכלל fw-allow-healthcheck כדי לאפשר Google Cloudבדיקות תקינות.

    gcloud compute firewall-rules create fw-allow-healthcheck \
        --network=service-network \
        --action=allow \
        --direction=ingress \
        --target-tags=allow-healthcheck \
        --source-ranges=130.211.0.0/22,35.191.0.0/16 \
        --rules=tcp,udp,icmp
    

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

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

יצירת מכונות וירטואליות של קצה עורפי

השירות שאתם יוצרים פועל בשתי מכונות וירטואליות כדי להגדיל את הזמינות שלו: vm-1 ו-vm-2. המכונות הווירטואליות נמצאות באותו אזור, אבל בסביבת ייצור מומלץ להשתמש בכמה אזורים.

בנוסף ליצירת מכונות וירטואליות, השלבים הבאים מאפשרים לבצע את הפעולות הבאות:

  • התג configured as targets in the firewall rules משמש להגדרת המכונות הווירטואליות, והתג הנוסף (allow-nat) משמש בהמשך.
  • מתקין, מגדיר ומפעיל את שירות Apache.

המסוף

  1. נכנסים לדף VM instances במסוף Google Cloud .

    כניסה לדף VM instances

  2. לוחצים על Create instance.

  3. בשדה Name (שם), מזינים vm-1.

  4. בשדות Region ו-Zone, בוחרים אזור ותחום בתוך האזור הזה.

  5. בתפריט הניווט, עוברים אל מערכת הפעלה ואחסון.

  6. בחלונית Operating system and storage, מוודאים שהאפשרות Debian GNU/Linux 12 (bookworm)‎ נבחרה לדיסק האתחול. אם רוצים לבחור תמונה אחרת, לוחצים על שינוי.

  7. בתפריט הניווט, עוברים אל Networking (רשת).

  8. בשדה Network tags (תגים של רשת), מזינים את הערכים allow-ssh, allow-healthcheck ו-allow-nat.

  9. בקטע ממשקי רשת, בוחרים באפשרויות הבאות:

    • בקטע רשת, בוחרים באפשרות service-network.
    • עבור רשת משנה, בוחרים באפשרות service-subnet.
    • בשביל IP stack type, בוחרים באפשרות IPv4 (single-stack).
    • בשדה Primary internal IPv4 address (כתובת IPv4 פנימית ראשית), בוחרים באפשרות Ephemeral (automatic) (זמנית (אוטומטית)).
    • בשדה External IPv4 address, בוחרים באפשרות Ephemeral.
  10. בתפריט הניווט, עוברים אל מתקדם.

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

    
    #! /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
    

  12. לוחצים על יצירה.

  13. חוזרים על השלבים האלה כדי ליצור עוד מכונה וירטואלית בשם vm-2 באותו אזור ואותו אזור זמינות כמו vm-1.

gcloud

  1. מריצים את הפקודות הבאות כדי ליצור שתי מכונות וירטואליות:

    gcloud compute instances create vm-1 \
        --zone=ZONE \
        --image-family=debian-12 \
        --image-project=debian-cloud \
        --tags=allow-ssh,allow-healthcheck,allow-nat \
        --subnet=service-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'
    
    gcloud compute instances create vm-2 \
        --zone=ZONE \
        --image-family=debian-12 \
        --image-project=debian-cloud \
        --tags=allow-ssh,allow-healthcheck,allow-nati \
        --subnet=service-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'
    

    מחליפים את ZONE באזור שבו רוצים להשתמש.

יצירת קבוצה של מופעי מכונה

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

המסוף

  1. נכנסים לדף Instance groups במסוף Google Cloud .

    כניסה לדף Instance groups

  2. לוחצים על יצירת קבוצת מופעים.

  3. בחלונית הניווט, לוחצים על New unmanaged instance group (קבוצת מכונות חדשה לא מנוהלת).

  4. בשדה Name (שם), מזינים ig-1.

  5. בקטע Location, בוחרים את אותו אזור ואותו תחום כמו המכונות הווירטואליות.

  6. בקטע רשת, בוחרים באפשרות service-network.

  7. בשדה Subnetwork, בוחרים באפשרות service-subnet.

  8. בקטע VM instances (מופעי מכונות וירטואליות), מוסיפים את vm-1 ואת vm-2 לקבוצת המופעים.

  9. לוחצים על יצירה.

gcloud

  1. יצירת קבוצה של מופעי מכונה לא מנוהלים:

    gcloud compute instance-groups unmanaged create ig-1 \
        --zone=ZONE
    

    מחליפים את ZONE באזור שמכיל את המכונות הווירטואליות.

  2. מוסיפים את המכונות הווירטואליות לקבוצת המופעים:

    gcloud compute instance-groups unmanaged add-instances ig-1 \
        --zone=ZONE \
        --instances=vm-1,vm-2
    

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

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

  • בדיקת תקינות. אתם משתמשים בבדיקת תקינות של HTTP שבודקת קוד סטטוס HTTP 200 OK.

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

  • כלל העברה. אתם יוצרים כלל העברה פנימית יחיד, service-rule.

  • כתובת IP פנימית. כשיוצרים את כלל ההעברה, מציינים כתובת IP פנימית, 10.10.10.99.

המסוף

התחלת ההגדרה

  1. נכנסים לדף Load balancing במסוף Google Cloud .

    כניסה לדף Load balancing

  2. לוחצים על Create load balancer (יצירת מאזן עומסים).
  3. בקטע Type of load balancer (סוג מאזן העומסים), בוחרים באפשרות Network Load Balancer (TCP/UDP/SSL) (מאזן עומסים ברשת (TCP/UDP/SSL)) ולוחצים על Next (הבא).
  4. בקטע Proxy or passthrough (פרוקסי או העברה), בוחרים באפשרות Passthrough load balancer (מאזן עומסים להעברה) ולוחצים על Next (הבא).
  5. בקטע גלוי לכולם או פנימי, בוחרים באפשרות פנימי ולוחצים על הבא.
  6. לוחצים על Configure (הגדרה).

הגדרה בסיסית

בדף Create internal passthrough Network Load Balancer (יצירת מאזן עומסי רשת פנימי להעברת סיגנל ללא שינוי), מזינים את הפרטים הבאים:

  • בשדה Load balancer name (שם מאזן העומסים), מזינים service-lb.
  • בשדה Region, בוחרים את אותו אזור כמו מכונות ה-VM.
  • בקטע רשת, בוחרים באפשרות service-network.

הגדרת הקצוות העורפיים

  1. לוחצים על Backend configuration.
  2. ברשימה בדיקת תקינות, לוחצים על יצירת בדיקת תקינות ומזינים את הפרטים הבאים:
    • בשדה Name: (שם), מזינים hc-http-80.
    • בשדה פרוטוקול:, בוחרים באפשרות HTTP.
    • בשדה יציאה:, מזינים 80.
    • בשדה פרוטוקול שרת proxy:, בוחרים באפשרות NONE.
    • בשדה נתיב הבקשה:, מזינים /.
  3. לוחצים על יצירה.
  4. בקטע New Backend של Backends, בוחרים באפשרות IPv4 (single-stack).
  5. בקטע Instance group, בוחרים את קבוצת המכונות ig-1 ולוחצים על Done.
  6. לפני שממשיכים, מוודאים שלצד Backend configuration מופיע סימן אישור כחול.

הגדרת הקצה הקדמי

  1. לוחצים על Frontend configuration.
  2. בקטע New Frontend IP and port, מבצעים את הפעולות הבאות:
    1. בשדה Name (שם), מזינים service-rule.
    2. בשדה רשת משנה, בוחרים באפשרות service-subnet.
    3. בקטע Internal IP purpose, ברשימה IP address, בוחרים באפשרות Create IP address ומזינים את הפרטים הבאים:
      • בשדה Name (שם), מזינים service-rule-ip.
      • בשביל IP version, בוחרים IPv4.
      • בקטע Static IP address (כתובת IP סטטית), בוחרים באפשרות Let me choose (אני רוצה לבחור).
      • בשדה כתובת IP בהתאמה אישית, מזינים 10.10.10.99.
    4. לוחצים על Reserve.
    5. בקטע יציאות, בוחרים באפשרות יחיד ואז בשדה מספרי יציאות מזינים 80.
    6. לוחצים על סיום.
    7. לפני שממשיכים, מוודאים שלצד Frontend configuration מופיע סימן וי כחול.

בדיקת ההגדרות האישיות

  1. לוחצים על Review and finalize.
  2. בודקים את הגדרות ההגדרה של מאזן העומסים.
  3. לוחצים על יצירה.

gcloud

  1. יוצרים בדיקת תקינות חדשה של HTTP ברמה האזורית כדי לבדוק את הקישוריות של HTTP למכונות הווירטואליות ביציאה 80.

    gcloud compute health-checks create http hc-http-80 \
        --region=REGION \
        --port=80
    

    מחליפים את REGION באותו אזור שבו נמצאות המכונות הווירטואליות בבק-אנד.

  2. יוצרים את שירות הקצה העורפי לתנועת HTTP:

    gcloud compute backend-services create service-lb \
        --load-balancing-scheme=internal \
        --protocol=tcp \
        --region=REGION \
        --health-checks=hc-http-80 \
        --health-checks-region=REGION
    

    מחליפים את REGION באותו אזור שבו נמצאות המכונות הווירטואליות בבק-אנד.

  3. מוסיפים את קבוצת המכונות לשירות הקצה העורפי:

    gcloud compute backend-services add-backend service-lb \
        --region=REGION \
        --instance-group=ig-1 \
        --instance-group-zone=ZONE
    

    מחליפים את מה שכתוב בשדות הבאים:

    • REGION: אותו אזור כמו המכונות הווירטואליות בבק-אנד.
    • ZONE: אותו אזור כמו המכונות הווירטואליות של ה-Backend.
  4. יוצרים כלל העברה לשירות הקצה העורפי:

    gcloud compute forwarding-rules create service-rule \
        --region=REGION \
        --load-balancing-scheme=internal \
        --network=service-network \
        --subnet=service-subnet \
        --address=10.10.10.99 \
        --ip-protocol=TCP \
        --ports=80 \
        --backend-service=service-lb \
        --backend-service-region=REGION
    

    מחליפים את REGION באותו אזור שבו נמצאות המכונות הווירטואליות בבק-אנד.

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

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

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

יוצרים מכונת VM של לקוח באותו אזור שבו נמצאות מכונות ה-VM של הבק-אנד (השרת).

המסוף

  1. נכנסים לדף VM instances במסוף Google Cloud .

    כניסה לדף VM instances

  2. לוחצים על Create instance.

  3. בשדה Name (שם), מזינים producer-test.

  4. בשדה Region, בוחרים את אותו אזור כמו מכונות ה-VM של ה-Backend.

  5. בשדה Zone, בוחרים אזור באותו אזור.

  6. לוחצים על Networking ומגדירים את השדות הבאים:

    1. בשדה Network tags (תגי רשת), מזינים allow-ssh.
    2. בקטע Network interfaces (ממשקי רשת), בוחרים באפשרויות הבאות:
      • בקטע רשת, בוחרים באפשרות service-network
      • בשדה רשת משנה, בוחרים באפשרות service-subnet.
  7. לוחצים על יצירה.

gcloud

gcloud compute instances create producer-test \
    --zone=ZONE \
    --image-family=debian-12 \
    --image-project=debian-cloud \
    --tags=allow-ssh \
    --subnet=service-subnet

מחליפים את ZONE באזור שנמצא באותו אזור כמו המכונות הווירטואליות של הבק-אנד.

בדיקת הקישוריות

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

  1. מתחברים למופע ה-VM של הלקוח.
    gcloud compute ssh producer-test --zone=ZONE
    
    מחליפים את ZONE באזור של המכונה הווירטואלית של הלקוח.
  2. שולחים בקשת אינטרנט למאזן העומסים באמצעות curl כדי ליצור קשר עם כתובת ה-IP שלו. חוזרים על הבקשה כדי לראות שהתשובות מגיעות ממכונות וירטואליות שונות בעורף. השם של המכונה הווירטואלית שיצרה את התגובה מוצג בטקסט בתגובת ה-HTML, בגלל התוכן של /var/www/html/index.html בכל מכונה וירטואלית בעורף. לדוגמה, תשובות צפויות נראות כמו Page served from: vm-1 ו-Page served from: vm-2.
    curl -s http://10.10.10.99
    

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