Looker PSC Southbound HTTPS Интернет NEG, Looker PSC Southbound HTTPS Интернет NEG, Looker PSC Southbound HTTPS Интернет NEG, Looker PSC Southbound HTTPS Интернет NEG

1. Введение

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

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

  • Требования к сети
  • Создание службы-производителя Private Service Connect
  • Создайте конечную точку Private Service Connect в Looker
  • Установите подключение к GitHub из Looker с помощью тестового соединения.

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

def88091b42bfe4d.png

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

Вы создадите сеть-производитель, Looker-PSC-Demo, для развертывания внутреннего балансировщика нагрузки tcp-прокси и Интернет-NEG, опубликованного как услуга через Private Service Connect (PSC). После публикации вы выполните следующие действия для проверки доступа к службе Producer:

  • Создайте конечную точку PSC в Looker, связанную с вложением службы производителя.
  • Используйте консоль Looker, чтобы создать новый проект и проверить подключение HTTPS к GitHub.com.

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

Ниже приводится разбивка сетевых требований для сети Producer, потребителем в этой кодовой лаборатории является экземпляр Looker PSC.

Компоненты

Описание

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

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

Подсеть PSC NAT

Пакеты из потребительской сети VPC преобразуются с использованием исходного NAT (SNAT), так что их исходные IP-адреса источника преобразуются в исходные IP-адреса из подсети NAT в сети VPC производителя.

Подсеть правила пересылки PSC

Используется для выделения IP-адреса региональному внутреннему балансировщику нагрузки TCP-прокси.

Подсеть PSC NEG

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

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

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

Интернет НЕГ

Ресурс, используемый для определения внешнего серверного компонента для балансировщика нагрузки. Конечная точка не может быть доступна только через Cloud VPN или Cloud Interconnect.

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

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

Облачный маршрутизатор

Cloud NAT использует облачные маршрутизаторы для обеспечения возможностей плоскости управления, но не для управления сеансами BGP.

Облачный NAT

Региональная интернет-сеть NEG использует Cloud NAT для выхода в Интернет.

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

4e7ac0fd4a61ed9b.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. Создайте сеть VPC производителя.

Сеть VPC

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

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

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

Подсеть PSC будет связана с приложением службы PSC для целей трансляции сетевых адресов.

Внутри Cloud Shell создайте подсеть PSC NAT:

gcloud compute networks subnets create producer-psc-nat-subnet --network looker-psc-demo --range 172.16.10.0/28 --region $region --purpose=PRIVATE_SERVICE_CONNECT

В Cloud Shell создайте подсеть правила переадресации производителя:

gcloud compute networks subnets create producer-psc-fr-subnet --network looker-psc-demo --range 172.16.20.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

Создайте общедоступный шлюз NAT.

Шлюз NAT используется региональным внутренним балансировщиком нагрузки TCP-прокси для выхода из Интернета с параметром конфигурации –endpoint-types=ENDPOINT_TYPE_MANAGED_PROXY_LB, поэтому тот же NATGW не будет поддерживать выход из Интернета GCE/GKE. Разверните дополнительный шлюз NAT с параметром –endpoint-types=ENDPOINT_TYPE_VM для выхода в Интернет GCE/GKE.

Внутри Cloud Shell создайте Cloud Router:

gcloud compute routers create looker-psc-demo-cloud-router --network looker-psc-demo --region $region

Внутри Cloud Shell создайте шлюз Cloud NAT, обеспечивающий выход в Интернет для балансировщика нагрузки TCP-прокси:

gcloud compute routers nats create looker-psc-demo-natgw \
  --router=looker-psc-demo-cloud-router \
  --endpoint-types=ENDPOINT_TYPE_MANAGED_PROXY_LB \
  --nat-custom-subnet-ip-ranges=$region-proxy-only-subnet \
  --auto-allocate-nat-external-ips \
  --region=$region

Зарезервируйте IP-адрес балансировщика нагрузки.

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

gcloud compute addresses create internet-neg-lb-ip \
  --region=$region \
  --subnet=producer-psc-fr-subnet

В Cloud Shell просмотрите зарезервированный IP-адрес.

gcloud compute addresses describe internet-neg-lb-ip \
  --region=$region | grep -i address:

Пример вывода:

user@cloudshell$ gcloud compute addresses describe internet-neg-lb-ip   --region=$region | grep -i address:
address: 172.16.20.2

Настроить Интернет NEG

Создайте Internet NEG и установите для параметра –network-endpoint-type значение интернет-fqdn-port (имя хоста и порт, по которым можно получить доступ к вашему внешнему серверу).

Внутри Cloud Shell создайте NEG Интернета, используемый для github.com.

gcloud compute network-endpoint-groups create github-internet-neg \
    --network-endpoint-type=INTERNET_FQDN_PORT \
    --network=looker-psc-demo \
    --region=$region

В Cloud Shell обновите Internet NEG github-internet-neg, указав полное доменное имя github.com и порт 443.

gcloud compute network-endpoint-groups update github-internet-neg \
    --add-endpoint="fqdn=github.com,port=443" \
    --region=$region

Создайте политику сетевого брандмауэра и правила брандмауэра.

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

gcloud compute network-firewall-policies create looker-psc-demo-policy --global

gcloud compute network-firewall-policies associations create --firewall-policy looker-psc-demo-policy --network looker-psc-demo --name looker-psc-demo --global-firewall-policy

Следующее правило брандмауэра разрешает передачу трафика из диапазона подсети PSC NAT во все экземпляры сети.

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

gcloud compute network-firewall-policies rules create 2001 --action ALLOW --firewall-policy looker-psc-demo-policy --description "allow traffic from PSC NAT subnet" --direction INGRESS --src-ip-ranges 172.16.10.0/28 --global-firewall-policy --layer4-configs=tcp

8. Создать службу продюсера

Создание компонентов балансировщика нагрузки

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

gcloud compute backend-services create producer-backend-svc  --protocol=tcp --region=$region --load-balancing-scheme=INTERNAL_MANAGED

gcloud compute backend-services add-backend producer-backend-svc --network-endpoint-group=github-internet-neg --network-endpoint-group-region=$region --region=$region

В Cloud Shell создайте целевой TCP-прокси для маршрутизации запросов к внутренней службе:

gcloud compute target-tcp-proxies create producer-lb-tcp-proxy \
      --backend-service=producer-backend-svc  \
      --region=$region

В следующем синтаксисе создайте правило переадресации (внутренний балансировщик нагрузки TCP-прокси).

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

gcloud compute forwarding-rules create producer-github-fr \
     --load-balancing-scheme=INTERNAL_MANAGED \
     --network-tier=PREMIUM \
     --network=looker-psc-demo \
     --subnet=producer-psc-fr-subnet \
     --address=internet-neg-lb-ip \
     --target-tcp-proxy=producer-lb-tcp-proxy \
     --target-tcp-proxy-region=$region \
     --region=$region \
     --ports=443

Создать служебное приложение

Внутри Cloud Shell создайте вложение службы github-svc-attachment-https:

