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

1. Введение

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

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

dfa4dd1d681a66da.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-ssh \
    --network-endpoint-type=INTERNET_FQDN_PORT \
    --network=looker-psc-demo \
    --region=$region

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

gcloud compute network-endpoint-groups update github-internet-neg-ssh \
    --add-endpoint="fqdn=github.com,port=22" \
    --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-ssh --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=22

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

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

gcloud compute service-attachments create github-svc-attachment-ssh --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-ssh

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

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

Пример ожидаемого результата

connectionPreference: ACCEPT_AUTOMATIC
creationTimestamp: '2024-08-31T13:43:07.078-07:00'
description: ''
enableProxyProtocol: false
fingerprint: O5OtqHR33v4=
id: '7557641709467614900'
kind: compute#serviceAttachment
name: github-svc-attachment-ssh
natSubnets:
- https://www.googleapis.com/compute/v1/projects/$project/regions/$region/subnetworks/producer-psc-nat-subnet
pscServiceAttachmentId:
  high: '19348441121424360'
  low: '7557641709467614900'
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-ssh
targetService: https://www.googleapis.com/compute/v1/projects/$project/regions/$region/forwardingRules/producer-github-fr

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

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

30b1a280966b1f06.png

4eafe698193f5f44.png

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

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

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

  • INSTANCE_NAME: имя вашего экземпляра Looker (ядро Google Cloud).
  • ДОМЕН_1: githubssh.com
  • SERVICE_ATTACHMENT_1: URI, полученный при описании вложения службы, github-svc-attachment-ssh.
  • РЕГИОН: регион, в котором размещен ваш экземпляр 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=githubssh.com,attachment=projects/$project/regions/$region/serviceAttachments/github-svc-attachment-ssh \
--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.14.18",
  "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": "githubssh.com",
        "targetServiceAttachmentUri": "projects/$project/regions/$region/serviceAttachments/github-svc-attachment-ssh"
      }
    ]
  },
  "pscEnabled": true,
  "state": "ACTIVE",
  "updateTime": "2024-08-31T20:53:04.824018122Z"
}

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

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

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

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

2d4684d722d31e4b.png

db670bb008ea3fc4.png

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

На следующих шагах вы будете использовать консоль Looker для создания проекта для проверки подключения SSH к GitHub.com путем обновления домена github.com на githubssh.com в пользовательском интерфейсе Looker. Это действие требуется только для SSH-подключений к GitHub.

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

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

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

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

70c9ded749decfbe.png

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

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

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

e8ae11e0392a776d.png

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

65a3c2573e97e1e9.png

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

dbb890960291aa84.png

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

42f5e51ce70642ad.png

Настроить Git

3962a1fe7ac8da77.png

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

743e5d963cfe6f82.png

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

4894e0af6421802e.png

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

e87931dbf7e265f3.png

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

73d90adf267120af.png

Проверка теста соединения с Git

f69bc63b9c595aa1.png

12. Очистка

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

gcloud compute service-attachments delete github-svc-attachment-ssh --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 addresses delete internet-neg-lb-ip --region=$region -q

gcloud compute network-endpoint-groups delete github-internet-neg-ssh --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

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

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

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

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

c911c127bffdee57.jpeg

Что дальше?

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

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

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

,

1. Введение

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

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

dfa4dd1d681a66da.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-ssh \
    --network-endpoint-type=INTERNET_FQDN_PORT \
    --network=looker-psc-demo \
    --region=$region

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

gcloud compute network-endpoint-groups update github-internet-neg-ssh \
    --add-endpoint="fqdn=github.com,port=22" \
    --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-ssh --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=22

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

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

gcloud compute service-attachments create github-svc-attachment-ssh --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-ssh

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

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

Пример ожидаемого результата

