Przewodnik konfiguracji ręcznej

Proces automatycznej konfiguracji umożliwia wdrożenie serwera tagowania w Cloud Run za pomocą kilku kliknięć. Jeśli chcesz udostępnić serwer tagowania w innych środowiskach, możesz to zrobić ręcznie. Serwer tagowania to serwer Node.js wewnątrz obrazu Dockera.

Samodzielne konfigurowanie serwera tagowania wymaga oddzielnego skonfigurowania klastra tagowania po stronie serwera i serwera podglądu. Klaster SST jest punktem wejścia dla wszystkich żądań wysyłanych do serwera tagowania i obsługuje je w sposób opisany w artykule Wprowadzenie do tagowania po stronie serwera. Serwer podglądu jest potrzebny do wyświetlania podglądu kontenera.

Ilustrację interakcji danych między serwerami tagowania a serwerem podglądu znajdziesz na rysunku 1.

Diagram przepływu danych serwerów tagowania i serwera podglądu

Ilustracja 1. Diagram przepływu danych serwerów tagowania i serwera podglądu.

Z tego przewodnika dowiesz się, jak:

  • Wyświetl wszystkie dostępne ustawienia obrazu Dockera.
  • (Opcjonalnie) Dołączanie danych logowania BigQuery
  • Ręcznie udostępnij serwer podglądu za pomocą obrazu Dockera SST.
  • Ręcznie zarezerwuj klaster SST za pomocą obrazu Dockera SST.
  • Sprawdź, czy serwer podglądu i klaster SST są poprawnie skonfigurowane.
  • Po skonfigurowaniu serwera tagowania dbaj o to, aby jego wersja była aktualna.

Aby uruchomić polecenia Dockera w tym przewodniku, musisz najpierw zainstalować Dockera na komputerze.

Wyświetlanie wszystkich dostępnych ustawień obrazu Dockera

Obraz Dockera serwera tagowania znajdziesz pod tym adresem URL:

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

Serwer tagowania i serwer podglądu używają tego samego obrazu Dockera z różnymi flagami. W tej sekcji pokażemy, jak sprawdzić wszystkie dostępne ustawienia, których można używać z obrazem Dockera.

Aby wyświetlić wszystkie dostępne ustawienia, uruchom to polecenie za pomocą narzędzia wiersza poleceń Docker:

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

(Opcjonalnie) Uwzględnij dane logowania do Google Cloud

Aby korzystać z interfejsu BigQuery lub Firestore API poza Google Cloud, musisz podać dane logowania konta usługi, które ma uprawnienia dostępu do tych zasobów.

  1. Postępuj zgodnie z tym przewodnikiem, aby utworzyć konto usługi z rolą Edytujący dane BigQuery w przypadku dostępu BigQuery lub rolą Użytkownik Cloud Datastore w przypadku dostępu Firestore, a następnie wyeksportować jego dane logowania w formacie JSON z nazwą pliku local_service_account_key.json.
  2. Zamontuj dane uwierzytelniające JSON w woluminie dostępnym dla obrazu. Za pomocą docker run możesz określić -v local_service_account_key.json:/app/service_account_key.json, aby zamontować dane logowania w obrazie.
  3. Ustaw zmienną środowiskową GOOGLE_APPLICATION_CREDENTIALS tak, aby wskazywała na dane logowania.
  4. Opcjonalnie możesz podać identyfikator projektu Google Cloud w zmiennej środowiskowej GOOGLE_CLOUD_PROJECT, aby serwer tagowania mógł niejawnie wybrać projekt.
  5. Uruchom serwer. To polecenie uruchamia serwer tagowania z uwzględnionymi danymi logowania:

    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
    

W zależności od systemu, w którym jest wdrażany serwer tagowania, dane logowania można zamontować na różne sposoby. Na przykład KubernetesDocker Swarm udostępniają przewodniki dotyczące zarządzania danymi tajnymi. Więcej informacji znajdziesz w przewodniku po danym systemie.

Aby chronić swoje dane logowania, stosuj sprawdzone metody.

Samodzielne udostępnianie serwera podglądu

