Panduan penyiapan manual

Alur penyediaan otomatis dapat digunakan untuk men-deploy server pemberian tag ke Cloud Run hanya dengan beberapa klik. Jika ingin menyediakan server pemberian tag di lingkungan lain, Anda dapat melakukannya secara manual. Server pemberian tag adalah server Node.js di dalam image Docker.

Penyediaan server pemberian tag secara manual memerlukan penyediaan cluster pemberian tag sisi server (SST) dan server pratinjau secara terpisah. Cluster SST adalah titik entri untuk semua permintaan ke server pemberian tag dan akan menangani permintaan seperti yang dijelaskan dalam Pengantar pemberian tag sisi server. Server pratinjau diperlukan untuk melihat pratinjau penampung.

Lihat gambar 1 untuk ilustrasi interaksi data antara server pemberian tag dan server pratinjau.

Diagram aliran data server pemberian tag dan server pratinjau

Gambar 1: Diagram aliran data server pemberian tag dan server pratinjau.

Panduan ini menjelaskan cara:

  • Melihat semua setelan yang tersedia untuk image Docker.
  • (Opsional) Menyertakan kredensial BigQuery
  • Menyediakan server pratinjau secara manual menggunakan image Docker SST.
  • Menyediakan cluster SST secara manual menggunakan image Docker SST.
  • Memastikan server pratinjau dan cluster SST dikonfigurasi dengan benar.
  • Terus mengupdate versi server pemberian tag Anda setelah menyediakan server.

Untuk menjalankan perintah Docker dalam panduan ini, Anda harus menginstal Docker terlebih dahulu di komputer.

Melihat semua setelan yang tersedia untuk image Docker

Image Docker server pemberian tag dapat ditemukan di URL ini:

gcr.io/cloud-tagging-10302018/gtm-cloud-image:stable

Server pemberian tag dan server pratinjau menggunakan image Docker yang sama dengan tanda yang berbeda. Di bagian ini, kami akan memandu Anda mencari semua setelan yang tersedia yang dapat digunakan dengan image Docker.

Untuk melihat semua setelan yang tersedia, jalankan hal berikut menggunakan alat command line Docker:

docker run gcr.io/cloud-tagging-10302018/gtm-cloud-image:stable server_bin.js --help

(Opsional) Menyertakan kredensial Google Cloud

Untuk menggunakan API BigQuery atau Firestore di luar Google Cloud, Anda harus memberikan kredensial akun layanan yang diotorisasi untuk mengakses resource tersebut.

  1. Ikuti panduan ini untuk membuat akun layanan dengan peran BigQuery Data Editor untuk akses BigQuery atau peran Cloud Datastore User untuk akses Firestore dan mengekspor kredensial JSON-nya dengan nama file local_service_account_key.json.
  2. Pasang kredensial JSON dalam volume yang dapat diakses oleh image. Dengan docker run, Anda dapat menentukan -v local_service_account_key.json:/app/service_account_key.json untuk memasang kredensial di image.
  3. Arahkan variabel lingkungan GOOGLE_APPLICATION_CREDENTIALS ke kredensial.
  4. Secara opsional, tentukan project ID Google Cloud Anda di variabel lingkungan GOOGLE_CLOUD_PROJECT untuk memungkinkan server pemberian tag memilih project secara implisit.
  5. Jalankan server. Perintah berikut menjalankan server pemberian tag dengan kredensial yang disertakan:

    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
    

Bergantung pada sistem yang digunakan untuk deployment server pemberian tag, kemungkinan ada cara berbeda untuk memasang kredensial. Misalnya, Kubernetes dan Docker Swarm memberikan panduan untuk mengelola secret. Lihat panduan sistem terkait untuk mendapatkan informasi selengkapnya.

Pastikan untuk mengikuti praktik terbaik guna melindungi kredensial Anda.

Menyediakan server pratinjau secara manual

Server pratinjau memungkinkan Anda melihat pratinjau penampung server. Untuk menjalankan server pratinjau, jalankan image Docker dengan variabel lingkungan berikut yang diteruskan ke lingkungan Docker.

Setelan yang diperlukan

  • CONTAINER_CONFIG - String konfigurasi untuk penampung server. Di Tag Manager, buka ruang kerja penampung server Anda, lalu klik ID penampung di kanan atas halaman. Klik Penyediaan server pemberian tag secara manual untuk menemukan nilai Konfigurasi Penampung.

  • RUN_AS_PREVIEW_SERVER - Tetapkan string ini ke true untuk menyediakan server sebagai server pratinjau.

Contoh penggunaan alat command line Docker

Untuk menyediakan server pratinjau secara lokal, jalankan string berikut:

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

Anda akan dapat melihat respons 200 dari permintaan ke http://localhost:8080/healthz. Atau, gunakan variabel lingkungan PORT untuk mengubah port.

Praktik terbaik

  • Anda hanya boleh men-deploy 1 server pratinjau. Jangan mengonfigurasi penskalaan otomatis melebihi 1 instance.
  • Setelah menyiapkan server pratinjau menggunakan Docker, konfigurasi URL HTTPS agar mengarah ke server pratinjau. Langkah ini diperlukan untuk menyiapkan cluster SST.
  • Load balancer atau CDN harus memiliki waktu tunggu lebih dari 20 detik, atau mode pratinjau tidak akan berfungsi dengan benar.

Menyediakan cluster pemberian tag sisi server secara manual

Cluster SST berfungsi sebagai titik entri, menjadi perantara untuk mengirim permintaan pratinjau ke server pratinjau, dan menangani semua permintaan lainnya seperti yang dijelaskan dalam Pengantar pemberian tag sisi server. Gunakan setelan yang diperlukan berikut ini dengan image Docker server pemberian tag untuk menyediakan cluster SST di lingkungan apa pun yang mendukung Docker.

