1. Введение
В этом практическом задании вы создадите региональный балансировщик нагрузки приложений уровня L7 и бэкэнд частного сервиса подключения (PSC) для получения доступа к Looker извне. Для доступа к Looker извне необходимо, чтобы потребительская VPC была добавлена в список разрешенных для экземпляра Looker PSC.
Private Service Connect — это функция сетевых возможностей Google Cloud, которая позволяет потребителям получать доступ к управляемым сервисам в частном порядке из своей сети VPC. Аналогичным образом, она позволяет производителям управляемых сервисов размещать эти сервисы в своих отдельных сетях VPC и предлагать своим потребителям частное соединение. Например, при использовании Private Service Connect для доступа к Looker вы являетесь потребителем сервиса, а Google — производителем сервиса, как показано на рисунке 1.
Рисунок 1.

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

Что вы узнаете
- Требования к сети
- Обновите список разрешенных мест для доступа в северном направлении с помощью Looker.
- Создайте бэкэнд Private Service Connect в потребительской VPC.
- Сертификаты Google против самоподписанных сертификатов
Что вам понадобится
- Проект Google Cloud с правами владельца.
- Зарегистрированный домен
- Существующий экземпляр Looker PSC

2. Что вы построите
Вам потребуется создать разрешенную потребительскую сеть looker-psc-demo для развертывания регионального внешнего балансировщика нагрузки приложений уровня L7 и бэкэнда PSC NEG, для которого требуется сертификат Google или самоподписанный сертификат. В любом случае требуется зарегистрированный домен, соответствующий пользовательскому домену, определенному в Looker.
3. Требования к сети
Ниже приведено описание сетевых требований:
Компоненты | Описание |
VPC (looker-psc-demo) | Пользовательский режим VPC |
Подсеть PSC NEG | Используется для выделения IP-адреса группе сетевых конечных точек. |
Подсеть только для прокси | Каждому прокси-серверу балансировщика нагрузки присваивается внутренний IP-адрес. Пакеты, отправляемые с прокси-сервера на виртуальную машину или конечную точку бэкэнда, имеют исходный IP-адрес из подсети, предназначенной только для прокси-серверов. |
Бэкенд-сервис | Серверная служба выступает в качестве связующего звена между вашим балансировщиком нагрузки и вашими серверными ресурсами. В данном руководстве серверная служба связана с PSC NEG. |
4. Топология Codelab

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



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

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

Эта виртуальная машина содержит все необходимые инструменты разработки. Она предоставляет постоянный домашний каталог объемом 5 ГБ и работает в облаке Google, что значительно повышает производительность сети и аутентификацию. Вся работа в этом практическом задании может выполняться в браузере. Вам не нужно ничего устанавливать.
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. Потребительская сеть
В следующем разделе вы создадите сетевые параметры для потребителей, которые будут обновлены в списке разрешенных VPC Looker PSC.
Сеть 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 $region-proxy-only-subnet \
--purpose=REGIONAL_MANAGED_PROXY \
--role=ACTIVE \
--region=$region \
--network=looker-psc-demo \
--range=10.10.10.0/24
Зарезервировать IP-адрес балансировщика нагрузки
Внутри Cloud Shell зарезервируйте внешний IP-адрес для балансировщика нагрузки:
gcloud compute addresses create regional-alb-static-ip \
--region=$region \
--network-tier=STANDARD
Внутри Cloud Shell можно просмотреть зарезервированный IP-адрес:
gcloud compute addresses describe regional-alb-static-ip --region=us-central1 | grep -i address:
Пример выходных данных:
user@cloudshell$ gcloud compute addresses describe regional-alb-static-ip --region=us-central1 | grep -i address:
address: 35.208.202.244
8. Создайте собственный домен
Для создания собственного домена необходимо выполнить следующие шаги:
Пример пользовательского домена
Пользовательский домен looker.cosmopup.com существует как публичный DNS-поддомен, связанный с записью A статических IP-адресов (regional-alb-static-ip), определенной ранее. См. снимок экрана, сделанный с терминала для проверки DNS-запроса.

Далее создайте домен клиента, используя поддомен looker.cosmopup.com.

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

