Looker PSC, северный региональный внешний L7 ALB

1. Введение

В этом практическом задании вы создадите региональный балансировщик нагрузки приложений уровня L7 и бэкэнд частного сервиса подключения (PSC) для получения доступа к Looker извне. Для доступа к Looker извне необходимо, чтобы потребительская 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.

259493afd914f68b.png

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

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

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

def88091b42bfe4d.png

2. Что вы построите

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

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

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

Компоненты

Описание

VPC (looker-psc-demo)

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

Подсеть PSC NEG

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

Подсеть только для прокси

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

Бэкенд-сервис

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

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

7f06f9b9876f76c4.png

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

Настройка среды для самостоятельного обучения

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

fbef9caa1602edd0.png

a99b7ace416376c4.png

5e3ff691252acf41.png

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

Запустить Cloud Shell

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

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

55efc1aaa7a4d3ad.png

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

7ffe5cbb04455448.png

Эта виртуальная машина содержит все необходимые инструменты разработки. Она предоставляет постоянный домашний каталог объемом 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-запроса.

6be44a9b2536e3f4.png

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

5424ce99136d5b3a.png

Пример использования OAuth

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

c7e5b8c7d2cc6a01.png

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

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

10. Включение VPC в список разрешенных объектов Looker

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

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

В консоли Cloud перейдите по следующему пути:

Looker → Looker Instance → Details

В приведенном ниже примере в списке разрешенных VPC отсутствуют какие-либо записи:

ad33177a2d721ea7.png

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

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

В консоли Cloud перейдите по следующему пути:

Looker → Экземпляр Looker → Редактировать

cbbc069688890b82.png

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

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

dc931643e1b220a.png

3e26d16d83cceae9.png

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

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

В консоли Cloud перейдите по следующему пути:

Looker → Looker Instance → Details

e34664c867929c66.png

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

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

Найдите приложение к сервису Looker PSC.

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

Looker → Looker Instance → Details

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 перейдите по следующему пути:

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

e3474ca153d7c55a.png

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

63c2e656953444f2.png

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

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

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

a1c24bd4650b27d3.png

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

aac196a6fa1ee3d5.png

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

64a390bda0c9c3f1.png

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

758a1921e3020854.png

Создайте конфигурацию бэкэнда.

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

e9bf17b1277bd597.png

af3b4a59864b15bc.png

6c784cc0169c892b.png

ba3bf9fa7d3497a5.png

Создайте правила маршрутизации.

Выберите следующие параметры (параметры по умолчанию):

8884421f10a50ce0.png

Провести проверку и доработать.

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

bdf5793ba8f46bb9.png

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

61adc0509f07ab15.png

Получите доступ к пользовательскому интерфейсу Looker.

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

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

ae43d0d0d7136044.png

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 — это круто!!

c911c127bffdee57.jpeg

Что дальше?

Посмотрите некоторые из этих практических занятий по программированию...

Дополнительная литература и видеоматериалы

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