gcloud compute service-attachments create github-svc-attachment-https --region=$region --producer-forwarding-rule=producer-github-fr --connection-preference=ACCEPT_AUTOMATIC --nat-subnets=producer-psc-nat-subnet

Затем получите и запишите вложение службы, указанное в URI selfLink, начиная с проектов, для настройки конечной точки PSC в Looker.

selfLink: projects/<your-project-id>/regions/<your-region>/serviceAttachments/github-svc-attachment-https

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

gcloud compute service-attachments describe github-svc-attachment-https --region=$region

Пример:

connectionPreference: ACCEPT_AUTOMATIC
creationTimestamp: '2024-08-30T09:44:03.883-07:00'
description: ''
enableProxyProtocol: false
fingerprint: RfKh3blWZE0=
id: '2897904404386302012'
kind: compute#serviceAttachment
name: github-svc-attachment-https
natSubnets:
- https://www.googleapis.com/compute/v1/projects/$project/regions/$region/subnetworks/producer-psc-nat-subnet
pscServiceAttachmentId:
  high: '19348441121424360'
  low: '2897904404386302012'
reconcileConnections: false
region: https://www.googleapis.com/compute/v1/projects/$project/regions/$region
selfLink: https://www.googleapis.com/compute/v1/projects/$project/regions/$region/serviceAttachments/github-svc-attachment-https
targetService: https://www.googleapis.com/compute/v1/projects/$project/regions/$region/forwardingRules/producer-github-fr

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

Сетевые службы → Подключение частных служб → Опубликованные службы

a8cae886441d9c25.png

84a906b3bedabeee.png

9. Установите соединение с конечной точкой PSC в Looker.

В следующем разделе вы свяжете вложение службы Producers с Looker Core PSC с помощью флагов –psc-service-attachment в Cloud Shell для одного домена.

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

  • INSTANCE_NAME: имя вашего экземпляра Looker (ядро Google Cloud).
  • ДОМЕН_1: github.com
  • SERVICE_ATTACHMENT_1: URI, полученный при описании вложения службы, github-svc-attachment-https.
  • РЕГИОН: регион, в котором размещен ваш экземпляр Looker (ядро Google Cloud).

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

gcloud looker instances update INSTANCE_NAME \
--psc-service-attachment  domain=DOMAIN_1,attachment=SERVICE_ATTACHMENT_URI_1 \
--region=REGION

Пример:

gcloud looker instances update looker-psc-instance \
--psc-service-attachment  domain=github.com,attachment=projects/$project/regions/$region/serviceAttachments/github-svc-attachment-https \
--region=$region

В Cloud Shell убедитесь, что статус подключения serviceAttachments имеет значение «ACCEPTED», обновите его с помощью Looker PSC INSTANCE_NAME.

gcloud looker instances describe [INSTANCE_NAME] --region=$region --format=json

Пример:

gcloud looker instances describe looker-psc-instance --region=$region --format=json

Пример:

{
  "adminSettings": {},
  "createTime": "2024-08-23T00:00:45.339063195Z",
  "customDomain": {
    "domain": "cosmopup.com",
    "state": "AVAILABLE"
  },
  "encryptionConfig": {},
  "lookerVersion": "24.12.28",
  "name": "projects/$project/locations/$region/instances/looker-psc-instance",
  "platformEdition": "LOOKER_CORE_ENTERPRISE_ANNUAL",
  "pscConfig": {
    "allowedVpcs": [
    "projects/$project/global/networks/looker-psc-demo",
      "projects/$project/global/networks/looker-shared-vpc"
    ],
    "lookerServiceAttachmentUri": "projects/t7ec792caf2a609d1-tp/regions/$region/serviceAttachments/looker-psc-f51982e2-ac0d-48b1-91bb-88656971c183",
    "serviceAttachments": [
      {
        "connectionStatus": "ACCEPTED",
        "localFqdn": "github.com",
        "targetServiceAttachmentUri": "projects/$project/regions/$region/serviceAttachments/github-svc-attachment-https"
      }
    ]
  },
  "pscEnabled": true,
  "state": "ACTIVE",
  "updateTime": "2024-08-30T17:47:33.440271635Z"
}

Проверьте конечную точку PSC в Cloud Console.

В Cloud Console вы можете проверить соединение PSC.

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

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

2d4684d722d31e4b.png

ef907280833bcad.png

10. Проверьте подключение к GitHub

На следующих шагах вы будете использовать консоль Looker для создания проекта для проверки подключения HTTPS к github.com.

11. Создайте новый проект

Включить режим разработки

В консоли Looker перейдите к:

Включите режим разработки (внизу левой страницы), после выбора отобразится баннер «Вы находитесь в режиме разработки».

70c9ded749decfbe.png

Создать новый проект

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

Разработка → Проекты

e8ae11e0392a776d.png

Выберите новый проект LookML

65a3c2573e97e1e9.png

Укажите имя проекта, выберите «Пустой проект», затем «Создать проект».

9185808e001fa540.png

Выберите «Настроить Git».

42f5e51ce70642ad.png

Настроить Git

Обновите URL-адрес репозитория, указав данные HTTPS на GitHub, обязательно добавьте URL-адрес с расширением .git, затем нажмите «Продолжить».

f5c448f6659b8fc1.png

Пример:

4065ab1d196589f.png

Обновите выбор, указав свое имя пользователя GitHub и токен личного доступа (классический вариант), затем выберите «Протестировать и завершить настройку».

1dc44d63c555a9ae.png

Выберите действия Git

b5903668a50a99ca.png

Выберите «Проверить соединение с Git».

51b722e84f2df38c.png

Проверка теста подключения Git

a33584380b788b6d.png

Очистить

Удаление компонентов лаборатории из одного терминала Cloud Shell

gcloud compute service-attachments delete github-svc-attachment-https --region=$region -q

gcloud compute forwarding-rules delete producer-github-fr --region=$region -q

gcloud compute target-tcp-proxies delete producer-lb-tcp-proxy --region=$region -q

gcloud compute backend-services delete producer-backend-svc --region=$region -q

gcloud compute network-firewall-policies rules delete 2001 --firewall-policy looker-psc-demo-policy --global-firewall-policy -q

gcloud compute network-firewall-policies associations delete --firewall-policy=looker-psc-demo-policy  --name=looker-psc-demo --global-firewall-policy -q

gcloud compute network-firewall-policies delete looker-psc-demo-policy --global -q

gcloud compute routers nats delete looker-psc-demo-natgw --router=looker-psc-demo-cloud-router --router-region=$region -q

gcloud compute routers delete looker-psc-demo-cloud-router --region=$region -q

gcloud compute network-endpoint-groups delete github-internet-neg --region=$region -q

gcloud compute addresses delete internet-neg-lb-ip --region=$region -q

gcloud compute networks subnets delete producer-psc-fr-subnet producer-psc-nat-subnet $region-proxy-only-subnet --region=$region -q

gcloud compute networks delete looker-psc-demo -q

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

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