9. Сертификаты
Вы можете создавать сертификаты либо через Compute Engine, либо через Certificate Manager. Для создания сертификатов с помощью Certificate Manager используйте любой из следующих методов:
- Региональные самоуправляемые сертификаты. Информацию о создании и использовании региональных самоуправляемых сертификатов см. в разделе «Развертывание регионального самоуправляемого сертификата» . Карты сертификатов не поддерживаются.
- Региональные сертификаты, управляемые Google. Карты сертификатов не поддерживаются. Менеджер сертификатов поддерживает следующие типы региональных сертификатов, управляемых Google:
- Региональные сертификаты, управляемые Google, с авторизацией DNS для каждого проекта. Дополнительную информацию см. в разделе «Развертывание регионального сертификата, управляемого Google» .
- Региональные сертификаты, управляемые Google (частные сертификаты), с использованием службы центра сертификации. Дополнительную информацию см. в разделе «Развертывание регионального сертификата, управляемого Google, с использованием службы центра сертификации» .
10. Включение VPC в список разрешенных объектов Looker
Просмотреть разрешенные VPC
В следующем разделе вы воспользуетесь пользовательским интерфейсом Cloud Console для просмотра списка разрешенных VPC в Looker.
В консоли Cloud перейдите по следующему пути:
Looker → Looker Instance → Details
В приведенном ниже примере в списке разрешенных VPC отсутствуют какие-либо записи:

Обновить разрешенные VPC
Обновите свой экземпляр Looker для поддержки доступа извне, добавив looker-psc-demo в список разрешенных VPC.
В консоли Cloud перейдите по следующему пути:
Looker → Экземпляр Looker → Редактировать

Подключения → Разрешенные VPC
Убедитесь, что вы выбрали проект, в котором развернут looker-psc-demo, затем VPC looker-psc-demo и продолжите.


Проверить разрешенные VPC
Просмотрите обновленный список разрешенных VPC.
В консоли Cloud перейдите по следующему пути:
Looker → Looker Instance → Details

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

Создайте группу сетевых конечных точек 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 перейдите по следующему пути:
Сетевые службы → Балансировка нагрузки → Создать балансировщик нагрузки

Выберите следующие варианты:

Создайте конфигурацию внешнего интерфейса.
Выберите следующие параметры и настройте среду в соответствии с вашей конфигурацией развертывания:
- Регион, используемый при развертывании сетевой инфраструктуры.
- Подсеть "Только прокси" заполняется автоматически в зависимости от вашего региона.
- Ранее заданный статический IP-адрес доступен в зависимости от выбранного вами региона.

При выборе пункта «Сертификат» в выпадающем списке можно выбрать использование существующего или нового сертификата:

Загрузите свой сертификат и закрытый ключ, затем выберите «СОЗДАТЬ»:

Нажмите «ГОТОВО», чтобы завершить настройку интерфейса:

Создайте конфигурацию бэкэнда.
Выберите следующие варианты:




Создайте правила маршрутизации.
Выберите следующие параметры (параметры по умолчанию):

Провести проверку и доработать.
Проверьте конфигурацию и выберите «СОЗДАТЬ»:

Балансировщик нагрузки теперь включен:

Получите доступ к пользовательскому интерфейсу Looker.
Теперь, когда балансировщик нагрузки запущен, вы можете получить доступ к своему домену Looker через веб-браузер. Важно отметить, что в зависимости от типа используемого сертификата (например, недоверенный сертификат или доверенный) может появиться предупреждение.
Ниже приведён пример (с использованием недоверенного сертификата) доступа к пользовательскому домену Looker looker.cosmopup.com, который обеспечивает доступ к пользовательскому интерфейсу Looker:

12. Уборка
Из одного терминала Cloud Shell удалите компоненты лаборатории.
gcloud compute forwarding-rules delete regional-external-alb-fr --region=$region -q
gcloud compute target-https-proxies delete regional-external-alb-target-proxy --region=$region -q
gcloud compute url-maps delete regional-external-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
13. Поздравляем!
Поздравляем, вы успешно настроили и проверили подключение к Looker через северный канал, используя домен клиента и региональный внешний балансировщик нагрузки приложений.
Вы создали инфраструктуру для потребителей, научились создавать PSC NEG, собственный домен и ознакомились с различными вариантами сертификатов. Столько всего интересного ждет вас в работе с Looker!
Cosmopup считает, что Codelabs — это круто!!

Что дальше?
Посмотрите некоторые из этих практических занятий по программированию...
- Использование Private Service Connect для публикации и использования сервисов.
- Подключайтесь к локальным сервисам через гибридную сеть, используя Private Service Connect и внутренний балансировщик нагрузки TCP Proxy.
- Доступ ко всем опубликованным кодам лабораторий Private Service Connect.
Дополнительная литература и видеоматериалы
Справочная документация
- Использование самоуправляемых SSL-сертификатов | Балансировка нагрузки | Google Cloud
- Разверните региональный сертификат, управляемый Google.
- Создание бэкэнда Private Service Connect | VPC | Google Cloud
- Создание бэкэнда Private Service Connect | VPC | Google Cloud
- Создайте экземпляр Looker (ядро Google Cloud) Private Service Connect.
- Как опубликовать сервис с помощью Private Service Connect