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

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

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

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

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

מטרות

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

עלויות

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

  • Compute Engine

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

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

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

  1. נכנסים לחשבון Google Cloud . אם אתם משתמשים חדשים ב- Google Cloud, צרו חשבון כדי שתוכלו להעריך את הביצועים של המוצרים שלנו בתרחישים מהעולם האמיתי. לקוחות חדשים מקבלים בחינם גם קרדיט בשווי 300$ להרצה, לבדיקה ולפריסה של עומסי העבודה.
  2. In the Google Cloud console, on the project selector page, 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.

    Go to project selector

  3. Verify that billing is enabled for your Google Cloud project.

  4. In the Google Cloud console, on the project selector page, 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.

    Go to project selector

  5. Verify that billing is enabled for your Google Cloud project.

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

האפליקציה כוללת את הרכיבים הבאים של Compute Engine:

  • רשת VPC: רשת וירטואלית בתוך Google Cloud שיכולה לספק קישוריות גלובלית באמצעות המסלולים וכללי חומת האש שלה.
  • כלל חומת אש: חומת Google Cloud אש מאפשרת לכם לאשר או לחסום תעבורה אל המכונות שלכם.
  • תבנית של הגדרות מכונה: תבנית שמשמשת ליצירת כל מופע של מכונה וירטואלית בקבוצת מופעי מכונה מנוהלים.
  • קבוצת מופעי מכונה מנוהלים (MIG) אזורית: קבוצה של מופעי מכונה וירטואלית שמריצים את אותה אפליקציה בכמה אזורים.
  • כתובת IP חיצונית סטטית גלובלית: כתובת IP סטטית שאפשר לגשת אליה ברשתות חיצוניות ואפשר לצרף אותה למשאב גלובלי.
  • מאזן עומסים גלובלי: מאזן עומסים שמאפשר להפיץ מופעי בק-אנד בכמה אזורים. משתמשים במאזן עומסים גלובלי כשהמשתמשים צריכים גישה לאותם אפליקציות ותכנים, ואתם רוצים לספק גישה באמצעות כתובת IP אחת מסוג anycast.
  • בדיקת תקינות: מדיניות שמאזן העומסים משתמש בה כדי להעריך את מהירות התגובה של האפליקציה בכל מכונה וירטואלית.

הפעלת אפליקציית האינטרנט

במדריך הזה נעשה שימוש באפליקציית אינטרנט שמאוחסנת ב-GitHub. אם אתם רוצים לקבל מידע נוסף על האופן שבו האפליקציה הוטמעה, תוכלו לעיין במאגר GoogleCloudPlatform/python-docs-samples ב-GitHub.

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

יצירת רשת VPC

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

יוצרים רשת VPC כדי להגדיר את כללי חומת האש לאפליקציית האינטרנט של ההדגמה:

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

    מעבר לרשתות VPC

  2. לוחצים על Create VPC Network (יצירת רשת VPC).

  3. בשדה Name (שם), מזינים web-app-vpc.

  4. מגדירים את מצב יצירת רשת משנה לבהתאמה אישית.

  5. יוצרים רשת משנה חדשה באופן הבא:

    1. בקטע Subnets, מגדירים את השדה Name ומזינים את הערך web-app-vpc-subnet.
    2. בתפריט הנפתח Region, בוחרים באפשרות us-central1.
    3. מוודאים שהאפשרות IP stack type מוגדרת ל-IPv4.
    4. בקטע Primary IPv4 range (טווח IPv4 ראשי), מזינים את טווח כתובות ה-IPv4‏ 10.2.0.0/24.
  6. בתחתית הדף, לוחצים על יצירה.

צריך לחכות עד שרשת ה-VPC נוצרת לפני שממשיכים.

יצירת כלל לחומת האש

אחרי שיוצרים את רשת ה-VPC, מגדירים כלל חומת אש שמאפשר תעבורת HTTP לרשת ה-VPC:

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

    לדף Firewalls

  2. לוחצים על יצירת כלל לחומת האש.

  3. בשדה שם מזינים allow-web-app-http.

  4. מגדירים את Network לערך web-app-vpc.

  5. מוודאים שההגדרות הבאות מוגדרות כמו שמופיע כאן:

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

  7. מגדירים את מסנן מקור לערך IPv4 ranges.

  8. בשדה Source IP ranges (טווח כתובות ה-IP של המקור), מזינים 130.211.0.0/22, 35.191.0.0/16 כדי לאפשר בדיקות תקינות של איזון העומסים.

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

    1. בוחרים באפשרות פרוטוקולים ויציאות שצוינו.
    2. בוחרים באפשרות TCP.
    3. בשדה Ports (יציאות), מזינים 80 כדי לאפשר גישה לתעבורת HTTP.
  10. לוחצים על יצירה.