Вы создали инфраструктуру производителя, узнали, как создать Интернет NEG, службу производителя и конечную точку Looker PSC, которая позволяла бы подключаться к службе источника.

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

c911c127bffdee57.jpeg

Что дальше?

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

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

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

,

1. Введение

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

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

  • Требования к сети
  • Создание службы-производителя Private Service Connect
  • Создайте конечную точку Private Service Connect в Looker
  • Установите подключение к GitHub из Looker с помощью тестового соединения.

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

def88091b42bfe4d.png

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

Вы создадите сеть-производитель, Looker-PSC-Demo, для развертывания внутреннего балансировщика нагрузки tcp-прокси и Интернет-NEG, опубликованного как услуга через Private Service Connect (PSC). После публикации вы выполните следующие действия для проверки доступа к службе Producer:

  • Создайте конечную точку PSC в Looker, связанную с вложением службы производителя.
  • Используйте консоль Looker, чтобы создать новый проект и проверить подключение HTTPS к GitHub.com.

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

Ниже приводится разбивка сетевых требований для сети Producer, потребителем в этой кодовой лаборатории является экземпляр Looker PSC.

Компоненты

Описание

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

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

Подсеть PSC NAT

Пакеты из потребительской сети VPC преобразуются с использованием исходного NAT (SNAT), так что их исходные IP-адреса источника преобразуются в исходные IP-адреса из подсети NAT в сети VPC производителя.

Подсеть правила пересылки PSC

Используется для выделения IP-адреса региональному внутреннему балансировщику нагрузки TCP-прокси.

Подсеть PSC NEG

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

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

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

Интернет НЕГ

Ресурс, используемый для определения внешнего серверного компонента балансировщика нагрузки. Конечная точка не может быть доступна только через Cloud VPN или Cloud Interconnect.

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

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

Облачный маршрутизатор

Cloud NAT использует облачные маршрутизаторы для обеспечения возможностей плоскости управления, но не для управления сеансами BGP.

Облачный NAT

Региональная интернет-сеть NEG использует Cloud NAT для выхода в Интернет.

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

4e7ac0fd4a61ed9b.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. Создайте сеть VPC производителя.

Сеть VPC

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

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

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

Подсеть PSC будет связана с приложением службы PSC для целей трансляции сетевых адресов.

Внутри Cloud Shell создайте подсеть PSC NAT:

gcloud compute networks subnets create producer-psc-nat-subnet --network looker-psc-demo --range 172.16.10.0/28 --region $region --purpose=PRIVATE_SERVICE_CONNECT

В Cloud Shell создайте подсеть правила переадресации производителя:

gcloud compute networks subnets create producer-psc-fr-subnet --network looker-psc-demo --range 172.16.20.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

Создайте общедоступный шлюз NAT.

Шлюз NAT используется региональным внутренним балансировщиком нагрузки TCP-прокси для выхода из Интернета с параметром конфигурации –endpoint-types=ENDPOINT_TYPE_MANAGED_PROXY_LB, поэтому тот же NATGW не будет поддерживать выход из Интернета GCE/GKE. Разверните дополнительный шлюз NAT с параметром –endpoint-types=ENDPOINT_TYPE_VM для выхода из Интернета GCE/GKE.

Внутри Cloud Shell создайте Cloud Router:

gcloud compute routers create looker-psc-demo-cloud-router --network looker-psc-demo --region $region

Внутри Cloud Shell создайте шлюз Cloud NAT, обеспечивающий выход в Интернет для балансировщика нагрузки прокси-сервера TCP:

gcloud compute routers nats create looker-psc-demo-natgw \
  --router=looker-psc-demo-cloud-router \
  --endpoint-types=ENDPOINT_TYPE_MANAGED_PROXY_LB \
  --nat-custom-subnet-ip-ranges=$region-proxy-only-subnet \
  --auto-allocate-nat-external-ips \
  --region=$region

Зарезервируйте IP-адрес балансировщика нагрузки.

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

gcloud compute addresses create internet-neg-lb-ip \
  --region=$region \
  --subnet=producer-psc-fr-subnet

В Cloud Shell просмотрите зарезервированный IP-адрес.

gcloud compute addresses describe internet-neg-lb-ip \
  --region=$region | grep -i address:

Пример вывода:

user@cloudshell$ gcloud compute addresses describe internet-neg-lb-ip   --region=$region | grep -i address:
address: 172.16.20.2

Настроить Интернет NEG

Создайте Internet NEG и установите для параметра –network-endpoint-type значение интернет-fqdn-port (имя хоста и порт, по которым можно получить доступ к вашему внешнему серверу).

Внутри Cloud Shell создайте NEG Интернета, используемый для github.com.

gcloud compute network-endpoint-groups create github-internet-neg \
    --network-endpoint-type=INTERNET_FQDN_PORT \
    --network=looker-psc-demo \
    --region=$region

В Cloud Shell обновите Internet NEG github-internet-neg, указав полное доменное имя github.com и порт 443.

gcloud compute network-endpoint-groups update github-internet-neg \
    --add-endpoint="fqdn=github.com,port=443" \
    --region=$region

Создайте политику сетевого брандмауэра и правила брандмауэра.

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

gcloud compute network-firewall-policies create looker-psc-demo-policy --global

gcloud compute network-firewall-policies associations create --firewall-policy looker-psc-demo-policy --network looker-psc-demo --name looker-psc-demo --global-firewall-policy

Следующее правило брандмауэра разрешает передачу трафика из диапазона подсети PSC NAT во все экземпляры сети.

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

gcloud compute network-firewall-policies rules create 2001 --action ALLOW --firewall-policy looker-psc-demo-policy --description "allow traffic from PSC NAT subnet" --direction INGRESS --src-ip-ranges 172.16.10.0/28 --global-firewall-policy --layer4-configs=tcp

8. Создать службу продюсера

Создание компонентов балансировщика нагрузки

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

gcloud compute backend-services create producer-backend-svc  --protocol=tcp --region=$region --load-balancing-scheme=INTERNAL_MANAGED

gcloud compute backend-services add-backend producer-backend-svc --network-endpoint-group=github-internet-neg --network-endpoint-group-region=$region --region=$region

В Cloud Shell создайте целевой TCP-прокси для маршрутизации запросов к внутренней службе:

gcloud compute target-tcp-proxies create producer-lb-tcp-proxy \
      --backend-service=producer-backend-svc  \
      --region=$region

В следующем синтаксисе создайте правило переадресации (внутренний балансировщик нагрузки TCP-прокси).

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

gcloud compute forwarding-rules create producer-github-fr \
     --load-balancing-scheme=INTERNAL_MANAGED \
     --network-tier=PREMIUM \
     --network=looker-psc-demo \
     --subnet=producer-psc-fr-subnet \
     --address=internet-neg-lb-ip \
     --target-tcp-proxy=producer-lb-tcp-proxy \
     --target-tcp-proxy-region=$region \
     --region=$region \
     --ports=443

Создать служебное приложение

Внутри Cloud Shell создайте вложение службы github-svc-attachment-https:

