Menyiapkan pemberian tag sisi server dengan Cloud Run

Panduan ini menjelaskan cara:

  • Menyediakan server pratinjau untuk mengaktifkan fitur pratinjau untuk penampung.
  • Menyediakan server pemberian tag untuk menangani traffic langsung.
  • Menambah atau mengurangi jumlah server yang menjalankan penampung Google Tag Manager.
  • Terus mengupdate versi server pemberian tag setelah menyediakan server.

Prasyarat

  1. Anda memerlukan akun GCP. Jika Anda belum memilikinya, buat akun GCP baru.
  2. Anda memerlukan akun penagihan GCP. Jika Anda tidak memilikinya, buat akun penagihan GCP (memerlukan peran Billing Account Creator).
  3. Anda memerlukan peran Project Creator dan Billing Account User. Pelajari lebih lanjut cara menambahkan peran.

Menyediakan server pratinjau dan pemberian tag

Anda dapat menyediakan layanan Cloud Run secara otomatis di Google Tag Manager atau secara manual di Google Cloud.

Mengedit konfigurasi layanan

Untuk mengubah konfigurasi layanan:

  1. Buka Cloud Run.
  2. Pilih layanan yang perlu Anda sesuaikan.
  3. Klik Edit & Deploy New Revision.
  4. Lakukan perubahan, lalu klik Deploy.

Biaya Cloud Run

Dalam konfigurasi Cloud Run ini, biaya setiap server adalah sekitar $45/bulan (USD). Setiap server adalah instance Cloud Run dengan 1 vCPU dan memori 0,5 GB yang menggunakan model penetapan harga "CPU selalu dialokasikan".

Sebaiknya jalankan minimal 2 instance untuk mengurangi risiko kehilangan data jika terjadi pemadaman layanan server. Namun, Anda dapat memilih untuk menjalankan lebih sedikit (atau lebih banyak) server. Kami memperkirakan bahwa penskalaan otomatis 2–10 server akan menangani 35–350 permintaan per detik, meskipun performanya akan bervariasi sesuai jumlah tag dan fungsi tag tersebut.

Cloud Run akan diskalakan secara dinamis sesuai beban. Setelan max-instances adalah skenario kasus terburuk untuk jumlah yang harus Anda bayar untuk resource. Cloud Run tidak akan menyediakan instance sebanyak itu kecuali jika diperlukan.

Kalkulator Cloud Run

Opsional: Bermigrasi dari App Engine

Jika sebelumnya Anda membuat deployment App Engine dan memastikan aplikasi tersebut tidak lagi menerima traffic, nonaktifkan aplikasi App Engine untuk mencegah biaya penagihan tidak terduga.

Opsional: Deployment multi-region

Jika situs Anda memiliki kehadiran global atau Anda ingin membuat redundansi ke dalam layanan, deploy server pemberian tag ke beberapa wilayah.

Sebelum memulai:

  1. Membuat load balancer
  2. Catat BACKEND_NAME pilihan Anda.

Untuk menambahkan wilayah lain ke deployment Anda:

  1. Ganti REGION dengan wilayah tempat server pratinjau di-deploy. Pilihan ini mungkin telah diisi jika Anda mengikuti opsi command line untuk menyediakan pratinjau dan server pemberian tag.
  2. Ganti CONTAINER_CONFIG dengan string konfigurasi penampung dari Tag Manager. Pilihan ini mungkin telah diisi jika Anda mengikuti opsi command line untuk menyediakan pratinjau dan server pemberian tag.
  3. Ganti NEW_REGION dengan wilayah baru tempat Anda ingin men-deploy server pemberian tag.
  4. Ganti BACKEND_NAME dengan nama yang Anda pilih sambil menyediakan load balancer.
  5. Opsional: Untuk menambahkan wilayah lain, ganti variabel NEW_REGION dan jalankan ulang cuplikan kode.
    gcloud run deploy "server-side-tagging" \
    --region NEW_REGION \
    --image gcr.io/cloud-tagging-10302018/gtm-cloud-image:stable \
    --platform managed \
    --ingress all \
    --min-instances 2 \
    --max-instances 10 \
    --timeout 60 \
    --allow-unauthenticated \
    --no-cpu-throttling \
    --update-env-vars PREVIEW_SERVER_URL="$(
      gcloud run services describe server-side-tagging-preview \--region "REGION" \
      --format="value(status.url)")",CONTAINER_CONFIG="CONTAINER_CONFIG" && \

    gcloud compute network-endpoint-groups create server-side-tagging-neg \
    --region=NEW_REGION \
    --network-endpoint-type=SERVERLESS \
    --cloud-run-service="server-side-tagging" && \

    gcloud compute backend-services add-backend --global "BACKEND_NAME" \
    --network-endpoint-group-region=NEW_REGION \
    --network-endpoint-group=server-side-tagging-neg

Opsional: Nonaktifkan logging

Logging permintaan

Secara default, informasi tentang setiap permintaan (mis., jalur permintaan, parameter kueri, dll.) akan dicatat dalam log. Jika server pemberian tag Anda menangani banyak permintaan per bulan (mis., lebih dari 1 juta), pesan log tersebut dapat menimbulkan biaya logging yang signifikan. Untuk mengurangi atau menghilangkan biaya logging, sebaiknya nonaktifkan logging permintaan.

