ใช้ขั้นตอนการจัดสรรอัตโนมัติเพื่อทำให้เซิร์ฟเวอร์การติดแท็กใช้งานได้ 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
หากต้องการใช้ BigQuery
หรือ Firestore
API นอก 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 ให้ไปที่พื้นที่ทำงานของคอนเทนเนอร์เซิร์ฟเวอร์ แล้วคลิก รหัสคอนเทนเนอร์ที่ด้านขวาบนของหน้า คลิกจัดสรรด้วยตนเอง เซิร์ฟเวอร์การติดแท็ก เพื่อหาค่าการกำหนดค่าคอนเทนเนอร์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 แล้ว ให้กำหนดค่า HTTPS URL เป็น ชี้ไปที่เซิร์ฟเวอร์แสดงตัวอย่าง ซึ่งจำเป็นสำหรับการตั้งค่าคลัสเตอร์ SST
- ตัวจัดสรรภาระงานหรือ CDN ต้องมีระยะหมดเวลานานกว่า 20 วินาที ไม่เช่นนั้น โหมดแสดงตัวอย่างอาจทำงานได้ไม่ถูกต้อง
จัดสรรคลัสเตอร์การติดแท็กฝั่งเซิร์ฟเวอร์ด้วยตนเอง
คลัสเตอร์ SST ทำหน้าที่เป็นจุดแรกเข้า และส่งพร็อกซีคำขอตัวอย่างไปยัง เซิร์ฟเวอร์สำหรับดูตัวอย่าง และจัดการคำขออื่นๆ ทั้งหมดตามที่อธิบายไว้ใน ข้อมูลเบื้องต้นเกี่ยวกับการติดแท็กฝั่งเซิร์ฟเวอร์ ใช้การตั้งค่าที่จำเป็นต่อไปนี้ พร้อมอิมเมจ Docker ของเซิร์ฟเวอร์การติดแท็กเพื่อจัดสรรคลัสเตอร์ SST ในทุกที่ สภาพแวดล้อมที่สนับสนุน Docker
การตั้งค่าที่จำเป็น
CONTAINER_CONFIG
- สตริงการกำหนดค่าสำหรับคอนเทนเนอร์ของเซิร์ฟเวอร์ ใน Tag Manager ให้ไปที่พื้นที่ทำงานของคอนเทนเนอร์เซิร์ฟเวอร์ แล้วคลิก รหัสคอนเทนเนอร์ที่ด้านขวาบนของหน้า คลิกจัดสรรด้วยตนเอง เซิร์ฟเวอร์การติดแท็ก เพื่อหาค่าการกำหนดค่าคอนเทนเนอร์PREVIEW_SERVER_URL
- HTTPS URL สำหรับเซิร์ฟเวอร์แสดงตัวอย่าง การตั้งค่านี้ ควรตั้งค่าเพื่อจัดสรรเซิร์ฟเวอร์การติดแท็กเท่านั้น และไม่จำเป็นสำหรับ การจัดสรรเซิร์ฟเวอร์สำหรับแสดงตัวอย่าง ดูคู่มือเกี่ยวกับหัวข้อด้านบน การตั้งค่าเซิร์ฟเวอร์การแสดงตัวอย่าง
ตัวอย่างการใช้เครื่องมือบรรทัดคำสั่ง Docker
หากต้องการจัดสรรเซิร์ฟเวอร์การติดแท็ก 1 รายการภายในเครื่อง ให้เรียกใช้คำสั่งต่อไปนี้
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 แล้ว ให้กำหนดค่า HTTPS URL เป็น ชี้ไปที่คลัสเตอร์ 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 ไม่เกิน 1 รายการ ระบบจะไม่ใช้ vCPU เพิ่มเติมและส่งผลเสียต่อการปรับขนาดอัตโนมัติ
การตรวจสอบความถูกต้อง
กำหนดค่า URL ของคอนเทนเนอร์เซิร์ฟเวอร์
ไปที่คอนเทนเนอร์ของเซิร์ฟเวอร์ใน Tag Manager ในส่วน ผู้ดูแลระบบ > ตู้คอนเทนเนอร์ การตั้งค่า ใส่ URL ของเซิร์ฟเวอร์การติดแท็กลงใน URL ของคอนเทนเนอร์เซิร์ฟเวอร์ แล้วคลิก Save
ยืนยันผ่านโหมดแสดงตัวอย่าง
ในพื้นที่ทํางานของ Tag Manager ให้ดูตัวอย่างคอนเทนเนอร์โดยคลิกแสดงตัวอย่าง และ จะเห็นว่าหน้าตัวอย่างโหลดขึ้นมา ในแท็บเบราว์เซอร์อื่น ให้ไปยังเส้นทางใดก็ได้ใน 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
- ทำให้เซิร์ฟเวอร์ใช้งานได้ด้วยการตั้งค่าเหมือนกับการนำไปใช้งานก่อนหน้านี้
- อัปเดตเซิร์ฟเวอร์ตัวอย่างเดียวและเซิร์ฟเวอร์การติดแท็กทั้งหมดในคลัสเตอร์
- ปิดเซิร์ฟเวอร์เก่า
หากต้องการยืนยันว่าการอัปเดตสำเร็จ ให้ทำดังนี้
- ในคอนเทนเนอร์เซิร์ฟเวอร์ ให้คลิกปุ่มแสดงตัวอย่างเพื่อเริ่มต้น เซสชันแก้ไขข้อบกพร่อง แล้วส่งคำขอในอีกแท็บหนึ่ง
- ใน "สรุป" เลือกแท็บคอนโซลและตรวจสอบว่าไม่มี ข้อความที่ขอให้คุณอัปเดตเซิร์ฟเวอร์การติดแท็ก
Tag Manager อาจแสดงข้อความที่ขอให้คุณอัปเดตเซิร์ฟเวอร์การติดแท็กสําหรับ ภายในหนึ่งวันหลังจากอัปเดตเซิร์ฟเวอร์สำเร็จ อย่างไรก็ตาม ตัวอย่าง จะแสดงข้อความล่าสุดเกี่ยวกับเวอร์ชันเซิร์ฟเวอร์การติดแท็ก