gcloud compute service-attachments create github-svc-attachment-https --region=$region --producer-forwarding-rule=producer-github-fr --connection-preference=ACCEPT_AUTOMATIC --nat-subnets=producer-psc-nat-subnet

Затем получите и запишите вложение службы, указанное в URI selfLink, начиная с проектов, для настройки конечной точки PSC в Looker.

selfLink: projects/<your-project-id>/regions/<your-region>/serviceAttachments/github-svc-attachment-https

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

gcloud compute service-attachments describe github-svc-attachment-https --region=$region

Пример:

connectionPreference: ACCEPT_AUTOMATIC
creationTimestamp: '2024-08-30T09:44:03.883-07:00'
description: ''
enableProxyProtocol: false
fingerprint: RfKh3blWZE0=
id: '2897904404386302012'
kind: compute#serviceAttachment
name: github-svc-attachment-https
natSubnets:
- https://www.googleapis.com/compute/v1/projects/$project/regions/$region/subnetworks/producer-psc-nat-subnet
pscServiceAttachmentId:
  high: '19348441121424360'
  low: '2897904404386302012'
reconcileConnections: false
region: https://www.googleapis.com/compute/v1/projects/$project/regions/$region
selfLink: https://www.googleapis.com/compute/v1/projects/$project/regions/$region/serviceAttachments/github-svc-attachment-https
targetService: https://www.googleapis.com/compute/v1/projects/$project/regions/$region/forwardingRules/producer-github-fr

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

Сетевые службы → Подключение частных служб → Опубликованные службы

a8cae886441d9c25.png

84a906b3bedabeee.png

9. Установите соединение с конечной точкой PSC в Looker.

В следующем разделе вы свяжете вложение службы Producers с Looker Core PSC с помощью флагов –psc-service-attachment в Cloud Shell для одного домена.

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

  • INSTANCE_NAME: имя вашего экземпляра Looker (ядро Google Cloud).
  • ДОМЕН_1: github.com
  • SERVICE_ATTACHMENT_1: URI, полученный при описании вложения службы, github-svc-attachment-https.
  • РЕГИОН: регион, в котором размещен ваш экземпляр Looker (ядро Google Cloud).

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

gcloud looker instances update INSTANCE_NAME \
--psc-service-attachment  domain=DOMAIN_1,attachment=SERVICE_ATTACHMENT_URI_1 \
--region=REGION

Пример:

gcloud looker instances update looker-psc-instance \
--psc-service-attachment  domain=github.com,attachment=projects/$project/regions/$region/serviceAttachments/github-svc-attachment-https \
--region=$region

В Cloud Shell убедитесь, что статус подключения serviceAttachments имеет значение «ACCEPTED», обновите его с помощью Looker PSC INSTANCE_NAME.

gcloud looker instances describe [INSTANCE_NAME] --region=$region --format=json

Пример:

gcloud looker instances describe looker-psc-instance --region=$region --format=json

Пример:

{
  "adminSettings": {},
  "createTime": "2024-08-23T00:00:45.339063195Z",
  "customDomain": {
    "domain": "cosmopup.com",
    "state": "AVAILABLE"
  },
  "encryptionConfig": {},
  "lookerVersion": "24.12.28",
  "name": "projects/$project/locations/$region/instances/looker-psc-instance",
  "platformEdition": "LOOKER_CORE_ENTERPRISE_ANNUAL",
  "pscConfig": {
    "allowedVpcs": [
    "projects/$project/global/networks/looker-psc-demo",
      "projects/$project/global/networks/looker-shared-vpc"
    ],
    "lookerServiceAttachmentUri": "projects/t7ec792caf2a609d1-tp/regions/$region/serviceAttachments/looker-psc-f51982e2-ac0d-48b1-91bb-88656971c183",
    "serviceAttachments": [
      {
        "connectionStatus": "ACCEPTED",
        "localFqdn": "github.com",
        "targetServiceAttachmentUri": "projects/$project/regions/$region/serviceAttachments/github-svc-attachment-https"
      }
    ]
  },
  "pscEnabled": true,
  "state": "ACTIVE",
  "updateTime": "2024-08-30T17:47:33.440271635Z"
}

Проверьте конечную точку PSC в Cloud Console.

В Cloud Console вы можете проверить соединение PSC.

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

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

2d4684d722d31e4b.png

ef907280833bcad.png

10. Проверьте подключение к GitHub

На следующих шагах вы будете использовать консоль Looker для создания проекта для проверки подключения HTTPS к github.com.

11. Создайте новый проект

Включить режим разработки

В консоли Looker перейдите к:

Включите режим разработки (внизу левой страницы), после выбора отобразится баннер «Вы находитесь в режиме разработки».

70c9ded749decfbe.png

Создать новый проект

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

Разработка → Проекты

e8ae11e0392a776d.png

Выберите новый проект LookML

65a3c2573e97e1e9.png

Укажите имя проекта, выберите «Пустой проект», затем «Создать проект».

9185808e001fa540.png

Выберите «Настроить Git».

42f5e51ce70642ad.png

Настроить Git

Обновите URL-адрес репозитория, указав данные HTTPS на GitHub, обязательно добавьте URL-адрес с расширением .git, затем нажмите «Продолжить».

f5c448f6659b8fc1.png

Пример:

4065ab1d196589f.png

Обновите выбор, указав свое имя пользователя GitHub и токен личного доступа (классический вариант), затем выберите «Протестировать и завершить настройку».

1dc44d63c555a9ae.png

Выберите действия Git

b5903668a50a99ca.png

Выберите «Проверить соединение с Git».

51b722e84f2df38c.png

Проверка теста подключения Git

a33584380b788b6d.png

Очистить

Удаление компонентов лаборатории из одного терминала Cloud Shell

gcloud compute service-attachments delete github-svc-attachment-https --region=$region -q

gcloud compute forwarding-rules delete producer-github-fr --region=$region -q

gcloud compute target-tcp-proxies delete producer-lb-tcp-proxy --region=$region -q

gcloud compute backend-services delete producer-backend-svc --region=$region -q

gcloud compute network-firewall-policies rules delete 2001 --firewall-policy looker-psc-demo-policy --global-firewall-policy -q

gcloud compute network-firewall-policies associations delete --firewall-policy=looker-psc-demo-policy  --name=looker-psc-demo --global-firewall-policy -q

gcloud compute network-firewall-policies delete looker-psc-demo-policy --global -q

gcloud compute routers nats delete looker-psc-demo-natgw --router=looker-psc-demo-cloud-router --router-region=$region -q

gcloud compute routers delete looker-psc-demo-cloud-router --region=$region -q

gcloud compute network-endpoint-groups delete github-internet-neg --region=$region -q

gcloud compute addresses delete internet-neg-lb-ip --region=$region -q

gcloud compute networks subnets delete producer-psc-fr-subnet producer-psc-nat-subnet $region-proxy-only-subnet --region=$region -q

gcloud compute networks delete looker-psc-demo -q

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

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

Вы создали инфраструктуру производителя, узнали, как создать Интернет NEG, службу производителя и конечную точку Looker PSC, которая позволяла бы подключаться к службе источника.

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