יצירת תבנית של הגדרות מכונה

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

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

    כניסה לדף Instance templates

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

  3. בשדה Name (שם), מזינים load-balancing-web-app-template.

  4. בקטע Machine configuration, מגדירים את סוג המכונה לערך e2-medium.

  5. לוחצים על הקטע אפשרויות מתקדמות כדי להרחיב אותו.

  6. לוחצים על הקטע Networking (רשת) ומבצעים את הפעולות הבאות:

    1. בקטע ממשקי רשת, מוחקים את כל ממשקי הרשת הקיימים על ידי לחיצה על הסמל לצדם.
    2. לוחצים על הוספת ממשק רשת ואז בוחרים את הרשת web-app-vpc. כך כל מכונה שנוצרת באמצעות התבנית הזו מופעלת ברשת שנוצרה קודם.
    3. בתפריט הנפתח רשת משנה, בוחרים באפשרות web-app-vpc-subnet.
    4. לוחצים על סיום.
  7. לוחצים על הקטע ניהול ומבצעים את הפעולות הבאות:

    1. בקטע Automation, מזינים את סקריפט לטעינה בזמן ההפעלה הבא:

      apt-get update
      apt-get -y install git python3-pip python3-venv
      git clone https://github.com/GoogleCloudPlatform/python-docs-samples.git
      python3 -m venv venv
      ./venv/bin/pip3 install -Ur ./python-docs-samples/compute/managed-instances/demo/requirements.txt
      ./venv/bin/pip3 install gunicorn
      ./venv/bin/gunicorn --bind 0.0.0.0:80 app:app --daemon --chdir ./python-docs-samples/compute/managed-instances/demo
      

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

  8. משאירים את ערכי ברירת המחדל בשאר האפשרויות.

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

צריך להמתין עד ליצירת התבנית לפני שממשיכים.

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

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

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

    כניסה לדף Instance groups

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

  3. בשדה Name (שם), מזינים load-balancing-web-app-group.

  4. בשדה תבנית של הגדרות מכונה, בוחרים באפשרות load-balancing-web-app-template.

  5. מגדירים את מספר המופעים ל-6. אם השדה הזה מושבת, צריך קודם להשבית את שינוי הגודל האוטומטי.

    כדי להשבית את התאמה אוטומטית לעומס, עוברים לקטע התאמה אוטומטית לעומס. בתפריט הנפתח Autoscaling mode, בוחרים באפשרות Off: do not autoscale.

  6. בקטע מיקום, בוחרים באפשרות מספר אזורים.

  7. בשדה Region, בוחרים us-central1.

  8. בשדה Zones, בוחרים את האזורים הבאים מהרשימה הנפתחת:

    • us-central1-b
    • us-central1-c
    • us-central1-f
  9. משאירים את ערכי ברירת המחדל בשאר האפשרויות.

  10. לוחצים על יצירה. תועברו בחזרה לדף קבוצות מופעים.

    יכול להיות שתצטרכו לחכות כמה דקות עד שכל המופעים בקבוצה יפעלו.

הגדרת מאזן העומסים

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

שמירת כתובת IP סטטית

משתמשים בכתובת IP חיצונית סטטית גלובלית כדי לספק למאזן העומסים נקודת כניסה יחידה לקבלת כל תעבורת המשתמשים. ‫Compute Engine שומר על כתובות IP סטטיות גם אם משנים או מוחקים משאבים משויכים. Google Cloud כך אפליקציית האינטרנט תמיד תהיה עם אותה נקודת כניסה, גם אם חלקים אחרים באפליקציית האינטרנט ישתנו.

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

    מעבר אל כתובות IP

  2. לוחצים על שמירת כתובת IP חיצונית סטטית.

  3. בשדה שם מזינים web-app-ipv4.

  4. מגדירים את IP version ל-IPv4.

  5. מגדירים את Type (סוג) לערך Global (גלובלי).

  6. לוחצים על Reserve.

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

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

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

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

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

