Konfigurowanie tagowania po stronie serwera za pomocą Cloud Run

Z tego przewodnika dowiesz się, jak:

  • Zarezerwuj serwer podglądu, aby włączyć funkcję podglądu dla kontenera.
  • Skonfiguruj serwer tagowania, aby obsługiwał ruch na żywo.
  • Zwiększ lub zmniejsz liczbę serwerów, na których działa kontener Menedżera tagów Google.
  • Po skonfigurowaniu serwera aktualizuj jego wersję.

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 takiego konta, utwórz konto rozliczeniowe GCP (wymaga to roli „Twórca konta rozliczeniowego”).
  3. Musisz mieć rolę twórcy projektu i użytkownika konta rozliczeniowego. Dowiedz się więcej o dodawaniu ról.

Konfigurowanie 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 uruchamianie co najmniej 2 instancji, aby zmniejszyć ryzyko utraty danych w przypadku awarii serwera. Możesz jednak uruchomić mniej (lub więcej) serwerów. Szacujemy, że automatyczne skalowanie 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 się dynamicznie skalować w zależności od obciążenia. Ustawienie max-instances to najgorszy scenariusz, jeśli chodzi o to, ile zapłacisz za zasoby. Cloud Run nie udostępni tak wielu instancji, chyba że będzie to konieczne.

Kalkulator Cloud Run

Opcjonalnie: migracja z App Engine

Jeśli wcześniej utworzono wdrożenie App Engine i potwierdzono, że nie jest ono już dostępne dla użytkowników, wyłącz aplikację App Engine, aby zapobiec nieoczekiwanym opłatom.

Opcjonalnie: wdrożenie w wielu regionach

Jeśli Twoja witryna jest dostępna na całym świecie lub chcesz zapewnić redundancję usługi, wdróż serwery tagowania w wielu regionach.

Zanim zaczniesz:

  1. Utworzenie systemu równoważenia obciążenia
  2. Zapisz wybraną wartość 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 korzystasz z opcji wiersza poleceń, aby skonfigurować serwer podglądu i tagowania, może być ono już wypełnione.
  2. Zastąp CONTAINER_CONFIG ciągiem znaków konfiguracji kontenera z Menedżera tagów. Jeśli opcje wiersza poleceń zostały już użyte do zainstalowania serwera podglądu i tagowania, może być ono już wypełnione.
  3. Zastąp NEW_REGION nowym regionem, w którym chcesz wdrożyć serwer tagowania.
  4. Zastąp BACKEND_NAME nazwą wybraną podczas alokacji systemu równoważenia obciążenia.
  5. Opcjonalnie: aby dodać inny 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 Twój serwer tagowania obsługuje dużo żądań miesięcznie (np. ponad 1 mln), te komunikaty mogą spowodować znaczne opłaty za rejestrowanie. Aby zmniejszyć lub wyeliminować opłaty za rejestrowanie, zalecamy wyłączenie rejestrowania żądań.

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

  1. Na platformie Google Cloud otwórz Router logów. Upewnij się, że jesteś w projekcie, który odpowiada identyfikatorowi kontenera:
    Zrzut ekranu z selektorem projektu GCP pokazujący przykładowy identyfikator kontenera Menedżera tagów
  2. W polu Typ: Zbiornik Cloud Logging, Nazwa: _Domyślny wybierz menu przepełnienia, a potem kliknij Edytuj odbiornik.
  3. W sekcji Miejsce docelowe ujścia wybierz zasobnik logów _Default.
  4. W sekcji Wybierz logi do uwzględnienia w ujściu dodaj nową linię. Dodaj do istniejącego filtra uwzględniającego tę regułę:

    NOT LOG_ID("run.googleapis.com/requests")
    
  5. Aby wyłączyć również rejestrowanie z równoważnika obciążenia, dodaj nową linię i wpisz tę regułę do istniejącego filtra uwzględniania:

    NOT LOG_ID("requests")
    
  6. Aby zastosować zmiany, kliknij Zaktualizuj ujście. Te żądania zostaną wykluczone z rejestrowania.

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

Logowanie w konsoli

Serwer tagowania, klienci lub tagi w kontenerze mogą rejestrować wiadomości w konsoli, co może powodować opłaty za rejestrowanie. Aby zmniejszyć lub wyeliminować opłaty za rejestrowanie, możesz wyłączyć niechciane komunikaty z konsoli.

Wykrywanie niechcianych dzienników konsoli:

  1. W GCP otwórz Eksplorator logów.
  2. Wyszukaj niechciane komunikaty logowania 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()
    

    Odpowiednie komunikaty dziennika znajdziesz w polu textPayload:
    Zrzut ekranu eksploratora logów GCP z przykładowymi logami

Aby wyłączyć komunikat w konsoli:

  1. Na platformie Google Cloud otwórz Router logów. Upewnij się, że jesteś w projekcie, który odpowiada identyfikatorowi kontenera:
    Zrzut ekranu z selektorem projektu GCP pokazujący przykładowy identyfikator kontenera Menedżera tagów
  2. W polu Typ: Zbiornik Cloud Logging, Nazwa: _Domyślny wybierz menu przepełnienia, a potem kliknij Edytuj odbiornik.
  3. W sekcji Miejsce docelowe ujścia wybierz zasobnik logów _Default.
  4. W sekcji Wybierz logi do uwzględnienia w ujściu dodaj nową linię. Dodaj do istniejącego filtra uwzględniającego tę regułę:

    NOT textPayload:"Custom message:"
    

    W przypadku logów konsoli zastąp tekst Custom message: podciągiem znaków z logu konsoli, który chcesz wyłączyć. Aby tworzyć bardziej zaawansowane filtry, użyj języka zapytań dotyczących logów.

  5. Aby zastosować zmiany, kliknij Zaktualizuj ujście. Odpowiadająca wiadomość logToConsole powinna zostać wykluczona z rejestrowania.

  6. Sprawdź, czy w eksploratorze logów nie pojawiają się żadne nowe komunikaty z dziennika konsoli.

2. Mapowanie wdrożenia na domenę niestandardową

Aby skonfigurować domenę niestandardową, użyj globalnego zewnętrznego systemu równoważenia obciążenia aplikacji.

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 ma wskazywać 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, oznacza to, że wszystko jest prawidłowo skonfigurowane.

Wyświetlanie podglądu wielu adresów URL

Jeśli masz zmapowane wiele domen na jeden serwer tagowania, sprawdź, czy każdy 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ć takie same.

Działanie 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 zobaczysz ikonę, która pozwoli Ci wybrać adres URL, którego podgląd chcesz wyświetlić.

Aktualizacja wersji serwera tagowania

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

Aby zaktualizować serwer tagowania, wdrocz nową wersję, używając tych samych ustawień.

  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 ma wartość gcr.io/cloud-tagging-10302018/gtm-cloud-image:stable, a następnie kliknij Wdróż.

Aby sprawdzić, czy aktualizacja przebiegła prawidłowo:

  1. W kontenerze serwera kliknij przycisk Podgląd, aby rozpocząć nową sesję debugowania i wysłać żądanie na osobnej karcie.
  2. W sekcji Podsumowanie kliknij kartę Konsola i upewnij się, że nie ma żadnych 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 przez okres do 1 dnia po jego zaktualizowaniu. Na stronie podglądu pojawi się jednak aktualny komunikat o wersji serwera tagowania.