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

คุณใช้ขั้นตอนการจัดสรรอัตโนมัติเพื่อติดตั้งใช้งานเซิร์ฟเวอร์การติดแท็กใน 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

หากต้องการใช้ API ของ BigQuery หรือ Firestore นอก 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/healthy คุณเลือกใช้PORTตัวแปรสภาพแวดล้อม เพื่อเปลี่ยนพอร์ตได้

แนวทางปฏิบัติแนะนำ

  • คุณต้องติดตั้งใช้งานเซิร์ฟเวอร์แสดงตัวอย่าง 1 เครื่องเท่านั้น อย่ากำหนดค่าการปรับขนาดอัตโนมัติ เกิน 1 อินสแตนซ์
  • เมื่อตั้งค่าเซิร์ฟเวอร์แสดงตัวอย่างโดยใช้ Docker แล้ว ให้กำหนดค่า URL ของ HTTPS เพื่อ ชี้ไปยังเซิร์ฟเวอร์แสดงตัวอย่าง ซึ่งจำเป็นต่อการตั้งค่าคลัสเตอร์ SST
  • ตัวจัดสรรภาระงานหรือ CDN ต้องมีระยะหมดเวลาที่นานกว่า 20 วินาที มิฉะนั้นโหมดแสดงตัวอย่างจะทำงานไม่ถูกต้อง

จัดสรรคลัสเตอร์การติดแท็กฝั่งเซิร์ฟเวอร์ด้วยตนเอง

คลัสเตอร์ SST ทำหน้าที่เป็นจุดแรกเข้า พร็อกซีคำขอตัวอย่างไปยัง เซิร์ฟเวอร์แสดงตัวอย่าง และจัดการคำขออื่นๆ ทั้งหมดตามที่อธิบายไว้ใน ข้อมูลเบื้องต้นเกี่ยวกับการติดแท็กฝั่งเซิร์ฟเวอร์ ใช้การตั้งค่าที่จำเป็นต่อไปนี้ กับอิมเมจ Docker ของเซิร์ฟเวอร์การติดแท็กเพื่อจัดสรรคลัสเตอร์ SST ในสภาพแวดล้อมใดก็ได้ ที่รองรับ Docker

การตั้งค่าที่จำเป็น

  • CONTAINER_CONFIG - สตริงการกำหนดค่าสำหรับคอนเทนเนอร์ของเซิร์ฟเวอร์ ใน Tag Manager ให้ไปที่พื้นที่ทํางานของคอนเทนเนอร์ฝั่งเซิร์ฟเวอร์ แล้วคลิกรหัสคอนเทนเนอร์ที่ด้านขวาบนของหน้า คลิกจัดสรรเซิร์ฟเวอร์ การติดแท็กด้วยตนเองเพื่อดูค่าการกำหนดค่าคอนเทนเนอร์

  • 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/healthy หรือจะใช้PORTตัวแปรสภาพแวดล้อมเพื่อเปลี่ยนพอร์ตก็ได้