Serwer podglądu umożliwia wyświetlanie podglądu kontenera serwera. Aby uruchomić serwer podglądu, uruchom obraz Dockera z tymi zmiennymi środowiskowymi przekazanymi do środowiska Dockera.

Wymagane ustawienia

  • CONTAINER_CONFIG – ciąg tekstowy konfiguracji kontenera serwera. W Menedżerze tagów otwórz obszar roboczy kontenera serwera i kliknij identyfikator kontenera w prawym górnym rogu strony. Kliknij Ręcznie skonfiguruj serwer tagowania, aby znaleźć wartość Konfiguracja kontenera.

  • RUN_AS_PREVIEW_SERVER – ustaw tę wartość na true, aby udostępnić serwer jako serwer podglądu.

Przykład użycia narzędzia wiersza poleceń Docker

Aby lokalnie udostępnić serwer podglądu, uruchom to polecenie:

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

Powinna być widoczna odpowiedź 200 na żądanie skierowane do http://localhost:8080/healthy. Opcjonalnie możesz użyć zmiennej środowiskowej PORT, aby zmienić port.

Sprawdzone metody

  • Musisz wdrożyć dokładnie 1 serwer podglądu. Nie konfiguruj autoskalowania powyżej 1 instancji.
  • Po skonfigurowaniu serwera podglądu za pomocą Dockera skonfiguruj adres URL HTTPS, aby wskazywał serwer podglądu. Jest to potrzebne do skonfigurowania klastra SST.
  • System równoważenia obciążenia lub sieć CDN musi mieć limit czasu dłuższy niż 20 sekund, w przeciwnym razie tryb podglądu nie będzie działać prawidłowo.

Samodzielne udostępnianie klastra tagowania po stronie serwera

Klaster SST służy jako punkt wejścia, przekazuje żądania podglądu do serwera podglądu i obsługuje wszystkie inne żądania zgodnie z opisem w artykule Wprowadzenie do tagowania po stronie serwera. Użyj tych wymaganych ustawień z obrazem Dockera serwera tagowania, aby udostępnić klaster SST w dowolnym środowisku obsługującym Dockera.

Wymagane ustawienia

  • CONTAINER_CONFIG – ciąg tekstowy konfiguracji kontenera serwera. W Menedżerze tagów otwórz obszar roboczy kontenera serwera i kliknij identyfikator kontenera w prawym górnym rogu strony. Kliknij Ręcznie skonfiguruj serwer tagowania, aby znaleźć wartość Konfiguracja kontenera.

  • PREVIEW_SERVER_URL – adres URL HTTPS serwera podglądu. To ustawienie powinno być konfigurowane tylko w przypadku obsługi administracyjnej serwera tagowania i nie jest potrzebne w przypadku obsługi administracyjnej serwera podglądu. Wskazówki dotyczące konfigurowania serwera podglądu znajdziesz w sekcji powyżej.

Przykład użycia narzędzia wiersza poleceń Docker

Aby skonfigurować pojedynczy serwer tagowania lokalnie, uruchom to polecenie:

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

Powinna pojawić się odpowiedź 200 na żądanie wysłane do http://localhost:8080/healthy. Opcjonalnie możesz użyć zmiennej środowiskowej PORT, aby zmienić port.

