Menyiapkan server pratinjau pribadi

Panduan ini ditujukan untuk developer yang menggunakan Cloud Run untuk pemberian tag sisi server guna menyiapkan server pratinjau pribadi.

Pemberian tag sisi server memungkinkan Anda melihat pratinjau perubahan penandaan dalam mode pratinjau dan debug sebelum menerapkannya. Proses ini adalah bagian penting dari alur kerja pengembangan untuk memastikan tag Anda berperilaku sebagaimana mestinya. Agar kemampuan ini dapat digunakan, diperlukan dua deployment Cloud Run: satu untuk server pemberian tag dan satu untuk server pratinjau. Panduan ini memberikan informasi lebih lanjut tentang cara kedua server tersebut berkomunikasi dan cara mengonfigurasinya dalam lingkungan perusahaan.

Ringkasan

Saat men-deploy pemberian tag sisi server ke Cloud Run, Anda dapat men-deploy-nya dengan atau tanpa load balancer. Untuk deployment multi-region, Anda memerlukan load balancer untuk mengarahkan traffic ke instance terdekat.

Tanpa load balancer

Tanpa load balancer

Gambar 1: Deployment tanpa load balancer.

Dengan load balancer

Dengan load balancer

Gambar 2: Deployment dengan load balancer.

Di kedua deployment tersebut, titik entri untuk server pratinjau dan lingkungan pemberian tag produksi adalah URL yang sama (misalnya, sgtm.example.com). Server pemberian tag di-deploy dengan variabel lingkungan yang disebut PREVIEW_SERVER_URL yang merepresentasikan URL server pratinjau.

Saat Anda mengunjungi tagmanager.google.com dan membuka mode pratinjau, Tag Manager akan membuka sgtm.example.com?id=[gtm_server_id]&gtm_auth=[auth_id]&gtm_preview=[env_id] dan menetapkan cookie. Kemudian, saat Anda menggunakan browser yang sama untuk menjelajahi situs target, permintaan yang dikirim ke sgtm.example.com juga akan meneruskan cookie. Karena cookie tersebut, server pemberian tag mengetahui bahwa peristiwa ini adalah peristiwa Anda, sehingga hanya akan meneruskan peristiwa tersebut ke server pratinjau agar Anda dapat melihatnya dan memecahkan masalah.

Server pemberian tag akan meneruskan peristiwa ini dengan membuat permintaan HTTP ke URL yang ditetapkan dalam variabel lingkungan PREVIEW_SERVER_URL.

Tentang server pratinjau yang ditampilkan ke publik

Perilaku default ini mengharuskan server pratinjau Anda bersifat publik. Namun, hal ini menjadi masalah bagi beberapa organisasi karena mereka memiliki pembatasan terkait infrastruktur yang dapat diakses oleh publik dan biasanya menerapkan tindakan keamanan tambahan melalui load balancer. Load balancer akan memberi Anda:

  • Lebih banyak kontrol atas fitur seperti kebijakan SSL untuk membatasi cipher suite.
  • Integrasi native dengan Cloud Armor untuk firewall aplikasi web (WAF) atau distributed denial of service (DDoS).
  • Kemampuan pengelolaan traffic lanjutan.

Merutekan server pratinjau melalui load balancer

Untuk membuat server pratinjau pribadi, gunakan perutean berbasis host melalui load balancer dengan subdomain tambahan. Bagian selanjutnya dalam panduan ini akan menjelaskan cara merutekan server pratinjau Anda melalui load balancer.

Prasyarat

  • Server pemberian tag di-deploy di Cloud Run di belakang load balancer.
  • Akses ke project Google Cloud.
  • Akses ke subdomain baru untuk server pratinjau, misalnya, preview.sgtm.example.com.

Langkah 1: Perbarui variabel lingkungan dengan subdomain baru

Untuk menggunakan domain server pratinjau baru, perbarui variabel lingkungan server pemberian tag sisi server PREVIEW_SERVER_URL:

  1. Buka Cloud Run.
  2. Pilih server pemberian tag.
  3. Klik Edit lalu Deploy new revision.
  4. Pada tab Variables and secrets, di bagian Containers, ubah PREVIEW_SERVER_URL menjadi domain baru. Contoh: preview.sgtm.example.com.

Langkah 2: Konfigurasi load balancer yang sudah ada untuk menggunakan perutean berbasis host

Untuk mengonfigurasi load balancer yang sudah ada, gunakan perutean berbasis host lalu kirim traffic ke server yang benar:

  1. Di Cloud Run, buka halaman Load balancing lalu klik nama load balancer Anda.
  2. Klik tombol Edit.
  3. Klik halaman Backend configuration lalu buka drop-down untuk Backend services and backend buckets.
  4. Klik Create a backend service lalu selesaikan langkah-langkah berikut:
    1. Berikan nama yang sesuai (misalnya, preview-backend-service).
    2. Pilih jenis backend sebagai Serverless network endpoint group.
  5. Di bagian Backend, buat grup endpoint jaringan serverless baru lalu selesaikan langkah-langkah berikut:
    1. Berikan nama dan pilih region tempat server pratinjau dihosting.
    2. Pilih Cloud Run sebagai jenis grup endpoint jaringan serverless, dan server pratinjau sebagai layanan.
    3. Klik Create.
  6. Ubah setelan lain sesuai kebutuhan, atau pertahankan setelan default, lalu klik Create.

Langkah 3: Tambahkan aturan baru dan perbarui kontrol masuknya

Untuk menambahkan aturan pada URL host baru dan memperbarui kontrol masuknya:

  1. Buka halaman Host and path rules.
  2. Tambahkan aturan baru dengan kondisi berikut:
    • Host-nya adalah URL baru: preview.sgtm.example.com
    • Jalurnya adalah: /*
    • Backend-nya adalah: preview-backend-service
  3. Klik tombol Update untuk men-deploy ulang load balancer.
  4. Kembali ke Cloud Run, buka server pratinjau, lalu pilih tab Networking.
  5. Ubah Ingress control menjadi Internal lalu centang Allow traffic from external application load balancers agar tidak dapat diakses publik.

Hasilnya: Arsitektur server Anda sekarang akan terlihat seperti Gambar 3, yang menunjukkan bahwa semua permintaan traffic diarahkan ke server pemberian tag, dan server pemberian tag dapat meneruskan permintaan tersebut ke server pratinjau.

Perutean berbasis host

Gambar 3: Menggunakan perutean berbasis host.

Memeriksa konfigurasi

Untuk memeriksa konfigurasi Anda:

  1. Buka Google Tag Manager.
  2. Buka penampung server Anda.
  3. Klik Admin > Setelan penampung dan tetapkan URL penampung server ke URL server pratinjau.
  4. Tutup jendela dan lihat pratinjau ruang kerjanya. Jendela debug akan terbuka. Saat Anda membuka situs Anda, peristiwa Anda akan muncul di jendela debug.