Looker PSC Northbound Региональный внутренний L7 ALB

О практической работе
schedule47 минут
subjectПоследнее обновление: 2 апреля 2025 г.
account_circleАвторы: Deepak Michael

В этой лаборатории кода вы создадите региональный внутренний балансировщик нагрузки приложений уровня 7 и серверную часть подключения частных служб, чтобы получить северный доступ к Looker. Для доступа к Looker в северном направлении требуется, чтобы Consumer VPC был внесен в список разрешенных для экземпляра Looker PSC.

Private Service Connect — это возможность сети Google Cloud, которая позволяет потребителям получать частный доступ к управляемым сервисам изнутри своей сети VPC. Аналогичным образом, это позволяет производителям управляемых услуг размещать эти услуги в своих собственных отдельных сетях VPC и предлагать своим потребителям частное соединение. Например, когда вы используете Private Service Connect для доступа к Looker, вы являетесь потребителем услуги, а Google — производителем услуги, как показано на рисунке 1.

Рисунок 1.

145ea4672c3a3b14.png

Южный доступ, также известный как обратный PSC, позволяет потребителю создать опубликованную службу в качестве производителя, чтобы обеспечить доступ Looker к локальным конечным точкам, в VPC, к управляемым сервисам и Интернету. Южные соединения могут быть развернуты в любом регионе, независимо от того, где развернут Looker PSC, как показано на рисунке 2.

Рисунок 2.

3edfcc67e195d082.png

Что вы узнаете

  • Требования к сети
  • Обновить белый список Looker для доступа на север
  • Создайте серверную часть Private Service Connect в потребительском VPC.
  • Google против самоподписанных сертификатов

Что вам понадобится

def88091b42bfe4d.png

2. Что вы будете строить

Вы создадите потребительскую сеть, включенную в белый список, Looker-PSC-Demo, чтобы развернуть региональный внутренний балансировщик нагрузки приложений L7 и серверную часть NEG PSC, для которой требуется сертификат Google или самоуправляемый сертификат . Для получения более подробной информации просмотрите балансировщик нагрузки и страницу сводки сертификатов.

3. Требования к сети

Ниже приводится разбивка сетевых требований:

Компоненты

Описание

VPC (просмотрщик-psc-демо)

Пользовательский режим VPC

Подсеть PSC NEG

Используется для выделения IP-адреса для группы конечных точек сети.

Только прокси-подсеть

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

Серверная служба

Серверная служба действует как мост между балансировщиком нагрузки и серверными ресурсами. В руководстве серверная служба связана с PSC NEG.

4. Топология Codelab

2f6bb87ef0e139b2.png

5. Настройка и требования

Самостоятельная настройка среды

  1. Войдите в Google Cloud Console и создайте новый проект или повторно используйте существующий. Если у вас еще нет учетной записи Gmail или Google Workspace, вам необходимо ее создать .

fbef9caa1602edd0.png

a99b7ace416376c4.png

5e3ff691252acf41.png

  • Имя проекта — это отображаемое имя для участников этого проекта. Это строка символов, не используемая API Google. Вы всегда можете обновить его.
  • Идентификатор проекта уникален для всех проектов Google Cloud и является неизменяемым (невозможно изменить после его установки). Cloud Console автоматически генерирует уникальную строку; обычно тебя не волнует, что это такое. В большинстве лабораторий кода вам потребуется указать идентификатор проекта (обычно идентифицируемый как PROJECT_ID ). Если вам не нравится сгенерированный идентификатор, вы можете создать другой случайный идентификатор. Альтернативно, вы можете попробовать свой собственный и посмотреть, доступен ли он. Его нельзя изменить после этого шага и он сохраняется на протяжении всего проекта.
  • К вашему сведению, есть третье значение — номер проекта , которое используют некоторые API. Подробнее обо всех трех этих значениях читайте в документации .
  1. Затем вам необходимо включить выставление счетов в Cloud Console, чтобы использовать облачные ресурсы/API. Прохождение этой кодовой лаборатории не будет стоить много, если вообще что-то стоить. Чтобы отключить ресурсы и избежать выставления счетов за пределами этого руководства, вы можете удалить созданные вами ресурсы или удалить проект. Новые пользователи Google Cloud имеют право на участие в программе бесплатной пробной версии стоимостью 300 долларов США .

Запустить Cloud Shell

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

В Google Cloud Console щелкните значок Cloud Shell на верхней правой панели инструментов:

55efc1aaa7a4d3ad.png

Подготовка и подключение к среде займет всего несколько минут. Когда все будет готово, вы должны увидеть что-то вроде этого:

7ffe5cbb04455448.png

Эта виртуальная машина оснащена всеми необходимыми инструментами разработки. Он предлагает постоянный домашний каталог объемом 5 ГБ и работает в Google Cloud, что значительно повышает производительность сети и аутентификацию. Всю работу в этой лаборатории кода можно выполнять в браузере. Вам не нужно ничего устанавливать.

6. Прежде чем начать

Включить API

В Cloud Shell убедитесь, что идентификатор вашего проекта настроен:

gcloud config list project
gcloud config set project [YOUR-PROJECT-ID]
project=[YOUR-PROJECT-ID]
region=[YOUR-REGION]
echo $project
echo $region

Включите все необходимые службы:

gcloud services enable compute.googleapis.com

7. Потребительская сеть

В следующем разделе вы создадите потребительскую сеть, которая будет обновлена ​​в белом списке Looker PSC VPC.

Сеть VPC

Внутри Cloud Shell выполните следующие действия:

gcloud compute networks create looker-psc-demo --subnet-mode custom

Создание подсетей

В Cloud Shell создайте подсеть группы конечных точек потребительской сети:

gcloud compute networks subnets create consumer-psc-neg-subnet --network looker-psc-demo --range 172.16.30.0/28 --region $region --enable-private-ip-google-access

Внутри Cloud Shell создайте внутреннюю подсеть балансировщика нагрузки приложения:

gcloud compute networks subnets create consumer-ilb-subnet --network looker-psc-demo --range 172.16.40.0/28 --region $region --enable-private-ip-google-access

Внутри Cloud Shell создайте подсеть только для регионального прокси-сервера производителя:

gcloud compute networks subnets create $region-proxy-only-subnet \
  --purpose=REGIONAL_MANAGED_PROXY \
  --role=ACTIVE \
  --region=$region \
  --network=looker-psc-demo \
  --range=10.10.10.0/24

8. Создайте собственный домен

Для создания личного домена необходимо выполнить следующие шаги:

В приведенном ниже примере Looker.cosmopup.com является личным доменом.

5424ce99136d5b3a.png

Пример OAuth

Ниже приведен пример учетных данных OAuth для авторизованных источников и обратного вызова для поддомена Looker.cosmopup.com.

c7e5b8c7d2cc6a01.png

9. Сертификаты

Вы можете создать сертификаты Compute Engine или Certificate Manager. Используйте любой из следующих методов для создания сертификатов с помощью диспетчера сертификатов:

10. Белый список Looker VPC

Просмотр разрешенных VPC

В следующем разделе вы будете использовать пользовательский интерфейс Cloud Console для просмотра списка разрешенных VPC Looker.

В Cloud Console перейдите к:

Looker → Экземпляр Looker → Подробности

Пример ниже: в списке разрешенных VPC нет записей:

ad33177a2d721ea7.png

Обновить разрешенные VPC

Обновите свой экземпляр Looker для поддержки северного доступа, добавив Looker-psc-demo в качестве разрешенного VPC.

В Cloud Console перейдите к:

Looker → Экземпляр Looker → Изменить

cbbc069688890b82.png

Подключения → Разрешенные VPC

Обязательно выберите проект, в котором развернут Looker-psc-demo, а затем VPC Looker-psc-demo, затем нажмите «Продолжить».

dc931643e1b220a.png

3e26d16d83cceae9.png

Проверка разрешенных VPC

Просмотр обновленного списка разрешенных VPC

В Cloud Console перейдите к:

Looker → Экземпляр Looker → Подробности

e34664c867929c66.png

11. Создайте бэкэнд PSC

Looker PSC как производитель услуг генерирует URI вложения службы, используемый потребителями услуг для развертывания конечных точек и серверных частей для получения северного доступа к Looker. На следующем этапе вы определите URI вложения службы Looker PSC, а затем создадите серверную часть группы конечных точек сети Private Service Connect (NEG) в потребительском VPC.

Определите сервисное приложение Looker PSC

В Cloud Console перейдите и скопируйте URI вложения службы:

Looker → Экземпляр Looker → Подробности

a253f94e946a1eef.png

Создайте группу конечных точек сети PSC.

Внутри Cloud Shell выполните следующие действия для обновления psc-target-service:

gcloud compute network-endpoint-groups create looker-northbound-neg \
    --network-endpoint-type=private-service-connect \
    --psc-target-service=[UPDATE WITH YOU LOOKER SERVICE ATTACHMENT URI] \
    --region=$region \
    --network=looker-psc-demo \
    --subnet=consumer-psc-neg-subnet

Пример:

gcloud compute network-endpoint-groups create looker-northbound-neg \
    --network-endpoint-type=private-service-connect \
 --psc-target-service=projects/t7ec792caf2a609d1-tp/regions/us-central1/serviceAttachments/looker-psc-f51982e2-ac0d-48b1-91bb-88656971c183 \
    --region=$region \
    --network=looker-psc-demo \
    --subnet=consumer-psc-neg-subnet

Проверка создания конечной группы сети PSC

В Cloud Shell выполните следующие действия, после чего pscConnectionStatus будет принят:

gcloud compute network-endpoint-groups describe looker-northbound-neg --region=$region | grep -i pscConnectionStatus:

Пример:

user@cloudshell$ gcloud compute network-endpoint-groups describe looker-northbound-neg --region=$region | grep -i pscConnectionStatus: 
  pscConnectionStatus: ACCEPTED

Создайте региональный внутренний балансировщик нагрузки приложений.