Sprawdzone metody

  • Serwery z tagowaniem po stronie serwera można skonfigurować jako pojedynczy serwer lub jako klaster. Zalecamy udostępnienie go jako klastra, aby zwiększyć dostępność, skalowalność i wydajność. Pamiętaj, że podczas udostępniania jako klaster każda instancja serwera musi być skonfigurowana z tymi samymi zmiennymi środowiskowymi CONTAINER_CONFIGPREVIEW_SERVER_URL.
  • Zadbaj o to, aby serwer tagowania był hostowany w tym samym źródle (najlepsze rozwiązanie) lub jako subdomena Twojej obecnej witryny. Jeśli np. aplikacja obsługuje ruch internetowy pod adresem example.com, użyj na potrzeby serwera tagowania ścieżki takiej jak example.com/analytics. Dowiedz się więcej o konfigurowaniu domeny niestandardowej.
  • Po skonfigurowaniu klastra SST za pomocą Dockera skonfiguruj adres URL HTTPS, aby wskazywał klaster SST.
  • Pamiętaj, aby okresowo ponownie uruchamiać serwery, aby mieć pewność, że mają one najnowsze aktualizacje kodu SST. W przeciwnym razie nowe funkcje SST mogą być niezgodne. Jednym ze sposobów, aby dowiedzieć się, kiedy serwer wymaga ponownego uruchomienia, jest skonfigurowanie testów aktywności, co zostało wyjaśnione poniżej. Pamiętaj też, że opublikowane aktualizacje kontenera serwera będą nadal stosowane bez ponownego uruchamiania.
  • Skorzystaj z istniejącego punktu końcowego /healthy (np. https://analytics.example.com/healthy) na serwerach tagowania, aby skonfigurować testy aktywności. Nieprawidłowa odpowiedź oznacza, że serwer należy ponownie uruchomić.
  • Kontener Dockera zawiera domyślne polecenie kontroli stanu – HEALTHCHECK CMD ["/nodejs/bin/node", "/app/health_checker_bin.js"] – które okresowo wysyła zapytania do punktu końcowego /healthy. Jeśli korzystasz z testu stanu Docker, możesz zmienić ustawienia, postępując zgodnie z instrukcjami dotyczącymi Dockera.
  • Jeśli serwer podglądu i serwer tagowania znajdują się w tej samej domenie, umieść serwer podglądu w innej ścieżce niż serwer tagowania. Określ PREVIEW_SERVER_URL, w tym ścieżkę.
  • Aprowizowane serwery powinny mieć maksymalnie 1 procesor wirtualny. Dodatkowe wirtualne procesory nie są wykorzystywane i negatywnie wpływają na autoskalowanie.

Weryfikacja

Konfigurowanie adresu URL kontenera serwera

W Menedżerze tagów przejdź do kontenera serwera. W sekcji Administracja > Ustawienia kontenerów wpisz adres URL serwera tagowania w polu Adres URL kontenera serwera i kliknij Zapisz.

Weryfikacja w trybie podglądu

W obszarze roboczym Menedżera tagów wyświetl podgląd kontenera, klikając Podgląd, i sprawdź, czy strona podglądu się wczytuje. Na innej karcie przeglądarki otwórz dowolną ścieżkę w adresie URL kontenera serwera. Jeśli na stronie podglądu wyświetla się wysłane żądanie, oznacza to, że wszystko jest skonfigurowane prawidłowo.

Jeśli masz kilka subdomen przypisanych do jednego serwera tagowania i chcesz wyświetlić podgląd w każdej z nich, dodaj dodatkowe URL-e kontenera serwera w sekcji Administracja > Ustawienia kontenera. Jeśli podasz kilka adresów URL, wszystkie ścieżki adresu URL (ciąg informacji, który występuje po nazwie domeny) muszą być dopasowane. Możesz na przykład wyświetlić podgląd na urządzeniach example.com/abcexample2.com/abc, ale nie możesz tego zrobić na urządzeniach example.com/abcexample2.com/def. Jeśli dodasz kilka adresów URL, obok przycisku Podgląd pojawi się ikona, która umożliwi Ci wybranie adresu URL, którego podgląd chcesz wyświetlić.

Aktualizowanie wersji serwera tagowania

Obraz gtm-cloud-image zawiera Node.js i biblioteki potrzebne do działania serwera tagowania. Obraz Dockera jest okresowo aktualizowany w celu wprowadzenia poprawek zabezpieczeń i nowych funkcji. Zalecamy aktualizowanie serwera tagowania co najmniej w przypadku każdej głównej wersji (np. z wersji 1.x.x do 2.x.x).

Aby zaktualizować obraz Dockera:

  1. Pobierz bieżącą wersję obrazu z adresu gcr.io/cloud-tagging-10302018/gtm-cloud-image:stable.
  2. Wdróż serwer z tymi samymi ustawieniami co poprzednio.
  3. Zaktualizuj pojedynczy serwer podglądu i wszystkie serwery tagowania w klastrze.
  4. Wyłącz wszystkie stare serwery.

Aby sprawdzić, czy aktualizacja przebiegła pomyślnie:

  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 tam 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.