connectionPreference: ACCEPT_AUTOMATIC
creationTimestamp: '2024-08-31T13:43:07.078-07:00'
description: ''
enableProxyProtocol: false
fingerprint: O5OtqHR33v4=
id: '7557641709467614900'
kind: compute#serviceAttachment
name: github-svc-attachment-ssh
natSubnets:
- https://www.googleapis.com/compute/v1/projects/$project/regions/$region/subnetworks/producer-psc-nat-subnet
pscServiceAttachmentId:
  high: '19348441121424360'
  low: '7557641709467614900'
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-ssh
targetService: https://www.googleapis.com/compute/v1/projects/$project/regions/$region/forwardingRules/producer-github-fr

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

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

30b1a280966b1f06.png

4eafe698193f5f44.png

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

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

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

  • INSTANCE_NAME: имя вашего экземпляра Looker (ядро Google Cloud).
  • ДОМЕН_1: githubssh.com
  • SERVICE_ATTACHMENT_1: URI, полученный при описании вложения службы, github-svc-attachment-ssh.
  • РЕГИОН: регион, в котором размещен ваш экземпляр 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=githubssh.com,attachment=projects/$project/regions/$region/serviceAttachments/github-svc-attachment-ssh \
--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.14.18",
  "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": "githubssh.com",
        "targetServiceAttachmentUri": "projects/$project/regions/$region/serviceAttachments/github-svc-attachment-ssh"
      }
    ]
  },
  "pscEnabled": true,
  "state": "ACTIVE",
  "updateTime": "2024-08-31T20:53:04.824018122Z"
}

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

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

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

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

2d4684d722d31e4b.png

db670bb008ea3fc4.png

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

На следующих шагах вы будете использовать консоль Looker для создания проекта для проверки подключения SSH к GitHub.com путем обновления домена github.com на githubssh.com в пользовательском интерфейсе Looker. Это действие требуется только для SSH-подключений к GitHub.

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

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

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

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

70c9ded749decfbe.png

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

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

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

e8ae11e0392a776d.png

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

65a3c2573e97e1e9.png

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

dbb890960291aa84.png

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

42f5e51ce70642ad.png

Настроить Git

3962a1fe7ac8da77.png

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

743e5d963cfe6f82.png

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

4894e0af6421802e.png

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

e87931dbf7e265f3.png

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

73d90adf267120af.png

Проверка теста соединения с Git

f69bc63b9c595aa1.png

12. Очистка

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

gcloud compute service-attachments delete github-svc-attachment-ssh --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 addresses delete internet-neg-lb-ip --region=$region -q

gcloud compute network-endpoint-groups delete github-internet-neg-ssh --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

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

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

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

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

c911c127bffdee57.jpeg

Что дальше?

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

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

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

,

1. Введение

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

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

dfa4dd1d681a66da.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 долларов США .

Запустить облачную оболочку

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

На консоли Cloud Google нажмите значок облачной оболочки на верхней правой панели инструментов:

55EFC1AAA7A4D3AD.PNG

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

7ffe5cbb044554448.png

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

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

Включить API

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

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 Network

Внутренняя облачная оболочка, выполните следующее:

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

Создать подсети

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

Внутри облачной оболочки, создайте подсеть 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

Внутренняя облачная оболочка, создайте подсеть правила пересылки производителя:

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

Внутренняя облачная оболочка, создайте только подсеть.

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 Gateway

Nat Gateway используется региональным балансировщиком прокси-нагрузки TCP для интернет-выхода с опцией конфигурации, hendpoint-types = endpoint_type_managed_proxy_lb, поэтому тот же NATGW не будет поддерживать gce/gce egress. Разверните дополнительный Nat GW с –endpoint-types = endpoint_type_vm для Egress gce/gke internet.

Внутри облачной оболочки, создайте облачный маршрутизатор:

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

Внутренняя облачная оболочка, создайте Cloud Nat Gateway, позволяющий интернет -выходам для балансировщика прокси -нагрузки 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 -адрес балансировщика нагрузки

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

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

Внутри облачная оболочка, просмотрите зарезервированный 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

Настройка интернета нега

Создайте интернет-нег и установите тип –network-endpoint-типа в интернет-FQDN-Port (имя хоста и порт, где можно достичь внешнего бэкэнда).

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

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

