Guida alla configurazione manuale

Il flusso di provisioning automatico può essere utilizzato per eseguire il deployment del server di tagging in Cloud Run in pochi clic. Se vuoi eseguire il provisioning del server di tagging in in altri ambienti, puoi farlo manualmente. Il server di tagging è un file Node.js un server web all'interno di un'immagine Docker.

Il provisioning manuale del server di tagging richiede il provisioning lato server di tagging (SST) e di un server di anteprima separatamente. Il cluster SST è per tutte le richieste al server di tagging e gestirà le richieste descritta in Introduzione al tagging lato server. Il server di anteprima è necessarie per visualizzare l'anteprima di un contenitore.

La figura 1 mostra un'illustrazione dell'interazione tra i dati di tagging tra i server e il server di anteprima.

Diagramma del flusso di dati dei server di tagging e di anteprima

Figura 1: un diagramma dei server di tagging e del flusso di dati in anteprima del server.

Questa guida spiega come:

  • Visualizza tutte le impostazioni disponibili per l'immagine Docker.
  • (Facoltativo) Includi le credenziali BigQuery
  • Esegui manualmente il provisioning di un server di anteprima utilizzando l'immagine Docker SST.
  • Esegui manualmente il provisioning di un cluster SST utilizzando l'immagine Docker SST.
  • Verifica che il server di anteprima e il cluster SST siano configurati correttamente.
  • Mantieni aggiornata la versione del server di tagging dopo aver eseguito il provisioning del server.

Per eseguire i comandi Docker in questa guida, devi prima installare Docker sul computer.

Visualizza tutte le impostazioni disponibili per l'immagine Docker

L'immagine Docker del server di tagging è disponibile a questo URL:

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

Il server di tagging e il server di anteprima utilizzano la stessa immagine Docker con diversi e i flag facoltativi. In questa sezione, illustreremo come cercare tutte le impostazioni disponibili che possono essere utilizzate con l'immagine Docker.

Per visualizzare tutte le impostazioni disponibili, esegui il comando riportato di seguito utilizzando strumento a riga di comando dock:

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

(Facoltativo) Includi le credenziali Google Cloud

Per utilizzare l'API BigQuery o Firestore al di fuori di Google Cloud, devi una credenziale dell'account di servizio che sia autorizzata ad accedere Google Cloud.

  1. Segui questa guida per creare un account di servizio con BigQuery Data Ruolo Editor per l'accesso BigQuery o Utente Cloud Datastore per Firestore accede alle proprie credenziali JSON ed esportale con il nome file local_service_account_key.json.
  2. Monta la credenziale JSON in un volume accessibile all'immagine. Utilizzando docker run, puoi specificare -v local_service_account_key.json:/app/service_account_key.json per montare e le credenziali dell'immagine.
  3. Punta la variabile di ambiente GOOGLE_APPLICATION_CREDENTIALS alla la credenziale.
  4. Se vuoi, specifica il tuo ID progetto Google Cloud nel GOOGLE_CLOUD_PROJECT variabile di ambiente per consentire al server di tagging scegliere in modo implicito il progetto.
  5. Esegui il server. Il comando seguente esegue il server di tagging con credenziali incluse:

    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
    

A seconda del sistema su cui è dipiegato il server di tagging, potrebbero essere disponibili diversi modi per montare le credenziali. Ad esempio, Kubernetes e Docker Swarm fornisce guide per la gestione dei secret. Fai riferimento al tuo guida di sistema per ulteriori informazioni.

Assicurati di seguire le best practice per proteggere le tue credenziali.

Esegui manualmente il provisioning di un server di anteprima

Il server di anteprima consente di visualizzare in anteprima il contenitore del server. Per eseguire il server di anteprima, esegui l'immagine Docker con il seguente ambiente variabili passate all'ambiente Docker.

Impostazioni richieste

  • CONTAINER_CONFIG: la stringa di configurazione per il contenitore del server. In Tag Manager, vai all'area di lavoro del contenitore del server e fai clic sull'ID contenitore in alto a destra nella pagina. Fai clic su Provisioning manuale di tagging per trovare il valore Configurazione container.

  • RUN_AS_PREVIEW_SERVER: imposta questa opzione su true per eseguire il provisioning del server come server di anteprima.

Esempio di utilizzo dello strumento a riga di comando Docker

Per eseguire il provisioning locale di un server di anteprima, esegui questo comando:

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

Dovresti riuscire a visualizzare la risposta 200 di una richiesta a http://localhost:8080/healthz. Se vuoi, puoi utilizzare la variabile di ambiente PORT per cambiare la porta.

Best practice

  • Devi eseguire il deployment di un solo server di anteprima. Non configurare la scalabilità automatica oltre 1 istanza.
  • Dopo aver configurato un server di anteprima mediante Docker, configura un URL HTTPS da utilizzare punta al server di anteprima. Questa operazione è necessaria per configurare il cluster SST.
  • Il bilanciatore del carico o la CDN deve avere un timeout superiore a 20 secondi altrimenti la modalità di anteprima non funzionerà correttamente.

Esegui manualmente il provisioning di un cluster di tagging lato server

Il cluster SST funge da punto di ingresso, esegue il proxy delle richieste di anteprima server di anteprima e gestisce tutte le altre richieste come descritto in Introduzione al tagging lato server. Utilizza le seguenti impostazioni obbligatorie con l'immagine Docker del server di tagging per eseguire il provisioning di un cluster SST in che supporta Docker.

