1. Введение
В этой лаборатории кода вы создадите региональный внутренний балансировщик нагрузки приложений уровня 7 и серверную часть подключения частных служб, чтобы получить северный доступ к Looker. Для доступа к Looker в северном направлении требуется, чтобы Consumer 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 и серверную часть NEG PSC, для которой требуется сертификат Google или самоуправляемый сертификат . Для получения более подробной информации просмотрите балансировщик нагрузки и страницу сводки сертификатов.
3. Требования к сети
Ниже приводится разбивка сетевых требований:
Компоненты | Описание |
VPC (просмотрщик-psc-демо) | Пользовательский режим VPC |
Подсеть PSC NEG | Используется для выделения IP-адреса для группы конечных точек сети. |
Только прокси-подсеть | Каждому прокси-серверу балансировщика нагрузки назначается внутренний IP-адрес. Пакеты, отправляемые с прокси-сервера на серверную виртуальную машину или конечную точку, имеют исходный IP-адрес из подсети, предназначенной только для прокси-сервера. |
Серверная служба | Серверная служба действует как мост между балансировщиком нагрузки и серверными ресурсами. В руководстве серверная служба связана с PSC NEG. |
4. Топология Codelab
5. Настройка и требования
Самостоятельная настройка среды
- Войдите в Google Cloud Console и создайте новый проект или повторно используйте существующий. Если у вас еще нет учетной записи Gmail или Google Workspace, вам необходимо ее создать .
- Имя проекта — это отображаемое имя для участников этого проекта. Это строка символов, не используемая API Google. Вы всегда можете обновить его.
- Идентификатор проекта уникален для всех проектов Google Cloud и является неизменяемым (невозможно изменить после его установки). Cloud Console автоматически генерирует уникальную строку; обычно тебя не волнует, что это такое. В большинстве лабораторий кода вам потребуется указать идентификатор проекта (обычно идентифицируемый как
PROJECT_ID
). Если вам не нравится сгенерированный идентификатор, вы можете создать другой случайный идентификатор. Альтернативно, вы можете попробовать свой собственный и посмотреть, доступен ли он. Его нельзя изменить после этого шага и он сохраняется на протяжении всего проекта. - К вашему сведению, есть третье значение — номер проекта , которое используют некоторые API. Подробнее обо всех трех этих значениях читайте в документации .
- Затем вам необходимо включить выставление счетов в Cloud Console, чтобы использовать облачные ресурсы/API. Прохождение этой кодовой лаборатории не будет стоить много, если вообще что-то стоить. Чтобы отключить ресурсы и избежать выставления счетов за пределами этого руководства, вы можете удалить созданные вами ресурсы или удалить проект. Новые пользователи Google Cloud имеют право на участие в программе бесплатной пробной версии стоимостью 300 долларов США .
Запустить Cloud Shell
Хотя Google Cloud можно управлять удаленно с вашего ноутбука, в этой лаборатории вы будете использовать Google Cloud Shell , среду командной строки, работающую в облаке.
В Google Cloud Console щелкните значок Cloud Shell на верхней правой панели инструментов:
Подготовка и подключение к среде займет всего несколько минут. Когда все будет готово, вы должны увидеть что-то вроде этого:
Эта виртуальная машина оснащена всеми необходимыми инструментами разработки. Он предлагает постоянный домашний каталог объемом 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 является личным доменом.
Пример OAuth
Ниже приведен пример учетных данных OAuth для авторизованных источников и обратного вызова для поддомена Looker.cosmopup.com.
9. Сертификаты
Вы можете создать сертификаты Compute Engine или Certificate Manager. Используйте любой из следующих методов для создания сертификатов с помощью диспетчера сертификатов:
- Региональные сертификаты самоуправления. Сведения о создании и использовании региональных самоуправляемых сертификатов см. в разделе развертывание регионального самоуправляемого сертификата . Карты сертификатов не поддерживаются.
- Региональные сертификаты, управляемые Google. Карты сертификатов не поддерживаются. Диспетчер сертификатов поддерживает следующие типы региональных сертификатов, управляемых Google:
- Региональные сертификаты, управляемые Google, с авторизацией DNS для каждого проекта. Дополнительную информацию см. в разделе «Развертывание регионального сертификата, управляемого Google» .
- Региональные (частные) сертификаты, управляемые Google, со службой центра сертификации. Дополнительную информацию см. в разделе «Развертывание регионального сертификата, управляемого Google, с помощью службы CA» .
10. Белый список Looker VPC
Просмотр разрешенных VPC
В следующем разделе вы будете использовать пользовательский интерфейс Cloud Console для просмотра списка разрешенных VPC Looker.
В Cloud Console перейдите к:
Looker → Экземпляр Looker → Подробности
Пример ниже: в списке разрешенных VPC нет записей:
Обновить разрешенные VPC
Обновите свой экземпляр Looker для поддержки северного доступа, добавив Looker-psc-demo в качестве разрешенного VPC.
В Cloud Console перейдите к:
Looker → Экземпляр Looker → Изменить
Подключения → Разрешенные VPC
Обязательно выберите проект, в котором развернут Looker-psc-demo, а затем VPC Looker-psc-demo, затем нажмите «Продолжить».
Проверка разрешенных VPC
Просмотр обновленного списка разрешенных VPC
В Cloud Console перейдите к:
Looker → Экземпляр Looker → Подробности
11. Создайте бэкэнд PSC
Looker PSC как производитель услуг генерирует URI вложения службы, используемый потребителями услуг для развертывания конечных точек и серверных частей для получения северного доступа к Looker. На следующем этапе вы определите URI вложения службы Looker PSC, а затем создадите серверную часть группы конечных точек сети Private Service Connect (NEG) в потребительском VPC.
Определите сервисное приложение Looker PSC
В Cloud Console перейдите и скопируйте URI вложения службы:
Looker → Экземпляр Looker → Подробности
Создайте группу конечных точек сети 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 перейдите к:
Сетевые службы → Балансировка нагрузки → Создать балансировщик нагрузки
Выберите следующие параметры:
Создайте серверную конфигурацию
Выберите следующие параметры и настройте среду в соответствии с вашим развертыванием:
- Регион, используемый при развертывании сетевой инфраструктуры
- Сеть: Looker-PSC-Demo
- Подсеть только для прокси-сервера заполняется автоматически в зависимости от вашего региона и сети.
Правила маршрутизации
Никакой настройки не требуется
Конфигурация внешнего интерфейса
Убедитесь, что балансировщик нагрузки включен, и получите IP-адрес.
В Cloud Console → Сетевые службы → Балансировка нагрузки → Looker-ilb-alb.
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 к локальной сети:
- Выбор продукта для сетевых подключений | Google Облако
- В звездообразной архитектуре с пирингом VPC гибридный NEG развертывается в том же VPC, что и облачный маршрутизатор (концентратор).
- Убедитесь, что локальные брандмауэры обновлены для соответствия диапазону подсетей только для прокси-сервера, поскольку эта подсеть служит исходным IP-адресом для связи с локальными рабочими нагрузками.
- Обновите локальный DNS, указав IP-адрес входящей пересылки в качестве преобразователя DNS для Looker.cosomopup.com.
Доступ к пользовательскому интерфейсу Looker
Теперь, когда балансировщик нагрузки работает, вы можете получить доступ к своему собственному домену Looker через веб-браузер. Важно отметить, что вы можете увидеть предупреждение в зависимости от типа используемого сертификата, например, ненадежный сертификат или доверенный.
Ниже приведен пример (ненадежный сертификат) доступа к пользовательскому домену Looker Looker.cosmopup.com, который получает доступ к пользовательскому интерфейсу Looker в северном направлении:
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 считает, что кодлабы — это здорово!!
Что дальше?
Посмотрите некоторые из этих кодовых лабораторий...
- Использование Private Service Connect для публикации и использования сервисов
- Подключайтесь к локальным службам через гибридную сеть с помощью Private Service Connect и внутреннего балансировщика нагрузки TCP-прокси.
- Доступ ко всем опубликованным лабораториям кода Private Service Connect.
Дальнейшее чтение и видео
Справочная документация
- Используйте самоуправляемые SSL-сертификаты | Балансировка нагрузки | Google Облако
- Развертывание регионального сертификата, управляемого Google.
- Создание серверной части Private Service Connect | ВПК | Google Облако
- Создание серверной части Private Service Connect | ВПК | Google Облако
- Создайте экземпляр Looker (ядро Google Cloud) Private Service Connect.
- Как опубликовать службу с помощью Private Service Connect