Как настроить серверное добавление тегов с помощью Cloud Run

В этом руководстве объясняется, как:

  • Подготовьте сервер предварительного просмотра, чтобы включить функцию предварительного просмотра для контейнера.
  • Подготовьте сервер тегов для обработки трафика в реальном времени.
  • Увеличьте или уменьшите количество серверов, на которых работает ваш контейнер Диспетчера тегов Google.
  • Обновляйте версию сервера тегов после подготовки сервера.

Предпосылки

  1. Вам нужна учетная запись GCP. Если у вас его нет, создайте новую учетную запись GCP .
  2. Вам нужен платежный аккаунт GCP. Если у вас его нет, создайте платежный аккаунт GCP (требуется роль создателя платежного аккаунта).
  3. Вам потребуется роль создателя проекта и пользователя платежного аккаунта. Подробнее о добавлении ролей .

1. Подготовьте сервер предварительного просмотра и тегов

Создайте контейнер сервера Диспетчера тегов Google

  1. Откройте Диспетчер тегов Google.

  2. В строке учетной записи щелкните дополнительное меню > «Создать контейнер» .

  3. Создайте новый контейнер сервера.

  4. Нажмите переключатель «Подготовить сервер тегов вручную». Обратите внимание на конфигурацию контейнера. Он понадобится вам для подготовки вашего сервера.

Создать новый проект GCP

Чтобы создать новый проект GCP для вашего сервера тегов:

  1. Откройте облачную консоль Google .

  2. Создайте новый проект GCP .

  3. Назовите свой проект. Мы рекомендуем использовать идентификатор вашего контейнера для удобства. Это имя используется только в GCP.

  4. Запишите идентификатор проекта GCP , поскольку он понадобится вам для создания сервера тегов.

Предоставление нового сервера предварительного просмотра и тегов

Вы можете предоставить службу Cloud Run либо через командную строку (CLI), либо через пользовательский интерфейс. Оба шага включают подготовку как сервера тегов, так и сервера предварительного просмотра. Сервер тегов запускает ваш контейнер и обрабатывает трафик в реальном времени, в то время как сервер предварительного просмотра позволяет вам просматривать контейнер сервера.

Чтобы создать серверы предварительного просмотра и тегов:

Стоимость облачного запуска

В этой конфигурации Cloud Run каждый сервер стоит примерно 45 долларов США в месяц (USD). Каждый сервер представляет собой экземпляр Cloud Run с 1 виртуальным ЦП и 0,5 ГБ памяти с использованием модели ценообразования с постоянным распределением ЦП.

Мы рекомендуем запускать как минимум 2 экземпляра, чтобы снизить риск потери данных в случае сбоя сервера. Однако вы можете запустить меньше (или больше) серверов. Мы ожидаем, что автомасштабирование 2–10 серверов будет обрабатывать 35–350 запросов в секунду, хотя производительность будет зависеть от количества тегов и того, что они делают.

Cloud Run будет динамически масштабироваться с нагрузкой. Параметр max-instances — это наихудший сценарий того, сколько вам придется платить за ресурсы. Cloud Run не будет выделять такое количество экземпляров, если в этом нет необходимости.

Облачный калькулятор

Необязательно: миграция из App Engine

Если вы ранее создали развертывание App Engine и убедились, что оно больше не получает никакого трафика, отключите приложение App Engine , чтобы предотвратить непредвиденные расходы.

Необязательно: развертывание в нескольких регионах

Если ваш веб-сайт представлен по всему миру или вы хотите обеспечить избыточность службы, разверните серверы тегов в нескольких регионах .

Прежде чем ты начнешь:

  1. Создайте балансировщик нагрузки
  2. Обратите внимание на выбранный вами BACKEND_NAME .

Чтобы добавить дополнительные регионы в ваше развертывание:

  1. Замените REGION регионом, в котором развернут сервер предварительного просмотра. Это может быть уже заполнено, если вы следовали параметрам командной строки для предоставления сервера предварительного просмотра и тегов.
  2. Замените CONTAINER_CONFIG строкой конфигурации контейнера из диспетчера тегов. Это может быть уже заполнено, если вы следовали параметрам командной строки для предоставления сервера предварительного просмотра и тегов.
  3. Замените NEW_REGION новым регионом, в котором вы хотите развернуть сервер тегов.
  4. Замените BACKEND_NAME именем, которое вы выбрали при подготовке балансировщика нагрузки.
  5. Необязательно: чтобы добавить еще один регион, подставьте переменную NEW_REGION и повторно запустите фрагмент кода.
    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

