אפשר להשתמש בתהליך הקצאת המשאבים האוטומטי כדי לפרוס את שרת התיוג ב-Cloud Run בכמה קליקים בלבד. אם רוצים להקצות את שרת התיוג בסביבות אחרות, אפשר לעשות זאת באופן ידני. שרת התיוג הוא שרת Node.js בתוך קובץ אימג' של Docker.
כדי להקצות את שרת התיוג באופן ידני, צריך להקצות את האשכולות של תיוג בצד השרת (SST) ואת שרת ה-Preview בנפרד. אשכול ה-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, עוברים לסביבת העבודה של קונטיינר השרת ולוחצים על מזהה הקונטיינר בפינה השמאלית העליונה של הדף. לוחצים על Manually provision tagging server כדי למצוא את הערך של 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
כדי לשנות את היציאה.
שיטות מומלצות
- צריך לפרוס בדיוק שרת תצוגה מקדימה אחד. לא מגדירים התאמה אוטומטית של עוצמת עיבוד מעבר למכונה אחת.
- אחרי שמגדירים שרת לתצוגה מקדימה באמצעות Docker, מגדירים כתובת URL מסוג HTTPS שמפנה לשרת התצוגה המקדימה. הנתונים האלה נדרשים להגדרת האשכולות של SST.
- הזמן הקצוב לתפוגה של מאזן העומסים או של ה-CDN צריך להיות ארוך מ-20 שניות, אחרת מצב התצוגה המקדימה לא יפעל כראוי.
הקצאה ידנית של אשכול תיוג בצד השרת
האשכולות של SST משמשים כנקודת הכניסה, מעבירים בקשות של תצוגה מקדימה לשרת התצוגה המקדימה ומטפלים בכל שאר הבקשות, כפי שמתואר במאמר מבוא לתיוג בצד השרת. כדי להקצות אשכול SST בכל סביבה שתומכת ב-Docker, משתמשים בהגדרות הנדרשות הבאות עם קובץ האימג' של שרת התיוג ב-Docker.
הגדרות נדרשות
CONTAINER_CONFIG
- מחרוזת ההגדרה של מאגר התגים בצד השרת. ב-Tag Manager, עוברים לסביבת העבודה של קונטיינר השרת ולוחצים על מזהה הקונטיינר בפינה השמאלית העליונה של הדף. לוחצים על Manually provision tagging server כדי למצוא את הערך של 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
. - חשוב לארח את שרת התיוג באותו מקור (שיטה מומלצת) או בתור תת-דומיין של האתר הנוכחי. לדוגמה, אם האפליקציה שלכם משרתת תנועה באינטרנט בכתובת example.com, תוכלו להשתמש בנתיב כמו example.com/analytics בשרת התיוג. מידע נוסף על הגדרת דומיין בהתאמה אישית
- אחרי שמגדירים אשכול SST באמצעות Docker, מגדירים כתובת URL מסוג HTTPS שמפנה לאשכול ה-SST.
- חשוב להפעיל מחדש את השרתים מדי פעם כדי לוודא שהם כוללים את עדכוני הקוד העדכניים ביותר של SST. אם לא תעשו זאת, יכול להיות שהפונקציונליות החדשה של תכונות SST לא תהיה תואמת. אחת מהדרכים לדעת מתי צריך להפעיל מחדש את השרת היא להגדיר בדיקות פעילות, כפי שמוסבר בהמשך. כמו כן, חשוב לזכור שעדכונים שפורסמו בקונטיינר השרת עדיין יחולו בלי הפעלה מחדש.
- אפשר להשתמש בנקודת הקצה הקיימת
/healthz
(למשלhttps://analytics.example.com/healthz
) בשרתי התיוג כדי להגדיר בדיקות פעילות. תגובה לא תקינה מציינת שצריך להפעיל מחדש את השרת. - הקונטיינר של Docker כולל פקודת בדיקת תקינות שמוגדרת כברירת מחדל –
HEALTHCHECK CMD ["/nodejs/bin/node", "/app/health_checker_bin.js"]
– שמריצה שאילתות לנקודת הקצה/healthz
מדי פעם. אם אתם תלויים בבדיקת התקינות של Docker, תוכלו לשנות את ההגדרות לפי ההוראות של Docker. - אם שרת התצוגה המקדימה ושרת התיוג נמצאים באותו מקור, צריך לארח את שרת התצוגה המקדימה בנתיב שונה מזה של שרת התיוג. מציינים את
PREVIEW_SERVER_URL
, כולל הנתיב. - השרתים שהוקצתה להם הקצאה צריכים לכלול עד vCPU אחד. לא נעשה שימוש ב-vCPUs נוספים, והם משפיעים לרעה על התאמת הקיבולת האוטומטית.
אימות
הגדרת כתובת ה-URL של מאגר התגים בצד השרת
ב-Tag Manager, עוברים למאגר התגים בצד השרת. בקטע Admin > Container Settings, מזינים את כתובת ה-URL של שרת התיוג בשדה ServerContainer URL (כתובת URL של מאגר תגים) ולוחצים על Save.
אימות באמצעות מצב תצוגה מקדימה
בסביבת העבודה של Tag Manager, לוחצים על Preview (תצוגה מקדימה) כדי להציג תצוגה מקדימה של המאגר, ובודקים שדף התצוגה המקדימה נטען. בכרטיסייה אחרת בדפדפן, עוברים לנתיב כלשהו בכתובת ה-URL של מאגר התגים בצד השרת. אם הבקשה שנשלחה מופיעה בדף התצוגה המקדימה, סימן שהכול מוגדר כמו שצריך.
אם מיפיתם מספר תת-דומיינים לשרת תיוג יחיד ואתם רוצים לצפות בתצוגה מקדימה בכל תת-דומיין, אתם צריכים להוסיף עוד כתובות URL של מאגרי שרת בקטע Admin > Container Settings (ניהול > הגדרות קונטיינר). אם מציינים כמה כתובות 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 ל-2.x.x).
כדי לעדכן את קובץ האימג' של Docker:
- אחזור של גרסת התמונה הנוכחית בכתובת
gcr.io/cloud-tagging-10302018/gtm-cloud-image:stable
. - פורסים את השרת עם אותן הגדרות כמו בפריסה הקודמת.
- מעדכנים את שרת התצוגה המקדימה היחיד ואת כל שרתי התיוג באשכול.
- משביתים שרתים ישנים.
כדי לוודא שהעדכון בוצע בהצלחה:
- במאגר השרת, לוחצים על הלחצן Preview כדי להתחיל סשן ניפוי באגים חדש ולשלוח בקשה בכרטיסייה נפרדת.
- ב-Summary, בוחרים בכרטיסייה Console ומוודאים שאין הודעות שמבקשות לעדכן את שרת התיוג.
יכול להיות שמערכת Tag Manager תציג הודעות עם בקשה לעדכן את שרת התיוג עד יום אחד אחרי שהשרת עודכן בהצלחה. עם זאת, בדף התצוגה המקדימה תוצג הודעה עדכנית לגבי גרסת שרת התיוג.