בחירת סוג מאזן העומסים

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

    כניסה לדף Load balancing

  2. לוחצים על Create load balancer (יצירת מאזן עומסים).
  3. בקטע Type of load balancer, בוחרים באפשרות Application Load Balancer (HTTP/HTTPS) ולוחצים על Next.
  4. בקטע Public facing or internal (פנימי או גלוי לכולם), בוחרים באפשרות Public facing (external) (גלוי לכולם – חיצוני) ולוחצים על Next (הבא).
  5. אם רוצים פריסה גלובלית או פריסה באזור יחיד, בוחרים באפשרות הכי מתאים לעומסי עבודה גלובליים ולוחצים על הבא.
  6. בקטע Load balancer generation (יצירת מאזן עומסים), בוחרים באפשרות Global external Application Load Balancer (מאזן עומסים גלובלי חיצוני של אפליקציות) ולוחצים על Next (הבא).
  7. לוחצים על Configure (הגדרה).

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

  1. בחלונית הימנית, בשדה Load balancer name (שם מאזן העומסים), מזינים web-app-load-balancer.

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

  1. בדף Frontend configuration, בשדה Name, מזינים את הערך web-app-ipv4-frontend.
  2. מגדירים את Protocol ל-HTTP.
  3. מגדירים את גרסת ה-IP ל-IPv4.
  4. מגדירים את IP address ל-web-app-ipv4.
  5. מגדירים את Port ל-80.
  6. לוחצים על סיום כדי ליצור את חזית האתר.

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

  1. בחלונית הימנית, לוחצים על הגדרת ה-Backend.
  2. לוחצים על התפריט הנפתח Backend services & backend buckets כדי לפתוח תפריט, ואז לוחצים על Create a backend service.
  3. בחלון החדש, בשדה Name (שם) של שירות ה-Backend, מזינים web-app-backend.
  4. בקטע Backends (שרתי קצה עורפי), מבצעים את הפעולות הבאות:
    1. מגדירים את Instance group ל-load-balancing-web-app-group.
    2. מגדירים את ניוד מספרים לערך 80. ההגדרה הזו מאפשרת תעבורת HTTP בין מאזן העומסים לקבוצת המופעים.
    3. בקטע מצב איזון, בוחרים באפשרות ניצול.
    4. לוחצים על סיום.
  5. יוצרים את בדיקת התקינות עבור הקצה העורפי של מאזן העומסים באופן הבא:

    1. לוחצים על התפריט הנפתח בדיקת תקינות ואז על יצירת בדיקת תקינות. ייפתח חלון חדש.
    2. בחלון החדש, בשדה שם, מזינים web-app-load-balancer-check.
    3. מגדירים את Protocol ל-HTTP.
    4. בשדה Port, מזינים 80.
    5. במדריך הזה, מגדירים את נתיב הבקשה ל-/health, שהוא נתיב שאפליקציית האינטרנט של ההדגמה מוגדרת להגיב לו.
    6. מגדירים את קריטריוני הבריאות הבאים:

      1. מגדירים את מרווח הבדיקה ל-3 שניות. הערך הזה מגדיר את משך הזמן מתחילת בקשה לבדיקת תקינות (probe) אחת ועד לתחילת הבקשה לבדיקת תקינות (probe) הבאה.
      2. מגדירים את הזמן הקצוב לתפוגה ל-3 שניות. ההגדרה הזו מגדירה את משך הזמן שבו Google Cloud ממתין לתגובה לבקשה לבדיקת תקינות (probe). הערך שלו חייב להיות קטן ממרווח הבדיקה או שווה לו.
      3. מגדירים את הסף הבריא ל-2 הצלחות רצופות. הערך הזה מגדיר את מספר הבדיקות הרצופות שצריכות להצליח כדי שהמופע ייחשב תקין.
      4. מגדירים את Unhealthy Threshold ל-2 consecutive failures. ההגדרה הזו מגדירה את מספר הבדיקות הרצופות שצריכות להיכשל כדי שהמופע ייחשב כלא תקין.
    7. לוחצים על יצירה כדי ליצור את בדיקת תקינות.

  6. משאירים את ערכי ברירת המחדל בשאר האפשרויות.

  7. לוחצים על Create כדי ליצור את שירות לקצה העורפי.

