راهنمای تنظیم دستی

از جریان تهیه خودکار می‌توان برای استقرار سرور برچسب‌گذاری در Cloud Run تنها با چند کلیک استفاده کرد. اگر می خواهید سرور برچسب گذاری را در محیط های دیگر تهیه کنید، می توانید این کار را به صورت دستی انجام دهید. سرور برچسب گذاری یک سرور Node.js در داخل یک تصویر داکر است.

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

برای تصویری از تعامل داده بین سرورهای برچسب گذاری و سرور پیش نمایش، شکل 1 را ببینید.

نمودار برچسب گذاری سرورها و پیش نمایش جریان داده های سرور

شکل 1: نموداری از سرورهای برچسب گذاری و پیش نمایش جریان داده سرور.

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

  • تمام تنظیمات موجود برای تصویر Docker را مشاهده کنید.
  • (اختیاری) شامل اعتبار BigQuery
  • با استفاده از تصویر SST Docker یک سرور پیش نمایش را به صورت دستی تهیه کنید.
  • با استفاده از تصویر 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

برای استفاده از BigQuery یا Firestore API خارج از 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 را با متغیرهای محیطی زیر که به محیط داکر منتقل شده است اجرا کنید.

تنظیمات مورد نیاز

  • CONTAINER_CONFIG - رشته پیکربندی ظرف سرور. در Tag Manager، به فضای کاری کانتینر سرور خود بروید و روی شناسه کانتینر در سمت راست بالای صفحه کلیک کنید. برای یافتن مقدار Container Config بر روی Manually provision tagging server کلیک کنید.

  • 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 برای تغییر پورت استفاده کنید.

بهترین شیوه ها

  • شما باید دقیقاً 1 سرور پیش نمایش را مستقر کنید. مقیاس خودکار را بیش از 1 نمونه پیکربندی نکنید.
  • هنگامی که یک سرور پیش‌نمایش با استفاده از Docker راه‌اندازی کردید، یک URL HTTPS را برای اشاره به سرور پیش‌نمایش پیکربندی کنید. این برای راه اندازی خوشه SST مورد نیاز است.
  • متعادل کننده بار یا CDN شما باید بیش از 20 ثانیه مهلت زمانی داشته باشد، در غیر این صورت حالت پیش نمایش به درستی کار نخواهد کرد.

به صورت دستی یک خوشه برچسب گذاری سمت سرور تهیه کنید

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

تنظیمات مورد نیاز

  • CONTAINER_CONFIG - رشته پیکربندی ظرف سرور. در Tag Manager، به فضای کاری کانتینر سرور خود بروید و روی شناسه کانتینر در سمت راست بالای صفحه کلیک کنید. برای یافتن مقدار Container Config بر روی Manually provision tagging server کلیک کنید.

  • 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 ) در سرورهای برچسب گذاری خود برای تنظیم بررسی های زنده بودن استفاده کنید. پاسخ غیر سالم نشان می دهد که سرور باید راه اندازی مجدد شود.
  • کانتینر Docker شامل یک فرمان پیش‌فرض بررسی سلامتی HEALTHCHECK CMD ["/nodejs/bin/node", "/app/health_checker_bin.js"] است که به‌طور دوره‌ای نقطه پایانی /healthz را جستجو می‌کند. اگر به بررسی سلامت Docker وابسته هستید، می‌توانید تنظیمات را با دنبال کردن دستورالعمل‌های Docker تغییر دهید.
  • اگر سرور پیش نمایش و سرور برچسب گذاری در یک مبدا هستند، سرور پیش نمایش را در مسیری متفاوت از سرور برچسب گذاری میزبانی کنید. PREVIEW_SERVER_URL از جمله مسیر را مشخص کنید.
  • سرورهای ارائه شده باید حداکثر 1 vCPU داشته باشند. vCPU های اضافی مورد استفاده قرار نمی گیرند و بر مقیاس خودکار تأثیر منفی می گذارند.

اعتبار سنجی

URL ظرف سرور را پیکربندی کنید

در Tag Manager به محفظه سرور خود بروید. در قسمت Admin > Container Settings ، URL سرور برچسب‌گذاری را در قسمت Server container URL قرار دهید و روی Save کلیک کنید.

از طریق حالت پیش نمایش تأیید کنید

در فضای کاری Tag Manager، با کلیک روی Preview، ظرف را پیش‌نمایش کنید و ببینید که صفحه پیش‌نمایش بارگیری می‌شود. در برگه مرورگر دیگری، به هر مسیری در URL ظرف سرور بروید. اگر صفحه پیش نمایش درخواست ارسال شده را نشان دهد، همه چیز به درستی تنظیم شده است.

اگر چندین زیردامنه را به یک سرور برچسب‌گذاری نگاشت کرده‌اید و می‌خواهید روی هر زیر دامنه پیش‌نمایش کنید، آدرس‌های اینترنتی محفظه سرور اضافی را در زیر Admin > Container Settings اضافه کنید. اگر چندین URL ارائه شده باشد، همه مسیرهای URL باید مطابقت داشته باشند (رشته اطلاعاتی که بعد از نام دامنه آمده است). برای مثال، می‌توانید در example.com/abc و example2.com/abc پیش‌نمایش کنید، اما نمی‌توانید در example.com/abc و example2.com/def پیش‌نمایش کنید. اگر چندین URL اضافه شود، نمادی را در کنار دکمه Preview خواهید دید که به شما امکان می دهد URL را برای پیش نمایش انتخاب کنید.

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

تصویر gtm-cloud-image حاوی Node.js و کتابخانه های مورد نیاز برای عملکرد سرور برچسب گذاری است. تصویر Docker به طور دوره ای برای رفع مشکلات امنیتی و ویژگی های جدید به روز می شود. توصیه می کنیم حداقل برای هر نسخه اصلی (به عنوان مثال ارتقاء از نسخه 1.xx به 2.xx) سرور برچسب گذاری خود را به روز کنید.

برای به‌روزرسانی تصویر Docker:

  1. نسخه فعلی تصویر را در gcr.io/cloud-tagging-10302018/gtm-cloud-image:stable واکشی کنید.
  2. سرور خود را با همان تنظیمات استقرار قبلی مستقر کنید.
  3. سرور پیش‌نمایش واحد و همه سرورهای برچسب‌گذاری را در خوشه به‌روزرسانی کنید.
  4. هر سرور قدیمی را خاموش کنید.

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

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

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