מדריך להגדרה ידנית

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

הקצאה ידנית של שרת התיוג מחייבת הקצאה בצד השרת תיוג (SST) ושרת תצוגה מקדימה בנפרד. אשכול ה-SST הוא נקודת הכניסה של כל הבקשות לשרת התיוג ותטפל בבקשות כמו כפי שמתואר במאמר מבוא לתיוג בצד השרת. שרת התצוגה המקדימה הוא שנדרש לתצוגה מקדימה של מאגר תגים.

באיור 1 מוצג איור של האינטראקציה בין הנתונים לתיוג ואת שרת התצוגה המקדימה.

תרשים של שרתי תיוג ותצוגה מקדימה של זרימת נתוני השרת

איור 1: תרשים של שרתי התיוג ותצוגה מקדימה של זרימת הנתונים בשרת.

במדריך הזה נסביר איך:

  • הצגת כל ההגדרות הזמינות לקובץ אימג' של Docker.
  • (אופציונלי) הכללת פרטי כניסה ל-BigQuery
  • הקצאה ידנית של שרת תצוגה מקדימה באמצעות תמונת Docker של SST.
  • הקצאה ידנית של אשכול SST באמצעות קובץ האימג' של SST ב-Docker.
  • ודא ששרת התצוגה המקדימה ואשכול ה-SST מוגדרים כראוי.
  • חשוב לוודא שגרסת שרת התיוג מתעדכנת לאחר הקצאת השרת.

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

הצגת כל ההגדרות הזמינות לקובץ אימג' של Docker

תמונת ה-Docker של שרת התיוג נמצאת בכתובת ה-URL הזו:

gcr.io/cloud-tagging-10302018/gtm-cloud-image:stable

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

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

docker run gcr.io/cloud-tagging-10302018/gtm-cloud-image:stable server_bin.js --help

(אופציונלי) הוספת פרטי הכניסה ל-Google Cloud

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

  1. פועלים לפי המדריך הזה כדי ליצור חשבון שירות עם נתוני BigQuery תפקיד 'עריכה' עבור הגישה של BigQuery או התפקיד משתמש ב-Cloud Datastore עבור Firestore לגשת ולייצא את פרטי הכניסה שלו ל-JSON עם שם הקובץ local_service_account_key.json.
  2. טוענים את פרטי הכניסה ל-JSON בנפח אחסון שאפשר לגשת אליו לתמונה. באמצעות docker run, אפשר לציין -v local_service_account_key.json:/app/service_account_key.json כדי לטעון את פרטי הכניסה בתמונה.
  3. מפנים את משתנה הסביבה GOOGLE_APPLICATION_CREDENTIALS אל פרטי כניסה לחשבון.
  4. אפשר לציין את מזהה הפרויקט ב-Google Cloud במשתנה הסביבה GOOGLE_CLOUD_PROJECT כדי לאפשר לשרת התיוג לבחור את הפרויקט באופן משתמע.
  5. מפעילים את השרת. הפקודה הבאה מפעילה את שרת התיוג עם פרטי הכניסה הכלולים:

    docker run -v local_service_account_key.json:/app/service_account_key.json \
    -p 8080:8080 \
    -e GOOGLE_APPLICATION_CREDENTIALS='/app/service_account_key.json' \
    -e GOOGLE_CLOUD_PROJECT='<your project id>' \
    -e CONTAINER_CONFIG='<config string>' \
    gcr.io/cloud-tagging-10302018/gtm-cloud-image:stable
    

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

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

הקצאה ידנית של שרת תצוגה מקדימה

שרת התצוגה המקדימה מאפשר לך להציג תצוגה מקדימה של מאגר התגים בצד השרת. כדי להריץ בשרת התצוגה המקדימה, הריצו את קובץ האימג' של Docker עם הסביבה הבאה שמועברים לסביבת Docker.

הגדרות נדרשות

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

  • RUN_AS_PREVIEW_SERVER - יש להגדיר את הערך הזה לערך true כדי להקצות את השרת בתור שרת לתצוגה מקדימה.

דוגמה לשימוש בכלי שורת הפקודה Docker

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