בדיקה וסיום

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

  1. בחלונית הימנית של הדף Create global external Application Load Balancer (יצירת מאזן עומסים גלובלי חיצוני של אפליקציות), לוחצים על Review and finalize (בדיקה וסיום).
  2. בדף בדיקה וסיום, מוודאים שבקצה הקדמי נעשה שימוש בכתובת IP עם פרוטוקול מסוג HTTP.

  3. באותו דף, בודקים את הגדרות הקצה העורפי הבאות:

    • השירות לקצה העורפי הוא web-app-backend.
    • פרוטוקול נקודת הקצה הוא HTTP.
    • בדיקת התקינות היא web-app-load-balancer-check.
    • קבוצת המופעים היא load-balancing-web-app-group.
  4. לוחצים על יצירה כדי לסיים את יצירת מאזן העומסים.

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

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

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

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

    כניסה לדף Load balancing

  2. בעמודה Name (שם), לוחצים על web-app-load-balancer כדי להרחיב את מאזן העומסים שיצרתם.

  3. כדי להתחבר לאפליקציית האינטרנט באמצעות כתובות ה-IP החיצוניות הסטטיות:

    1. בקטע Frontend, מעתיקים את כתובת ה-IP שמוצגת בעמודה IP:Port.
    2. פותחים כרטיסייה חדשה בדפדפן ומדביקים את כתובת ה-IP בסרגל הכתובות. אפליקציית האינטרנט להדגמה תוצג:

      אפליקציית אינטרנט להדגמה.

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

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

סימולציה של הפסקת חשמל אזורית

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

  1. עוקבים אחרי האזורים שאליהם מאזן העומסים מנתב את התנועה.

    1. במסוף Google Cloud , עוברים אל Cloud Shell.

      פתיחת Cloud Shell

      ‫Cloud Shell ייפתח בחלונית במסוףGoogle Cloud . הסשן יופעל תוך כמה שניות.

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

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

        gcloud compute forwarding-rules describe web-app-ipv4-frontend --global
        

        הפלט אמור להיראות כך: מעתיקים את EXTERNAl_IP_ADDRESS מהפלט.

        IPAddress: EXTERNAl_IP_ADDRESS
        ...
        
      2. יוצרים משתנה bash מקומי:

        export LOAD_BALANCER_IP=EXTERNAl_IP_ADDRESS
        

        מחליפים את EXTERNAl_IP_ADDRESS בכתובת ה-IP החיצונית שהעתקתם.

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

      while true
      do
          BODY=$(curl -s "$LOAD_BALANCER_IP")
          NAME=$(echo -n "$BODY" | grep "load-balancing-web-app-group" | perl -pe 's/.+?load-balancing-web-app-group-(.+?)<.+/\1/')
          ZONE=$(echo -n "$BODY" | grep "us-" | perl -pe 's/.+?(us-.+?)<.+/\1/')
          echo $ZONE
          sleep 2 # Wait for 2 seconds
      done
      

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

      הפלט שיתקבל צריך לכלול את האזורים us-central1-b, us-central1-c ו-us-central1-f:

      us-central1-f
      us-central1-b
      us-central1-c
      us-central1-f
      us-central1-f
      us-central1-c
      us-central1-f
      us-central1-c
      us-central1-c
      

      משאירים את הטרמינל פתוח.

  2. בזמן שהניטור פועל, מתחילים לדמות את ההשבתה האזורית.

    1. ב-Cloud Shell, לוחצים על הלחצן Add כדי לפתוח סשן טרמינל שני.
    2. יוצרים משתנה bash מקומי למזהה הפרויקט:

      export PROJECT_ID=PROJECT_ID
      

      כאשר PROJECT_ID הוא מזהה הפרויקט של הפרויקט הנוכחי, שמוצג בכל שורה חדשה ב-Cloud Shell:

      user@cloudshell:~ (PROJECT_ID)$
      
    3. יוצרים משתנה bash מקומי לתחום שרוצים להשבית. כדי לדמות כשל באזור us-central1-f, משתמשים בפקודה הבאה:

      export DISABLE_ZONE=us-central1-f
      

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

      export MACHINES=$(gcloud --project=$PROJECT_ID compute instances list --filter="zone:($DISABLE_ZONE)" --format="csv(name,networkInterfaces[0].accessConfigs[0].natIP)" | grep "load-balancing-web-app-group")
      for i in $MACHINES;
      do
        NAME=$(echo "$i" | cut -f1 -d,)
        IP=$(echo "$i" | cut -f2 -d,)
        echo "Simulating zonal failure for zone $DISABLE_ZONE, instance $NAME"
        curl -q -s "http://$IP/makeUnhealthy" >/dev/null --retry 2
      done
      

      אחרי השהיה קצרה, מאזן העומסים מפסיק להפנות תנועה לאזורים הלא תקינים, ולכן הפלט מחלון המסוף הראשון מפסיק להציג את אזור us-central1-f:

      us-central1-c
      us-central1-c
      us-central1-c
      us-central1-b
      us-central1-b
      us-central1-c
      us-central1-b
      us-central1-c
      us-central1-c
      

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

      משאירים את שני חלונות הטרמינל פתוחים.

    4. במסוף השני, יוצרים משתנה bash מקומי לאזור שרוצים לשחזר. כדי לשחזר את התנועה לאזור us-central1-f, משתמשים בפקודה הבאה:

      export ENABLE_ZONE=us-central1-f
      

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

      export MACHINES=$(gcloud --project=$PROJECT_ID compute instances list --filter="zone:($ENABLE_ZONE)" --format="csv(name,networkInterfaces[0].accessConfigs[0].natIP)" | grep "load-balancing-web-app-group")
      for i in $MACHINES;
      do
        NAME=$(echo "$i" | cut -f1 -d,)
        IP=$(echo "$i" | cut -f2 -d,)
        echo "Simulating zonal restoration for zone $ENABLE_ZONE, instance $NAME"
        curl -q -s "http://$IP/makeHealthy" >/dev/null --retry 2
      done
      

      אחרי כמה דקות, הפלט מחלון הטרמינל הראשון יציג בהדרגה את האזור us-central1-fשוב:

      us-central1-b
      us-central1-b
      us-central1-c
      us-central1-f
      us-central1-c
      us-central1-c
      us-central1-b
      us-central1-c
      us-central1-f
      

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

      בסיום, סוגרים את שני חלונות הטרמינל.