c911c127bffdee57.jpeg

Что дальше?

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

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

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

,

1. Введение

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

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

  • Требования к сети
  • Создание службы-производителя Private Service Connect
  • Создайте конечную точку Private Service Connect в Looker
  • Установите подключение к GitHub из Looker с помощью тестового соединения.

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

def88091b42bfe4d.png

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

Вы создадите сеть-производитель, Looker-PSC-Demo, для развертывания внутреннего балансировщика нагрузки tcp-прокси и Интернет-NEG, опубликованного как услуга через Private Service Connect (PSC). После публикации вы выполните следующие действия для проверки доступа к службе Producer:

  • Создайте конечную точку PSC в Looker, связанную с вложением службы производителя.
  • Используйте консоль Looker, чтобы создать новый проект и проверить подключение HTTPS к GitHub.com.

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

Ниже приводится разбивка сетевых требований для сети Producer, потребителем в этой кодовой лаборатории является экземпляр Looker PSC.

Компоненты

Описание

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

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

Подсеть PSC NAT

Пакеты из потребительской сети VPC преобразуются с использованием исходного NAT (SNAT), так что их исходные IP-адреса источника преобразуются в исходные IP-адреса из подсети NAT в сети VPC производителя.

Подсеть правила пересылки PSC

Используется для выделения IP-адреса региональному внутреннему балансировщику нагрузки TCP-прокси.

Подсеть PSC NEG

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

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

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

Интернет НЕГ

Ресурс, используемый для определения внешнего серверного компонента для балансировщика нагрузки. Конечная точка не может быть доступна только через Cloud VPN или Cloud Interconnect.

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

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

Облачный маршрутизатор

Cloud NAT использует облачные маршрутизаторы для обеспечения возможностей плоскости управления, но не для управления сеансами BGP.

Облачный NAT

Региональная интернет-сеть NEG использует Cloud NAT для выхода в Интернет.

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

4e7ac0fd4a61ed9b.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. Создайте сеть VPC производителя.

Сеть VPC

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

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

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

Подсеть PSC будет связана с приложением службы PSC для целей трансляции сетевых адресов.

Внутри Cloud Shell создайте подсеть PSC NAT:

gcloud compute networks subnets create producer-psc-nat-subnet --network looker-psc-demo --range 172.16.10.0/28 --region $region --purpose=PRIVATE_SERVICE_CONNECT

В Cloud Shell создайте подсеть правила переадресации производителя:

gcloud compute networks subnets create producer-psc-fr-subnet --network looker-psc-demo --range 172.16.20.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

Создайте общедоступный шлюз NAT.

Шлюз NAT используется региональным внутренним балансировщиком нагрузки TCP-прокси для выхода из Интернета с параметром конфигурации –endpoint-types=ENDPOINT_TYPE_MANAGED_PROXY_LB, поэтому тот же NATGW не будет поддерживать выход из Интернета GCE/GKE. Разверните дополнительный шлюз NAT с параметром –endpoint-types=ENDPOINT_TYPE_VM для выхода из Интернета GCE/GKE.

Внутри Cloud Shell создайте Cloud Router:

gcloud compute routers create looker-psc-demo-cloud-router --network looker-psc-demo --region $region

Внутри Cloud Shell создайте шлюз Cloud NAT, обеспечивающий выход в Интернет для балансировщика нагрузки прокси-сервера TCP:

gcloud compute routers nats create looker-psc-demo-natgw \
  --router=looker-psc-demo-cloud-router \
  --endpoint-types=ENDPOINT_TYPE_MANAGED_PROXY_LB \
  --nat-custom-subnet-ip-ranges=$region-proxy-only-subnet \
  --auto-allocate-nat-external-ips \
  --region=$region

Зарезервируйте IP-адрес балансировщика нагрузки.

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

gcloud compute addresses create internet-neg-lb-ip \
  --region=$region \
  --subnet=producer-psc-fr-subnet

В Cloud Shell просмотрите зарезервированный IP-адрес.

gcloud compute addresses describe internet-neg-lb-ip \
  --region=$region | grep -i address:

Пример вывода:

user@cloudshell$ gcloud compute addresses describe internet-neg-lb-ip   --region=$region | grep -i address:
address: 172.16.20.2

Настроить Интернет NEG

Создайте Internet NEG и установите для параметра –network-endpoint-type значение интернет-fqdn-port (имя хоста и порт, по которым можно получить доступ к вашему внешнему серверу).

Внутри Cloud Shell создайте NEG Интернета, используемый для github.com.

gcloud compute network-endpoint-groups create github-internet-neg \
    --network-endpoint-type=INTERNET_FQDN_PORT \
    --network=looker-psc-demo \
    --region=$region

В Cloud Shell обновите Internet NEG github-internet-neg, указав полное доменное имя github.com и порт 443.

gcloud compute network-endpoint-groups update github-internet-neg \
    --add-endpoint="fqdn=github.com,port=443" \
    --region=$region

Создайте политику сетевого брандмауэра и правила брандмауэра.

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

gcloud compute network-firewall-policies create looker-psc-demo-policy --global

gcloud compute network-firewall-policies associations create --firewall-policy looker-psc-demo-policy --network looker-psc-demo --name looker-psc-demo --global-firewall-policy

Следующее правило брандмауэра разрешает передачу трафика из диапазона подсети PSC NAT во все экземпляры сети.

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

gcloud compute network-firewall-policies rules create 2001 --action ALLOW --firewall-policy looker-psc-demo-policy --description "allow traffic from PSC NAT subnet" --direction INGRESS --src-ip-ranges 172.16.10.0/28 --global-firewall-policy --layer4-configs=tcp

8. Создать службу продюсера

Создание компонентов балансировщика нагрузки

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

gcloud compute backend-services create producer-backend-svc  --protocol=tcp --region=$region --load-balancing-scheme=INTERNAL_MANAGED

gcloud compute backend-services add-backend producer-backend-svc --network-endpoint-group=github-internet-neg --network-endpoint-group-region=$region --region=$region

В Cloud Shell создайте целевой TCP-прокси для маршрутизации запросов к внутренней службе:

gcloud compute target-tcp-proxies create producer-lb-tcp-proxy \
      --backend-service=producer-backend-svc  \
      --region=$region

В следующем синтаксисе создайте правило переадресации (внутренний балансировщик нагрузки TCP-прокси).

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

gcloud compute forwarding-rules create producer-github-fr \
     --load-balancing-scheme=INTERNAL_MANAGED \
     --network-tier=PREMIUM \
     --network=looker-psc-demo \
     --subnet=producer-psc-fr-subnet \
     --address=internet-neg-lb-ip \
     --target-tcp-proxy=producer-lb-tcp-proxy \
     --target-tcp-proxy-region=$region \
     --region=$region \
     --ports=443

Создать служебное приложение

Внутри Cloud Shell создайте вложение службы github-svc-attachment-https:

gcloud compute service-attachments create github-svc-attachment-https --region=$region --producer-forwarding-rule=producer-github-fr --connection-preference=ACCEPT_AUTOMATIC --nat-subnets=producer-psc-nat-subnet

