Konfigurowanie tagowania po stronie serwera za pomocą Cloud Run

Z tego przewodnika dowiesz się, jak:

  • Skonfiguruj serwer podglądu, aby włączyć funkcję podglądu kontenera.
  • Skonfiguruj serwer tagowania do obsługi ruchu w sieci.
  • Zwiększ lub zmniejsz liczbę serwerów, na których działa kontener Menedżera tagów Google.
  • Po skonfigurowaniu serwera tagowania dbaj o to, aby jego wersja była aktualna.

Wymagania wstępne

  1. Musisz mieć konto GCP. Jeśli nie masz konta, utwórz nowe konto GCP.
  2. Musisz mieć konto rozliczeniowe GCP. Jeśli nie masz konta rozliczeniowego GCP, utwórz je (wymaga roli Twórca konta rozliczeniowego).
  3. Musisz mieć przypisane role twórcy projektu i użytkownika konta rozliczeniowego. Dowiedz się więcej o dodawaniu ról.

Udostępnianie serwera podglądu i serwera tagowania

Usługę Cloud Run możesz skonfigurować automatycznie w Menedżerze tagów Google lub ręcznie w Google Cloud.

Edytowanie konfiguracji usługi

Aby zmienić konfigurację usługi:

  1. Otwórz Cloud Run.
  2. Wybierz usługę, którą chcesz dostosować.
  3. Kliknij Edytuj i wdróż nową wersję.
  4. Wprowadź zmiany i kliknij Wdróż.

Koszt Cloud Run

W tej konfiguracji Cloud Run każdy serwer kosztuje około 45 USD miesięcznie. Każdy serwer to instancja Cloud Run z 1 procesorem wirtualnym i 0,5 GB pamięci, która korzysta z modelu cenowego z zawsze przydzielonym procesorem.

Zalecamy uruchomienie co najmniej 2 instancji, aby zmniejszyć ryzyko utraty danych w przypadku awarii serwera. Możesz jednak uruchomić mniejszą (lub większą) liczbę serwerów. Oczekujemy, że autoskalowanie 2–10 serwerów obsłuży 35–350 żądań na sekundę, choć wydajność będzie się różnić w zależności od liczby tagów i ich funkcji.

Cloud Run będzie dynamicznie skalować się w zależności od obciążenia. Ustawienie max-instances to najgorszy scenariusz dotyczący tego, ile będziesz musieć zapłacić za zasoby. Cloud Run nie udostępni tylu instancji, chyba że będzie to konieczne.

Szacowanie kosztów Cloud Run

Aby oszacować miesięczny koszt działania serwerów tagowania, skorzystaj z Kalkulatora cen Google Cloud. Kalkulator otworzy się ze wstępnie skonfigurowanym oszacowaniem domyślnego wdrożenia tagowania po stronie serwera. Możesz dostosować ustawienia, aby uzyskać dokładniejszy szacunek na podstawie oczekiwanego ruchu.

Opcjonalnie: migracja z App Engine

Jeśli masz wdrożenie App Engine i masz pewność, że nie otrzymuje ono już żadnego ruchu, wyłącz aplikację App Engine, aby uniknąć nieoczekiwanych opłat.

Opcjonalnie: wdrożenie w wielu regionach

Jeśli Twoja witryna ma zasięg globalny lub chcesz zapewnić nadmiarowość usługi, wdróż serwery tagowania w wielu regionach.

Zanim zaczniesz:

  1. Utwórz system równoważenia obciążenia
  2. Zanotuj wybraną BACKEND_NAME.

Aby dodać więcej regionów do wdrożenia:

  1. Zastąp REGION regionem, w którym jest wdrożony serwer podglądu. Jeśli podczas konfigurowania serwera podglądu i tagowania używasz opcji wiersza poleceń, to pole może być już wypełnione.
  2. Zastąp ciąg CONTAINER_CONFIG ciągiem znaków konfiguracji kontenera z Menedżera tagów. To pole może być już wypełnione, jeśli podczas konfigurowania serwera podglądu i serwera tagowania użyto opcji wiersza poleceń.
  3. Zastąp NEW_REGION nowym regionem, w którym chcesz wdrożyć serwer tagowania.
  4. Zastąp BACKEND_NAME nazwą wybraną podczas udostępniania systemu równoważenia obciążenia.
  5. Opcjonalnie: aby dodać kolejny region, zastąp zmienną NEW_REGION i ponownie uruchom fragment kodu.
    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

Opcjonalnie: wyłącz logowanie

Logowanie żądań

Domyślnie rejestrowane są informacje o każdym żądaniu (np.ścieżka żądania, parametry zapytania itp.). Jeśli serwer tagowania obsługuje wiele żądań miesięcznie (np. ponad milion), te wiadomości dziennika mogą generować znaczne opłaty za logowanie. Aby zmniejszyć lub wyeliminować opłaty za logowanie, zalecamy wyłączenie logowania żądań.

Aby wyłączyć rejestrowanie żądań:

  1. Na platformie Google Cloud otwórz Router dzienników. Upewnij się, że jesteś w projekcie, który pasuje do identyfikatora kontenera:
    zrzut ekranu selektora projektu GCP z przykładowym identyfikatorem kontenera Menedżera tagów;
  2. W wierszu Typ: Zasobnik Cloud Logging, Nazwa: _Default kliknij menu przepełnienia, a następnie Edytuj ujście.
  3. W sekcji Miejsce docelowe ujścia wybierz zasobnik logów _Default.
  4. W sekcji Wybierz logi do uwzględnienia w ujściu dodaj nowy wiersz. Wpisz w istniejącym filtrze uwzględniającym tę regułę:

    NOT LOG_ID("run.googleapis.com/requests")
    
  5. Aby wyłączyć rejestrowanie z usługi równoważenia obciążenia, dodaj nowy wiersz i wpisz w istniejącym filtrze uwzględniania tę regułę:

    NOT LOG_ID("requests")
    
  6. Aby zastosować zmiany, kliknij Zaktualizuj ujście. Żądania nie będą już rejestrowane.

  7. Sprawdź, czy w logach Eksploratora logów nie pojawiają się nowe żądania.

