הגדרת שרת תצוגה מקדימה פרטי

המדריך הזה מיועד למפתחים שמשתמשים ב-Cloud Run לתיוג בצד השרת, ורוצים להגדיר שרת תצוגה מקדימה פרטי.

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

סקירה כללית

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

ללא מאזן עומסים

איור 1: פריסה ללא מאזן עומסים.

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

איור 2: פריסה עם מאזן עומסים.

בשני הפריסות, נקודת הכניסה גם לשרת התצוגה המקדימה וגם לסביבת התיוג בסביבת הייצור היא אותה כתובת URL (לדוגמה, sgtm.example.com). שרת התיוג מופעל באמצעות משתנה סביבה שנקרא PREVIEW_SERVER_URL, שמייצג את כתובת ה-URL של שרת התצוגה המקדימה.

כשנכנסים לכתובת tagmanager.google.com ופותחים את מצב התצוגה המקדימה, מערכת Tag Manager עוברת לכתובת sgtm.example.com?id=[gtm_server_id]&gtm_auth=[auth_id]&gtm_preview=[env_id] ומגדירה קובץ cookie. לאחר מכן, כשמשתמשים באותו דפדפן כדי לגלוש באתר היעד, הבקשות שנשלחות אל sgtm.example.com מעבירות גם את קובץ ה-cookie. בזכות קובץ ה-cookie, שרת התיוג יודע שאלה האירועים שלכם, ולכן הוא מעביר אותם רק לשרת התצוגה המקדימה כדי שתוכלו לראות אותם ולפתור בעיות.

שרת התיוג מעביר את האירועים האלה על ידי שליחת בקשות HTTP לכתובת ה-URL שמוגדרת במשתנה הסביבה PREVIEW_SERVER_URL.

מידע על שרתי תצוגה מקדימה שגלויים לכולם

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

  • שליטה רבה יותר על תכונות כמו מדיניות SSL כדי להגביל חבילות צפנים.
  • שילוב מקורי עם Cloud Armor לחומת אש ליישומי אינטרנט (WAF) או למתקפת מניעת שירות מבוזרת (DDoS).
  • יכולות מתקדמות לניהול תעבורת נתונים.

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

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

דרישות מוקדמות

  • שרת התיוג פורס ב-Cloud Run מאחורי מאזן עומסים.
  • גישה לפרויקט ב-Google Cloud.
  • גישה לתת-דומיין חדש של שרת התצוגה המקדימה, לדוגמה, preview.sgtm.example.com.

שלב 1: מעדכנים את משתנה הסביבה עם תת-דומיין חדש

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

  1. פותחים את Cloud Run.
  2. בוחרים את שרת התיוג.
  3. לוחצים על עריכה ואז על פריסה של גרסה חדשה.
  4. בכרטיסייה Variables and secrets, בקטע Containers, משנים את PREVIEW_SERVER_URL לדומיין החדש. לדוגמה: preview.sgtm.example.com.

שלב 2: מגדירים את מאזן העומסים הקיים כך שישתמש בחיבור מבוסס-מארח

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

  1. ב-Cloud Run, פותחים את הדף Load balancing ולוחצים על השם של מאזן העומסים.
  2. לוחצים על הלחצן עריכה.
  3. לוחצים על הדף Backend configuration (הגדרת הקצה העורפי) ופותחים את התפריט הנפתח Backend services and backend buckets (שירותי קצה עורפי וקטגוריות של קצה עורפי).
  4. לוחצים על Create a backend service וממלאים את הפרטים הבאים:
    1. נותנים לו שם מתאים (לדוגמה, preview-backend-service).
    2. בוחרים את סוג הקצה העורפי בתור קבוצה של נקודות קצה ברשת ללא שרת.
  5. בקטע Backend, יוצרים קבוצה חדשה של נקודות קצה ברשת ללא שרת ומבצעים את הפעולות הבאות:
    1. נותנים לו שם ובוחרים את האזור שבו שרת התצוגה המקדימה מתארח.
    2. בוחרים באפשרות Cloud Run בתור סוג הקבוצה של נקודות הקצה ברשת ללא שרת, ואת השרת של תצוגה המקדימה בתור השירות.
    3. לוחצים על יצירה.
  6. משנים את ההגדרות האחרות לפי הצורך או משאירים את הגדרות ברירת המחדל ולוחצים על Create.

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

כדי להוסיף כלל לכתובת ה-URL החדשה של המארח ולעדכן את בקרת הקלט:

  1. פותחים את הדף Host and path rules.
  2. מוסיפים כלל חדש:
    • המארח הוא כתובת ה-URL החדשה: preview.sgtm.example.com
    • הנתיב הוא: /*
    • הקצה העורפי הוא: preview-backend-service
  3. לוחצים על הלחצן Update כדי לפרוס מחדש את מאזן העומסים.
  4. חזרה אל Cloud Run, פותחים את שרת התצוגה המקדימה ובוחרים בכרטיסייה Networking.
  5. משנים את Ingress control ל-Internal ומסמנים את האפשרות Allow traffic from external application load balancers כדי שלא תהיה גישה ציבורית אליו.

התוצאה: ארכיטקטורת השרת אמורה להיראות עכשיו כמו באיור 3, שבו כל בקשות התנועה מנותבות לשרת התיוג, ושרת התיוג יכול להעביר בקשות לשרת התצוגה המקדימה.

ניתוב מבוסס-מארח

איור 3: שימוש בניתוב מבוסס-מארח.

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

כדי לבדוק את ההגדרות:

  1. פותחים את Google Tag Manager.
  2. פותחים את מאגר התגים של השרת.
  3. לוחצים על ניהול > הגדרות מאגר התגים ומגדירים את כתובת ה-URL של מאגר התגים בצד השרת ככתובת ה-URL של שרת התיוג.
  4. סוגרים את החלון ומציגים תצוגה מקדימה של סביבת העבודה. חלון ניפוי הבאגים ייפתח. כשאתם מנווטים באתר, האירועים אמורים להופיע בחלון ניפוי הבאגים.