Затем получите и запишите вложение службы, указанное в URI selfLink, начиная с проектов, для настройки конечной точки PSC в Looker.

selfLink: projects/<your-project-id>/regions/<your-region>/serviceAttachments/github-svc-attachment-https

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

gcloud compute service-attachments describe github-svc-attachment-https --region=$region

Пример:

connectionPreference: ACCEPT_AUTOMATIC
creationTimestamp: '2024-08-30T09:44:03.883-07:00'
description: ''
enableProxyProtocol: false
fingerprint: RfKh3blWZE0=
id: '2897904404386302012'
kind: compute#serviceAttachment
name: github-svc-attachment-https
natSubnets:
- https://www.googleapis.com/compute/v1/projects/$project/regions/$region/subnetworks/producer-psc-nat-subnet
pscServiceAttachmentId:
  high: '19348441121424360'
  low: '2897904404386302012'
reconcileConnections: false
region: https://www.googleapis.com/compute/v1/projects/$project/regions/$region
selfLink: https://www.googleapis.com/compute/v1/projects/$project/regions/$region/serviceAttachments/github-svc-attachment-https
targetService: https://www.googleapis.com/compute/v1/projects/$project/regions/$region/forwardingRules/producer-github-fr

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

Сетевые службы → Подключение частных служб → Опубликованные службы

a8cae886441d9c25.png

84a906b3bedabeee.png

9. Установите соединение с конечной точкой PSC в Looker.

В следующем разделе вы свяжете вложение службы Producers с Looker Core PSC с помощью флагов –psc-service-attachment в Cloud Shell для одного домена.

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

  • INSTANCE_NAME: имя вашего экземпляра Looker (ядро Google Cloud).
  • ДОМЕН_1: github.com
  • SERVICE_ATTACHMENT_1: URI, полученный при описании вложения службы, github-svc-attachment-https.
  • РЕГИОН: регион, в котором размещен ваш экземпляр Looker (ядро Google Cloud).

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

gcloud looker instances update INSTANCE_NAME \
--psc-service-attachment  domain=DOMAIN_1,attachment=SERVICE_ATTACHMENT_URI_1 \
--region=REGION

Пример:

gcloud looker instances update looker-psc-instance \
--psc-service-attachment  domain=github.com,attachment=projects/$project/regions/$region/serviceAttachments/github-svc-attachment-https \
--region=$region

В Cloud Shell убедитесь, что статус подключения serviceAttachments имеет значение «ACCEPTED», обновите его с помощью Looker PSC INSTANCE_NAME.

gcloud looker instances describe [INSTANCE_NAME] --region=$region --format=json

Пример:

gcloud looker instances describe looker-psc-instance --region=$region --format=json

Пример:

{
  "adminSettings": {},
  "createTime": "2024-08-23T00:00:45.339063195Z",
  "customDomain": {
    "domain": "cosmopup.com",
    "state": "AVAILABLE"
  },
  "encryptionConfig": {},
  "lookerVersion": "24.12.28",
  "name": "projects/$project/locations/$region/instances/looker-psc-instance",
  "platformEdition": "LOOKER_CORE_ENTERPRISE_ANNUAL",
  "pscConfig": {
    "allowedVpcs": [
    "projects/$project/global/networks/looker-psc-demo",
      "projects/$project/global/networks/looker-shared-vpc"
    ],
    "lookerServiceAttachmentUri": "projects/t7ec792caf2a609d1-tp/regions/$region/serviceAttachments/looker-psc-f51982e2-ac0d-48b1-91bb-88656971c183",
    "serviceAttachments": [
      {
        "connectionStatus": "ACCEPTED",
        "localFqdn": "github.com",
        "targetServiceAttachmentUri": "projects/$project/regions/$region/serviceAttachments/github-svc-attachment-https"
      }
    ]
  },
  "pscEnabled": true,
  "state": "ACTIVE",
  "updateTime": "2024-08-30T17:47:33.440271635Z"
}

Проверьте конечную точку PSC в Cloud Console.

В Cloud Console вы можете проверить соединение PSC.

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

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

2d4684d722d31e4b.png

ef907280833bcad.png

10. Проверьте подключение к GitHub

На следующих шагах вы будете использовать консоль Looker для создания проекта для проверки подключения HTTPS к github.com.

11. Создайте новый проект

Включить режим разработки

В консоли Looker перейдите к:

Включите режим разработки (внизу левой страницы), после выбора отобразится баннер «Вы находитесь в режиме разработки».

70c9ded749decfbe.png

Создать новый проект

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

Разработка → Проекты

e8ae11e0392a776d.png

Выберите новый проект LookML

65a3c2573e97e1e9.png

Укажите имя проекта, выберите «Пустой проект», затем «Создать проект».

9185808e001fa540.png

Выберите «Настроить Git».

42f5e51ce70642ad.png

Настроить Git

Обновите URL-адрес репозитория, указав данные HTTPS GitHub, обязательно добавьте URL-адрес с .git, затем нажмите «Продолжить».

f5c448f6659b8fc1.png

Пример:

4065ab1d196589f.png

Обновите выбор, указав свое имя пользователя GitHub и токен личного доступа (классический вариант), затем выберите «Протестировать и завершить настройку».

1dc44d63c555a9ae.png

Выберите действия Git

b5903668a50a99ca.png

Выберите «Проверить соединение с Git».

51b722e84f2df38c.png

Проверка теста подключения Git

a33584380b788b6d.png

Очистить

Удаление компонентов лаборатории из одного терминала Cloud Shell

gcloud compute service-attachments delete github-svc-attachment-https --region=$region -q

gcloud compute forwarding-rules delete producer-github-fr --region=$region -q

gcloud compute target-tcp-proxies delete producer-lb-tcp-proxy --region=$region -q

gcloud compute backend-services delete producer-backend-svc --region=$region -q

gcloud compute network-firewall-policies rules delete 2001 --firewall-policy looker-psc-demo-policy --global-firewall-policy -q

gcloud compute network-firewall-policies associations delete --firewall-policy=looker-psc-demo-policy  --name=looker-psc-demo --global-firewall-policy -q

gcloud compute network-firewall-policies delete looker-psc-demo-policy --global -q

gcloud compute routers nats delete looker-psc-demo-natgw --router=looker-psc-demo-cloud-router --router-region=$region -q

gcloud compute routers delete looker-psc-demo-cloud-router --region=$region -q

gcloud compute network-endpoint-groups delete github-internet-neg --region=$region -q

gcloud compute addresses delete internet-neg-lb-ip --region=$region -q

gcloud compute networks subnets delete producer-psc-fr-subnet producer-psc-nat-subnet $region-proxy-only-subnet --region=$region -q

gcloud compute networks delete looker-psc-demo -q

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

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

Вы создали инфраструктуру производителя, узнали, как создать Интернет NEG, службу производителя и конечную точку Looker PSC, которая позволяла бы подключаться к службе источника.

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