Untuk menonaktifkan logging permintaan:

  1. Di Google Cloud Platform, buka Logs Router. Pastikan Anda berada dalam project yang cocok dengan ID penampung Anda:
    screenshot pemilih project GCP, yang menampilkan contoh ID penampung Tag Manager.
  2. Untuk Type: Cloud Logging bucket, baris Name:_Default, pilih menu tambahan, lalu klik Edit Sink.
  3. Di bagian Sink destination, pilih bucket log _Default.
  4. Di bagian Choose logs to include in sink, tambahkan baris baru. Masukkan aturan berikut ke filter penyertaan yang ada:

    NOT LOG_ID("run.googleapis.com/requests")
    
  5. Untuk juga menonaktifkan logging dari load balancer, tambahkan baris baru dan masukkan aturan berikut ke filter penyertaan yang ada:

    NOT LOG_ID("requests")
    
  6. Update Sink untuk menerapkan perubahan. Sekarang, permintaan tersebut akan dikecualikan dari logging.

  7. Pastikan tidak ada permintaan baru yang muncul di log Logs Explorer.

Logging konsol

Server pemberian tag, klien, atau tag dalam penampung dapat mencatat pesan ke konsol yang mungkin dikenakan biaya logging. Untuk mengurangi atau menghilangkan biaya logging, Anda dapat menonaktifkan pesan log konsol yang tidak diinginkan.

Identifikasi log konsol yang tidak diinginkan:

  1. Di GCP, buka Logs Explorer.
  2. Cari pesan log yang tidak diinginkan yang berasal dari tag Anda. Contoh:

    Tag mungkin mengirim log berikut:

    const logToConsole = require('logToConsole');
    
    logToConsole('Custom message: ' + data.param1);
    logToConsole('An important message to keep around!');
    data.gtmOnSuccess()
    

    Cari pesan log yang sesuai di kolom textPayload:
    screenshot dari Logs Explorer GCP, yang menampilkan contoh
log.

Untuk menonaktifkan pesan log konsol:

  1. Di Google Cloud Platform, buka Logs Router. Pastikan Anda berada dalam project yang cocok dengan ID penampung Anda:
    screenshot pemilih project GCP, yang menampilkan contoh ID penampung Tag Manager.
  2. Untuk Type: Cloud Logging bucket, baris Name:_Default, pilih menu tambahan, lalu klik Edit Sink.
  3. Di bagian Sink destination, pilih bucket log _Default.
  4. Di bagian Choose logs to include in sink, tambahkan baris baru. Masukkan aturan berikut ke filter penyertaan yang ada:

    NOT textPayload:"Custom message:"
    

    Untuk log konsol Anda, ganti teks Custom message: dengan substring dari log konsol yang ingin Anda nonaktifkan. Untuk filter yang lebih rumit, gunakan bahasa kueri logging.

  5. Update Sink untuk menerapkan perubahan. Pesan logToConsole yang cocok harus dikecualikan dari logging.

  6. Pastikan tidak ada pesan log konsol baru yang muncul di Logs Explorer.

2. Memetakan deployment ke domain kustom

Untuk menyiapkan domain kustom, gunakan Load Balancer Aplikasi eksternal global.

3. Menambahkan URL server ke Google Tag Manager

Setelah memiliki server, Anda harus memastikan Google Tag Manager mengetahui bahwa server tersebut harus digunakan.

  1. Buka Google Tag Manager.

  2. Klik penampung server yang ingin Anda arahkan ke server pemberian tag.

  3. Buka setelan penampung server Anda di tab Admin > Setelan Penampung.

  4. Klik Tambahkan URL dan tempel URL server Anda.

  5. Simpan dan kembali ke ruang kerja Anda.

4. Validasi

Setelah menyiapkan server pemberian tag, pastikan server tersebut berfungsi sebagaimana mestinya. Di ruang kerja Tag Manager Anda, klik tombol Pratinjau. Jika halaman pratinjau dimuat, berarti semuanya telah disiapkan dengan benar.

Melakukan pratinjau beberapa URL

Jika Anda telah memetakan beberapa domain ke satu server pemberian tag, pastikan setiap URL ditambahkan ke setelan penampung.

Jika Anda memberikan beberapa URL, semua jalur (string setelah nama domain) harus cocok.

Berfungsi Tidak berfungsi.
URL 1: example.com/abc
URL 2: example2.com/abc
URL 1: example.com/abc
URL 2: example2.com/def

Jika beberapa URL ditambahkan, Anda akan melihat ikon di samping tombol Pratinjau untuk memilih URL yang akan dilihat pratinjaunya.

Mengupdate versi server pemberian tag

Update server pemberian tag baru berisi perbaikan kerentanan keamanan dan fitur baru. Sebaiknya update server pemberian tag Anda untuk setiap rilis versi utama (mis., mengupgrade dari versi 1.xx ke 2.xx) saat Tag Manager memberi tahu Anda untuk melakukan update.

Untuk mengupdate server pemberian tag, deploy revisi baru menggunakan setelan yang sama dengan yang Anda gunakan sebelumnya.

  1. Buka Cloud Run.
  2. Pilih layanan yang ingin Anda update.
  3. Klik Edit & Deploy New Revision.
  4. Pastikan Container image URL ditetapkan ke gcr.io/cloud-tagging-10302018/gtm-cloud-image:stable dan klik Deploy.

Untuk memeriksa bahwa update berhasil:

  1. Di penampung server, klik tombol Pratinjau untuk memulai sesi debug baru dan mengirim permintaan di tab terpisah.
  2. Di bagian Ringkasan, pilih tab Konsol dan pastikan tidak ada pesan yang meminta Anda mengupdate server pemberian tag.

Tag Manager mungkin menampilkan pesan yang meminta Anda untuk mengupdate server pemberian tag hingga satu hari setelah server berhasil diupdate. Namun, halaman pratinjau akan menampilkan pesan terbaru tentang versi server pemberian tag.