Перейти к основному содержимому

Настройка GCP Private Service Connect для сервиса в вашей инфраструктуре

Доступно на определённых уровнях Enterprise

Эта функция доступна на следующих уровнях dbt Enterprise:

  • Enterprise+
  • Virtual Private

Чтобы узнать больше об этих тарифах, свяжитесь с нами по адресу sales@getdbt.com.

GCP Private Service Connect (PSC) обеспечивает защищённое частное подключение между dbt и сервисами в вашей инфраструктуре. Это могут быть системы управления версиями (VCS), хранилища данных или любые другие приложения, которыми вы управляете. Благодаря PSC вам не нужно открывать доступ к сервису из общедоступного интернета. Весь обмен данными происходит по частной сети, что значительно повышает безопасность. Подробнее см. в документации GCP Private Service Connect.

Что рассматривается в этом руководстве​

В этом руководстве рассматривается не какой-либо конкретный сервис или архитектура Backend, а Service Attachment, который связывает dbt с сервисом в вашей инфраструктуре. Процесс такого подключения должен быть одинаковым для большинства сценариев использования.

Область рассмотрения этого руководстваОбласть рассмотрения этого руководства
За рамками руководства

В этом руководстве не рассматриваются настройка и устранение неполадок сервиса в вашей инфраструктуре, балансировщика нагрузки, а также проблемы с работоспособностью бэкендов, поскольку существует практически неограниченное количество вариантов настройки этих сред. Хотя служба поддержки dbt может по возможности помочь с такими проблемами, для ускорения их решения мы рекомендуем обращаться в службу поддержки Google Cloud.

Для кого предназначено это руководство​

Это руководство предназначено для администраторов облачных сетей и инженеров, отвечающих за настройку и поддержание защищённого сетевого взаимодействия в среде Google Cloud Platform (GCP) вашей организации.

Терминология​

В этом руководстве используется несколько важных терминов, связанных с Private Service Connect. Понимание этих определений поможет успешно выполнить настройку. Более подробное объяснение этих понятий см. в документации GCP Private Service Connect.

  • Consumer (потребитель): В данном контексте потребителем является dbt, который устанавливает подключение PSC в качестве клиента.
  • Published Service (опубликованный сервис): Сервис, к которому вы предоставляете доступ платформе dbt через PSC, например система управления версиями (VCS), хранилище данных или другое приложение.
  • Service Attachment (подключение сервиса): Ресурс, который предоставляется потребителям вашего опубликованного сервиса, чтобы они могли создавать конечные точки для подключения к нему.
  • Backend (бэкенд): Также может обозначаться как Network Endpoint Groups (NEGs), то есть группы сетевых конечных точек. Это конкретная архитектура, на которой работает ваш сервис. Например, это могут быть виртуальные машины, группы экземпляров GKE или даже IP-адреса в локальной инфраструктуре.

Предварительные требования​

Перед началом работы ознакомьтесь со следующими требованиями:

  1. Поддерживаемые типы балансировщиков нагрузки

    dbt официально проверила работу Private Service Connect (PSC) со следующими типами балансировщиков нагрузки:

    • Regional Internal Proxy Load Balancer

    • Cross-Regional Internal Proxy Load Balancer

    Хотя другие типы балансировщиков нагрузки могут быть совместимы с ресурсами PSC Service Attachment, в этом руководстве предполагается, что ваш сервис расположен за одним из официально поддерживаемых прокси-балансировщиков нагрузки. Подробнее см. в документации по прокси-балансировщикам нагрузки.

  2. Работоспособность сервиса

    • Прежде чем продолжить, убедитесь, что ваш сервис или приложение работает и находится в исправном состоянии за выбранным балансировщиком нагрузки.
  3. Идентификатор проекта dbt в GCP

    • Обратитесь в службу поддержки dbt, чтобы получить идентификатор проекта dbt в GCP. Он понадобится, чтобы предоставить платформе dbt доступ к вашему ресурсу Service Attachment.

Инструкции​

  1. Войдите в консоль Google Cloud Platform.
  2. Перейдите в организацию и проект GCP, в которых находится сервис в вашей инфраструктуре.

Создание выделенной подсети для Service Attachment​

  1. В поле поиска в верхней центральной части консоли найдите VPC networks и перейдите на страницу этого продукта.

  2. На странице продукта нажмите ссылку на сеть VPC, в которой находится сервис в вашей инфраструктуре.

  3. На следующей странице выберите вкладку Subnets и нажмите кнопку Add subnet.

  4. На панели создания подсети:

    a. Name: Укажите понятное имя, например service-attachment-subnet

    b. Description: Укажите, что эта подсеть предназначена для ресурсов Service Attachment

    c. Region: Выберите регион, в котором расположен сервис в вашей инфраструктуре

    d. Purpose: Выберите Private Service Connect

    e. Нажмите Add, чтобы создать подсеть

Снимок экрана для шага 6: создание подсети для PSC Service AttachmentСнимок экрана для шага 6: создание подсети для PSC Service Attachment

