ניתן להשתמש בתהליך ההקצאה האוטומטית כדי לפרוס את שרת התיוג כדי 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, צריך
לספק פרטי כניסה לחשבון שירות שמורשה לגשת אליהם
במשאבי אנוש.
- פועלים לפי המדריך הזה כדי ליצור חשבון שירות עם נתוני BigQuery
תפקיד 'עריכה' עבור הגישה של
BigQuery
או התפקיד משתמש ב-Cloud Datastore עבורFirestore
לגשת ולייצא את פרטי הכניסה שלו ל-JSON עם שם הקובץlocal_service_account_key.json
. - טוענים את פרטי הכניסה ל-JSON בנפח אחסון שאפשר לגשת אליו לתמונה. באמצעות
docker run
, אפשר לציין-v local_service_account_key.json:/app/service_account_key.json
כדי לטעון את פרטי הכניסה בתמונה. - מפנים את משתנה הסביבה
GOOGLE_APPLICATION_CREDENTIALS
אל פרטי כניסה לחשבון. - אפשר לציין את מזהה הפרויקט ב-Google Cloud במשתנה הסביבה
GOOGLE_CLOUD_PROJECT
כדי לאפשר לשרת התיוג לבחור את הפרויקט באופן משתמע. מפעילים את השרת. הפקודה הבאה מפעילה את שרת התיוג עם פרטי הכניסה הכלולים:
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:
- יש לאחזר את גרסת התמונה הנוכחית בכתובת
gcr.io/cloud-tagging-10302018/gtm-cloud-image:stable
. - פריסת השרת עם אותן הגדרות כמו בפריסה הקודמת.
- לעדכן את שרת התצוגה המקדימה היחיד ואת כל שרתי התיוג באשכול.
- משביתים שרתים ישנים.
כדי לוודא שהעדכון בוצע בהצלחה:
- במאגר התגים בצד השרת, לוחצים על הלחצן Preview (תצוגה מקדימה) כדי להתחיל קובץ חדש. צריך להפעיל ניפוי באגים ולשלוח בקשה בכרטיסייה נפרדת.
- בקטע 'סיכום', בוחרים בכרטיסייה מסוף ומוודאים שאין הודעות שמבקשות ממך לעדכן את שרת התיוג.
ייתכן שיוצגו ב-Tag Manager הודעות עם בקשות לעדכן את שרת התיוג של עד יום אחרי שהשרת עודכן בהצלחה. אבל התצוגה המקדימה תוצג הודעה עדכנית לגבי גרסת שרת התיוג.