docker run -p 8080:8080 -e CONTAINER_CONFIG='<config string>' -e RUN_AS_PREVIEW_SERVER=true gcr.io/cloud-tagging-10302018/gtm-cloud-image:stable

אתם אמורים לראות תגובה של 200 מבקשה אל http://localhost:8080/healthz (אופציונלי) משתמשים במשתנה הסביבה PORT כדי לשנות את היציאה.

שיטות מומלצות

  • צריך לפרוס בדיוק שרת תצוגה מקדימה אחד. לא להגדיר התאמה לעומס (autoscaling) מעבר למופע אחד.
  • אחרי שמגדירים שרת תצוגה מקדימה באמצעות Docker, מגדירים כתובת URL מסוג HTTPS כדי מצביעים על שרת התצוגה המקדימה. האימות נדרש כדי להגדיר את אשכול ה-SST.
  • הזמן הקצוב לתפוגה של מאזן עומסים או CDN צריך להיות ארוך מ-20 שניות, אחרת, מצב התצוגה המקדימה לא יפעל כראוי.

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

אשכול ה-SST משמש כנקודת הכניסה, ושרתי proxy לבקשות תצוגה מקדימה של שרת לתצוגה מקדימה, ומטפל בכל הבקשות האחרות כפי שמתואר מבוא לתיוג בצד השרת. משתמשים בהגדרות הנדרשות הבאות עם קובץ האימג' של Docker של שרת התיוג כדי להקצות אשכול SST בכל שתומכת ב-Docker.

ההגדרות הנדרשות

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

  • PREVIEW_SERVER_URL - כתובת ה-URL מסוג HTTPS של שרת התצוגה המקדימה. ההגדרה הזו צריך להיות מוגדר רק להקצאת שרת התיוג והוא לא נחוץ הקצאת שרת התצוגה המקדימה. אתם יכולים לעיין בקטע שלמעלה כדי לקבל מדריך בנושא הגדרת שרת התצוגה המקדימה.

דוגמה לשימוש בכלי שורת הפקודה של Docker

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

docker run -p 8080:8080 -e CONTAINER_CONFIG='<config string>' -e PREVIEW_SERVER_URL='<HTTPS preview server url>' gcr.io/cloud-tagging-10302018/gtm-cloud-image:stable

אמורה להופיע תגובה של 200 לבקשה אל http://localhost:8080/healthz. אפשר גם להשתמש במשתנה הסביבה PORT כדי לשנות את היציאה.