Создание Service Attachment​

  1. После завершения создания подсети для Service Attachment найдите Private Service Connect в поле поиска в верхней центральной части консоли и перейдите на страницу этого продукта.

  2. На странице продукта выберите вкладку Published services и нажмите кнопку Publish service.

  3. На странице Publish service:

    В разделе Target details

    a. Выберите Load Balancer

    b. Типы балансировщиков нагрузки, работу с которыми проверила dbt, — Regional Internal Proxy Load Balancer и Cross-Regional Internal Proxy Load Balancer. Другие типы также могут работать, но официально не поддерживаются.

    c. В раскрывающемся списке Load balancer выберите балансировщик нагрузки, за которым расположен сервис в вашей инфраструктуре.

    d. Выберите соответствующее правило Forwarding rule в раскрывающемся списке для вашего балансировщика нагрузки.

    В разделе Service details

    e. Укажите понятное имя в поле Service Name, например service-to-my-vcs

    f. В раскрывающемся списке Subnets выберите подсеть, созданную на шаге 6 выше.

    В разделе Connection Preference

    g. Оставьте выбранным вариант Accept connections from selected projects

    h. Нажмите кнопку Add accepted project и добавьте идентификатор проекта dbt в GCP, полученный от службы поддержки. Примечание: этот идентификатор проекта может отличаться для разных конфигураций.

    • Установите ограничение количества подключений равным 1

    i. Нажмите Add service

Снимок экрана для шага 9: создание PSC Service AttachmentСнимок экрана для шага 9: создание PSC Service Attachment
  1. После создания Service Attachment для опубликованного сервиса нажмите на него, чтобы открыть страницу с подробными сведениями.
  2. Скопируйте URI из поля Service attachment (не идентификатор Service Attachment).
Снимок экрана для шага 11: копирование URI Service AttachmentСнимок экрана для шага 11: копирование URI Service Attachment

Предоставление сведений о подключении службе поддержки dbt​

  1. Добавьте необходимые сведения в приведённый ниже шаблон и отправьте запрос в службу поддержки dbt:
 Шаблон письма в службу поддержки
Subject: New GCP Self-hosted Private Service Connect Request

- Type: Self-hosted PSC
- dbt platform account URL:
- Platform/Service (for example, Postgres, Starburst, Spark, GitLab, etc.):
- Service Attachment URI:
- Custom DNS (if HTTPS/TLS):
- DNS record:
- Service Region (for example, us-east1, us-central1):
- dbt GCP environment (US):

dbt Labs выполнит настройку приватного подключения от вашего имени. Пожалуйста, заложите 3–5 рабочих дней на завершение этого процесса. Служба поддержки свяжется с вами, когда конечная точка (endpoint) будет доступна.

Устранение неполадок​

Если конечная точка Private Service Connect уже создана и настроена в dbt, но подключение по-прежнему не работает, проверьте следующие параметры вашей сети, чтобы обеспечить успешную маршрутизацию запросов и ответов между dbt и вашим сервисом.

Контрольный список настройки​

  1. Состояние Service Attachment

    В консоли Google Cloud перейдите в Network services → Private Service Connect → Published services. Выберите свой ресурс Service Attachment и убедитесь, что:

    • Его состояние — Active
    • Проект dbt отображается в списке Connected projects с состоянием Accepted
  2. Работоспособность бэкендов балансировщика нагрузки

    Перейдите в Network services → Load balancing и выберите свой балансировщик нагрузки. На вкладке Backend services убедитесь, что хотя бы один бэкенд находится в состоянии Healthy. Неработоспособность бэкендов может указывать на то, что сервис недоступен или правила межсетевого экрана блокируют проверочные запросы.

  3. Настройка подсети NAT

    Убедитесь, что в подсети Private Service Connect достаточно свободных IP-адресов. GCP использует эти IP-адреса для SNAT при маршрутизации трафика потребителей к вашим бэкендам.

  4. Правила межсетевого экрана

    Убедитесь, что правила межсетевого экрана вашей VPC разрешают:

    • Трафик проверок работоспособности из диапазонов адресов Google для таких проверок (35.191.0.0/16 и 130.211.0.0/22)
    • Трафик из подсети, предназначенной только для прокси, к вашим бэкендам (для прокси-балансировщиков нагрузки)

    Подробнее см. в разделе Правила межсетевого экрана для проверок работоспособности.

Мониторинг​

Чтобы локализовать проблемы с подключением, используйте инструменты мониторинга Google Cloud:

Метрики Service Attachment​

В консоли Google Cloud перейдите в Monitoring → Metrics Explorer. Найдите метрики Private Service Connect:

  • compute.googleapis.com/nat/nat_connections — отслеживает активные подключения NAT
  • compute.googleapis.com/nat/sent_bytes_count — позволяет убедиться, что трафик передаётся

Журналы балансировщика нагрузки​

Включите ведение журналов для бэкенд-сервиса вашего балансировщика нагрузки, чтобы записывать сведения о запросах. Перейдите к бэкенд-сервису, нажмите Edit и включите Logging, установив долю выборки 1.0 для устранения неполадок.

Подробнее см. в разделах Мониторинг Private Service Connect и Ведение журналов балансировщика нагрузки.

Нашли ошибку?

0
Loading