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.
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.
- Ikuti panduan ini untuk membuat akun layanan dengan peran BigQuery Data Editor untuk akses
BigQuery
atau peran Cloud Datastore User untuk aksesFirestore
dan mengekspor kredensial JSON-nya dengan nama filelocal_service_account_key.json
. - 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. - Arahkan variabel lingkungan
GOOGLE_APPLICATION_CREDENTIALS
ke kredensial. - Secara opsional, tentukan project ID Google Cloud Anda di variabel lingkungan
GOOGLE_CLOUD_PROJECT
untuk memungkinkan server pemberian tag memilih project secara implisit. 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 ketrue
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
danPREVIEW_SERVER_URL
yang sama. - Pastikan untuk menghosting server pemberian tag di origin yang sama (praktik terbaik) atau sebagai subdomain situs Anda saat ini. Misalnya, jika aplikasi Anda menayangkan traffic web di example.com, gunakan jalur seperti example.com/analytics untuk server pemberian tag. Pelajari konfigurasi domain kustom lebih lanjut.
- 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:
- Ambil versi image saat ini di
gcr.io/cloud-tagging-10302018/gtm-cloud-image:stable
. - Deploy server Anda dengan setelan yang sama seperti deployment sebelumnya.
- Update server pratinjau tunggal dan semua server pemberian tag di cluster.
- Nonaktifkan semua server lama.
Untuk memverifikasi bahwa update berhasil:
- Di penampung server, klik tombol Pratinjau untuk memulai sesi debug baru dan mengirim permintaan di tab terpisah.
- 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.