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