Konfigurowanie prywatnego serwera podglądu

Ten przewodnik jest przeznaczony dla deweloperów, którzy używają Cloud Run do tagowania po stronie serwera i chcą skonfigurować prywatny serwer podglądu.

Tagowanie po stronie serwera umożliwia wyświetlanie podglądu zmian w tagowaniu w trybie podglądu i debugowania przed ich zastosowaniem. Jest to kluczowy element procesu programowania, który pozwala zapewnić prawidłowe działanie tagów. Aby włączyć tę funkcję, musisz utworzyć 2 wdrożenia Cloud Run: jedno dla serwera tagowania, a drugie dla serwera podglądu. W tym przewodniku znajdziesz więcej informacji o tym, jak te 2 serwery się komunikują i jak je skonfigurować w środowisku korporacyjnym.

Omówienie

Gdy wdrażasz tagowanie po stronie serwera w Cloud Run, możesz to zrobić z systemem równoważenia obciążenia lub bez niego. W przypadku wdrożeń w wielu regionach potrzebujesz systemu równoważenia obciążenia, który będzie kierować ruch do najbliższej instancji.

Bez systemu równoważenia obciążenia

Rysunek 1.Wdrażanie bez równoważnika obciążenia

z systemem równoważenia obciążenia,

Rysunek 2.Wdrażanie z systemem równoważenia obciążenia

W obu przypadkach punkt wejścia do serwera tagowania w wersji testowej i produkcyjnej to ten sam URL (np. sgtm.example.com). Serwer tagowania jest wdrażany z zmienną środowiskową o nazwie PREVIEW_SERVER_URL, która reprezentuje URL serwera podglądu.

Gdy odwiedzisz stronę tagmanager.google.com i otworzysz tryb podglądu, Menedżer tagów przejdzie do strony sgtm.example.com?id=[gtm_server_id]&gtm_auth=[auth_id]&gtm_preview=[env_id] i ustawi plik cookie. Gdy później użyjesz tej samej przeglądarki, aby przejrzeć witrynę docelową, żądania wysyłane do sgtm.example.com również przekażą plik cookie. Dzięki ciasteczkom serwer tagowania wie, że to Twoje zdarzenia, więc przekazuje je tylko na serwer podglądu, abyś mógł je wyświetlać i rozwiązywać problemy.

Serwer tagowania przekazuje te zdarzenia, wysyłając żądania HTTP do adresu URL podanego w zmiennej środowiskowej PREVIEW_SERVER_URL.

Informacje o publicznie dostępnych serwerach podglądu

Aby to zachowanie było domyślne, serwer podglądu musi być publiczny. Jednak w przypadku niektórych organizacji może to być problematyczne, ponieważ mają one ograniczenia dotyczące tego, jaka infrastruktura może być publicznie dostępna, i zwykle stosują dodatkowe środki bezpieczeństwa za pomocą systemu równoważenia obciążenia. System równoważenia obciążenia zapewnia:

  • Większa kontrola nad funkcjami, takimi jak zasady SSL, umożliwiająca ograniczanie zestawów szyfrów.
  • Natywna integracja z Cloud Armor w przypadku zapory sieciowej aplikacji internetowej (WAF) lub rozproszonej odmowy usługi (DDoS).
  • Zaawansowane funkcje zarządzania ruchem.

Przekierowywanie serwera podglądu przez system równoważenia obciążenia

Aby utworzyć prywatny serwer podglądu, użyj routingu na podstawie hosta przez równoważyciel obciążenia z dodatkową subdomeną. Z dalszej części tego przewodnika dowiesz się, jak przekierowywać ruch do serwera podglądu przez system równoważenia obciążenia.

Wymagania wstępne

  • Serwer tagowania jest wdrażany w Cloud Run za systemem równoważenia obciążenia.
  • Dostęp do projektu Google Cloud.
  • Dostęp do nowej subdomeny dla serwera podglądu, np. preview.sgtm.example.com.

Krok 1. Zaktualizuj zmienną środowiskową, podając nową subdomenę

Aby używać nowej domeny serwera podglądu, zaktualizuj zmienną środowiskową serwera tagowania po stronie serwera: PREVIEW_SERVER_URL.

  1. Otwórz Cloud Run.
  2. Wybierz serwer tagowania.
  3. Kliknij kolejno EdytujWdróż nową wersję.
  4. Na karcie Zmienne i obiekty tajne w sekcji Kontenery zmień PREVIEW_SERVER_URL na nową domenę. Na przykład: preview.sgtm.example.com.

Krok 2. Skonfiguruj istniejący system równoważenia obciążenia pod kątem korzystania z routingu na podstawie hosta

Aby skonfigurować istniejący system równoważenia obciążenia, użyj routingu hosta i prześlij ruch do prawidłowego serwera:

  1. W Cloud Run otwórz stronę Równoważenie obciążenia i kliknij nazwę systemu równoważenia obciążenia.
  2. Kliknij przycisk Edytuj.
  3. Kliknij stronę Konfiguracja backendu i otwórz menu Usługi backendu i zasobniki backendu.
  4. Kliknij Utwórz usługę backendu i wykonaj te czynności:
    1. Nadaj mu odpowiednią nazwę (np. preview-backend-service).
    2. Jako typ backendu wybierz bezserwerową grupę punktów końcowych sieci.
  5. W sekcji Backend utwórz nową grupę bezserwerowych punktów końcowych sieci i wykonaj te czynności:
    1. Nadaj mu nazwę i wybierz region, w którym hostowany jest serwer podglądu.
    2. Jako typ bezserwerowej grupy punktów końcowych sieci wybierz Cloud Run, a jako usługę wybierz serwer wersji próbnej.
    3. Kliknij Utwórz.
  6. W razie potrzeby zmień inne ustawienia lub pozostaw domyślne, a następnie kliknij Utwórz.

Krok 3. Dodaj nową regułę i zaktualizuj kontrolę dostępu

Aby dodać regułę dotyczącą nowego adresu URL hosta i zaktualizować kontrolę ruchu przychodzącego:

  1. Otwórz stronę Reguły hostów i ścieżek.
  2. Dodaj nową regułę, w której:
    • Hostem jest nowy adres URL: preview.sgtm.example.com
    • Ścieżka to: /*
    • Backend: preview-backend-service
  3. Aby ponownie wdrożyć system równoważenia obciążenia, kliknij przycisk Zaktualizuj.
  4. W usłudze Cloud Run otwórz serwer podglądu i kliknij kartę Sieć.
  5. Zmień kontrolę dostępu na Wewnętrzny i zaznacz pole wyboru Zezwalaj na ruch z zewnętrznych systemów równoważenia obciążenia aplikacji, aby zasób nie był dostępny publicznie.

Wynik: architektura serwera powinna teraz wyglądać jak na rysunku 3, gdzie wszystkie żądania ruchu są kierowane do serwera tagowania, a serwer tagowania może przekazywać żądania do serwera podglądu.

Kierowanie na podstawie nazwy hosta

Rysunek 3.Używanie kierowania na podstawie nazwy hosta

Sprawdzanie konfiguracji

Aby sprawdzić konfigurację:

  1. Otwórz Menedżera tagów Google.
  2. Otwórz kontener serwera.
  3. Kliknij Administracja > Ustawienia kontenera i ustaw adres URL kontenera serwera na adres URL serwera tagowania.
  4. Zamknij okno i wyświetl podgląd obszaru roboczego. Otworzy się okno debugowania. Gdy będziesz się przemieszczać po witrynie, zdarzenia powinny pojawiać się w oknie debugowania.