Logowanie w konsoli

Serwer tagowania, klienci lub tagi w kontenerze mogą rejestrować w konsoli komunikaty, które mogą generować opłaty za rejestrowanie. Aby zmniejszyć lub wyeliminować opłaty za logowanie, możesz wyłączyć niechciane komunikaty konsoli.

Identyfikowanie niechcianych logów konsoli:

  1. W GCP otwórz eksplorator logów.
  2. Wyszukaj niechciane wiadomości dziennika pochodzące z tagów. Przykład:

    Tag może wysyłać te logi:

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

    W polu textPayload
    znajdź odpowiednie komunikaty dziennika:zrzut ekranu eksploratora logów GCP z przykładowymi logami;

Aby wyłączyć komunikat dziennika konsoli:

  1. Na platformie Google Cloud otwórz Router dzienników. Upewnij się, że jesteś w projekcie, który pasuje do identyfikatora kontenera:
    zrzut ekranu selektora projektu GCP z przykładowym identyfikatorem kontenera Menedżera tagów;
  2. W wierszu Typ: Zasobnik Cloud Logging, Nazwa: _Default kliknij menu przepełnienia, a następnie Edytuj ujście.
  3. W sekcji Miejsce docelowe ujścia wybierz zasobnik logów _Default.
  4. W sekcji Wybierz logi do uwzględnienia w ujściu dodaj nowy wiersz. Wpisz w istniejącym filtrze uwzględniającym tę regułę:

    NOT textPayload:"Custom message:"
    

    W przypadku logów konsoli zastąp Custom message:tekstCustom message: podciągiem z logu konsoli, który chcesz wyłączyć. Aby uzyskać bardziej złożone filtry, użyj języka zapytań usługi Logging.

  5. Aby zastosować zmiany, kliknij Zaktualizuj ujście. Dopasowana wiadomość logToConsole powinna zostać wykluczona z logowania.

  6. Sprawdź, czy w eksploratorze logów nie pojawiają się nowe komunikaty logu konsoli.

2. Mapowanie wdrożenia na domenę niestandardową

Skonfiguruj domenę niestandardową, aby używać domeny innej niż domyślny adres udostępniany przez Cloud Run.

3. Dodawanie adresu URL serwera do Menedżera tagów Google

Teraz, gdy masz już serwer, musisz się upewnić, że Menedżer tagów Google wie, że ma go używać.

  1. Otwórz Menedżera tagów Google.

  2. Kliknij kontener serwera, który chcesz wskazać na serwer tagowania.

  3. Otwórz ustawienia kontenera serwera na karcie Administracja > Ustawienia kontenera.

  4. Kliknij Dodaj URL i wklej adres URL serwera.

  5. Zapisz i wróć do obszaru roboczego.

4. Weryfikacja

Po skonfigurowaniu serwera tagowania sprawdź, czy działa on zgodnie z oczekiwaniami. W obszarze roboczym Menedżera tagów kliknij przycisk Podgląd. Jeśli strona podglądu się wczyta, wszystko jest skonfigurowane prawidłowo.

Wyświetlanie podglądu wielu adresów URL

Jeśli masz zmapowanych wiele domen na jeden serwer tagowania, upewnij się, że każdy adres URL został dodany do ustawień kontenera.

Jeśli podasz kilka adresów URL, wszystkie ścieżki (ciąg znaków po nazwie domeny) muszą być dopasowane.

Prace Nie działa
URL 1: example.com/abc
URL 2: example2.com/abc
URL 1: example.com/abc
URL 2: example2.com/def

Jeśli dodasz kilka adresów URL, obok przycisku Podgląd pojawi się ikona, która umożliwia wybranie adresu URL do wyświetlenia w podglądzie.

Aktualizowanie wersji serwera tagowania

Nowe aktualizacje serwera tagowania zawierają poprawki luk w zabezpieczeniach i nowe funkcje. Zalecamy aktualizowanie serwera tagowania co najmniej w przypadku każdej głównej wersji (np. przejście z wersji 1.x.x na 2.x.x), gdy Menedżer tagów wyświetli powiadomienie o konieczności aktualizacji.

Aby zaktualizować serwer tagowania, wdróż nową wersję, używając tych samych ustawień co wcześniej.

  1. Otwórz Cloud Run.
  2. Wybierz usługę, którą chcesz zaktualizować.
  3. Kliknij Edytuj i wdróż nową wersję.
  4. Upewnij się, że Adres URL obrazu kontenera jest ustawiony na gcr.io/cloud-tagging-10302018/gtm-cloud-image:stable, i kliknij Wdróż.

Aby sprawdzić, czy aktualizacja się powiodła:

  1. W kontenerze serwera kliknij przycisk Podgląd, aby rozpocząć nową sesję debugowania i wysłać żądanie na oddzielnej karcie.
  2. W sekcji Podsumowanie kliknij kartę Konsola i sprawdź, czy nie ma komunikatów z prośbą o zaktualizowanie serwera tagowania.

Menedżer tagów może wyświetlać komunikaty z prośbą o zaktualizowanie serwera tagowania nawet przez dzień po jego pomyślnej aktualizacji. Na stronie podglądu będzie jednak wyświetlany aktualny komunikat o wersji serwera tagowania.