برچسب گذاری سمت سرور را با Cloud Run تنظیم کنید

این راهنما توضیح می‌دهد که چگونه:

  • یک سرور پیش‌نمایش برای فعال کردن ویژگی پیش‌نمایش برای کانتینر فراهم کنید.
  • یک سرور برچسب‌گذاری برای مدیریت ترافیک زنده فراهم کنید.
  • تعداد سرورهایی که کانتینر گوگل تگ منیجر شما را اجرا می‌کنند، افزایش یا کاهش دهید.
  • پس از آماده‌سازی سرور، نسخه سرور برچسب‌گذاری خود را به‌روز نگه دارید.

پیش‌نیازها

  1. شما به یک حساب GCP نیاز دارید. اگر ندارید، یک حساب GCP جدید ایجاد کنید .
  2. شما به یک حساب صورتحساب GCP نیاز دارید. اگر ندارید، یک حساب صورتحساب GCP ایجاد کنید (به نقش ایجادکننده حساب صورتحساب نیاز دارد).
  3. شما به نقش «ایجادکننده پروژه» و «کاربر حساب صورتحساب» نیاز دارید. درباره افزودن نقش‌ها بیشتر بدانید.

ارائه یک سرور پیش‌نمایش و برچسب‌گذاری

شما می‌توانید سرویس Cloud Run را به صورت خودکار در Google Tag Manager یا به صورت دستی در Google Cloud ارائه دهید.

پیکربندی سرویس را ویرایش کنید

برای تغییر پیکربندی سرویس خود:

  1. برنامه Cloud Run را باز کنید .
  2. سرویسی را که نیاز به تنظیم دارید انتخاب کنید.
  3. روی ویرایش و استقرار نسخه جدید کلیک کنید.
  4. تغییرات را اعمال کنید و روی «استقرار» کلیک کنید.

هزینه اجرای ابری

در این پیکربندی Cloud Run، هزینه هر سرور تقریباً ۴۵ دلار در ماه (USD) است. هر سرور یک نمونه Cloud Run با ۱ vCPU و ۰.۵ گیگابایت حافظه است که از مدل قیمت‌گذاری همیشه تخصیص داده شده به CPU استفاده می‌کند.

ما توصیه می‌کنیم حداقل ۲ نمونه اجرا کنید تا خطر از دست رفتن داده‌ها در صورت قطع سرور کاهش یابد. با این حال، می‌توانید سرورهای کمتری (یا بیشتری) اجرا کنید. ما انتظار داریم که مقیاس‌بندی خودکار ۲ تا ۱۰ سرور، ۳۵ تا ۳۵۰ درخواست در ثانیه را مدیریت کند، اگرچه عملکرد با تعداد برچسب‌ها و عملکرد آن برچسب‌ها متفاوت خواهد بود.

Cloud Run به صورت پویا با افزایش بار، مقیاس‌پذیر خواهد بود. تنظیم max-instances ، بدترین سناریوی ممکن برای میزان هزینه‌ای است که باید برای منابع بپردازید. Cloud Run مگر در صورت لزوم، این تعداد نمونه را ارائه نمی‌دهد.

تخمین هزینه اجرای ابری

برای تخمین هزینه ماهانه اجرای سرورهای برچسب‌گذاری خود، از ماشین حساب قیمت‌گذاری Google Cloud استفاده کنید. این ماشین حساب با یک تخمین از پیش تنظیم شده برای استقرار پیش‌فرض برچسب‌گذاری سمت سرور باز می‌شود. می‌توانید تنظیمات را تغییر دهید تا بر اساس ترافیک مورد انتظار خود، تخمین دقیق‌تری دریافت کنید.

اختیاری: مهاجرت از App Engine

اگر قبلاً یک App Engine ایجاد کرده‌اید و تأیید کرده‌اید که دیگر هیچ ترافیکی دریافت نمی‌کند، برنامه App Engine را غیرفعال کنید تا از هزینه‌های غیرمنتظره صورتحساب جلوگیری شود.