На следующих шагах вы будете использовать Cloud Console для создания регионального внутреннего балансировщика нагрузки приложений, одновременно связывая сгенерированные сертификаты с внешней конфигурацией.

В Cloud Console перейдите к:

Сетевые службы → Балансировка нагрузки → Создать балансировщик нагрузки

e3474ca153d7c55a.png

Выберите следующие параметры:

c80afa6a28b6d922.png

Создайте серверную конфигурацию

Выберите следующие параметры и настройте среду в соответствии с вашим развертыванием:

  • Регион, используемый при развертывании сетевой инфраструктуры
  • Сеть: Looker-PSC-Demo
  • Подсеть только для прокси-сервера заполняется автоматически в зависимости от вашего региона и сети.

115627dc54d7a582.png

b3eaa88dd02a95c1.png

cf519145f0259061.png

530527bc9273e002.png

Правила маршрутизации

Никакой настройки не требуется

53a80d74b3c7dd56.png

Конфигурация внешнего интерфейса

29faa25397025fb4.png

538da2b4930d243b.png

bbc13e921681dd65.png

Убедитесь, что балансировщик нагрузки включен, и получите IP-адрес.

В Cloud Console → Сетевые службы → Балансировка нагрузки → Looker-ilb-alb.

abc7d02b4c951c73.png

12. Разрешение DNS

Разрешение DNS для личного домена может быть авторитетным локальным или облачным DNS. В этом руководстве мы определим Cloud DNS в качестве авторитетного сервера для пользовательского домена Looker. Включение локального разрешения DNS GCP требует включения политик входящего сервера. Когда вы создаете политику входящего сервера, Cloud DNS создает точки входа политики входящего сервера в сети VPC, к которой применяется политика сервера. Точки входа в политику входящего сервера — это внутренние адреса IPv4, полученные из основного диапазона адресов IPv4 каждой подсети в соответствующей сети VPC, за исключением подсетей, использующих только прокси-сервер.

В следующем разделе создается частная зона DNS для пользовательского домена Looker, Looker.cosmopup.com и запись A, состоящая из IP-адреса балансировщика нагрузки.

13. Создайте частную зону DNS

Внутри Cloud Shell создайте частную зону Cloud DNS.

gcloud dns --project=$projectid managed-zones create looker-cosmopup-dns --description="" --dns-name="looker.cosmopup.com." --visibility="private" --networks="https://compute.googleapis.com/compute/v1/projects/$projectid/global/networks/looker-psc-demo"

В Cloud Shell создайте запись A, содержащую IP-адрес балансировщика нагрузки, полученный на предыдущем этапе.

gcloud dns --project=$projectid record-sets create looker.cosmopup.com. --zone="looker-cosmopup-dns" --type="A" --ttl="300" --rrdatas="<insert-your-ip>"

Пример:

gcloud dns --project=$projectid record-sets create looker.cosmopup.com. --zone="looker-cosmopup-dns" --type="A" --ttl="300" --rrdatas="172.16.20.7"

Затем необходимо настроить гибридную сеть (например, Interconnect, HA-VPN) между VPC Looker-psc-demo и локальной сетью, чтобы обеспечить возможность подключения.

Ниже приведены шаги, необходимые для установки гибридного подключения NEG к локальной сети:

Доступ к пользовательскому интерфейсу Looker

Теперь, когда балансировщик нагрузки работает, вы можете получить доступ к своему собственному домену Looker через веб-браузер. Важно отметить, что вы можете увидеть предупреждение в зависимости от типа используемого сертификата, например, ненадежный сертификат или доверенный.

Ниже приведен пример (ненадежный сертификат) доступа к пользовательскому домену Looker Looker.cosmopup.com, который получает доступ к пользовательскому интерфейсу Looker в северном направлении:

ae43d0d0d7136044.png

14. Очистка

Из одного терминала Cloud Shell удалите компоненты лаборатории:

gcloud compute forwarding-rules delete regional-internal-alb-fr --region=$region -q

gcloud compute target-https-proxies delete regional-internal-alb-target-proxy --region=$region -q

gcloud compute url-maps delete regional-internal-alb --region=$region -q

gcloud compute backend-services delete looker-psc-neg-backend-svc --region=$region -q

gcloud compute addresses delete regional-alb-static-ip --region=$region -q

gcloud compute network-endpoint-groups delete looker-northbound-neg --region=$region -q

gcloud compute networks delete looker-psc-demo -q

15. Поздравления

Поздравляем, вы успешно настроили и проверили северное подключение к Looker с использованием клиентского домена и регионального внутреннего балансировщика нагрузки приложений.

Вы создали потребительскую инфраструктуру, узнали, как создать PSC NEG, собственный домен, и познакомились с различными вариантами сертификатов. Так много интересных вещей, которые помогут вам начать работу с Looker.

Cosmopup считает, что кодлабы — это здорово!!

c911c127bffdee57.jpeg

Что дальше?

Посмотрите некоторые из этих кодовых лабораторий...

Дальнейшее чтение и видео

Справочная документация