Inside Cloud Shell, обновите интернет-neg github-internet-neg-ssh с fqdn github.com и портом 22

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

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

Внутренняя облачная оболочка, выполните следующее:

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 до всех экземпляров в сети.

Внутренняя облачная оболочка, выполните следующее:

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

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

Внутренняя облачная оболочка, выполните следующее:

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-ssh --network-endpoint-group-region=$region --region=$region

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

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

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

В облачной оболочке выполните следующее:

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=22

Создать вложение службы

Внутренняя облачная оболочка, создайте вложение службы, GitHub-SVC-Attachment-SSH:

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

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

Selflink: Projects/<YourProject-ID>/Regions/<your-region>/serviceattachments/github-svc-attachment-ssh

Внутренняя облачная оболочка, выполните следующее:

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

Пример ожидаемого вывода

connectionPreference: ACCEPT_AUTOMATIC
creationTimestamp: '2024-08-31T13:43:07.078-07:00'
description: ''
enableProxyProtocol: false
fingerprint: O5OtqHR33v4=
id: '7557641709467614900'
kind: compute#serviceAttachment
name: github-svc-attachment-ssh
natSubnets:
- https://www.googleapis.com/compute/v1/projects/$project/regions/$region/subnetworks/producer-psc-nat-subnet
pscServiceAttachmentId:
  high: '19348441121424360'
  low: '7557641709467614900'
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-ssh
targetService: https://www.googleapis.com/compute/v1/projects/$project/regions/$region/forwardingRules/producer-github-fr

В облачной консоли перейдите к:

Сетевые услуги → Private Service Connect → Опубликованные услуги

30b1a280966b1f06.png

4FE698193F5F44.PNG

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

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

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

  • Exance_name: имя вашего экземпляра Likeer (Google Cloud Core).
  • Domain_1: githubssh.com
  • Service_attachment_1: URI захвачен при описании вложения службы, GitHub-SVC-Attachment-SSH.
  • Регион: регион, в котором находится ваш экземпляр Liking (Google Cloud Core).

Внутренняя облачная оболочка, выполните следующее:

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=githubssh.com,attachment=projects/$project/regions/$region/serviceAttachments/github-svc-attachment-ssh \
--region=$region

Внутри облачной оболочки проверьте ServiceatTachments ConnectionStatus «принято». Обновите с помощью вашего Liking PSC Exance_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.14.18",
  "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": "githubssh.com",
        "targetServiceAttachmentUri": "projects/$project/regions/$region/serviceAttachments/github-svc-attachment-ssh"
      }
    ]
  },
  "pscEnabled": true,
  "state": "ACTIVE",
  "updateTime": "2024-08-31T20:53:04.824018122Z"
}

Проверить конечную точку PSC в облачной консоли

Из облачной консоли вы можете проверить соединение PSC

В облачной консоли перейдите к:

Посмотреть → экземпляр Looker → Детали

2D4684D722D31E4B.PNG

DB670BB008EA3FC4.png

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

На следующих шагах вы используете консоль Likeer для создания проекта для проверки подключения SSH для github.com, обновляя домен github.com на githubssh.com в пользовательском интерфейсе Likeer. Это действие требуется только для соединений SSH с GitHub.

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

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

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

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

70C9D749DECFBE.PNG

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

В облачной консоли перейдите к:

Разработать → проекты

E8AE11E0392A776D.PNG

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

65A3C2573E97E9.png

Предоставьте название проекта, выберите Blank Project, затем создайте проект.

DBB890960291AA84.png

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

42F5E51CE70642AD.PNG

Настройка git

3962a1fe7ac8da77.png

После того, как вы выберете продолжение, вы получите повышение для проверки URL -адреса репозитория и службы хостинга GIT.

743e5d963cfe6f82.png

Добавьте ключ развертывания в ваш репозиторий GitHub. Убедитесь, что разрешить доступ к записи. После обновления выберите тест и завершите настройку.

4894E0AF6421802E.PNG

Выберите Действия GIT

E87931DBF7E265F3.PNG

Выберите Test Git Connection

73D90ADF267120AF.PNG