اختیاری: استقرار چند منطقه‌ای

اگر وب‌سایت شما حضور جهانی دارد یا می‌خواهید افزونگی در سرویس ایجاد کنید، سرورهای برچسب‌گذاری را در چندین منطقه مستقر کنید.

قبل از شروع:

  1. ایجاد یک متعادل کننده بار
  2. به BACKEND_NAME انتخابی خود توجه کنید.

برای افزودن مناطق بیشتر به استقرار خود:

  1. REGION با منطقه‌ای که سرور پیش‌نمایش در آن مستقر است جایگزین کنید. اگر از گزینه‌های خط فرمان برای آماده‌سازی سرور پیش‌نمایش و برچسب‌گذاری استفاده کرده باشید، ممکن است این قسمت از قبل پر شده باشد.
  2. CONTAINER_CONFIG با رشته پیکربندی کانتینر از Tag Manager جایگزین کنید. اگر از گزینه‌های خط فرمان برای آماده‌سازی پیش‌نمایش و سرور تگ‌گذاری استفاده کرده باشید، ممکن است این فیلد از قبل پر شده باشد.
  3. به جای NEW_REGION ، منطقه‌ی جدیدی که می‌خواهید سرور برچسب‌گذاری در آن مستقر شود را قرار دهید.
  4. به جای BACKEND_NAME نامی را که هنگام تنظیم متعادل‌کننده بار انتخاب کرده‌اید، قرار دهید.
  5. اختیاری: برای اضافه کردن یک منطقه دیگر، متغیر NEW_REGION را جایگزین کنید و قطعه کد را دوباره اجرا کنید.
    gcloud run deploy "server-side-tagging" \
    --region NEW_REGION \
    --image gcr.io/cloud-tagging-10302018/gtm-cloud-image:stable \
    --platform managed \
    --ingress all \
    --min-instances 2 \
    --max-instances 10 \
    --timeout 60 \
    --allow-unauthenticated \
    --no-cpu-throttling \
    --update-env-vars PREVIEW_SERVER_URL="$(
      gcloud run services describe server-side-tagging-preview \--region "REGION" \
      --format="value(status.url)")",CONTAINER_CONFIG="CONTAINER_CONFIG" && \

    gcloud compute network-endpoint-groups create server-side-tagging-neg \
    --region=NEW_REGION \
    --network-endpoint-type=SERVERLESS \
    --cloud-run-service="server-side-tagging" && \

    gcloud compute backend-services add-backend --global "BACKEND_NAME" \
    --network-endpoint-group-region=NEW_REGION \
    --network-endpoint-group=server-side-tagging-neg

اختیاری: غیرفعال کردن ثبت وقایع

درخواست ثبت وقایع

به طور پیش‌فرض، اطلاعات مربوط به هر درخواست (مثلاً مسیر درخواست، پارامترهای پرس‌وجو و غیره) ثبت می‌شود. اگر سرور برچسب‌گذاری شما در هر ماه درخواست‌های زیادی را مدیریت می‌کند (مثلاً بیش از ۱ میلیون)، این پیام‌های ثبت ممکن است هزینه‌های ثبت قابل توجهی را متحمل شوند. برای کاهش یا حذف هزینه‌های ثبت، توصیه می‌کنیم ثبت درخواست را غیرفعال کنید.

