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

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

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

מטרות

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

עלויות

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

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

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

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

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

  1. יוצרים או בוחרים פרויקט לשימוש במשאבים של בעלים של שירות מנוהל. במדריכים הבאים, הפרויקט הזה נקרא PRODUCER_PROJECT
    1. נכנסים לדף לבחירת הפרויקט במסוף Google Cloud .

      כניסה לדף לבחירת הפרויקט

    2. בוחרים או יוצרים Google Cloud פרויקט.

      תפקידים שנדרשים כדי לבחור או ליצור פרויקט

      • Select a project: כדי לבחור פרויקט לא צריך תפקיד IAM ספציפי – אפשר לבחור כל פרויקט שקיבלתם בו תפקיד.
      • יצירת פרויקט: כדי ליצור פרויקט, צריך את התפקיד Project Creator (יצירת פרויקטים) (roles/resourcemanager.projectCreator), שכולל את ההרשאה resourcemanager.projects.create. איך מקצים תפקידים
  2. מפעילים את Compute Engine API.

    תפקידים שנדרשים להפעלת ממשקי API

    כדי להפעיל ממשקי API, צריך את תפקיד ה-IAM 'אדמין של Service Usage' (roles/serviceusage.serviceUsageAdmin), שכולל את ההרשאה serviceusage.services.enable. איך מקצים תפקידים

    להפעלת ה-API

  3. צריך לוודא שיש לכם בפרויקט את התפקיד או התפקידים הבאים: ‫Compute Engine > Compute Network Admin, ‏ Compute Engine > Compute Security Admin, ‏ Compute Engine > Compute Instance Admin

    בדיקת התפקידים

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

      כניסה לדף IAM
    2. בוחרים את הפרויקט.
    3. בעמודה Principal (חשבון המשתמש), מוצאים את כל השורות שבהן מופיע השם שלכם או של קבוצה שאתם נכללים בה. כדי לברר באילו קבוצות אתם נכללים, פנו לאדמין.

    4. בודקים את העמודה Role בכל השורות שבהן מצוין או מופיע השם שלכם, כדי לראות אם רשימת התפקידים כוללת את התפקידים הנדרשים.

    מתן התפקידים

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

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

    5. לוחצים על Select a role ומחפשים את התפקיד.
    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.
    • בקטע פרוטוקולים ויציאות, בוחרים באפשרות פרוטוקולים ויציאות שצוינו ומסמנים את תיבת הסימון 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. המכונות הווירטואליות נמצאות באותו אזור, אבל בסביבת ייצור מומלץ להשתמש בכמה אזורים.

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

  • התצורה של המכונות הווירטואליות מוגדרת כך שישתמשו בתגי הרשת שהגדרתם כיעדים בכללי חומת האש ובתג רשת נוסף (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. עבור תגי רשת, מזינים 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), מוסיפים את 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
    

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

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

  • בדיקת תקינות. אתם משתמשים בבדיקת תקינות של 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.
    • בשדה Protocol:, בוחרים באפשרות 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. בשדה Subnetwork, בוחרים באפשרות 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: אותו אזור כמו מכונות ה-VM של ה-Backend.
    • 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 שלו. חוזרים על הבקשה כדי לראות שהתשובות מגיעות ממכונות וירטואליות שונות בעורף. השם של מכונת ה-VM שמייצרת את התגובה מוצג בטקסט בתגובת ה-HTML, בגלל התוכן של /var/www/html/index.html בכל מכונת VM של העורף. לדוגמה, תשובות צפויות נראות כמו Page served from: vm-1 ו-Page served from: vm-2.
    curl -s http://10.10.10.99
    

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