แนวทางปฏิบัติแนะนำ

  • คุณจัดสรรเซิร์ฟเวอร์การติดแท็กฝั่งเซิร์ฟเวอร์เป็นเซิร์ฟเวอร์เดียวหรือ เป็นคลัสเตอร์ก็ได้ เราขอแนะนำให้คุณจัดสรรเป็นคลัสเตอร์เพื่อเพิ่มความพร้อมใช้งาน ความสามารถในการปรับขนาด และประสิทธิภาพ โปรดทราบว่าเมื่อจัดสรรเป็นคลัสเตอร์ อินสแตนซ์เซิร์ฟเวอร์แต่ละรายการต้องได้รับการกำหนดค่าด้วยตัวแปรสภาพแวดล้อม CONTAINER_CONFIG และ PREVIEW_SERVER_URL เดียวกัน
  • ตรวจสอบว่าได้โฮสต์เซิร์ฟเวอร์การติดแท็กในแหล่งกําเนิดเดียวกัน (แนวทางปฏิบัติแนะนํา) หรือเป็นโดเมนย่อยของเว็บไซต์ปัจจุบัน เช่น หากแอปพลิเคชัน แสดงการเข้าชมเว็บที่ example.com ให้ใช้เส้นทาง เช่น example.com/analytics สำหรับเซิร์ฟเวอร์การติดแท็ก ดูข้อมูลเพิ่มเติมเกี่ยวกับการกำหนดค่าโดเมนที่กำหนดเอง
  • เมื่อตั้งค่าคลัสเตอร์ SST โดยใช้ Docker แล้ว ให้กำหนดค่า URL HTTPS เพื่อ ชี้ไปยังคลัสเตอร์ SST
  • โปรดรีสตาร์ทเซิร์ฟเวอร์เป็นระยะๆ เพื่อให้เซิร์ฟเวอร์มีการอัปเดตโค้ดล่าสุดสำหรับ SST ไม่เช่นนั้นอาจทำให้ฟังก์ชันการทำงานของฟีเจอร์ SST ใหม่ไม่เข้ากัน วิธีหนึ่งในการทราบว่าเมื่อใดที่เซิร์ฟเวอร์ต้อง รีสตาร์ทคือการตั้งค่าการตรวจสอบความพร้อมใช้งาน ซึ่งจะอธิบายเพิ่มเติมด้านล่าง นอกจากนี้ โปรดทราบว่าการอัปเดตที่เผยแพร่ในคอนเทนเนอร์ฝั่งเซิร์ฟเวอร์จะยังคงมีผลโดยไม่ต้องรีสตาร์ท
  • ใช้/healthyปลายทางที่มีอยู่ (เช่น https://analytics.example.com/healthy) ในเซิร์ฟเวอร์การติดแท็กเพื่อตั้งค่า การตรวจสอบความพร้อมใช้งาน การตอบกลับที่ไม่ปกติบ่งชี้ว่าควร รีสตาร์ทเซิร์ฟเวอร์
  • คอนเทนเนอร์ Docker มีคำสั่งตรวจสอบประสิทธิภาพการทำงานเริ่มต้น HEALTHCHECK CMD ["/nodejs/bin/node", "/app/health_checker_bin.js"] ซึ่งจะค้นหาปลายทาง /healthy เป็นระยะๆ หากคุณใช้การตรวจสอบสถานะของ Docker คุณสามารถเปลี่ยนการตั้งค่าได้โดยทำตามวิธีการของ Docker
  • หากเซิร์ฟเวอร์แสดงตัวอย่างและเซิร์ฟเวอร์การติดแท็กอยู่ในต้นทางเดียวกัน ให้โฮสต์ เซิร์ฟเวอร์แสดงตัวอย่างในเส้นทางอื่นที่ไม่ใช่เซิร์ฟเวอร์การติดแท็ก ระบุ PREVIEW_SERVER_URL รวมถึงเส้นทาง
  • เซิร์ฟเวอร์ที่จัดสรรควรมี vCPU ไม่เกิน 1 รายการ ระบบจะไม่ใช้ vCPU เพิ่มเติม และส่งผลเสียต่อการปรับขนาดอัตโนมัติ

การตรวจสอบความถูกต้อง

กำหนดค่า URL ของคอนเทนเนอร์เซิร์ฟเวอร์

ไปที่คอนเทนเนอร์เซิร์ฟเวอร์ใน Tag Manager ในส่วนผู้ดูแลระบบ > การตั้งค่าคอนเทนเนอร์ ให้วาง URL ของเซิร์ฟเวอร์การติดแท็กลงในช่องURL ของคอนเทนเนอร์เซิร์ฟเวอร์ แล้วคลิกบันทึก

ยืนยันผ่านโหมดแสดงตัวอย่าง

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