برای غیرفعال کردن ثبت درخواست‌ها:

  1. در پلتفرم گوگل کلود، Logs Router را باز کنید. مطمئن شوید که در پروژه‌ای هستید که با شناسه کانتینر شما مطابقت دارد:
    تصویر صفحه انتخابگر پروژه GCP، که یک نمونه شناسه کانتینر Tag Manager را نشان می‌دهد.
  2. برای سطر Type : Cloud Logging و Name : _Default ، منوی overflow را انتخاب کنید، سپس روی Edit Sink کلیک کنید.
  3. در قسمت «Sink destination» ، گزینه‌ی «logs bucket _Default» را انتخاب کنید.
  4. در زیر گزینه Choose logs to include in sink ، یک خط جدید اضافه کنید. قانون زیر را در فیلتر موجود برای درج اطلاعات وارد کنید:

    NOT LOG_ID("run.googleapis.com/requests")
    
  5. برای غیرفعال کردن ثبت وقایع از متعادل‌کننده بار، یک خط جدید اضافه کنید و قانون زیر را در فیلتر شمول موجود وارد کنید:

    NOT LOG_ID("requests")
    
  6. برای اعمال تغییرات، Sink را به‌روزرسانی کنید . اکنون درخواست‌ها از ثبت وقایع مستثنی خواهند شد.

  7. تأیید کنید که هیچ درخواست جدیدی در گزارش‌های Logs Explorer ظاهر نمی‌شود.

ورود به سیستم کنسول

سرور برچسب‌گذاری، کلاینت‌ها یا تگ‌های موجود در یک کانتینر می‌توانند پیام‌هایی را در کنسول ثبت کنند که ممکن است هزینه‌های ثبت را به همراه داشته باشد. برای کاهش یا حذف هزینه‌های ثبت، می‌توانید پیام‌های ثبت ناخواسته کنسول را غیرفعال کنید.

شناسایی لاگ‌های ناخواسته کنسول:

  1. در GCP، Logs Explorer را باز کنید.
  2. به دنبال هرگونه پیام لاگ ناخواسته‌ای باشید که از تگ‌های شما سرچشمه می‌گیرند. برای مثال:

    یک تگ ممکن است لاگ‌های زیر را ارسال کند:

    const logToConsole = require('logToConsole');
    
    logToConsole('Custom message: ' + data.param1);
    logToConsole('An important message to keep around!');
    data.gtmOnSuccess()
    

    در فیلد textPayload به دنبال پیام‌های لاگ مربوطه بگردید:
    تصویر صفحه GCP Logs Explorer، که نمونه‌ای از لاگ‌ها را نشان می‌دهد.

برای غیرفعال کردن پیام ورود به سیستم کنسول:

  1. در پلتفرم گوگل کلود، Logs Router را باز کنید. مطمئن شوید که در پروژه‌ای هستید که با شناسه کانتینر شما مطابقت دارد:
    تصویر صفحه انتخابگر پروژه GCP، که یک نمونه شناسه کانتینر Tag Manager را نشان می‌دهد.
  2. برای سطر Type : Cloud Logging و Name : _Default ، منوی overflow را انتخاب کنید، سپس روی Edit Sink کلیک کنید.
  3. در قسمت «Sink destination» ، گزینه‌ی «logs bucket _Default» را انتخاب کنید.
  4. در زیر گزینه Choose logs to include in sink ، یک خط جدید اضافه کنید. قانون زیر را در فیلتر موجود برای درج اطلاعات وارد کنید:

    NOT textPayload:"Custom message:"
    

    برای گزارش‌های کنسول خود، Custom message: text را با زیررشته‌ای از گزارش کنسول که می‌خواهید غیرفعال کنید، جایگزین کنید. برای فیلترهای پیچیده‌تر، از زبان پرس‌وجوی گزارش‌گیری استفاده کنید.

  5. برای اعمال تغییرات، Sink را به‌روزرسانی کنید . پیام منطبق logToConsole باید از ثبت وقایع حذف شود.

  6. تأیید کنید که هیچ پیام لاگ کنسول جدیدی در Logs Explorer ظاهر نمی‌شود.

۲. استقرار را به دامنه سفارشی خود نگاشت کنید

یک دامنه سفارشی تنظیم کنید تا از دامنه‌ای غیر از آدرس پیش‌فرضی که Cloud Run ارائه می‌دهد، استفاده کند.

۳. آدرس اینترنتی سرور را به گوگل تگ منیجر اضافه کنید