c911c127bffdee57.jpeg

Что дальше?

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

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

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

,

1. Введение

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

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

  • Требования к сети
  • Создание службы-производителя Private Service Connect
  • Создайте конечную точку Private Service Connect в Looker
  • Установите подключение к GitHub из Looker с помощью тестового соединения.

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

def88091b42bfe4d.png

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

Вы создадите сеть-производитель, Looker-PSC-Demo, для развертывания внутреннего балансировщика нагрузки tcp-прокси и Интернет-NEG, опубликованного как услуга через Private Service Connect (PSC). После публикации вы выполните следующие действия для проверки доступа к службе Producer:

  • Создайте конечную точку PSC в Looker, связанную с вложением службы производителя.
  • Используйте консоль Looker, чтобы создать новый проект и проверить подключение HTTPS к GitHub.com.

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

Ниже приводится разбивка сетевых требований для сети Producer, потребителем в этой кодовой лаборатории является экземпляр Looker PSC.

Компоненты

Описание

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

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

Подсеть PSC NAT

Пакеты из потребительской сети VPC преобразуются с использованием исходного NAT (SNAT), так что их исходные IP-адреса источника преобразуются в исходные IP-адреса из подсети NAT в сети VPC производителя.

Подсеть правила пересылки PSC

Используется для выделения IP-адреса региональному внутреннему балансировщику нагрузки TCP-прокси.

Подсеть PSC NEG

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

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

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

Интернет НЕГ

Ресурс, используемый для определения внешнего серверного компонента для балансировщика нагрузки. Конечная точка не может быть доступна только через Cloud VPN или Cloud Interconnect.

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

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

Облачный маршрутизатор

Cloud NAT использует облачные маршрутизаторы для обеспечения возможностей плоскости управления, но не для управления сеансами BGP.

Облачный NAT

Региональная интернет-сеть NEG использует Cloud NAT для выхода в Интернет.

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

4e7ac0fd4a61ed9b.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. Создайте сеть VPC производителя.

Сеть VPC

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

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

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

Подсеть PSC будет связана с приложением службы PSC для целей трансляции сетевых адресов.

Внутри Cloud Shell создайте подсеть PSC NAT:

gcloud compute networks subnets create producer-psc-nat-subnet --network looker-psc-demo --range 172.16.10.0/28 --region $region --purpose=PRIVATE_SERVICE_CONNECT

В Cloud Shell создайте подсеть правила переадресации производителя:

gcloud compute networks subnets create producer-psc-fr-subnet --network looker-psc-demo --range 172.16.20.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

Создайте общедоступный шлюз NAT.

Шлюз NAT используется региональным внутренним балансировщиком нагрузки TCP-прокси для выхода из Интернета с параметром конфигурации –endpoint-types=ENDPOINT_TYPE_MANAGED_PROXY_LB, поэтому тот же NATGW не будет поддерживать выход из Интернета GCE/GKE. Разверните дополнительный шлюз NAT с параметром –endpoint-types=ENDPOINT_TYPE_VM для выхода из Интернета GCE/GKE.

Внутри Cloud Shell создайте Cloud Router:

gcloud compute routers create looker-psc-demo-cloud-router --network looker-psc-demo --region $region

Внутри Cloud Shell создайте шлюз Cloud NAT, обеспечивающий выход в Интернет для балансировщика нагрузки прокси-сервера TCP:

gcloud compute routers nats create looker-psc-demo-natgw \
  --router=looker-psc-demo-cloud-router \
  --endpoint-types=ENDPOINT_TYPE_MANAGED_PROXY_LB \
  --nat-custom-subnet-ip-ranges=$region-proxy-only-subnet \
  --auto-allocate-nat-external-ips \
  --region=$region

Зарезервируйте IP-адрес балансировщика нагрузки.

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

gcloud compute addresses create internet-neg-lb-ip \
  --region=$region \
  --subnet=producer-psc-fr-subnet

В Cloud Shell просмотрите зарезервированный IP-адрес.

gcloud compute addresses describe internet-neg-lb-ip \
  --region=$region | grep -i address:

Пример вывода:

user@cloudshell$ gcloud compute addresses describe internet-neg-lb-ip   --region=$region | grep -i address:
address: 172.16.20.2

Настроить Интернет NEG

Создайте Internet NEG и установите для параметра –network-endpoint-type значение интернет-fqdn-port (имя хоста и порт, по которым можно получить доступ к вашему внешнему серверу).

Внутри Cloud Shell создайте NEG Интернета, используемый для github.com.

gcloud compute network-endpoint-groups create github-internet-neg \
    --network-endpoint-type=INTERNET_FQDN_PORT \
    --network=looker-psc-demo \
    --region=$region

В Cloud Shell обновите Internet NEG github-internet-neg, указав полное доменное имя github.com и порт 443.

gcloud compute network-endpoint-groups update github-internet-neg \
    --add-endpoint="fqdn=github.com,port=443" \
    --region=$region

Создайте политику сетевого брандмауэра и правила брандмауэра.

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

gcloud compute network-firewall-policies create looker-psc-demo-policy --global

gcloud compute network-firewall-policies associations create --firewall-policy looker-psc-demo-policy --network looker-psc-demo --name looker-psc-demo --global-firewall-policy

Следующее правило брандмауэра разрешает передачу трафика из диапазона подсети PSC NAT во все экземпляры сети.

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

gcloud compute network-firewall-policies rules create 2001 --action ALLOW --firewall-policy looker-psc-demo-policy --description "allow traffic from PSC NAT subnet" --direction INGRESS --src-ip-ranges 172.16.10.0/28 --global-firewall-policy --layer4-configs=tcp

8. Создать службу продюсера

Создание компонентов балансировщика нагрузки

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

gcloud compute backend-services create producer-backend-svc  --protocol=tcp --region=$region --load-balancing-scheme=INTERNAL_MANAGED

gcloud compute backend-services add-backend producer-backend-svc --network-endpoint-group=github-internet-neg --network-endpoint-group-region=$region --region=$region

В Cloud Shell создайте целевой TCP-прокси для маршрутизации запросов к внутренней службе:

gcloud compute target-tcp-proxies create producer-lb-tcp-proxy \
      --backend-service=producer-backend-svc  \
      --region=$region

В следующем синтаксисе создайте правило переадресации (внутренний балансировщик нагрузки TCP-прокси).

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

gcloud compute forwarding-rules create producer-github-fr \
     --load-balancing-scheme=INTERNAL_MANAGED \
     --network-tier=PREMIUM \
     --network=looker-psc-demo \
     --subnet=producer-psc-fr-subnet \
     --address=internet-neg-lb-ip \
     --target-tcp-proxy=producer-lb-tcp-proxy \
     --target-tcp-proxy-region=$region \
     --region=$region \
     --ports=443

Создать служебное приложение

Внутри Cloud Shell создайте вложение службы github-svc-attachment-https:

gcloud compute service-attachments create github-svc-attachment-https --region=$region --producer-forwarding-rule=producer-github-fr --connection-preference=ACCEPT_AUTOMATIC --nat-subnets=producer-psc-nat-subnet

