कुछ ही क्लिक में, Cloud Run पर टैग करने वाले सर्वर को डिप्लॉय करने के लिए, अपने-आप प्रावधान करने के फ़्लो का इस्तेमाल किया जा सकता है. अगर आपको अन्य एनवायरमेंट में टैग करने वाले सर्वर का प्रावधान करना है, तो मैन्युअल तरीके से ऐसा करें. टैगिंग सर्वर, Docker इमेज में मौजूद Node.js सर्वर होता है.
टैग करने वाले सर्वर को मैन्युअल तरीके से प्रोविज़न करने के लिए, सर्वर-साइड टैगिंग (एसएसटी) क्लस्टर और झलक दिखाने वाले सर्वर को अलग-अलग प्रोविज़न करना ज़रूरी है. एसएसटी क्लस्टर, टैग करने वाले सर्वर के सभी अनुरोधों के लिए एंट्री पॉइंट है. यह सर्वर-साइड टैगिंग के बारे में जानकारी में बताए गए तरीके से अनुरोधों को मैनेज करेगा. कंटेनर की झलक देखने के लिए, झलक दिखाने वाले सर्वर की ज़रूरत होती है.
टैगिंग सर्वर और झलक सर्वर के बीच डेटा इंटरैक्शन के उदाहरण के लिए, पहला चित्र देखें.
पहली इमेज: टैग करने वाले सर्वर और झलक दिखाने वाले सर्वर के डेटा फ़्लो का डायग्राम.
इस गाइड में, इन कामों को करने का तरीका बताया गया है:
- Docker इमेज के लिए सभी उपलब्ध सेटिंग देखें.
- (ज़रूरी नहीं) BigQuery क्रेडेंशियल शामिल करें
- SST Docker इमेज का इस्तेमाल करके, झलक देखने के लिए सर्वर को मैन्युअल तरीके से उपलब्ध कराएं.
- SST Docker इमेज का इस्तेमाल करके, एसएसटी क्लस्टर को मैन्युअल तरीके से प्रावधान करें.
- पुष्टि करें कि प्रीव्यू सर्वर और SST क्लस्टर सही तरीके से कॉन्फ़िगर किए गए हैं.
- सर्वर को प्रोविज़न करने के बाद, टैग करने वाले सर्वर के वर्शन को अपडेट रखें.
इस गाइड में दिए गए Docker कमांड चलाने के लिए, आपको सबसे पहले अपने कंप्यूटर पर Docker इंस्टॉल करना होगा.
Docker इमेज के लिए उपलब्ध सभी सेटिंग देखें
टैगिंग सर्वर की Docker इमेज इस यूआरएल पर देखी जा सकती है:
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 के क्रेडेंशियल शामिल करें
Google Cloud के बाहर BigQuery
या Firestore
एपीआई का इस्तेमाल करने के लिए, आपको ऐसा सेवा खाता क्रेडेंशियल देना होगा जिसके पास उन संसाधनों को ऐक्सेस करने की अनुमति हो.
- इस गाइड में दिए गए निर्देशों का पालन करके,
BigQuery
ऐक्सेस के लिए BigQuery डेटा एडिटर की भूमिका वाला सेवा खाता बनाएं याFirestore
ऐक्सेस के लिए 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_PROJECT
एनवायरमेंट वैरिएबल में अपना Google Cloud प्रोजेक्ट आईडी डालें, ताकि टैग करने वाला सर्वर अपने-आप प्रोजेक्ट चुन सके. सर्वर चलाएं. नीचे दिया गया कमांड, शामिल किए गए क्रेडेंशियल के साथ टैगिंग सर्वर को चलाता है:
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 में, अपने सर्वर कंटेनर वर्कस्पेस पर जाएं और पेज के सबसे ऊपर दाईं ओर मौजूद कंटेनर आईडी पर क्लिक करें. कंटेनर कॉन्फ़िगरेशन की वैल्यू ढूंढने के लिए, टैगिंग सर्वर को मैन्युअल तरीके से उपलब्ध कराएं पर क्लिक करें.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
आपको http://localhost:8080/healthz
के अनुरोध से 200 वाला जवाब दिखना चाहिए. इसके अलावा, पोर्ट बदलने के लिए PORT
एनवायरमेंट वैरिएबल का इस्तेमाल किया जा सकता है.
सबसे सही तरीके
- आपको सिर्फ़ एक झलक दिखाने वाला सर्वर डिप्लॉय करना होगा. किसी एक इंस्टेंस के बाद, ऑटो स्केलिंग को कॉन्फ़िगर न करें.
- Docker का इस्तेमाल करके झलक दिखाने वाला सर्वर सेट अप करने के बाद, झलक दिखाने वाले सर्वर पर ले जाने के लिए एचटीटीपीएस यूआरएल कॉन्फ़िगर करें. एसएसटी क्लस्टर सेट अप करने के लिए, यह ज़रूरी है.
- आपके लोड बैलेंसर या सीडीएन का टाइम आउट 20 सेकंड से ज़्यादा होना चाहिए. ऐसा न होने पर, झलक मोड ठीक से काम नहीं करेगा.
सर्वर-साइड टैगिंग क्लस्टर को मैन्युअल तरीके से मैनेज करना
एसएसटी क्लस्टर, एंट्री पॉइंट के तौर पर काम करता है. साथ ही, झलक देखने के अनुरोधों को झलक देखने वाले सर्वर पर प्रॉक्सी करता है. साथ ही, सर्वर-साइड टैगिंग के बारे में जानकारी में बताए गए अन्य सभी अनुरोधों को हैंडल करता है. Docker के साथ काम करने वाले किसी भी एनवायरमेंट में एसएसटी क्लस्टर को प्रोवाइड करने के लिए, टैगिंग सर्वर की Docker इमेज के साथ इन ज़रूरी सेटिंग का इस्तेमाल करें.
ज़रूरी सेटिंग
CONTAINER_CONFIG
- सर्वर कंटेनर के लिए कॉन्फ़िगरेशन स्ट्रिंग. Tag Manager में, अपने सर्वर कंटेनर वर्कस्पेस पर जाएं और पेज के सबसे ऊपर दाईं ओर मौजूद कंटेनर आईडी पर क्लिक करें. कंटेनर कॉन्फ़िगरेशन की वैल्यू ढूंढने के लिए, टैगिंग सर्वर को मैन्युअल तरीके से उपलब्ध कराएं पर क्लिक करें.PREVIEW_SERVER_URL
- झलक दिखाने वाले सर्वर का एचटीटीपीएस यूआरएल. इस सेटिंग को सिर्फ़ टैग करने वाले सर्वर को प्रोविज़न करने के लिए सेट किया जाना चाहिए. झलक दिखाने वाले सर्वर को प्रोविज़न करने के लिए, इसकी ज़रूरत नहीं है. प्रीव्यू सर्वर सेट अप करने के तरीके के बारे में जानने के लिए, ऊपर दिया गया सेक्शन देखें.
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
आपको http://localhost:8080/healthz
से मिले अनुरोध का जवाब 200 के तौर पर दिखेगा.
पोर्ट को बदलने के लिए, PORT
एनवायरमेंट वैरिएबल का इस्तेमाल करें. हालांकि, ऐसा करना ज़रूरी नहीं है.
सबसे सही तरीके
- सर्वर साइड टैगिंग सर्वर को एक सर्वर या क्लस्टर के तौर पर सेट किया जा सकता है. हमारा सुझाव है कि बेहतर उपलब्धता, स्केलिंग, और परफ़ॉर्मेंस के लिए, इसे क्लस्टर के तौर पर सेट अप करें. कृपया ध्यान दें कि क्लस्टर के तौर पर प्रोवाइड करने पर, हर सर्वर इंस्टेंस को एक ही
CONTAINER_CONFIG
औरPREVIEW_SERVER_URL
एनवायरमेंट वैरिएबल के साथ कॉन्फ़िगर किया जाना चाहिए. - पक्का करें कि आपने टैग करने वाले सर्वर को उसी ऑरिजिन (सबसे सही तरीका) या अपनी मौजूदा वेबसाइट के सबडोमेन के तौर पर होस्ट किया हो. उदाहरण के लिए, अगर आपका ऐप्लिकेशन example.com पर वेब ट्रैफ़िक दिखाता है, तो टैग करने वाले सर्वर के लिए example.com/analytics जैसे पाथ का इस्तेमाल करें. कस्टम डोमेन कॉन्फ़िगरेशन के बारे में ज़्यादा जानें.
- Docker का इस्तेमाल करके एसएसटी क्लस्टर सेट अप करने के बाद, एचटीटीपीएस यूआरएल को कॉन्फ़िगर करें, ताकि वह एसएसटी क्लस्टर पर ले जाए.
- अपने सर्वर को समय-समय पर फिर से चालू करना न भूलें, ताकि यह पक्का किया जा सके कि आपके सर्वर में एसएसटी के लिए नए कोड अपडेट हों. ऐसा न करने पर, एसएसटी की नई सुविधाएं काम नहीं कर सकतीं. सर्वर को कब रीस्टार्ट करना है, यह जानने का एक तरीका लाइवनेस जांच सेट अप करना है. इसके बारे में नीचे ज़्यादा जानकारी दी गई है. साथ ही, कृपया ध्यान दें कि आपके सर्वर कंटेनर में पब्लिश किए गए सभी अपडेट, बिना रीस्टार्ट किए लागू किए जाएंगे.
- लाइव होने की जांच सेट अप करने के लिए, अपने टैगिंग सर्वर पर मौजूदा
/healthz
एंडपॉइंट (उदाहरण के लिए,https://analytics.example.com/healthz
) का इस्तेमाल करें. गलत जवाब से पता चलता है कि सर्वर को फिर से शुरू करना चाहिए. - Docker कंटेनर में, डिफ़ॉल्ट रूप से हेल्थ जांच करने का निर्देश—
HEALTHCHECK CMD ["/nodejs/bin/node", "/app/health_checker_bin.js"]
—शामिल होता है. यह समय-समय पर/healthz
एंडपॉइंट से क्वेरी करता है. अगर आपको Docker की परफ़ॉर्मेंस की जांच की ज़रूरत है, तो Docker के निर्देशों का पालन करके सेटिंग बदली जा सकती हैं. - अगर प्रीव्यू सर्वर और टैगिंग सर्वर एक ही ऑरिजिन पर हैं, तो प्रीव्यू सर्वर को टैगिंग सर्वर से अलग पाथ पर होस्ट करें. पाथ के साथ
PREVIEW_SERVER_URL
बताएं. - प्रोवाइज़ किए गए सर्वर में ज़्यादा से ज़्यादा एक वर्चुअल सीपीयू होना चाहिए. अतिरिक्त vCPU का इस्तेमाल नहीं किया जाता और इससे ऑटोस्केल करने की सुविधा पर बुरा असर पड़ता है.
पुष्टि
सर्वर कंटेनर का यूआरएल कॉन्फ़िगर करना
Tag Manager में, अपने सर्वर कंटेनर पर जाएं. एडमिन > कंटेनर सेटिंग में जाकर, टैग करने वाले सर्वर के यूआरएल को सर्वर कंटेनर यूआरएल फ़ील्ड में डालें और सेव करें पर क्लिक करें.
'झलक देखें' मोड से पुष्टि करें
Tag Manager फ़ाइल फ़ोल्डर में, झलक देखें पर क्लिक करके कंटेनर की झलक देखें और देखें कि झलक वाला पेज लोड हो रहा है या नहीं. ब्राउज़र के किसी दूसरे टैब में, सर्वर कंटेनर यूआरएल पर किसी भी पाथ पर जाएं. अगर झलक वाले पेज पर भेजा गया अनुरोध दिखता है, तो इसका मतलब है कि सब कुछ सही तरीके से सेट अप किया गया है.
अगर आपने एक टैगिंग सर्वर पर कई सबडोमेन को मैप किया है और आपको हर सबडोमेन पर झलक देखनी है, तो एडमिन > कंटेनर सेटिंग में जाकर, सर्वर कंटेनर के अन्य यूआरएल जोड़ें. अगर कई यूआरएल दिए गए हैं, तो सभी यूआरएल पाथ मैच करने चाहिए. यूआरएल पाथ, डोमेन नेम के बाद आने वाली जानकारी की स्ट्रिंग होती है. उदाहरण के लिए, example.com/abc
और example2.com/abc
पर झलक देखी जा सकती है, लेकिन example.com/abc
और example2.com/def
पर झलक नहीं देखी जा सकती. अगर एक से ज़्यादा यूआरएल जोड़े जाते हैं, तो आपको झलक देखें बटन के बगल में एक आइकॉन दिखेगा. इसकी मदद से, झलक देखने के लिए यूआरएल चुना जा सकता है.
टैग करने वाले सर्वर का वर्शन अपडेट करना
gtm-cloud-image इमेज में Node.js और टैगिंग सर्वर के काम करने के लिए ज़रूरी लाइब्रेरी शामिल होती हैं. सुरक्षा से जुड़ी गड़बड़ियों को ठीक करने और नई सुविधाएं जोड़ने के लिए, Docker इमेज को समय-समय पर अपडेट किया जाता है. हम हर मेजर वर्शन रिलीज़ के लिए, कम से कम अपने टैग करने वाले सर्वर को अपडेट करने का सुझाव देते हैं. उदाहरण के लिए, वर्शन 1.x.x से 2.x.x में अपग्रेड करना.
Docker इमेज अपडेट करने के लिए:
gcr.io/cloud-tagging-10302018/gtm-cloud-image:stable
पर इमेज का मौजूदा वर्शन फ़ेच करें.- अपने सर्वर को पिछली डिप्लॉयमेंट की सेटिंग के साथ डिप्लॉय करें.
- सिंगल प्रीव्यू सर्वर और क्लस्टर में टैग करने वाले सभी सर्वर को अपडेट करें.
- सभी पुराने सर्वर बंद कर दें.
यह पुष्टि करने के लिए कि अपडेट हो गया है:
- नया डीबग सेशन शुरू करने के लिए, अपने सर्वर कंटेनर में झलक देखें बटन पर क्लिक करें. इसके बाद, किसी अलग टैब पर अनुरोध भेजें.
- खास जानकारी में, कंसोल टैब चुनें और पक्का करें कि आपको टैगिंग सर्वर को अपडेट करने के लिए कोई मैसेज न मिला हो.
सर्वर के अपडेट होने के बाद, Tag Manager आपको एक दिन तक मैसेज दिखा सकता है. इन मैसेज में, आपको टैग करने वाले सर्वर को अपडेट करने के लिए कहा जा सकता है. हालांकि, झलक वाले पेज पर टैगिंग सर्वर के वर्शन के बारे में अप-टू-डेट मैसेज दिखेगा.