حالا که سرور دارید، باید مطمئن شوید که گوگل تگ منیجر می‌داند که باید از سرور شما استفاده کند.

  1. گوگل تگ منیجر را باز کنید.

  2. روی کانتینر سروری که می‌خواهید به سرور برچسب‌گذاری خود اشاره کنید، کلیک کنید.

  3. تنظیمات کانتینر سرور خود را در برگه مدیریت > تنظیمات کانتینر باز کنید.

  4. روی افزودن URL کلیک کنید و آدرس سرور خود را جایگذاری کنید.

  5. ذخیره کنید و به فضای کاری خود برگردید.

۴. اعتبارسنجی

حالا که سرور تگ‌گذاری خود را راه‌اندازی کرده‌اید، مطمئن شوید که طبق برنامه کار می‌کند. در فضای کاری تگ منیجر خود، روی دکمه پیش‌نمایش کلیک کنید. اگر صفحه پیش‌نمایش بارگذاری شد، یعنی همه چیز به درستی تنظیم شده است.

پیش‌نمایش چندین URL

اگر چندین دامنه را به یک سرور برچسب‌گذاری واحد نگاشت کرده‌اید، مطمئن شوید که هر URL به تنظیمات کانتینر اضافه شده است.

اگر چندین URL ارائه داده‌اید، همه مسیرها (رشته بعد از نام دامنه) باید مطابقت داشته باشند.

آثار کار نمی‌کند.
آدرس اینترنتی ۱: example.com/abc
آدرس اینترنتی ۲: example2.com/abc
آدرس اینترنتی ۱: example.com/abc
آدرس اینترنتی ۲: example2.com/def

اگر چندین URL اضافه شده باشد، نمادی در کنار دکمه پیش‌نمایش مشاهده خواهید کرد که به شما امکان می‌دهد URL مورد نظر برای پیش‌نمایش را انتخاب کنید.

نسخه سرور برچسب‌گذاری را به‌روزرسانی کنید

به‌روزرسانی‌های جدید سرور برچسب‌گذاری شامل رفع آسیب‌پذیری‌های امنیتی و ویژگی‌های جدید است. توصیه می‌کنیم حداقل برای هر انتشار نسخه اصلی (مثلاً ارتقا از نسخه 1.xx به 2.xx) هنگامی که Tag Manager به شما اطلاع می‌دهد که به‌روزرسانی کنید، سرور برچسب‌گذاری خود را به‌روزرسانی کنید.

برای به‌روزرسانی سرور برچسب‌گذاری خود، یک نسخه جدید را با استفاده از همان تنظیماتی که قبلاً استفاده کرده‌اید، پیاده‌سازی کنید.

  1. برنامه Cloud Run را باز کنید.
  2. سرویسی را که می‌خواهید به‌روزرسانی کنید، انتخاب کنید.
  3. روی ویرایش و استقرار نسخه جدید کلیک کنید.
  4. مطمئن شوید که آدرس تصویر کانتینر روی gcr.io/cloud-tagging-10302018/gtm-cloud-image:stable تنظیم شده باشد و روی Deploy کلیک کنید.

برای تأیید موفقیت‌آمیز بودن به‌روزرسانی:

  1. در کانتینر سرور خود، روی دکمه پیش‌نمایش کلیک کنید تا یک جلسه اشکال‌زدایی جدید شروع شود و درخواستی را در یک برگه جداگانه ارسال کنید.
  2. در بخش خلاصه (Summary)، تب کنسول (Console) را انتخاب کنید و مطمئن شوید که هیچ پیامی مبنی بر به‌روزرسانی سرور برچسب‌گذاری وجود ندارد.

ممکن است تا یک روز پس از به‌روزرسانی موفقیت‌آمیز سرور، تگ منیجر پیام‌هایی را نشان دهد که از شما می‌خواهند سرور تگ‌گذاری خود را به‌روزرسانی کنید. با این حال، صفحه پیش‌نمایش، پیامی در مورد به‌روزرسانی نسخه سرور تگ‌گذاری نشان خواهد داد.