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

במאמר הזה מוסבר איך להעביר משאבי תשתית של מאזן עומסים של אפליקציות (ALB) בגרסה הקלאסית לתשתית של מאזן עומסים גלובלי חיצוני של אפליקציות.

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

צריך לוודא שההגדרה עומדת בדרישות המוקדמות הבאות.

הגדרת פרויקט ברירת מחדל

המסוף

  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.

gcloud

gcloud config set project PROJECT_ID

מחליפים את PROJECT_ID בפרויקט שבו משתמשים במדריך הזה.

הרשאות

כדי לפעול לפי ההוראות במאמר הזה, צריכות להיות לכם הרשאות ליצירת מכונות וירטואליות (VM) של Compute Engine, כללים של חומת אש, כתובות IP שמורות וקטגוריות של Cloud Storage ב Google Cloud פרויקט. צריך להיות לכם תפקיד בעלים או עורך בפרויקט, או תפקידי IAM של Compute Engine הבאים:

משימה תפקיד נדרש
יצירת מופעים התפקיד אדמין מכונות של Compute (roles/compute.instanceAdmin)
הוספה והסרה של כללים לחומת האש תפקיד Security Admin ב-Compute (roles/compute.securityAdmin)
יצירת רכיבים של מאזן עומסים התפקיד Compute Network Admin (roles/compute.networkAdmin)
יצירת פרויקט (אופציונלי) תפקיד Project Creator (roles/resourcemanager.projectCreator)
יצירת קטגוריות ב-Cloud Storage התפקיד 'אדמין של אובייקטים באחסון' (roles/storage.objectAdmin)

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

יצירת משאבים של מאזן עומסים קלאסי של אפליקציות (ALB)

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

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

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

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

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

המסוף

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

    כניסה לדף Instance templates

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

  3. בשדה Name (שם), מזינים lb-backend-template.

  4. בשדה אזור, בוחרים באפשרות REGION.

  5. בקטע Boot disk מוודאים שהאפשרות Image של דיסק האתחול מוגדרת לקובץ אימג' של Debian, כמו Debian GNU/Linux 12 (bookworm). בהוראות האלה נעשה שימוש בפקודות שזמינות רק ב-Debian, כמו apt-get.

  6. לוחצים על אפשרויות מתקדמות.

  7. לוחצים על Networking ובשדה Network tags מזינים את הערך allow-health-check.

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

    #! /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
    
  9. לוחצים על יצירה.

gcloud

מריצים את הפקודה gcloud compute instance-templates create כדי ליצור את התבנית.

gcloud compute instance-templates create lb-backend-template \
    --region=REGION \
    --network=default \
    --subnet=default \
    --tags=allow-health-check \
    --image-family=debian-12 \
    --image-project=debian-cloud \
    --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'

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

המסוף

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

    כניסה לדף Instance groups

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

  3. בוחרים באפשרות New managed instance group (stateless) (קבוצת מופעי מכונה מנוהלים חדשה (בלי שמירת מצב)).

  4. בשדה Name (שם), מזינים lb-backend-example.

  5. בוחרים תבנית של הגדרות מכונה בשדה Instance template lb-backend-template.

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

  7. בשדה אזור, בוחרים באפשרות REGION.

  8. בשדה Zone, בוחרים באפשרות ZONE.

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

    מגדירים את מספר המופעים המינימלי ואת מספר המופעים המקסימלי לערך 2.

  10. בקטע מיפוי יציאות, לוחצים על הוספת יציאה.

  11. בשדה 'שם הניוד', מזינים http. בשדה של מספר היציאה, מזינים 80.

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

gcloud

מריצים את הפקודה gcloud compute instance-groups managed create כדי ליצור את קבוצת מופעי מכונה מנוהלים על סמך התבנית.

gcloud compute instance-groups managed create lb-backend-example \
    --template=lb-backend-template \
    --size=2 --zone=ZONE

מריצים את הפקודה הבאה כדי להוסיף יציאה עם שם לקבוצת המופעים:

gcloud compute instance-groups set-named-ports lb-backend-example \
    --named-ports http:80 \
    --zone ZONE

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

בקטע הזה יוצרים את כלל חומת האש fw-allow-health-check ומשתמשים בתג היעד allow-health-check כדי לזהות את המכונות הווירטואליות. זהו כלל כניסה (ingress) שמאפשר תנועה ממערכות בדיקת התקינות של Google Cloud (130.211.0.0/22 ו-35.191.0.0/16).

המסוף

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

    לדף Firewall policies

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

  3. בשדה Name (שם), מזינים fw-allow-health-check.

  4. בקטע רשת, בוחרים באפשרות ברירת מחדל.

  5. בקטע יעדים, בוחרים באפשרות תגי יעד שצוינו.

  6. בשדה Target tags (תגי טירגוט), מזינים allow-health-check.

  7. מגדירים את Source filter בתור IPv4 ranges.

  8. מגדירים את Source IPv4 ranges ל-130.211.0.0/22 ול-35.191.0.0/16.

  9. בקטע Protocols and ports (פרוטוקולים ויציאות), בוחרים באפשרות Specified protocols and ports (פרוטוקולים ויציאות שצוינו).

  10. מסמנים את התיבה TCP ומקלידים 80 בשדה של מספר היציאה.

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

gcloud

מריצים את הפקודה gcloud compute firewall-rules create כדי ליצור את הכלל בחומת האש.

gcloud compute firewall-rules create fw-allow-health-check \
    --network=default \
    --action=allow \
    --direction=ingress \
    --source-ranges=130.211.0.0/22,35.191.0.0/16 \
    --target-tags=allow-health-check \
    --rules=tcp:80

יצירת קטגוריה של Cloud Storage

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

המסוף

  1. במסוף Google Cloud , עוברים לדף Cloud Storage Buckets.

    כניסה לקטגוריות של Cloud Storage

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

  3. בתיבה Name your bucket (מתן שם לקטגוריה), מזינים storage-backend-bucket ולוחצים על Continue (המשך).

  4. לוחצים על Choose where to store your data (בחירת המיקום לאחסון הנתונים).

  5. מגדירים את Location type (סוג המיקום) ל-Region (אזור) ומציינים את REGION.

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

  7. אופציונלי: אם מופיעה תיבת הדו-שיח 'Public access will be prevented', מבטלים את הסימון בתיבה Enforce public access prevention on this bucket ולוחצים על Confirm.

gcloud

מריצים את הפקודה gcloud storage buckets create כדי ליצור את הקטגוריה:

gcloud storage buckets create gs://storage-backend-bucket \
    --default-storage-class=standard \
    --location=REGION --uniform-bucket-level-access

העברת תוכן לקטגוריות של Cloud Storage

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

gcloud

  1. לוחצים על הפעלת Cloud Shell.

  2. מריצים את הפקודות הבאות ב-Cloud Shell:

gcloud storage cp gs://gcp-external-http-lb-with-bucket/three-cats.jpg gs://storage-backend-bucket/never-fetch/

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

הפיכת קטגוריה של Cloud Storage לקריאה באופן ציבורי

כשנותנים הרשאת קריאה ציבורית לקטגוריה של Cloud Storage, כל משתמש באינטרנט יכול להציג את רשימת האובייקטים ולראות אותם, וגם לראות את המטא-נתונים שלהם (לא כולל רשימות ACL). אל תכללו מידע רגיש בדליים ציבוריים.

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

המסוף

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

  1. במסוף Google Cloud , עוברים לדף Cloud Storage Buckets.

    כניסה לקטגוריות של Cloud Storage

  2. לוחצים על השם של storage-backend-bucket ואז על הכרטיסייה Permissions.

  3. לוחצים על הענקת גישה.

  4. בתיבה New principals, מזינים allUsers.

  5. בתיבה Select a role, בוחרים באפשרות Cloud Storage > Storage Object Viewer.

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

  7. לוחצים על Allow public access.

gcloud