הסרת המשאבים

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

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

מחיקת הפרויקט

  1. במסוף Google Cloud , נכנסים לדף Manage resources.

    כניסה לדף Manage resources

  2. ברשימת הפרויקטים, בוחרים את הפרויקט שרוצים למחוק ולוחצים על Delete.
  3. כדי למחוק את הפרויקט, כותבים את מזהה הפרויקט בתיבת הדו-שיח ולוחצים על Shut down.

מחיקת משאבים ספציפיים

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

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

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

    כניסה לדף Load balancing

  2. לוחצים על תיבת הסימון לצד web-app-load-balancer.

  3. לוחצים על מחיקה בחלק העליון של הדף.

  4. בחלון החדש, מסמנים את כל תיבות הסימון. לאחר מכן לוחצים על Delete load balancer and selected resources (מחיקת איזון העומסים והמשאבים שנבחרו) כדי לאשר את המחיקה.

מחיקת כתובת IP חיצונית סטטית

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

  1. נכנסים לדף External IP addresses במסוף Google Cloud .

    נכנסים אל External IP addresses

  2. לוחצים על תיבת הסימון לצד web-app-ipv4.

  3. לוחצים על Release static address (שחרור כתובת סטטית) בחלק העליון של הדף. בחלון החדש, לוחצים על פרסום כדי לאשר את הפרסום.

מחיקת קבוצת המכונות

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

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

    כניסה לדף Instance groups

  2. מסמנים את התיבה של קבוצת המכונות load-balancing-web-app-group.
  3. כדי למחוק את קבוצות המכונות, לוחצים על Delete.

מחיקת תבנית של הגדרות מכונה

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

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

    כניסה לדף Instance templates

  2. לוחצים על תיבת הסימון לצד load-balancing-web-app-template.

  3. לוחצים על מחיקה בחלק העליון של הדף. בחלון החדש, לוחצים על מחיקה כדי לאשר את המחיקה.

מחיקת רשת ה-VPC

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

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

    מעבר לרשתות VPC

  2. לחץ על web-app-vpc.

  3. לוחצים על מחיקת רשת VPC בחלק העליון של הדף. בחלון החדש, לוחצים על מחיקה כדי לאשר את המחיקה.

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