Затем получите и запишите вложение службы, указанное в URI selfLink, начиная с проектов, для настройки конечной точки PSC в Looker.

selfLink: projects/<your-project-id>/regions/<your-region>/serviceAttachments/github-svc-attachment-https

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

gcloud compute service-attachments describe github-svc-attachment-https --region=$region

Пример:

connectionPreference: ACCEPT_AUTOMATIC
creationTimestamp: '2024-08-30T09:44:03.883-07:00'
description: ''
enableProxyProtocol: false
fingerprint: RfKh3blWZE0=
id: '2897904404386302012'
kind: compute#serviceAttachment
name: github-svc-attachment-https
natSubnets:
- https://www.googleapis.com/compute/v1/projects/$project/regions/$region/subnetworks/producer-psc-nat-subnet
pscServiceAttachmentId:
  high: '19348441121424360'
  low: '2897904404386302012'
reconcileConnections: false
region: https://www.googleapis.com/compute/v1/projects/$project/regions/$region
selfLink: https://www.googleapis.com/compute/v1/projects/$project/regions/$region/serviceAttachments/github-svc-attachment-https
targetService: https://www.googleapis.com/compute/v1/projects/$project/regions/$region/forwardingRules/producer-github-fr

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

Сетевые службы → Подключение частных служб → Опубликованные службы

a8cae886441d9c25.png

84a906b3bedabeee.png

9. Установите соединение с конечной точкой PSC в Looker.

В следующем разделе вы свяжете вложение службы Producers с Looker Core PSC с помощью флагов –psc-service-attachment в Cloud Shell для одного домена.

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

  • INSTANCE_NAME: имя вашего экземпляра Looker (ядро Google Cloud).
  • ДОМЕН_1: github.com
  • SERVICE_ATTACHMENT_1: URI, полученный при описании вложения службы, github-svc-attachment-https.
  • РЕГИОН: регион, в котором размещен ваш экземпляр Looker (ядро Google Cloud).

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

gcloud looker instances update INSTANCE_NAME \
--psc-service-attachment  domain=DOMAIN_1,attachment=SERVICE_ATTACHMENT_URI_1 \
--region=REGION

Пример:

gcloud looker instances update looker-psc-instance \
--psc-service-attachment  domain=github.com,attachment=projects/$project/regions/$region/serviceAttachments/github-svc-attachment-https \
--region=$region

В Cloud Shell убедитесь, что статус подключения serviceAttachments имеет значение «ACCEPTED», обновите его с помощью Looker PSC INSTANCE_NAME.

gcloud looker instances describe [INSTANCE_NAME] --region=$region --format=json

Пример:

gcloud looker instances describe looker-psc-instance --region=$region --format=json

Пример:

{
  "adminSettings": {},
  "createTime": "2024-08-23T00:00:45.339063195Z",
  "customDomain": {
    "domain": "cosmopup.com",
    "state": "AVAILABLE"
  },
  "encryptionConfig": {},
  "lookerVersion": "24.12.28",
  "name": "projects/$project/locations/$region/instances/looker-psc-instance",
  "platformEdition": "LOOKER_CORE_ENTERPRISE_ANNUAL",
  "pscConfig": {
    "allowedVpcs": [
    "projects/$project/global/networks/looker-psc-demo",
      "projects/$project/global/networks/looker-shared-vpc"
    ],
    "lookerServiceAttachmentUri": "projects/t7ec792caf2a609d1-tp/regions/$region/serviceAttachments/looker-psc-f51982e2-ac0d-48b1-91bb-88656971c183",
    "serviceAttachments": [
      {
        "connectionStatus": "ACCEPTED",
        "localFqdn": "github.com",
        "targetServiceAttachmentUri": "projects/$project/regions/$region/serviceAttachments/github-svc-attachment-https"
      }
    ]
  },
  "pscEnabled": true,
  "state": "ACTIVE",
  "updateTime": "2024-08-30T17:47:33.440271635Z"
}

Проверьте конечную точку PSC в Cloud Console.

В Cloud Console вы можете проверить соединение PSC.

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

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

2d4684d722d31e4b.png

ef907280833bcad.png

10. Проверьте подключение к GitHub

На следующих шагах вы будете использовать консоль Looker для создания проекта для проверки подключения HTTPS к github.com.

11. Создайте новый проект

Включить режим разработки

В консоли Looker перейдите к:

Включите режим разработки (внизу левой страницы), после выбора отобразится баннер «Вы находитесь в режиме разработки».

70c9ded749decfbe.png

Создать новый проект

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

Разработка → Проекты

e8ae11e0392a776d.png

Выберите новый проект LookML

65a3c2573e97e1e9.png

Укажите имя проекта, выберите «Пустой проект», затем «Создать проект».

9185808e001fa540.png

Выберите «Настроить Git».

42f5e51ce70642ad.png

Настроить Git

Обновите URL-адрес репозитория, указав данные HTTPS на GitHub, обязательно добавьте URL-адрес с расширением .git, затем нажмите «Продолжить».

f5c448f6659b8fc1.png

Пример:

4065ab1d196589f.png

Обновите выбор, указав свое имя пользователя GitHub и токен личного доступа (классический вариант), затем выберите «Протестировать и завершить настройку».

1dc44d63c555a9ae.png

Выберите действия Git

b5903668a50a99ca.png

Выберите «Проверить соединение с Git».

51b722e84f2df38c.png

Проверка теста подключения Git

a33584380b788b6d.png

Очистить

Удаление компонентов лаборатории из одного терминала Cloud Shell

gcloud compute service-attachments delete github-svc-attachment-https --region=$region -q

gcloud compute forwarding-rules delete producer-github-fr --region=$region -q

gcloud compute target-tcp-proxies delete producer-lb-tcp-proxy --region=$region -q

gcloud compute backend-services delete producer-backend-svc --region=$region -q

gcloud compute network-firewall-policies rules delete 2001 --firewall-policy looker-psc-demo-policy --global-firewall-policy -q

gcloud compute network-firewall-policies associations delete --firewall-policy=looker-psc-demo-policy  --name=looker-psc-demo --global-firewall-policy -q

gcloud compute network-firewall-policies delete looker-psc-demo-policy --global -q

gcloud compute routers nats delete looker-psc-demo-natgw --router=looker-psc-demo-cloud-router --router-region=$region -q

gcloud compute routers delete looker-psc-demo-cloud-router --region=$region -q

gcloud compute network-endpoint-groups delete github-internet-neg --region=$region -q

gcloud compute addresses delete internet-neg-lb-ip --region=$region -q

gcloud compute networks subnets delete producer-psc-fr-subnet producer-psc-nat-subnet $region-proxy-only-subnet --region=$region -q

gcloud compute networks delete looker-psc-demo -q

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

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

Вы создали инфраструктуру производителя, узнали, как создать Интернет NEG, службу производителя и конечную точку Looker PSC, которая позволяла бы подключаться к службе источника.

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

c911c127bffdee57.jpeg

Что дальше?

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

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

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