מריצים את הפקודה gcloud storage buckets add-iam-policy-binding כדי להעניק לכל המשתמשים גישה לצפייה באובייקטים בקטגוריות:

gcloud storage buckets add-iam-policy-binding gs://storage-backend-bucket \
    --member=allUsers \
    --role=roles/storage.objectViewer

שמירת כתובת IP חיצונית

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

המסוף

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

    נכנסים אל External IP addresses

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

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

  4. מגדירים את מסלול שירות הרשת בתור Premium.

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

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

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

gcloud

כדי לשמור כתובת IP חיצונית, מריצים את הפקודה הבאה:

gcloud compute addresses create lb-ipv4-1 \
    --ip-version=IPV4 \
    --network-tier=PREMIUM \
    --global
  

כדי לציין את כתובת ה-IPv4 שהוזמנה, מריצים את הפקודה הבאה:

gcloud compute addresses describe lb-ipv4-1 \
    --format="get(address)" \
    --global
  

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

בקטע הזה, משתמשים ב-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 (דור מאזן העומסים), בוחרים באפשרות Classic Application Load Balancer (מאזן עומסים קלאסי לאפליקציות) ולוחצים על Next (הבא).
  7. לוחצים על Configure (הגדרה).

הגדרה בסיסית

  1. בשדה Load balancer name (שם איזון העומסים), מזינים web-map-http.
  2. לוחצים על Frontend configuration, מגדירים את השדות הבאים ואז לוחצים על Done.
    • פרוטוקול: HTTP.
    • IP version: IPv4
    • כתובת IP: lb-ipv4-1
    • יציאה: 443
  3. לוחצים על Backend configuration.
  4. בקטע Backend services & backend buckets (שירותי קצה עורפיים ודלי קצה עורפיים), לוחצים על Create a backend service (יצירת שירות קצה עורפי), ואז מבצעים את הפעולות הבאות:
    1. מגדירים את השדות הבאים:
      • Name (שם): web-backend-service
      • Protocol: HTTP
      • יציאה עם שם: http
    2. ברשימה Health check, לוחצים על Create a health check ומזינים את הפרטים הבאים:
      • Name (שם): http-basic-check
      • Protocol: HTTP
    3. לוחצים על יצירה.
    4. בקטע Backends > New backend (שרתי קצה עורפיים > שרת קצה עורפי חדש), מגדירים את השדות הבאים ולוחצים על Done (סיום).
      • קבוצת מכונות: lb-backend-example
      • מספרי יציאות: 80
    5. בקטע Logging, מסמנים את התיבה Enable logging.
    6. לוחצים על יצירה.
  5. לוחצים על OK.
  6. בקטע Backend services & קטגוריות קצה עורפי, לוחצים על Create a קטגוריית קצה עורפי, מגדירים את השדות הבאים ולוחצים על Create.
    • שם קטגוריית קצה עורפי: cats
    • קטגוריה של Cloud Storage: storage-backend-bucket
  7. לוחצים על OK.
  8. לוחצים על Host and path rules (כללים לגבי מארח ונתיב).
  9. בשורה cats, מזינים * בשדה מארח 2 ו-/never-fetch/* בשדה נתיב 2.
  10. לוחצים על Review and finalize.
  11. בודקים את הגדרות התצורה של מאזן העומסים.
  12. לוחצים על יצירה.

gcloud

  1. יצירת בדיקת תקינות.

    gcloud compute health-checks create http http-basic-check \
        --port 80
    
  2. יוצרים שירות לקצה העורפי.

    gcloud compute backend-services create web-backend-service \
        --load-balancing-scheme=EXTERNAL \
        --protocol=HTTP \
        --port-name=http \
        --health-checks=http-basic-check \
        --enable-logging \
        --logging-sample-rate=1.0 \
        --enable-cdn \
        --global
    
  3. מוסיפים את קבוצת המכונות בתור הקצה העורפי לשירות הקצה העורפי.

    gcloud compute backend-services add-backend web-backend-service \
        --instance-group=lb-backend-example \
        --instance-group-zone=ZONE \
        --global
    
  4. מוסיפים קטגוריית קצה עורפי.

    gcloud compute backend-buckets create cats \
        --gcs-bucket-name=storage-backend-bucket
    
  5. יוצרים מפת URL כדי לנתב את הבקשות הנכנסות לשירות לקצה העורפי ולקטגוריית קצה עורפי.

    gcloud compute url-maps create web-map-http \
        --default-service web-backend-service
    
    gcloud compute url-maps add-path-matcher web-map-http \
        --path-matcher-name=cats-path-matcher \
        --default-backend-bucket=cats \
        --new-hosts="*" \
        --backend-bucket-path-rules="/never-fetch/*=cats"
    
  6. יוצרים Proxy HTTP ליעד כדי להפנות בקשות למפות של כתובות URL.

    gcloud compute target-http-proxies create http-lb-proxy \
        --url-map=web-map-http
    
  7. יוצרים כלל העברה גלובלי כדי לנתב בקשות נכנסות לשרת ה-proxy.

    gcloud compute forwarding-rules create web-map-http-forwarding-rule \
        --load-balancing-scheme=EXTERNAL \
        --address=lb-ipv4-1 \
        --global \
        --target-http-proxy=http-lb-proxy \
        --ports=80
    

תנועת בדיקה שנשלחת למופעים

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

המסוף

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

    כניסה לדף Load balancing

  2. לחץ על web-map-http.

  3. בקטע Frontend, רושמים את IP:Port של מאזן העומסים.

  4. כדי לבדוק את שרת עורפי (backend instance), מזינים http://IP_ADDRESS בסרגל הכתובות של דפדפן האינטרנט.

    בדפדפן מוצג דף עם תוכן שכולל את שם המופע שסיפק את הדף, יחד עם האזור שלו (לדוגמה, Page served from: lb-backend-example-xxxx).

  5. כדי לבדוק את קטגוריית קצה עורפי, מזינים http://IP_ADDRESS/never-fetch/three-cats.jpg בסרגל הכתובות של דפדפן האינטרנט.

    הדפדפן מעבד את התמונה.

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

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

  1. מעבירים את השירותים לקצה העורפי. כדי להעביר כלל להעברת אימייל, צריך להעביר קודם את כל שירותי הקצה העורפי שמשויכים אליו.
  2. מעבירים את קטגוריות ה-backend. אם אתם משתמשים במסוף Google Cloud , תעבירו את כל דלי ה-backend יחד עם כלל ההעברה.
  3. מעבירים את כלל ההעברה.

בגלל הבדלים בארכיטקטורה, כשמבצעים מיגרציה למאזן עומסים חיצוני גלובלי של אפליקציות (ALB), יכול להיות שתראו עלייה במספר החיבורים לקצה העורפי, במיוחד כשמשתמשים בפרוטוקול HTTP/1.1. הדבר עלול להוביל לצריכת זיכרון מוגברת במופעי ה-Backend. עוקבים אחרי השימוש במשאבי ה-Backend במהלך ההעברה ואחריה.

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

המסוף

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

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

    כניסה לדף Load balancing

  2. לוחצים על web-map-http.

  3. לוחצים על הכרטיסייה העברה.

  4. בקטע Backend services (שירותי קצה עורפי), עבור web-backend-service, בודקים את השדות הבאים ולוחצים על Manage migration (ניהול ההעברה).

    • סטטוס: לא הופעל
    • פעילות של תוכנית: חיצוני: 100% חיצוני בניהול:0%
  5. בחלונית ניהול ההעברה, בקטע שינוי סטטוס, בוחרים באפשרות הכנה.

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

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

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

  1. בקטע web-backend-service, לוחצים על ניהול המיגרציה.
  2. בחלונית ניהול ההעברה, בקטע שינוי סטטוס, בוחרים באפשרות בדיקה לפי אחוז.
  3. בשדה אחוז הבדיקה, מזינים את הערך 10. המשמעות היא ש-10% מהבקשות יישלחו לתשתית של מאזן העומסים הגלובלי החיצוני של אפליקציות (ALB) לצורך בדיקה, ו-90% מהבקשות הנותרות ימשיכו להישלח לתשתית של מאזן העומסים הקלאסי של אפליקציות.
  4. לוחצים על Save.

    מחכים כמה דקות, לפחות שש דקות, עד שהסטטוס משתנה לבדיקה על ידי % ושיעור ההעברה משתנה ל10%.

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

    מזינים http://IP_ADDRESS בסרגל הכתובות של דפדפן האינטרנט. אמורה להופיע ההודעה Page served from: lb-backend-example-xxxx.

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

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

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

  1. בקטע web-backend-service, לוחצים על ניהול המיגרציה.
  2. בחלונית ניהול ההעברה, בשדה שינוי סטטוס, בוחרים באפשרות בדיקה של כל התנועה. כלומר, כל הבקשות יישלחו לתשתית של מאזן עומסים גלובלי חיצוני של אפליקציות (ALB).
  3. לוחצים על Save.

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

מעבר לEXTERNAL_MANAGED סכמת איזון העומסים

  1. בקטע web-backend-service, לוחצים על ניהול ההעברה.
  2. בחלונית ניהול ההעברה, בשדה שינוי סטטוס, בוחרים באפשרות העברה.
  3. לוחצים על Save.

    ממתינים זמן מה, לפחות שש דקות, עד להעברת המשאב. העמודה סטטוס משתנה להועבר והעמודה פעילות הסכימה משתנה לEXTERNAL: 0% EXTERNAL_MANAGED:100%.

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

gcloud

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

    gcloud compute backend-services update web-backend-service \
      --external-managed-migration-state=PREPARE \
      --global
    

    מחכים קצת (לפחות שש דקות).

  2. שליחת חלק מהתנועה, למשל 10%, לשירות הקצה העורפי.

    gcloud compute backend-services update web-backend-service \
      --external-managed-migration-state=TEST_BY_PERCENTAGE \
      --external-managed-migration-testing-percentage=10 \
      --global
    

    מחכים קצת (לפחות שש דקות).

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

  3. ניגשים למאזן העומסים.

    מזינים http://IP_ADDRESS בסרגל הכתובות של דפדפן האינטרנט. אם רואים את ההודעה Page served from: lb-backend-example-xxxx, מריצים את הפקודה הבאה כדי להגדיל את האחוז.

    gcloud compute backend-services update web-backend-service \
      --external-managed-migration-state=TEST_BY_PERCENTAGE \
      --external-managed-migration-testing-percentage=50 \
      --global
    

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

    חוזרים על התהליך עד שמגיעים ל-100%.

  4. אופציונלי: בודקים את היומנים של שירות ה-Backend.

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

    gcloud compute backend-services update web-backend-service \
      --external-managed-migration-state=TEST_ALL_TRAFFIC \
      --global
    

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

  6. אופציונלי: בודקים את היומנים של שירות ה-Backend.

  7. משנים את הסכימה של שירות הקצה העורפי ל-EXTERNAL_MANAGED.

    gcloud compute backend-services update web-backend-service \
      --load-balancing-scheme=EXTERNAL_MANAGED \
      --global
    

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

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

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

העברת קטגוריית הקצה העורפי

המסוף

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

gcloud

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

    gcloud compute forwarding-rules update web-map-http-forwarding-rule \
      --external-managed-backend-bucket-migration-state=PREPARE \
      --global
    

    מחכים קצת (לפחות שש דקות).

  2. שולחים חלק מהתנועה, למשל 10%, אל בקט ה-backend.

    gcloud compute forwarding-rules update web-map-http-forwarding-rule \
      --external-managed-backend-bucket-migration-state=TEST_BY_PERCENTAGE \
      --external-managed-backend-bucket-migration-testing-percentage=10 \
      --global
    

    מחכים קצת (לפחות שש דקות).

    אחרי שהמשאב מוכן, הוא שולח 10% מהבקשות לתשתית של מאזן עומסים של אפליקציות (ALB) חיצוני גלובלי ו-90% מהבקשות לתשתית של מאזן עומסים קלאסי של אפליקציות.

  3. ניגשים לקטגוריית קצה עורפי.

    מזינים http://IP_ADDRESS/never-fetch/three-cats.jpg בסרגל הכתובות של דפדפן האינטרנט. אם רואים את תמונת החתולים, מריצים את הפקודה הבאה כדי להגדיל את האחוז. חוזרים על התהליך עד שמגיעים ל-100%.

    gcloud compute forwarding-rules update web-map-http-forwarding-rule \
      --external-managed-backend-bucket-migration-state=TEST_BY_PERCENTAGE \
      --external-managed-backend-bucket-migration-testing-percentage=50 \
      --global
    
  4. אופציונלי: בדיקת היומנים של קטגוריית הקצה העורפי.

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

    gcloud compute forwarding-rules update web-map-http-forwarding-rule \
      --external-managed-backend-bucket-migration-state=TEST_ALL_TRAFFIC \
      --global
    
  6. אופציונלי: בדיקת היומנים של קטגוריית הקצה העורפי.

העברת כלל ההעברה

המסוף

הכנת כלל ההעברה להעברה

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

    כניסה לדף Load balancing

  2. לוחצים על web-map-http.

  3. לוחצים על הכרטיסייה העברה.

  4. בקטע Forwarding rules, בשורה web-map-http-forwarding-rule, בודקים את השדות הבאים ולוחצים על Manage migration.

    • סטטוס: לא הופעל
    • פעילות של תוכנית: חיצוני: 100% חיצוני בניהול:0%
  5. בחלונית ניהול ההעברה, בקטע שינוי סטטוס, בוחרים באפשרות הכנה.

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

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

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

  1. בקטע web-map-http-forwarding-rule, לוחצים על ניהול המיגרציה.
  2. בחלונית ניהול ההעברה, בקטע שינוי סטטוס, בוחרים באפשרות בדיקה לפי אחוז.
  3. בשדה אחוז הבדיקה, מזינים את הערך 10. המשמעות היא ש-10% מהבקשות יישלחו לתשתית של מאזן העומסים הגלובלי החיצוני של אפליקציות (ALB) לצורך בדיקה, ו-90% מהבקשות הנותרות ימשיכו להישלח לתשתית של מאזן העומסים הקלאסי של אפליקציות.
  4. לוחצים על Save.

    מחכים עד שהסטטוס Status ישתנה ל-Testing by % ושיעור ההעברה Migration rate ישתנה ל-10%.

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

    מזינים http://IP_ADDRESS בסרגל הכתובות של דפדפן האינטרנט. אמורה להופיע ההודעה Page served from: lb-backend-example-xxxx.

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

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

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

  1. בקטע web-map-http-forwarding-rule, לוחצים על ניהול המיגרציה.
  2. בחלונית ניהול ההעברה, בשדה שינוי סטטוס, בוחרים באפשרות בדיקה של כל התנועה. כלומר, כל הבקשות יישלחו לתשתית של מאזן עומסים גלובלי חיצוני של אפליקציות (ALB).
  3. לוחצים על Save.

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

מעבר לEXTERNAL_MANAGED סכמת איזון העומסים

  1. בקטע web-map-http-forwarding-rule, לוחצים על ניהול ההעברה.
  2. בחלונית ניהול ההעברה, בשדה שינוי סטטוס, בוחרים באפשרות העברה.
  3. לוחצים על Save.

    מחכים זמן מה, לפחות שש דקות, עד שהמשאב יועבר. העמודה סטטוס משתנה להועבר והעמודה פעילות הסכימה משתנה לEXTERNAL: 0% EXTERNAL_MANAGED:100%.

gcloud

  1. משנים את הסכימה של כלל ההעברה לEXTERNAL_MANAGED.

    gcloud compute forwarding-rules update web-map-http-forwarding-rule \
      --load-balancing-scheme=EXTERNAL_MANAGED \
      --global
    

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

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

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