במדריך הזה מוסבר באמצעות דוגמה איך להגדיר יתירות כשל (failover) למאזן עומסי רשת חיצוני להעברת סיגנל ללא שינוי עם שירות לקצה העורפי. לפני שממשיכים במדריך הזה, כדאי להכיר את המושגים הבאים:
- סקירה כללית על מאזן עומסי רשת חיצוני להעברת סיגנל ללא שינוי עם שירות קצה עורפי
- חלוקת התנועה במאזני עומסים חיצוניים של רשת להעברת סיגנל ללא שינוי שמבוססים על שירות לקצה העורפי
- סקירה כללית על כללי חומת אש
- מושגים שקשורים לבדיקות תקינות
הרשאות
כדי לפעול לפי המדריך הזה, צריך ליצור מופעים ולשנות רשת בפרויקט. צריכות להיות לכם הרשאות בעלים או עריכה בפרויקט, או שצריכים להיות לכם כל תפקידי ה-IAM הבאים ב-Compute Engine:
| משימה | התפקיד הנדרש |
|---|---|
| יצירת רכיבים של מאזן עומסים | אדמין רשתות |
| הוספה והסרה של כללים לחומת האש | אדמין לענייני אבטחה |
| יצירת מופעים | אדמין מכונות של Compute |
מידע נוסף זמין במדריכים הבאים:
הגדרה
במדריך הזה מוסבר איך להגדיר ולבדוק מאזן עומסי רשת חיצוני להעברת סיגנל ללא שינוי שמשתמש ביתירות כשל. בשלבים שבקטע הזה מוסבר איך להגדיר את הפריטים הבאים:
- מכונות וירטואליות לקצה העורפי:
- קצה עורפי ראשי אחד בקבוצת מופעים לא מנוהלת באזור
us-west1-a - שרת backend אחד למעבר אוטומטי לגיבוי בקבוצת מופעים לא מנוהלת באזור
us-west1-c
- קצה עורפי ראשי אחד בקבוצת מופעים לא מנוהלת באזור
- כללי חומת אש שמאפשרים חיבורים נכנסים למכונות וירטואליות עורפיות
- מכונה וירטואלית אחת של לקוח לבדיקת חיבורים ולמעקב אחרי התנהגות המעבר לגיבוי (failover)
- הרכיבים הבאים של מאזן עומסי רשת חיצוני להעברת סיגנל ללא שינוי:
- בדיקת תקינות של שירות הקצה העורפי
- שירות לקצה העורפי באזור
us-west1לניהול חלוקת החיבורים בין המכונות הווירטואליות בקצה העורפי - כלל העברה וכתובת IP לחלק הקדמי של מאזן העומסים
הארכיטקטורה של הדוגמה הזו נראית כך:
יצירת מכונות וירטואליות של backend וקבוצות של מופעים
בשלב הזה תיצרו את המכונות הווירטואליות של ה-Backend ואת קבוצות המופעים הלא מנוהלות:
- קבוצת המכונות
ig-aבאזורus-west1-aהיא קצה עורפי ראשי עם שתי מכונות וירטואליות:vm-a1vm-a2
- קבוצת המופעים
ig-cב-us-west1-cהיא קצה עורפי ליתירות כשל עם שני VM-ים:vm-c1vm-c2
העורפים הראשיים והעורפים ליתירות כשל מוצבים באזורים נפרדים כדי להבהיר את ההוראות ולטפל ביתירות כשל במקרה שאזור אחד מושבת.
כל מכונה וירטואלית ראשית ומכונת יתירות כשל מוגדרת להפעלת שרת אינטרנט של Apache ביציאת TCP מספר 80. כברירת מחדל, Apache מוגדר להתחבר לכל כתובת IP. מאזני עומסים ברשת מעבירים חבילות תוך שמירה על כתובת ה-IP של היעד.
מוודאים שתוכנת השרת שפועלת במכונות ה-VM הראשיות ובמכונות ה-VM של הגיבוי מאזינה לכתובת ה-IP של כלל העברת התנועה של מאזן העומסים. כתובת ה-IP של היעד של חבילת נתונים שמועברת למכונה וירטואלית בעורף על ידי מאזן עומסי רשת חיצוני מסוג העברת סיגנל ללא שינוי היא כתובת ה-IP של כלל ההעברה.
כדי לפשט את ההוראות, כל המכונות הווירטואליות הראשיות ומכונות הגיבוי מריצות Debian GNU/Linux 9.
המסוף
יצירת מכונות וירטואליות של קצה עורפי
- נכנסים לדף VM instances במסוף Google Cloud . כניסה לדף VM instances
- חוזרים על השלבים הבאים כדי ליצור ארבע מכונות וירטואליות, באמצעות שילובי השמות והאזורים הבאים.
- שם:
vm-a1, אזור:us-west1-a - שם:
vm-a2, אזור:us-west1-a - שם:
vm-c1, אזור:us-west1-c - שם:
vm-c2, אזור:us-west1-c
- שם:
- לוחצים על Create instance.
- מגדירים את השם כמו שמופיע בשלב 2.
- בקטע Region, בוחרים באפשרות
us-west1, ובקטע Zone בוחרים באזור כמו שמוסבר בשלב 2. - בקטע Boot disk מוודאים שהתמונה שנבחרה היא Debian GNU/Linux 12 (bookworm). אם צריך, לוחצים על בחירה כדי לשנות את התמונה.
- לוחצים על אפשרויות מתקדמות.
- לוחצים על Networking ומגדירים את השדה הבא:
- בשדה Network tags (תגי רשת), מזינים
network-lb.
- בשדה Network tags (תגי רשת), מזינים
לוחצים על ניהול. מזינים את הסקריפט הבא בשדה סקריפט לטעינה בזמן ההפעלה. תוכן הסקריפט זהה בכל ארבע המכונות הווירטואליות:
#! /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
לוחצים על יצירה.
יצירת קבוצות של מכונות וירטואליות
נכנסים לדף Instance groups במסוף Google Cloud .
כדי ליצור שתי קבוצות של מכונות וירטואליות לא מנוהלות, שבכל אחת מהן יש שתי מכונות וירטואליות, חוזרים על השלבים הבאים ומשתמשים בשילובים האלה.
- קבוצת מופעים:
ig-a, אזור:us-west1-a, מכונות וירטואליות:vm-a1ו-vm-a2 - קבוצת מופעים:
ig-c, אזור:us-west1-c, מכונות וירטואליות:vm-c1ו-vm-c2
- קבוצת מופעים:
לוחצים על יצירת קבוצת מופעים.
לוחצים על קבוצת מופעים חדשה לא מנוהלת.
מגדירים את השם כמו שמוסבר בשלב 2.
בקטע Location, בוחרים
us-west1בשדה Region, ואז בוחרים Zone כמו שמוסבר בשלב 2.בשדה רשת, מזינים
default.בקטע VM instances, מוסיפים את המכונות הווירטואליות כמו שמוסבר בשלב 2.
לוחצים על יצירה.
gcloud
מריצים את הפקודה הבאה ארבע פעמים כדי ליצור ארבע מכונות וירטואליות, ומשתמשים בארבעת השילובים האלה לערכים
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=network-lb \ --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 instance-groups unmanaged create ig-a \ --zone us-west1-a gcloud compute instance-groups unmanaged create ig-c \ --zone us-west1-cמוסיפים את המכונות הווירטואליות לקבוצות המופעים המתאימות:
gcloud compute instance-groups unmanaged add-instances ig-a \ --zone us-west1-a \ --instances vm-a1,vm-a2 gcloud compute instance-groups unmanaged add-instances ig-c \ --zone us-west1-c \ --instances vm-c1,vm-c2
הגדרת כללים לחומת אש
יוצרים כלל חומת אש שמאפשר לתעבורת נתונים חיצונית להגיע לשרתים העורפיים (backend instance).
המסוף
נכנסים לדף Firewall policies במסוף Google Cloud .
לוחצים על יצירת כלל לחומת האש כדי ליצור את הכלל שיאפשר תעבורה מכל מקור. משתמשים בערכים הבאים:
- Name (שם):
allow-network-lb. - רשת:
default - עדיפות:
1000 - כיוון התנועה: כניסה
- פעולה בהתאמה: אישור.
- יעדים: תגי יעד שצוינו
- תגי טירגוט:
network-lb - מסנן מקור: טווחים של IPv4
- טווחים של כתובות IPv4 של המקור:
0.0.0.0/0, שמאפשר תנועה מכל מקור. כך תעבורת נתונים חיצונית וגם בדיקות תקינות יוכלו להגיע למופעי ה-Backend. - פרוטוקולים ויציאות: בוחרים באפשרות פרוטוקולים ויציאות שצוינו.
מסמנים את תיבת הסימון TCP ומזינים
80.
- Name (שם):
לוחצים על יצירה.
לוחצים שוב על Create firewall rule (יצירת כלל חומת אש) כדי ליצור את הכלל שיאפשר חיבורי SSH נכנסים למכונות. משתמשים בערכים הבאים:
- Name (שם):
allow-ssh - רשת:
default - עדיפות:
1000 - כיוון התנועה: כניסה
- פעולה בהתאמה: אישור
- יעדים: תגי יעד שצוינו
- תגי טירגוט:
network-lb - מסנן מקור: טווחים של IPv4
- טווחים של כתובות IPv4 של המקור:
0.0.0.0/0 - פרוטוקולים ויציאות: בוחרים באפשרות פרוטוקולים ויציאות שצוינו.
מסמנים את תיבת הסימון TCP ומזינים
22.
- Name (שם):
לוחצים על יצירה.
gcloud
gcloud compute firewall-rules create allow-network-lb \
--target-tags network-lb \
--allow tcp:80
gcloud compute firewall-rules create allow-ssh \
--target-tags network-lb \
--allow tcp:22
הגדרת רכיבים של מאזן עומסים
בשלבים האלה מגדירים את הרכיבים הבאים של מאזן עומסי רשת חיצוני להעברת סיגנל ללא שינוי:
בדיקת תקינות. בדוגמה הזו נעשה שימוש בבדיקת תקינות של HTTP שבודקת קוד סטטוס של HTTP
200 OK.שירות לקצה העורפי. מכיוון שהדוגמה מעבירה תנועת HTTP דרך מאזן העומסים, ההגדרה מציינת TCP ולא UDP. כדי להמחיש את יתירות הכשל, שירות לקצה העורפי זה כולל יחס יתירות כשל של
0.75.כלל העברה. בדוגמה הזו נוצר כלל העברה יחיד.
המסוף
התחלת ההגדרה
נכנסים לדף Load balancing במסוף Google Cloud .
- לוחצים על Create load balancer (יצירת מאזן עומסים).
- בקטע Type of load balancer (סוג מאזן העומסים), בוחרים באפשרות Network Load Balancer (TCP/UDP/SSL) (מאזן עומסים ברשת (TCP/UDP/SSL)) ולוחצים על Next (הבא).
- בקטע Proxy or passthrough (פרוקסי או העברה), בוחרים באפשרות Passthrough load balancer (מאזן עומסים להעברה) ולוחצים על Next (הבא).
- בקטע Public facing or internal (פנימי או גלוי לכולם), בוחרים באפשרות Public facing (external) (גלוי לכולם – חיצוני) ולוחצים על Next (הבא).
- לוחצים על Configure (הגדרה).
הגדרת הקצה העורפי
- בדף Create external passthrough Network Load Balancer (יצירת מאזן עומסי רשת חיצוני להעברת סיגנל ללא שינוי), בשדה Load Balancer name (שם מאזן העומסים), מזינים
tcp-network-lb. - ברשימה Region בוחרים באפשרות us-west1.
- לוחצים על Backend configuration. המאזן העומסים Name שהזנתם קודם מופיע, אבל אי אפשר לשנות אותו.
- לוחצים על Backend configuration ומבצעים את הפעולות הבאות:
- ברשימה בדיקת תקינות, לוחצים על יצירת בדיקת תקינות ומזינים את הפרטים הבאים:
- Name (שם):
hc-http-80 - Protocol: TCP
- יציאה:
80
- Name (שם):
- לוחצים על יצירה.
- בקטע Backends, ברשימה Instance group, בוחרים באפשרות
ig-a. - לוחצים על הוספת קצה עורפי וחוזרים על השלב הזה כדי להוסיף את
ig-c. - מסמנים את התיבה Use this instance group as a failover group for backup (שימוש בקבוצת המכונות הזו כקבוצת מעבר לגיבוי).
- לוחצים על שמירה והמשך.
- לוחצים על הגדרות מתקדמות.
- בשדה Failover Ratio, מזינים
0.75. - לפני שממשיכים, מוודאים שלצד Backend configuration מופיע סימן אישור כחול.
- ברשימה בדיקת תקינות, לוחצים על יצירת בדיקת תקינות ומזינים את הפרטים הבאים:
הגדרות הקצה הקדמי
- לוחצים על Frontend configuration.
- מזינים שם של
network-lb-forwarding-rule. - בקטע IP, לוחצים על התפריט הנפתח ובוחרים באפשרות יצירת כתובת IP.
- במסך Reserve a new static IP address, מקצים Name של
network-lb-ip. - לוחצים על Reserve.
- במסך Reserve a new static IP address, מקצים Name של
- בוחרים באפשרות Single (יחיד) ומזינים
80בשדה Port number (מספר יציאה). לוחצים על הלחצן סיום.
עיגול כחול עם סימן וי משמאל לFrontend configuration מציין שההגדרה בוצעה בהצלחה.
בדיקת ההגדרות האישיות
- לוחצים על הלחצן בדיקה וסיום כדי לבדוק את כל הגדרות התצורה של איזון העומסים.
אם ההגדרות נכונות, לוחצים על יצירה. יצירת מאזן העומסים נמשכת כמה דקות.
במסך של איזון העומסים, בעמודה Backend של מאזן העומסים החדש, אמור להופיע סימן וי ירוק שמציין שמצב מאזן העומסים החדש תקין.
gcloud
יוצרים כתובת IP חיצונית סטטית למאזן העומסים.
gcloud compute addresses create network-lb-ip \ --region us-west1יוצרים בדיקת תקינות חדשה של HTTP כדי לבדוק את קישוריות ה-TCP למכונות הווירטואליות בפורט 80.
gcloud compute health-checks create http hc-http-80 \ --region us-west1 \ --port 80יוצרים את שירות הקצה העורפי לתנועת HTTP:
gcloud compute backend-services create network-lb-backend-service \ --protocol tcp \ --region us-west1 \ --health-checks hc-http-80 \ --health-checks-region us-west1 \ --failover-ratio 0.75מוסיפים את העורף הראשי לשירות לקצה העורפי:
gcloud compute backend-services add-backend network-lb-backend-service \ --region us-west1 \ --instance-group ig-a \ --instance-group-zone us-west1-aמוסיפים את השרת העורפי למעבר אוטומטי לשירות לקצה העורפי:
gcloud compute backend-services add-backend network-lb-backend-service \ --region us-west1 \ --instance-group ig-c \ --instance-group-zone us-west1-c \ --failoverיוצרים כלל העברה לשירות לקצה העורפי. משתמשים בכתובת ה-IP ששמרתם בשלב 1 ככתובת IP חיצונית סטטית של מאזן העומסים.
gcloud compute forwarding-rules create network-lb-forwarding-rule \ --region us-west1 \ --load-balancing-scheme external \ --address network-lb-ip\ --ports 80 \ --backend-service network-lb-backend-service
בדיקה
בבדיקות האלה מוסבר איך לאמת את ההגדרה של מאזן העומסים ואיך ללמוד על ההתנהגות הצפויה שלו.
הפניית תנועה למאזן העומסים
ההליך הזה שולח תעבורה חיצונית למאזן העומסים. תשתמשו בהליך הזה כדי להשלים את הבדיקות האחרות.
מתחברים למופע ה-VM של הלקוח.
gcloud compute forwarding-rules describe network-lb-forwarding-rule \ --region us-west1שולחים בקשת אינטרנט למאזן העומסים באמצעות
curlכדי ליצור קשר עם כתובת ה-IP שלו.curl http://IP_ADDRESS
שימו לב לטקסט שמוחזר על ידי הפקודה
curl. השם של מכונת ה-VM של ה-Backend שמייצרת את התגובה מוצג בטקסט הזה. לדוגמה:Page served from: vm-a1
בדיקת המצב ההתחלתי
אחרי שמגדירים את מאזן העומסים לדוגמה, כל ארבע המכונות הווירטואליות של הקצה העורפי צריכות להיות תקינות:
- שתי המכונות הווירטואליות הראשיות,
vm-a1ו-vm-a2 - שתי מכונות ה-VM למעבר לגיבוי,
vm-c1ו-vm-c2
פועלים לפי ההליך לבדיקה כדי לשלוח תעבורת נתונים למאזן העומסים.
חוזרים על השלב השני כמה פעמים. ההתנהגות הצפויה היא שהתנועה תגיע משתי מכונות וירטואליות ראשיות, vm-a1 ו-vm-a2, כי שתיהן תקינות. כל מכונה וירטואלית ראשית אמורה להציג תגובה בערך מחצית מהזמן כי לא הוגדרה זיקה לסשן עבור מאזן העומסים הזה.
בדיקת מעבר לשירות גיבוי
הבדיקה הזו מדמה כשל של vm-a1 כדי שתוכלו לראות את התנהגות המעבר לגיבוי.
מתחברים למכונה הווירטואלית
vm-a1.gcloud compute ssh vm-a1 --zone us-west1-a
עוצרים את שרת האינטרנט של Apache. אחרי עשר שניות, Google Cloud המערכת מחשיבה את המכונה הווירטואלית הזו כלא תקינה. (בבדיקת התקינות
hc-http-80שיצרתם בהגדרה נעשה שימוש במרווח ברירת המחדל של חמש שניות בין הבדיקות ובסף ברירת המחדל של שתי בדיקות רצופות שנכשלו).sudo apachectl stop
פועלים לפי ההליך לבדיקה כדי לשלוח תעבורה למאזן העומסים. חוזרים על השלב השני כמה פעמים. ההתנהגות הצפויה היא שחיבורים חדשים יתחלקו בין שני מכשירי ה-VM התקינים ליתירות כשל,
vm-c1ו-vm-c2. זה קורה כי רק מכונה וירטואלית ראשית אחת,vm-a2, תקינה, והיחס בין מכונות וירטואליות ראשיות תקינות לבין סך המכונות הווירטואליות הראשיות הוא0.5– פחות מסף המעבר לגיבוי של0.75. כל מכונה וירטואלית ליתירות כשל מציגה תגובה בערך מחצית מהזמן כל עוד הזיקה לסשן (session affinity) מוגדרת ל-NONE.
בדיקת מעבר חזרה
בבדיקה הזו מתבצעת סימולציה של חזרה למצב תקין על ידי הפעלה מחדש של שרת Apache בכתובת vm-a1.
מתחברים למכונה הווירטואלית
vm-a1.gcloud compute ssh vm-a1 --zone us-west1-a
מפעילים את שרת האינטרנט של Apache וממתינים 10 שניות.
sudo apachectl start
פועלים לפי ההליך לבדיקת הלקוח. חוזרים על השלב השני כמה פעמים. ההתנהגות הצפויה היא שהתנועה תגיע משני המכונות הווירטואליות הראשיות,
vm-a1ו-vm-a2. אם שתי המכונות הווירטואליות הראשיות תקינות, היחס בין המכונות הווירטואליות הראשיות התקינות לבין סך כל המכונות הווירטואליות הראשיות הוא1.0, שהוא גדול מסף המעבר לגיבוי (failover) של0.75, ולכן הקצוות העורפיים שעומדים בדרישות של מאזן העומסים כוללים את כל המכונות הווירטואליות הראשיות התקינות.
הוספת עוד מכונות וירטואליות בבק-אנד
בסעיף הזה נרחיב את דוגמת ההגדרה על ידי הוספה של עוד מכונות וירטואליות ראשיות ומכונות וירטואליות ליתירות כשל למאזן העומסים. הוא עושה זאת על ידי יצירה של עוד שתי קבוצות של מופעים בבק-אנד, כדי להדגים שאפשר לפזר מכונות וירטואליות ראשיות ומכונות וירטואליות למעבר לגיבוי בין כמה אזורים באותו אזור:
- קבוצת מכונות שלישית,
ig-dב-us-west1-c, משמשת כקצה עורפי ראשי עם שתי מכונות וירטואליות:vm-d1vm-d2
- קבוצת מכונות רביעית,
ig-bב-us-west1-a, משמשת כקצה עורפי למעבר לגיבוי עם שתי מכונות וירטואליות:vm-b1vm-b2
הארכיטקטורה ששונתה בדוגמה הזו נראית כך:
יצירת מכונות וירטואליות נוספות וקבוצות של מופעים
כדי ליצור את המכונות הווירטואליות הנוספות של השרת הראשי ושל הגיבוי, וגם את קבוצות המופעים הלא מנוהלות התואמות שלהן, פועלים לפי השלבים הבאים.
המסוף
יצירת מכונות וירטואליות של קצה עורפי
נכנסים לדף VM instances במסוף Google Cloud .
חוזרים על השלבים הבאים כדי ליצור ארבע מכונות וירטואליות, באמצעות שילובי השמות והאזורים הבאים.
- שם:
vm-b1, אזור:us-west1-a - שם:
vm-b2, אזור:us-west1-a - שם:
vm-d1, אזור:us-west1-c - שם:
vm-d2, אזור:us-west1-c
- שם:
לוחצים על Create instance.
מגדירים את השם כמו שמופיע בשלב 2.
בקטע Region, בוחרים באפשרות
us-west1, ובקטע Zone בוחרים באזור כמו שמוסבר בשלב 2.בקטע Boot disk מוודאים שהתמונה שנבחרה היא Debian GNU/Linux 9 Stretch. אם צריך, לוחצים על בחירה כדי לשנות את התמונה.
לוחצים על אפשרויות מתקדמות.
לוחצים על Networking (רשת) ומגדירים את השדה הבא:
- בשדה Network tags (תגי רשת), מזינים
network-lb.
- בשדה Network tags (תגי רשת), מזינים
לוחצים על ניהול. מזינים את הסקריפט הבא בשדה סקריפט לטעינה בזמן ההפעלה. תוכן הסקריפט זהה בכל ארבע המכונות הווירטואליות:
#! /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
לוחצים על יצירה.
יצירת קבוצות של מכונות וירטואליות
נכנסים לדף Instance groups במסוף Google Cloud .
כדי ליצור שתי קבוצות של מכונות וירטואליות לא מנוהלות, כל אחת עם שתי מכונות וירטואליות, חוזרים על השלבים הבאים ומשתמשים בשילובים האלה.
- קבוצת מופעים:
ig-b, אזור:us-west1-a, מכונות וירטואליות:vm-b1ו-vm-b2 - קבוצת מופעים:
ig-d, אזור:us-west1-c, מכונות וירטואליות:vm-d1ו-vm-d2
- קבוצת מופעים:
לוחצים על יצירת קבוצת מופעים.
לוחצים על קבוצת מופעים חדשה לא מנוהלת.
מגדירים את השם כמו שמוסבר בשלב 2.
בקטע Location, בוחרים
us-west1בשדה Region, ואז בוחרים Zone כמו שמוסבר בשלב 2.בשדה רשת, מזינים
default.בקטע VM instances, מוסיפים את המכונות הווירטואליות כמו שמוסבר בשלב 2.
לוחצים על יצירה.
gcloud
מריצים את הפקודה הבאה ארבע פעמים כדי ליצור ארבע מכונות וירטואליות, ומשתמשים בארבעת השילובים האלה לערכים
VM-NAMEו-ZONE. תוכן הסקריפט זהה בכל ארבע המכונות הווירטואליות.-
VM-NAMEמתוךvm-b1ו-ZONEמתוךus-west1-a -
VM-NAMEמתוךvm-b2ו-ZONEמתוךus-west1-a -
VM-NAMEמתוךvm-d1ו-ZONEמתוךus-west1-c -
VM-NAMEמתוךvm-d2ו-ZONEמתוךus-west1-c
gcloud compute instances create VM-NAME \ --zone=ZONE \ --image-family=debian-12 \ --image-project=debian-cloud \ --tags=network-lb \ --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 instance-groups unmanaged create ig-b \ --zone us-west1-a gcloud compute instance-groups unmanaged create ig-d \ --zone us-west1-cמוסיפים את המכונות הווירטואליות לקבוצות המופעים המתאימות:
gcloud compute instance-groups unmanaged add-instances ig-b \ --zone us-west1-a \ --instances vm-b1,vm-b2 gcloud compute instance-groups unmanaged add-instances ig-d \ --zone us-west1-c \ --instances vm-d1,vm-d2
הוספת קצה עורפי ראשי
אתם יכולים להשתמש בהליך הזה כתבנית להוספת קבוצת מופעים לא מנוהלת לשירות בק-אנד קיים של מאזן עומסים חיצוני מסוג העברת תעבורה כבק-אנד ראשי. בדוגמה להגדרה, התהליך הזה מראה איך להוסיף את קבוצת המופעים ig-d כקצה עורפי ראשי למאזן העומסים network-lb.
המסוף
עורכים את הגדרות איזון העומסים כדי להוסיף קצה עורפי ראשי.
נכנסים לדף Load balancing במסוף Google Cloud .
לוחצים על מאזן העומסים שרוצים לשנות.
לוחצים על Edit.
לוחצים על Backend configuration ומבצעים את השינויים הבאים:
- בקטע Backends (שרתי קצה עורפי), לוחצים על Add Backend (הוספת שרת קצה עורפי).
- מהתפריט הנפתח, בוחרים את קבוצת המופעים שרוצים להוסיף כקצה עורפי ראשי. במקרה הזה,
ig-d. - לוחצים על סיום.
- לפני שממשיכים, מוודאים שלצד Backend configuration מופיע סימן אישור כחול.
בדיקת ההגדרות האישיות
- לוחצים על הלחצן Review and finalize (בדיקה וסיום) ומוודאים שהעורף הראשי החדש מופיע בקטע Backend (עורף).
אם ההגדרות נכונות, לוחצים על יצירה. יצירת מאזן העומסים נמשכת כמה דקות.
במסך של איזון העומסים, בעמודה Backend של מאזן העומסים החדש, אמור להופיע סימן וי ירוק שמציין שמצב מאזן העומסים החדש תקין.
gcloud
משתמשים בפקודה gcloud הבאה כדי להוסיף קצה עורפי ראשי לשירות קצה עורפי קיים של מאזן עומסי רשת חיצוני להעברת סיגנל ללא שינוי.
gcloud compute backend-services add-backend BACKEND_SERVICE_NAME \ --instance-group INSTANCE_GROUP_NAME \ --instance-group-zone INSTANCE_GROUP_ZONE \ --region REGION
where:
-
BACKEND_SERVICE_NAMEהוא השם של השירות לקצה העורפי של מאזן העומסים. בדוגמה הזו, משתמשים ב-network-lb-backend-service. -
INSTANCE_GROUP_NAMEהוא השם של קבוצת המופעים שרוצים להוסיף כקצה עורפי ראשי. בדוגמה הזו, משתמשים ב-ig-d. -
INSTANCE_GROUP_ZONEהוא האזור שבו מוגדרת קבוצת המכונות. בדוגמה הזו, משתמשים ב-us-west1-c. -
REGIONהוא האזור של מאזן העומסים. בדוגמה הזו, משתמשים בפקודהus-west1.
הוספת שרת קצה עורפי למעבר אוטומטי
אתם יכולים להשתמש בהליך הזה כתבנית להוספת קבוצת מופעים לא מנוהלת לשירות בק-אנד קיים של מאזן עומסים חיצוני מסוג העברת תעבורה (passthrough) ברשת, כבק-אנד למעבר לגיבוי (failover). בדוגמה להגדרה, התהליך הזה מראה איך להוסיף את קבוצת המופעים ig-b כבק-אנד ליתירות כשל למאזן העומסים (LB) network-lb.
המסוף
עורכים את הגדרות איזון העומסים כדי להוסיף קצה עורפי ראשי.
נכנסים לדף Load balancing במסוף Google Cloud .
לוחצים על מאזן העומסים שרוצים לשנות.
לוחצים על Edit.
לוחצים על Backend configuration ומבצעים את השינויים הבאים:
- בקטע Backends (שרתי קצה עורפי), לוחצים על Add Backend (הוספת שרת קצה עורפי).
- מהתפריט הנפתח, בוחרים את קבוצת המופעים שרוצים להוסיף כשרת קצה עורפי למעבר לגיבוי. במקרה הזה,
ig-b. - מסמנים את התיבה Use this instance group as a failover group for backup (שימוש בקבוצת המכונות הזו כקבוצת מעבר לגיבוי).
- לוחצים על סיום.
- לפני שממשיכים, מוודאים שלצד Backend configuration מופיע סימן אישור כחול.
בדיקת ההגדרות האישיות
- לוחצים על הלחצן Review and finalize (בדיקה וסיום) ומוודאים שהעורף הראשי החדש מופיע בקטע Backend (עורף).
אם ההגדרות נכונות, לוחצים על יצירה. יצירת מאזן העומסים נמשכת כמה דקות.
במסך של איזון העומסים, בעמודה Backend של מאזן העומסים החדש, אמור להופיע סימן וי ירוק שמציין שמצב מאזן העומסים החדש תקין.
gcloud
כדי להוסיף קצה עורפי למעבר לגיבוי (failover) לשירות קצה עורפי קיים של מאזן עומסי רשת חיצוני להעברת סיגנל ללא שינוי, משתמשים בפקודה gcloud הבאה.
gcloud compute backend-services add-backend BACKEND_SERVICE_NAME \ --instance-group INSTANCE_GROUP_NAME \ --instance-group-zone INSTANCE_GROUP_ZONE \ --region REGION \ --failover
where:
-
BACKEND_SERVICE_NAMEהוא השם של השירות לקצה העורפי של מאזן העומסים. בדוגמה הזו, משתמשים ב-network-lb-backend-service. -
INSTANCE_GROUP_NAMEהוא השם של קבוצת המופעים שרוצים להוסיף כשרת קצה עורפי למעבר אוטומטי לגיבוי. בדוגמה הזו, משתמשים ב-ig-b. -
INSTANCE_GROUP_ZONEהוא האזור שבו מוגדרת קבוצת המכונות. בדוגמה הזו, משתמשים ב-us-west1-a. -
REGIONהוא האזור של מאזן העומסים. בדוגמה הזו, משתמשים בפקודהus-west1.
המרת קצה עורפי ראשי או קצה עורפי למעבר אוטומטי
אתם יכולים להמיר בק-אנד ראשי לבק-אנד יתירות כשל או בק-אנד יתירות כשל לבק-אנד ראשי, בלי שתצטרכו להסיר את קבוצת המופעים משירות לקצה העורפי של מאזן עומסי רשת חיצוני מסוג העברה (passthrough).
gcloud
משתמשים בפקודה gcloud הבאה כדי להמיר בק-אנד ראשי קיים לבק-אנד יתירות כשל:
gcloud compute backend-services update-backend BACKEND_SERVICE_NAME \ --instance-group INSTANCE_GROUP_NAME \ --instance-group-zone INSTANCE_GROUP_ZONE \ --region REGION \ --failover
משתמשים בפקודה gcloud הבאה כדי להמיר קצה עורפי קיים למעבר לגיבוי (failover) לקצה עורפי ראשי:
gcloud compute backend-services update-backend BACKEND_SERVICE_NAME \ --instance-group INSTANCE_GROUP_NAME \ --instance-group-zone INSTANCE_GROUP_ZONE \ --region REGION \ --no-failover
where:
-
BACKEND_SERVICE_NAMEהוא השם של השירות לקצה העורפי של מאזן העומסים. -
INSTANCE_GROUP_NAMEהוא השם של קבוצת המכונות. -
INSTANCE_GROUP_ZONEהוא האזור שבו מוגדרת קבוצת המכונות. -
REGIONהוא האזור של מאזן העומסים.
הגדרת מדיניות מעבר לגיבוי (failover)
בקטע הזה מוסבר איך להגדיר מדיניות יתירות כשל לשירות לקצה העורפי של מאזן עומסי רשת חיצוני להעברת סיגנל ללא שינוי. מידע נוסף על הפרמטרים של מדיניות מעבר לגיבוי זמין במאמר בנושא מעבר לגיבוי.
הגדרת מדיניות יתירות כשל
בהוראות הבאות מוסבר איך להגדיר את מדיניות יתירות הכשל למאזן עומסי רשת קיים להעברת סיגנל ללא שינוי.
gcloud
כדי להגדיר מדיניות יתירות כשל באמצעות ה-CLI של gcloud, מעדכנים את שירות לקצה העורפי של מאזן העומסים:
gcloud compute backend-services update BACKEND_SERVICE_NAME \ --region REGION \ --failover-ratio FAILOVER_RATIO \ --connection-drain-on-failover \ --drop-traffic-if-unhealthy
where:
-
BACKEND_SERVICE_NAMEהוא השם של השירות לקצה העורפי של מאזן העומסים. בדוגמה הזו, משתמשים ב-network-lb. -
REGIONהוא האזור של מאזן העומסים. בדוגמה הזו, משתמשים בפקודהus-west1. -
FAILOVER_RATIOהוא יחס המעבר לגיבוי. הערכים האפשריים הם בין0.0ל-1.0, כולל. בדוגמה הזו, משתמשים ב-0.75.
צפייה במדיניות מעבר לגיבוי
בהוראות הבאות מוסבר איך לראות את מדיניות המעבר לגיבוי (failover) הקיימת עבור מאזן עומסי רשת חיצוני להעברת סיגנל ללא שינוי.
gcloud
כדי להציג את ההגדרות של מדיניות המעבר לגיבוי באמצעות ה-CLI של gcloud, משתמשים בפקודה הבאה. הגדרות לא מוגדרות במדיניות מעבר לגיבוי (failover) משתמשות בערכי ברירת המחדל של מדיניות המעבר לגיבוי.
gcloud compute backend-services describe BACKEND_SERVICE_NAME \ --region REGION \ --format="get(failoverPolicy)"
where:
-
BACKEND_SERVICE_NAMEהוא השם של השירות לקצה העורפי של מאזן העומסים. בדוגמה הזו, משתמשים ב-network-lb-backend-service. -
REGIONהוא האזור של מאזן העומסים. בדוגמה הזו, משתמשים בפקודהus-west1.
המאמרים הבאים
- מידע חשוב על מושגי יסוד זמין במאמר מאזן עומסי רשת חיצוני להעברת סיגנל ללא שינוי – סקירה כללית.
- דוגמה להגדרה מופיעה במאמר הגדרת מאזן עומסי רשת חיצוני להעברת סיגנל ללא שינוי.