Необязательно: отключите ведение журнала запросов.

По умолчанию информация о каждом отдельном запросе (например, путь запроса, параметры запроса и т. д.) регистрируется. Если ваш сервер тегов обрабатывает много запросов в месяц (например, более 1 миллиона), за эти сообщения журнала может взиматься значительная плата . Чтобы уменьшить или устранить плату за ведение журнала, мы рекомендуем отключить ведение журнала запросов.

Чтобы отключить ведение журнала запросов:

  1. На платформе Google Cloud откройте Logs Router . Убедитесь, что вы находитесь в проекте, который соответствует идентификатору вашего контейнера:
    снимок экрана средства выбора проектов GCP, показывающий пример идентификатора контейнера Менеджера тегов.
  2. Для корзины Type : Cloud Logging , Name : _Default выберите раскрывающееся меню, затем щелкните Edit Sink .
  3. В разделе Место назначения приемника выберите сегмент журналов _Default .
  4. В разделе Выберите журналы для включения в приемник добавьте новую строку. Введите следующее правило в существующий фильтр включения:

    NOT LOG_ID("run.googleapis.com/requests")
    
  5. Чтобы также отключить ведение журнала из балансировщика нагрузки, добавьте новую строку и введите следующее правило в существующий фильтр включения:

    NOT LOG_ID("requests")
    
  6. Нажмите кнопку «Обновить приемник» внизу.

Теперь запросы будут исключены из логирования. Проверьте обозреватель журналов , чтобы убедиться, что новые запросы не появляются в журналах.

2. Сопоставьте развертывание с вашим личным доменом

Мы рекомендуем вам изменить развертывание, чтобы использовать поддомен вашего веб-сайта.

Сопоставьте субдомен вашего веб-сайта с вашим сервером тегов .

3. Добавьте URL-адрес сервера в Диспетчер тегов Google.

Теперь, когда у вас есть сервер, вам нужно убедиться, что Диспетчер тегов Google знает, что он должен использовать ваш сервер.

  1. Откройте Диспетчер тегов Google.

  2. Нажмите на контейнер сервера, который вы хотите указать на свой сервер тегов.

  3. Откройте настройки контейнера сервера на вкладке «Администрирование» > «Настройки контейнера» .

  4. Нажмите Добавить URL-адрес и вставьте URL-адрес своего сервера.

  5. Сохраните и вернитесь в свое рабочее пространство.

4. Проверка

Теперь, когда вы настроили свой сервер тегов, убедитесь, что он работает должным образом. В рабочей области Диспетчера тегов нажмите кнопку Предварительный просмотр . Если страница предварительного просмотра загружается, значит все настроено правильно.

Предварительный просмотр нескольких URL-адресов

Если вы сопоставили несколько доменов с одним сервером тегов, убедитесь, что каждый URL-адрес добавлен в настройки контейнера.

Если вы указали несколько URL-адресов, все пути (строка после имени домена) должны совпадать.

Работает Не работает
URL 1: example.com/abc
URL 2: example2.com/abc
URL 1: example.com/abc
URL 2: example2.com/def

Если добавлено несколько URL-адресов, вы увидите значок рядом с кнопкой «Предварительный просмотр» , который позволяет выбрать URL-адрес для предварительного просмотра.

Обновите версию сервера тегов

Новые обновления сервера тегов содержат исправления уязвимостей системы безопасности и новые функции. Мы рекомендуем как минимум обновлять сервер тегов для каждого выпуска основной версии (например, при обновлении с версии 1.xx до 2.xx), когда Диспетчер тегов уведомляет вас об обновлении.

Чтобы обновить сервер тегов, разверните новую версию с теми же настройками, которые вы использовали ранее.

  1. Откройте Cloud Run .
  2. Выберите службу, которую хотите обновить.
  3. Щелкните Редактировать и развернуть новую версию .
  4. Убедитесь, что для URL-адреса образа контейнера задано gcr.io/cloud-tagging-10302018/gtm-cloud-image:stable , и нажмите «Развернуть» .

Чтобы убедиться, что обновление прошло успешно:

  1. В контейнере сервера нажмите кнопку Предварительный просмотр , чтобы начать новый сеанс отладки и отправить запрос на отдельной вкладке.
  2. В сводке выберите вкладку Консоль и убедитесь, что нет сообщений с просьбой обновить сервер тегов.

Диспетчер тегов может отображать сообщения с просьбой обновить сервер тегов в течение дня после успешного обновления сервера. Однако на странице предварительного просмотра будет отображаться актуальное сообщение о версии сервера тегов.