คู่มือการตั้งค่าด้วยตนเอง

ใช้ขั้นตอนการจัดสรรอัตโนมัติเพื่อทำให้เซิร์ฟเวอร์การติดแท็กใช้งานได้ 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 คุณต้องระบุข้อมูลเข้าสู่ระบบของบัญชีบริการที่ได้รับอนุญาตให้เข้าถึงทรัพยากรเหล่านั้น

  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 ด้วยสภาพแวดล้อมต่อไปนี้ ตัวแปรที่ส่งไปยังสภาพแวดล้อม 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

  1. ดึงเวอร์ชันอิมเมจปัจจุบันที่ gcr.io/cloud-tagging-10302018/gtm-cloud-image:stable
  2. ทำให้เซิร์ฟเวอร์ใช้งานได้ด้วยการตั้งค่าเหมือนกับการนำไปใช้งานก่อนหน้านี้
  3. อัปเดตเซิร์ฟเวอร์ตัวอย่างเดียวและเซิร์ฟเวอร์การติดแท็กทั้งหมดในคลัสเตอร์
  4. ปิดเซิร์ฟเวอร์เก่า

หากต้องการยืนยันว่าการอัปเดตสำเร็จ ให้ทำดังนี้

  1. ในคอนเทนเนอร์เซิร์ฟเวอร์ ให้คลิกปุ่มแสดงตัวอย่างเพื่อเริ่มต้น เซสชันแก้ไขข้อบกพร่อง แล้วส่งคำขอในอีกแท็บหนึ่ง
  2. ใน "สรุป" เลือกแท็บคอนโซลและตรวจสอบว่าไม่มี ข้อความที่ขอให้คุณอัปเดตเซิร์ฟเวอร์การติดแท็ก

Tag Manager อาจแสดงข้อความที่ขอให้คุณอัปเดตเซิร์ฟเวอร์การติดแท็กสําหรับ ภายในหนึ่งวันหลังจากอัปเดตเซิร์ฟเวอร์สำเร็จ อย่างไรก็ตาม ตัวอย่าง จะแสดงข้อความล่าสุดเกี่ยวกับเวอร์ชันเซิร์ฟเวอร์การติดแท็ก