С помощью процедуры автоматической инициализации вы сможете развернуть сервер тегов на платформе App Engine всего за несколько кликов. Чтобы инициализировать сервер в другой среде, выполните его настройку вручную. Сервер тегов представляет собой сервер Node.js, который находится в образе Docker.
Чтобы выполнить настройку вручную, вам потребуется отдельно инициализировать кластер серверного добавления тегов и сервер предварительного просмотра. Кластер – это точка входа для всех запросов, отправляемых на сервер тегов. Он отвечает за их обработку. Подробную информацию вы найдете в этой статье. Для предварительного просмотра контейнера вам потребуется специальный сервер.
Серверы тегов активно взаимодействуют с сервером предварительного просмотра (см. рис. 1).
Рис 1. Схема обмена данными между серверами тегов и сервером предварительного просмотра
В этом руководстве рассматриваются следующие темы:
- Как посмотреть все доступные настройки для образа Docker.
- Как включить учетные данные BigQuery (необязательно).
- Как вручную инициализировать сервер предварительного просмотра с помощью образа Docker для серверного добавления тегов.
- Как вручную инициализировать кластер серверного добавления тегов с помощью образа Docker для серверного добавления тегов.
- Как проверить настройки сервера предварительного просмотра и кластера серверного добавления тегов.
Чтобы запускать команды, установите программное обеспечение Docker на компьютер.
Как посмотреть все доступные настройки для образа Docker
Воспользуйтесь следующим URL для доступа к образу Docker: gcr.io/cloud-tagging-10302018/gtm-cloud-image:stable
.
Для сервера тегов и сервера предварительного просмотра используется один образ Docker, но с разными настройками. В этом разделе содержится обзор всех доступных настроек, которые вы можете использовать с образом Docker.
Чтобы посмотреть их, в командной строке Docker введите:
docker run gcr.io/cloud-tagging-10302018/gtm-cloud-image:stable /bin/bash -c "node server_bin.js --help"
Как включить учетные данные BigQuery (необязательно)
Чтобы использовать BigQuery
API за пределами Google Cloud, необходимо предоставить учетные данные сервисного аккаунта, у которого есть разрешение на внесение изменений в таблицу BigQuery.
- Ознакомьтесь с этим руководством, чтобы создать сервисный аккаунт с ролью BigQuery Data Editor (Редактор BigQuery) и экспортировать учетные данные в виде файла JSON с именем
local_service_account_key.json
. - Подключите файл учетных данных JSON в томе, который доступен для образа. Задать
-v local_service_account_key.json:/app/service_account_key.json
можно с помощьюdocker run
. - Назначьте для учетных данных переменную среды
GOOGLE_APPLICATION_CREDENTIALS
. - Вы также можете указать идентификатор проекта Google Cloud для переменной среды
GOOGLE_CLOUD_PROJECT
, чтобы сервер тегов выбирал конкретный проект. Запустите сервер. Будет выполнена следующая команда с добавленными учетными данными:
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
Существует несколько способов подключения учетных данных в зависимости от типа системы, на которой развернут сервер тегов. Например, системы Kubernetes и Docker Swarm используют алгоритмы управления секретами. Более подробную информацию можно найти в руководствах по этим системам.
Чтобы узнать, как защитить свои учетные данные, обязательно изучите эти рекомендации.
Как вручную инициализировать сервер предварительного просмотра
Сервер предварительного просмотра позволяет просматривать контейнер сервера. Чтобы инициировать этот сервер, запустите образ Docker с приведенными ниже переменными.
Обязательные настройки
CONTAINER_CONFIG
– строка конфигурации для контейнера сервера. В Менеджере тегов откройте рабочую область контейнера тегов. Нажмите на идентификатор контейнера в правом верхнем углу страницы. Выберите Добавить сервер тегов вручную, чтобы получить значение Настройка контейнера.RUN_AS_PREVIEW_SERVER
– установите для этой настройки значениеtrue
, чтобы инициализировать сервер предварительного просмотра.
Пример использования инструмента командной строки Docker
Чтобы инициализировать локальный сервер предварительного просмотра, запустите следующую команду:
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
Вы должны получать код статуса 200 в ответе на запрос http://localhost:8080/healthz
. При необходимости воспользуйтесь переменной среды PORT
, чтобы изменить порт.
Рекомендации
- Вам нужно развернуть только один сервер предварительного просмотра. Не настраивайте автомасштабирование для нескольких экземпляров.
- После того, как вы настроите сервер предварительного просмотра с помощью Docker, сконфигурируйте URL-адрес HTTPS. Он должен указывать на этот сервер. Этот адрес потребуется для настройки кластера серверного добавления тегов.
Как вручную инициализировать кластер серверного добавления тегов
Кластер выполняет роль точки входа для всех прокси-запросов, отправляемых на сервер предварительного просмотра. Он отвечает за их обработку. Подробную информацию вы найдете в этой статье. Вы можете инициализировать кластер серверного добавления тегов в любой среде, поддерживающей Docker. Чтобы это сделать, при запуске образа Docker для сервера тегов используйте обязательные настройки. Они приведены ниже.
Обязательные настройки
CONTAINER_CONFIG
– строка конфигурации для контейнера сервера. В Менеджере тегов откройте рабочую область контейнера тегов. Нажмите на идентификатор контейнера в правом верхнем углу страницы. Выберите Добавить сервер тегов вручную, чтобы получить значение Настройка контейнера.PREVIEW_SERVER_URL
– URL-адрес HTTPS сервера предварительного просмотра. Эта настройка требуется только при инициализации сервера тегов. Не используйте ее для сервера предварительного просмотра. Инструкции по настройке сервера предварительного просмотра приведены в этом разделе.
Пример использования инструмента командной строки Docker
Чтобы инициализировать отдельный локальный сервер тегов, выполните следующую команду:
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
Вы должны получать код статуса 200 в ответе на запрос http://localhost:8080/healthz
. При необходимости воспользуйтесь переменной среды PORT
, чтобы изменить порт.
Рекомендации
- Серверы добавления тегов можно инициализировать в качестве отдельного сервера или кластера. Мы рекомендуем использовать кластер. Такое решение поможет вам увеличить доступность, масштабируемость и эффективность. Если вы выбрали кластер, убедитесь, что для каждого сервера используются одинаковые переменные среды
CONTAINER_CONFIG
иPREVIEW_SERVER_URL
. - Для кластера серверного добавления тегов и для приложения должны использоваться разные субдомены на вашем сайте. Например, если сетевой трафик из приложения поступает в домен example.com, то для сервера тегов следует использовать отдельный субдомен, такой как analytics.example.com.
- После того, как вы настроите кластер серверного добавления тегов с помощью Docker, сконфигурируйте URL-адрес HTTPS. Он должен указывать на этот кластер.
- Периодически перезапускайте серверы, чтобы обновлять код. Если вы не будете этого делать, ваша система не сможет использовать новые функции серверного добавления тегов. Вы можете настроить проверки работоспособности, чтобы узнавать, когда нужно перезапускать сервер. Эта процедура приведена ниже. Обратите внимание, что все опубликованные изменения в контейнере сервера будут применяться без перезапуска.
- Чтобы настроить проверки работоспособности сервера, воспользуйтесь существующей конечной точкой
/healthz
(например, https://analytics.example.com/healthz) на сервере тегов. Следите за состоянием системы, чтобы узнать, когда нужно перезапустить сервер.
Проверка
Настройка URL сервера тегов
Перейдите к серверному контейнеру Менеджера тегов в разделе Администратор > Настройки контейнера. Вставьте URL кластера в поле URL сервера тегов и нажмите Сохранить.
Проверка с помощью режима предварительного просмотра
Откройте рабочую область Менеджера тегов, выберите Предварительный просмотр и посмотрите, какие данные отображаются на странице. Откройте новую вкладку браузера и перейдите на любую страницу (в рамках URL сервера тегов). Если на странице предварительного просмотра отображается отправленный запрос, настройка выполнена правильно.