Impostazioni richieste

  • CONTAINER_CONFIG: la stringa di configurazione per il contenitore del server. Nel Tag Manager, vai all'area di lavoro del contenitore del server e fai clic l'ID contenitore in alto a destra nella pagina. Fai clic su Provisioning manuale di tagging per trovare il valore Configurazione container.

  • PREVIEW_SERVER_URL: l'URL HTTPS del server di anteprima. Questa impostazione deve essere impostato solo per il provisioning del server di tagging e non è necessario il provisioning del server di anteprima. Consulta la sezione precedente per una guida alla configurazione del server di anteprima.

Esempio di utilizzo dello strumento a riga di comando Docker

Per eseguire il provisioning locale di un singolo server di tagging, esegui questo comando:

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

Dovresti visualizzare una risposta 200 di una richiesta a http://localhost:8080/healthz. Se vuoi, puoi utilizzare la variabile di ambiente PORT per cambiare la porta.

Best practice

  • Il provisioning dei server di tagging lato server può essere eseguito come un singolo server come cluster. Ti consigliamo di eseguirne il provisioning come cluster per migliorare la disponibilità, la scalabilità e le prestazioni. Tieni presente che quando esegui il provisioning come cluster, ogni istanza del server deve essere configurata con le stesse variabili di ambiente CONTAINER_CONFIG e PREVIEW_SERVER_URL.
  • Assicurati di indirizzare il deployment del cluster SST a un nuovo sottodominio sul tuo sito web, separato dal sottodominio che gestisce la tua applicazione. Ad esempio, se la tua applicazione serve traffico web su example.com, utilizza un sottodominio come analytics.example.com per il server di tagging.
  • Dopo aver configurato un cluster SST utilizzando Docker, configura un URL HTTPS puntano al cluster SST.
  • Assicurati di riavviare periodicamente i server per assicurarti che gli ultimi aggiornamenti del codice per SST. In caso contrario, l'account potrebbe essere incompatibile per le nuove caratteristiche SST. Un modo per sapere quando il server deve riavvio è la configurazione dei controlli di attività, che è spiegato più dettagliatamente di seguito. Inoltre, tieni presente che qualsiasi aggiornamento pubblicato al contenitore del server possono essere applicati senza un riavvio.
  • Utilizza l'endpoint /healthz esistente (ad es. https://analytics.example.com/healthz) sui server di tagging per configurare e controlli di attività. Una risposta non integro indica che il server dovrebbe essere è stata riavviata.
  • Il container Docker include un comando di controllo di integrità predefinito, HEALTHCHECK CMD ["/nodejs/bin/node", "/app/health_checker_bin.js"], che esegue una query sul /healthz endpoint periodicamente. Se dipendi dal controllo di integrità di Docker, puoi modificare le impostazioni seguendo le istruzioni di Docker.
  • Se il server di anteprima e il server di tagging si trovano nella stessa origine, ospita il server di anteprima su un percorso diverso da quello del server di tagging. Specifica PREVIEW_SERVER_URL incluso il percorso.
  • I server di cui è stato eseguito il provisioning devono avere al massimo 1 vCPU. Le vCPU aggiuntive non sono utilizzato e influisce negativamente sulla scalabilità automatica.

Convalida

Configura l'URL del contenitore del server

In Tag Manager, vai al contenitore del server. In Amministrazione > Contenitore Impostazioni inserisce l'URL del server di tagging nell'URL contenitore del server. e fai clic su Salva.

Verifica tramite la modalità di anteprima

Nell'area di lavoro di Tag Manager, visualizza l'anteprima del contenitore facendo clic su Anteprima e vedrai che viene caricata la pagina di anteprima. In un'altra scheda del browser, passa a un percorso qualsiasi l'URL del contenitore del server. Se la pagina di anteprima mostra la richiesta inviata, se tutto è configurato correttamente.

Se hai mappato più sottodomini a un singolo server di tagging e vuoi visualizzare l'anteprima su ogni sottodominio, aggiungi altri URL del contenitore del server in Amministrazione > Impostazioni contenitore. Se vengono forniti più URL, tutti i percorsi degli URL devono corrispondere (la stringa di informazioni che segue il nome di dominio). Per esempio, puoi visualizzare l'anteprima su example.com/abc e example2.com/abc, ma non può visualizzare l'anteprima su example.com/abc e example2.com/def. Se vengono visualizzati più URL aggiunta, vedrai un'icona accanto al pulsante Anteprima che ti consente di: seleziona l'URL su cui visualizzare l'anteprima.

Aggiorna la versione del server di tagging

Il riquadro gtm-cloud-image contiene Node.js e le librerie necessarie per l'architettura di tagging per il suo funzionamento. L'immagine Docker viene aggiornata periodicamente correzioni di sicurezza e nuove funzionalità. Ti consigliamo di aggiornare almeno il server di tagging per ogni release della versione principale (ad esempio, l'upgrade dalla versione 1.x.x alla 2.x.x).

Per aggiornare l'immagine Docker:

  1. Recupera la versione attuale dell'immagine all'indirizzo gcr.io/cloud-tagging-10302018/gtm-cloud-image:stable.
  2. Esegui il deployment del tuo server con le stesse impostazioni del deployment precedente.
  3. Aggiorna il singolo server di anteprima e tutti i server di tagging nel cluster.
  4. Arresta i vecchi server.

Per verificare che l'aggiornamento sia andato a buon fine:

  1. Nel contenitore del server, fai clic sul pulsante Anteprima per avviare un nuovo debug e invia una richiesta su una scheda separata.
  2. In Riepilogo, seleziona la scheda Console e assicurati che non siano presenti messaggi che chiedono di aggiornare il server di tagging.

Tag Manager potrebbe mostrare messaggi che ti chiedono di aggiornare il server di tagging per fino a un giorno dopo che il server è stato aggiornato correttamente. Tuttavia, l'anteprima mostrerà un messaggio aggiornato sulla versione del server di tagging.