Setelan yang diperlukan

  • CONTAINER_CONFIG - String konfigurasi untuk penampung server. Di Tag Manager, buka ruang kerja penampung server Anda, lalu klik ID penampung di kanan atas halaman. Klik Penyediaan server pemberian tag secara manual untuk menemukan nilai Konfigurasi Penampung.

  • PREVIEW_SERVER_URL - URL HTTPS untuk server pratinjau. Setelan ini hanya boleh ditetapkan untuk menyediakan server pemberian tag dan tidak diperlukan untuk menyediakan server pratinjau. Lihat bagian di atas untuk panduan tentang cara menyiapkan server pratinjau.

Contoh penggunaan alat command line Docker

Untuk menyediakan satu server pemberian tag secara lokal, jalankan hal berikut:

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

Anda akan melihat respons 200 dari permintaan ke http://localhost:8080/healthz. Atau, gunakan variabel lingkungan PORT untuk mengubah port.

Praktik terbaik

  • Server pemberian tag sisi server dapat disediakan sebagai satu server atau sebagai cluster. Sebaiknya Anda menyediakannya sebagai cluster untuk ketersediaan, skalabilitas, dan performa yang lebih baik. Perhatikan bahwa saat menyediakan sebagai cluster, setiap instance server harus dikonfigurasi dengan variabel lingkungan CONTAINER_CONFIG dan PREVIEW_SERVER_URL yang sama.
  • Pastikan untuk mengarahkan deployment cluster SST ke subdomain baru di situs yang terpisah dari subdomain yang menayangkan aplikasi. Misalnya, jika aplikasi Anda menayangkan traffic web di example.com, gunakan subdomain seperti analytics.example.com untuk server pemberian tag.
  • Setelah menyiapkan cluster SST menggunakan Docker, konfigurasikan URL HTTPS agar mengarah ke cluster SST.
  • Pastikan untuk memulai ulang server secara berkala untuk memastikan server Anda memiliki update kode terbaru untuk SST. Jika hal ini tidak dilakukan, fungsi fitur SST yang baru mungkin menjadi tidak kompatibel. Salah satu cara mengetahui kapan server perlu dimulai ulang adalah dengan menyiapkan pemeriksaan keaktifan, yang dijelaskan lebih lanjut di bawah. Selain itu, perhatikan bahwa setiap update yang dipublikasikan ke penampung server Anda tetap akan diterapkan tanpa memulai ulang.
  • Gunakan endpoint /healthz yang ada (misalnya, https://analytics.example.com/healthz) di server pemberian tag untuk menyiapkan pemeriksaan keaktifan. Respons yang negatif menunjukkan bahwa server harus dimulai ulang.
  • Penampung Docker mencakup perintah health check default—HEALTHCHECK CMD ["/nodejs/bin/node", "/app/health_checker_bin.js"]—yang mengirimkan kueri endpoint /healthz secara berkala. Jika Anda mengandalkan health check Docker, Anda dapat mengubah setelan dengan mengikuti petunjuk Docker.
  • Jika server pratinjau dan server pemberian tag memiliki asal yang sama, lakukan hosting server pratinjau di jalur yang berbeda dari server pemberian tag. Tentukan PREVIEW_SERVER_URL yang mencakup jalur tersebut.
  • Server yang disediakan harus memiliki maksimal 1 vCPU. vCPU tambahan tidak akan digunakan dan berdampak negatif pada penskalaan otomatis.

Validasi

Mengonfigurasi URL penampung server

Di Tag Manager, buka penampung server Anda. Di bagian Admin > Setelan Penampung, masukkan URL server pemberian tag ke kolom URL penampung server dan klik Simpan.

Memverifikasi melalui mode pratinjau

Di ruang kerja Tag Manager, lihat pratinjau penampung dengan mengklik Pratinjau dan lihat apakah halaman pratinjau dimuat. Di tab browser lain, buka jalur mana pun di URL penampung server. Jika halaman pratinjau menampilkan permintaan yang dikirim, berarti semuanya telah disiapkan dengan benar.

Jika Anda telah memetakan beberapa subdomain ke satu server pemberian tag dan Anda ingin mempratinjau setiap subdomain, tambahkan URL penampung server lainnya di bagian Admin > Setelan Penampung. Jika ada beberapa URL yang disediakan, semua jalur URL harus cocok (string informasi yang muncul setelah nama domain). Misalnya, Anda dapat mempratinjau example.com/abc dan example2.com/abc, tetapi Anda tidak dapat mempratinjau example.com/abc dan example2.com/def. Jika ada beberapa URL yang ditambahkan, Anda akan melihat ikon di samping tombol Pratinjau untuk memilih URL yang akan dipratinjau.

Mengupdate versi server pemberian tag

Image gtm-cloud-image berisi Node.js dan library yang diperlukan agar server pemberian tag berfungsi. Image Docker diupdate secara berkala untuk menerapkan perbaikan keamanan dan fitur baru. Sebaiknya update server pemberian tag Anda untuk setiap rilis versi utama (mis., mengupgrade dari versi 1.x.x ke 2.x.x).

Untuk mengupdate image Docker:

  1. Ambil versi image saat ini di gcr.io/cloud-tagging-10302018/gtm-cloud-image:stable.
  2. Deploy server Anda dengan setelan yang sama seperti deployment sebelumnya.
  3. Update server pratinjau tunggal dan semua server pemberian tag di cluster.
  4. Nonaktifkan semua server lama.

Untuk memverifikasi 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.