Проверить тест на соединение GIT

f69bc63b9c595aa1.png

12. Очистите

Из единого терминала Cloud Shell Delete Lab Components

gcloud compute service-attachments delete github-svc-attachment-ssh --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 addresses delete internet-neg-lb-ip --region=$region -q

gcloud compute network-endpoint-groups delete github-internet-neg-ssh --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

13. Поздравляю

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

Вы создали инфраструктуру производителя, узнали, как создать интернет -нег, услуги производителей и конечную точку PSC Looker, которая позволила подключить к сервису производителей.

Cosmopup думает, что CodeLabs потрясающие !!

C911C127bffdee57.jpeg

Что дальше?

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

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

Справочные документы

,

1. Введение

В этом CodeLab вы будете выполнять подключение к южному SSH с GitHub, используя внутреннюю балансировщику прокси -нагрузки TCP и группу конечной точки интернет -сети, вызванную из Likeer PSC в качестве потребителя услуг.

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

Рисунок 1.

145EA4672C3A3B14.PNG

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

Рисунок 2.

259493AFD914F68B.PNG

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

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

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

def88091b42bfe4d.png

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

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

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

3. Сетевые требования

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

Сеть производителей

Компоненты

Описание

VPC (Looker-PSC-Demo)

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

PSC Nat Subnet

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

Подсеть правила ПСК

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

PSC NEG SUBNENT

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

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

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

Интернет

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

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

Бэкэнд -сервис выступает в качестве моста между вашим балансировщиком нагрузки и ресурсами. В учебном пособии бэкэнд -сервис связан с Интернетом Neg.

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

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

Облачный нат

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

4. Коделаб Топология

DFA4DD1D681A66DA.PNG

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

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

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

FBEF9CAA1602EDD0.png

A99B7ACE416376C4.png

5e3ff691252acf41.png

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

Запустить облачную оболочку

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

На консоли Cloud Google нажмите значок облачной оболочки на верхней правой панели инструментов:

55EFC1AAA7A4D3AD.PNG

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

7ffe5cbb044554448.png

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

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

Включить API

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

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 Network

Внутренняя облачная оболочка, выполните следующее:

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

Создать подсети

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

Внутри облачной оболочки, создайте подсеть 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

Внутренняя облачная оболочка, создайте подсеть правила пересылки производителя:

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

Внутренняя облачная оболочка, создайте только подсеть.

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 Gateway

Nat Gateway используется региональным балансировщиком прокси-нагрузки TCP для интернет-выхода с опцией конфигурации, hendpoint-types = endpoint_type_managed_proxy_lb, поэтому тот же NATGW не будет поддерживать gce/gce egress. Разверните дополнительный Nat GW с –endpoint-types = endpoint_type_vm для Egress gce/gke internet.

Внутри облачной оболочки, создайте облачный маршрутизатор:

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

Внутренняя облачная оболочка, создайте Cloud Nat Gateway, позволяющий интернет -выходам для балансировщика прокси -нагрузки 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 -адрес балансировщика нагрузки

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

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

Внутри облачная оболочка, просмотрите зарезервированный 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

Настройка интернета нега

Создайте интернет-нег и установите тип –network-endpoint-типа в интернет-FQDN-Port (имя хоста и порт, где можно достичь внешнего бэкэнда).

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

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

Inside Cloud Shell, обновите интернет-neg github-internet-neg-ssh с fqdn github.com и портом 22

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

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

Внутренняя облачная оболочка, выполните следующее:

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 до всех экземпляров в сети.

Внутренняя облачная оболочка, выполните следующее:

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

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

Внутренняя облачная оболочка, выполните следующее:

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-ssh --network-endpoint-group-region=$region --region=$region

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

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

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

В облачной оболочке выполните следующее:

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=22

Создать вложение службы

Внутренняя облачная оболочка, создайте вложение службы, GitHub-SVC-Attachment-SSH:

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

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

Selflink: Projects/<YourProject-ID>/Regions/<your-region>/serviceattachments/github-svc-attachment-ssh