שיטות מומלצות

  • אפשר להקצות שרתי תיוג בצד השרת כשרת יחיד או כאשכול. מומלץ להקצות אותו כאשכול כדי לשפר את השירות זמינות, מדרגיות וביצועים. חשוב לשים לב שכאשר להקצאת הרשאות ידנית כאשכול, כל מופע של שרת צריך להיות מוגדר עם אותם משתני הסביבה CONTAINER_CONFIG ו-PREVIEW_SERVER_URL.
  • צריך להפנות את הפריסה של אשכול ה-SST לתת-דומיין חדש אתר בנפרד מתת-הדומיין שמשרת את האפליקציה שלכם. לדוגמה, אם האפליקציה שלך מציגה תנועת גולשים מהאינטרנט בכתובת example.com, צריך להשתמש ב- תת-דומיין כמו analytics.example.com של שרת התיוג.
  • אחרי שמגדירים אשכול SST באמצעות Docker, מגדירים כתובת URL מסוג HTTPS שמצביעים על אשכול ה-SST.
  • חשוב להפעיל מחדש את השרתים מדי פעם כדי לוודא שהשרתים שלכם פועלים את עדכוני הקוד האחרונים ל-SST. אם לא תעשו זאת, עלולה להיות אי-תאימות פונקציונליות של תכונות SST חדשות. אחת מהדרכים לדעת מתי צריך להפעיל מחדש את השרת היא להגדיר בדיקות פעילות, כפי שמוסבר בהמשך. כמו כן, חשוב לזכור שכל עדכון שיפורסם במאגר התגים בצד השרת עדיין יחולו ללא הפעלה מחדש.
  • שימוש בנקודת הקצה הקיימת של /healthz (למשל, https://analytics.example.com/healthz) בשרתי התיוג שלך כדי להגדיר בדיקות תקינות (liveness). תגובה לא תקינה מציינת שהשרת צריך להיות בוצעה הפעלה מחדש.
  • הקונטיינר של Docker כולל פקודת ברירת מחדל לבדיקת תקינות – HEALTHCHECK CMD ["/nodejs/bin/node", "/app/health_checker_bin.js"] – ששולחת שאילתות על /healthz נקודות קצה מדי פעם. אם אתם מסתמכים על בדיקת התקינות של Docker, אפשר לשנות את ההגדרות על ידי ביצוע ההוראות של Docker.
  • אם שרת התצוגה המקדימה ושרת התיוג נמצאים באותו מקור, מארחים את שרת התצוגה המקדימה בנתיב שונה מזה של שרת התיוג. יש לציין את PREVIEW_SERVER_URL, כולל הנתיב.
  • בשרתים שהוקצו צריך להיות vCPU אחד לכל היותר. לא ניתן להשתמש במעבדי vCPU נוספים בשימוש ומשפיע לרעה על ההתאמה לעומס (autoscaling).

אימות

הגדרת כתובת ה-URL של מאגר התגים בצד השרת

ב-Tag Manager, עוברים למאגר התגים בצד השרת. בקטע 'ניהול' > מכל בהגדרות, כתובת ה-URL של שרת התיוג נמצאת בכתובת ה-URL של מאגר התגים של השרת ולוחצים על Save (שמירה).

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

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

אם מיפיתם מספר תת-דומיינים לשרת תיוג אחד, ואתם רוצים כדי להציג תצוגה מקדימה בכל תת-דומיין, מוסיפים עוד כתובות URL של מאגרי שרת בקטע מנהל מערכת > הגדרות קונטיינר. אם תספקו כמה כתובות URL, כל הנתיבים של כתובות ה-URL חייב להיות תואם (מחרוזת המידע שמופיעה אחרי שם הדומיין). עבור לדוגמה, אפשר לצפות בתצוגה מקדימה ב-example.com/abc וב-example2.com/abc אבל לא ניתן להציג תצוגה מקדימה ב-example.com/abc וב-example2.com/def. אם יש כמה כתובות URL נוסף, יופיע סמל לצד הלחצן תצוגה מקדימה שמאפשר בוחרים את כתובת ה-URL שבה רוצים להציג תצוגה מקדימה.

עדכון הגרסה של שרת התיוג

קובץ gtm-cloud-image התמונה מכילה את Node.js ואת הספריות הנדרשות עבור התיוג האוטומטי. תמונת ה-Docker מתעדכנת מדי פעם למשך תיקוני אבטחה ותכונות חדשות. מומלץ לעדכן את שרת התיוג שלך לפחות עבור כל מהדורה של גרסה ראשית (למשל, שדרוג מגרסה 1.x.x ל-x.x).

כדי לעדכן את קובץ האימג' של Docker:

  1. יש לאחזר את גרסת התמונה הנוכחית בכתובת gcr.io/cloud-tagging-10302018/gtm-cloud-image:stable.
  2. פריסת השרת עם אותן הגדרות כמו בפריסה הקודמת.
  3. לעדכן את שרת התצוגה המקדימה היחיד ואת כל שרתי התיוג באשכול.
  4. משביתים שרתים ישנים.

כדי לוודא שהעדכון בוצע בהצלחה:

  1. במאגר התגים בצד השרת, לוחצים על הלחצן Preview (תצוגה מקדימה) כדי להתחיל קובץ חדש. צריך להפעיל ניפוי באגים ולשלוח בקשה בכרטיסייה נפרדת.
  2. בקטע 'סיכום', בוחרים בכרטיסייה מסוף ומוודאים שאין הודעות שמבקשות ממך לעדכן את שרת התיוג.

ייתכן שיוצגו ב-Tag Manager הודעות עם בקשות לעדכן את שרת התיוג של עד יום אחרי שהשרת עודכן בהצלחה. אבל התצוגה המקדימה תוצג הודעה עדכנית לגבי גרסת שרת התיוג.