Внутренняя облачная оболочка, выполните следующее:

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

Пример ожидаемого вывода

connectionPreference: ACCEPT_AUTOMATIC
creationTimestamp: '2024-08-31T13:43:07.078-07:00'
description: ''
enableProxyProtocol: false
fingerprint: O5OtqHR33v4=
id: '7557641709467614900'
kind: compute#serviceAttachment
name: github-svc-attachment-ssh
natSubnets:
- https://www.googleapis.com/compute/v1/projects/$project/regions/$region/subnetworks/producer-psc-nat-subnet
pscServiceAttachmentId:
  high: '19348441121424360'
  low: '7557641709467614900'
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-ssh
targetService: https://www.googleapis.com/compute/v1/projects/$project/regions/$region/forwardingRules/producer-github-fr

В облачной консоли перейдите к:

Сетевые услуги → Private Service Connect → Опубликованные услуги

30b1a280966b1f06.png

4FE698193F5F44.PNG

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

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

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

  • Exance_name: имя вашего экземпляра Likeer (Google Cloud Core).
  • Domain_1: githubssh.com
  • Service_attachment_1: URI захвачен при описании вложения службы, GitHub-SVC-Attachment-SSH.
  • Регион: регион, в котором находится ваш экземпляр Liking (Google Cloud Core).

Внутренняя облачная оболочка, выполните следующее:

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=githubssh.com,attachment=projects/$project/regions/$region/serviceAttachments/github-svc-attachment-ssh \
--region=$region

Внутри облачной оболочки проверьте ServiceatTachments ConnectionStatus «принято». Обновите с помощью вашего Liking PSC Exance_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.14.18",
  "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": "githubssh.com",
        "targetServiceAttachmentUri": "projects/$project/regions/$region/serviceAttachments/github-svc-attachment-ssh"
      }
    ]
  },
  "pscEnabled": true,
  "state": "ACTIVE",
  "updateTime": "2024-08-31T20:53:04.824018122Z"
}

Проверить конечную точку PSC в облачной консоли

Из облачной консоли вы можете проверить соединение PSC

В облачной консоли перейдите к:

Посмотреть → экземпляр Looker → Детали

2D4684D722D31E4B.PNG

DB670BB008EA3FC4.png

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

На следующих шагах вы используете консоль Likeer для создания проекта для проверки подключения SSH для github.com, обновляя домен github.com на githubssh.com в пользовательском интерфейсе Likeer. Это действие требуется только для соединений SSH с GitHub.

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

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

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

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

70C9D749DECFBE.PNG

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

В облачной консоли перейдите к:

Разработать → проекты

E8AE11E0392A776D.PNG

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

65A3C2573E97E9.png

Предоставьте название проекта, выберите Blank Project, затем создайте проект.

DBB890960291AA84.png

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

42F5E51CE70642AD.PNG

Настройка git

3962a1fe7ac8da77.png

После того, как вы выберете продолжение, вы получите повышение для проверки URL -адреса репозитория и службы хостинга GIT.

743e5d963cfe6f82.png

Добавьте ключ развертывания в ваш репозиторий GitHub. Убедитесь, что разрешить доступ к записи. После обновления выберите тест и завершите настройку.

4894E0AF6421802E.PNG

Выберите Действия GIT

E87931DBF7E265F3.PNG

Выберите Test Git Connection

73D90ADF267120AF.PNG

Проверить тест на соединение GIT

f69bc63b9c595aa1.png

12. Очистите

Из единого терминала Cloud Shell Delete Lab Components

gcloud compute service-attachments delete github-svc-attachment-ssh --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 addresses delete internet-neg-lb-ip --region=$region -q

gcloud compute network-endpoint-groups delete github-internet-neg-ssh --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

13. Поздравляю

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

Вы создали инфраструктуру производителя, узнали, как создать интернет -нег, услуги производителей и конечную точку PSC Looker, которая позволила подключить к сервису производителей.

Cosmopup думает, что CodeLabs потрясающие !!

C911C127bffdee57.jpeg

Что дальше?

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

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

Справочные документы