1. Введение
В этом практическом задании вы развернете внутренний балансировщик нагрузки TCP-прокси и гибридную группу конечных точек сети (NEG), опубликованную как служба производителя PSC. Группа NEG будет состоять из IP-адреса и порта кросс-облачной базы данных, размещенной на собственном сервере, например, JIRA, Confluence, SharePoint.
Private Service Connect — это функция сетевых возможностей Google Cloud, которая позволяет потребителям получать доступ к управляемым сервисам в частном порядке из своей сети VPC. Аналогичным образом, она позволяет производителям управляемых сервисов размещать эти сервисы в своих собственных сетях VPC или межоблачных сетях, предлагая своим потребителям частное соединение. Например, при использовании Private Service Connect для доступа к межоблачной базе данных вы являетесь производителем сервиса, а Google (Agentspace) — потребителем сервиса.
Что вы узнаете
- Сетевые требования для Agentspace
- Передовые методы организации сетевого взаимодействия в Agentspace
- Создайте сервис Private Service Connect Producer.
Что вам понадобится
- Проект Google Cloud с правами владельца.
2. Что вы построите
Вам потребуется создать сеть Producer, agentspace-psc-demo, для развертывания внутреннего балансировщика нагрузки TCP-прокси и гибридной сети NEG, опубликованной в качестве сервиса через Private Service Connect (PSC).
3. Требования к сети
Ниже приведено описание сетевых требований для сети производителя, а потребителем в данном практическом задании является Agentspace.
Компоненты | Описание |
VPC (agentspace-psc-demo) | Пользовательский режим VPC |
Подсеть NAT PSC | Пакеты из сети VPC потребителя преобразуются с помощью NAT источника (SNAT), так что их исходные IP-адреса преобразуются в IP-адреса из подсети NAT в сети VPC производителя. PSC NAT поддерживает подсеть /29 для каждого сервисного подключения. |
подсеть правил пересылки PSC | Используется для выделения IP-адреса для регионального внутреннего балансировщика нагрузки TCP-прокси . Подсеть правила пересылки считается обычной подсетью. |
Подсеть только для прокси | Каждому прокси-серверу балансировщика нагрузки назначается внутренний IP-адрес. Пакеты, отправляемые с прокси-сервера на виртуальную машину бэкэнда или группу сетевых конечных точек, имеют исходный IP-адрес из подсети, предназначенной только для прокси. Рекомендуется использовать подсеть /23, хотя поддерживается и минимальная подсеть /26. Для каждого региона требуется одна региональная подсеть прокси. |
Гибридный NEG | Локальные и другие облачные сервисы обрабатываются так же, как и любые другие бэкэнды облачной балансировки нагрузки. Ключевое отличие заключается в том, что для настройки конечных точек этих бэкэндов используется гибридный интерфейс NEG . Конечные точки должны представлять собой допустимые комбинации IP-адреса и порта, к которым ваш балансировщик нагрузки может получить доступ, используя гибридные продукты подключения, такие как Cloud VPN или Cloud Interconnect. |
Бэкенд-сервис | Бэкенд-сервис выступает в качестве связующего звена между вашим балансировщиком нагрузки и вашими бэкенд-ресурсами. В данном руководстве бэкенд-сервис связан с гибридной системой NEG. |
4. Передовые методы
- AgentSpace поддерживает межоблачный доступ к самостоятельно размещенным базам данных, развернутым локально или на вычислительных ресурсах (например, виртуальных машинах AWS EC2 и Azure), при публикации в качестве производителя сервисов.
- Трафик к межоблачной базе данных будет исходить из региональной подсети прокси-сервера. Поэтому правила брандмауэра необходимо обновить, чтобы разрешить этот трафик.
- Хотя облачный маршрутизатор по умолчанию объявляет подсеть, предназначенную только для прокси-сервера, убедитесь, что межоблачная сеть узнала об этой подсети.
- Убедитесь, что сеть VPC Agentspace получила информацию о подсети или IP-адресе хоста межоблачной базы данных.
- Перед созданием сервисного вложения включите глобальный доступ к правилу пересылки производителя.
- Включите глобальный доступ при создании конечной точки Agentspace.
5. Топология Codelab

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



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

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

Эта виртуальная машина содержит все необходимые инструменты разработки. Она предоставляет постоянный домашний каталог объемом 5 ГБ и работает в облаке Google, что значительно повышает производительность сети и аутентификацию. Вся работа в этом практическом задании может выполняться в браузере. Вам не нужно ничего устанавливать.
7. Прежде чем начать
Включить API
Внутри Cloud Shell убедитесь, что идентификатор вашего проекта указан правильно:
gcloud config list project
gcloud config set project [YOUR-PROJECT-ID]
project=[YOUR-PROJECT-ID]
region=[YOUR-REGION]
zone=[YOUR-ZONE]
echo $project
echo $region
Включите все необходимые службы:
gcloud services enable compute.googleapis.com
8. Создайте сеть VPC для производителей.
Сеть VPC
Внутри Cloud Shell выполните следующие действия:
gcloud compute networks create agentspace-psc-demo --subnet-mode custom
Создание подсетей
Подсеть PSC будет связана с подключением к сервису PSC для целей преобразования сетевых адресов.
Внутри Cloud Shell создайте подсеть PSC NAT:
gcloud compute networks subnets create producer-psc-nat-subnet --network agentspace-psc-demo --range 172.16.10.0/28 --region $region --purpose=PRIVATE_SERVICE_CONNECT
Внутри Cloud Shell создайте подсеть для правила пересылки Producer:
gcloud compute networks subnets create producer-psc-fr-subnet --network agentspace-psc-demo --range 172.16.20.0/28 --region $region --enable-private-ip-google-access
Внутри Cloud Shell создайте региональную подсеть Producer, доступную только через прокси-сервер, которая будет использоваться межоблачной базой данных в качестве исходного IP-адреса.
gcloud compute networks subnets create $region-proxy-only-subnet \
--purpose=REGIONAL_MANAGED_PROXY \
--role=ACTIVE \
--region=$region \
--network=agentspace-psc-demo \
--range=10.10.10.0/24
Зарезервировать IP-адрес балансировщика нагрузки
Внутри Cloud Shell зарезервируйте внутренний IP-адрес для балансировщика нагрузки:
gcloud compute addresses create hybrid-neg-lb-ip \
--region=$region \
--subnet=producer-psc-fr-subnet
Внутри Cloud Shell можно просмотреть зарезервированный IP-адрес.
gcloud compute addresses describe hybrid-neg-lb-ip \
--region=$region | grep -i address:
Пример выходных данных:
gcloud compute addresses describe hybrid-neg-lb-ip --region=$region | grep -i address:
address: 172.16.20.2
Настройка гибридного NEG
Создайте гибридную сеть NEG и установите параметр –network-endpoint-type в значение NON_GCP_PRIVATE_IP_PORT.
Внутри Cloud Shell создайте гибридную среду NEG, используемую для доступа к локальной базе данных:
gcloud compute network-endpoint-groups create on-prem-hybrid-neg \
--network-endpoint-type=NON_GCP_PRIVATE_IP_PORT \
--network=agentspace-psc-demo \
--zone=$zone
Внутри Cloud Shell обновите Hybrid NEG, указав IP-адрес и порт кросс-облачной базы данных: 192.168.10.10 и порт 443 в соответствии с эталонной архитектурой:
gcloud compute network-endpoint-groups update on-prem-hybrid-neg \
--add-endpoint=ip=192.168.10.10,port=443 \
--zone=$zone
Создайте региональную проверку состояния здоровья.
Внутри Cloud Shell создайте проверку работоспособности, которая будет проверять порт локальной базы данных, 443:
gcloud compute health-checks create tcp on-prem-443-healthcheck \
--region=$region \
--port=443
Создание политики и правил сетевого брандмауэра
Внутри Cloud Shell выполните следующие действия:
gcloud compute network-firewall-policies create agentspace-psc-demo-policy --global
gcloud compute network-firewall-policies associations create --firewall-policy agentspace-psc-demo-policy --network agentspace-psc-demo --name agentspace-psc-demo --global-firewall-policy
Следующее правило брандмауэра разрешает трафик из диапазона подсетей NAT PSC ко всем экземплярам в сети.
Внутри Cloud Shell выполните следующие действия:
gcloud compute network-firewall-policies rules create 2001 --action ALLOW --firewall-policy agentspace-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
9. Создать сервис для производителей.
Создание компонентов балансировки нагрузки
Внутри Cloud Shell создайте серверную службу:
gcloud compute backend-services create producer-backend-svc --region=$region --load-balancing-scheme=INTERNAL_MANAGED --protocol=TCP --region=$region --health-checks=on-prem-443-healthcheck --health-checks-region=$region
Внутри Cloud Shell добавьте бэкэнд Hybrid NEG к серверной службе:
gcloud compute backend-services add-backend producer-backend-svc --network-endpoint-group=on-prem-hybrid-neg --network-endpoint-group-zone=$zone --balancing-mode=CONNECTION --max-connections=100 --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-hybrid-neg-fr \
--load-balancing-scheme=INTERNAL_MANAGED \
--network-tier=PREMIUM \
--network=agentspace-psc-demo \
--subnet=producer-psc-fr-subnet \
--address=hybrid-neg-lb-ip \
--target-tcp-proxy=producer-lb-tcp-proxy \
--target-tcp-proxy-region=$region \
--region=$region \
--allow-global-access \
--ports=443
Создать вложение услуги
Для публикации сервиса необходимо создать вложение к сервису. Публикация сервиса может осуществляться как с автоматическим, так и с явным подтверждением.
- Чтобы опубликовать сервис и автоматически разрешить любому потребителю подключаться к нему, следуйте инструкциям по ссылке «Публикация сервиса с автоматическим подтверждением» .
- Чтобы опубликовать сервис с явным согласием потребителя , в настройках подключения сервиса выберите «Принимать подключения для выбранных проектов» и оставьте поле «Принятые проекты» пустым.
- После создания подключения к сервису конечные точки потребителя, запрашивающие доступ к сервису производителя, первоначально перейдут в состояние ожидания. Для авторизации подключения производитель должен принять проект, от которого поступил запрос к конечной точке потребителя.
Внутри Cloud Shell создайте вложение службы cc-database1-svc-attachment с автоматическим подтверждением:
gcloud compute service-attachments create cc-database1-svc-attachment --region=$region --producer-forwarding-rule=producer-hybrid-neg-fr --connection-preference=ACCEPT_AUTOMATIC --nat-subnets=producer-psc-nat-subnet
Далее получите и запишите вложение службы, указанное в URI selfLink, начинающемся с projects, чтобы настроить конечную точку PSC в Agentspace.
selfLink: projects/<your-project-id>/regions/<your-region>/serviceAttachments/cc-database1-svc-attachment
Внутри Cloud Shell выполните следующие действия:
gcloud compute service-attachments describe cc-database1-svc-attachment --region=$region
Пример ожидаемого результата:
connectionPreference: ACCEPT_AUTOMATIC
creationTimestamp: '2025-07-06T16:05:14.706-07:00'
description: ''
enableProxyProtocol: false
fingerprint: rXjeAOjb41k=
id: '1726139744351862725'
kind: compute#serviceAttachment
name: cc-database1-svc-attachment
natSubnets:
- https://www.googleapis.com/compute/v1/projects/$project/regions/us-central1/subnetworks/producer-psc-nat-subnet
pscServiceAttachmentId:
high: '54619734758392808'
low: '1726139744351862725'
reconcileConnections: false
region: https://www.googleapis.com/compute/v1/projects/$project/regions/us-central1
selfLink: https://www.googleapis.com/compute/v1/projects/$project/regions/us-central1/serviceAttachments/cc-database1-svc-attachment
targetService: https://www.googleapis.com/compute/v1/projects/$project/regions/us-central1/forwardingRules/producer-hybrid-neg-fr
В консоли Cloud перейдите по следующему пути:
Сетевые службы → Подключение к частной службе → Опубликованные службы


10. Установите соединение с конечной точкой PSC в Agentspace.
Перед тем как связать приложение Producer Service Attachment с Agentspace, убедитесь, что выполнены следующие проверки:
- Межсетевой экран, регулирующий работу сетей в разных облачных средах, добавляет региональную подсеть прокси-сервера в список разрешенных.
- Межоблачная сеть определила региональную подсеть прокси-сервера.
- В виртуальной частной сети Agentspace (VPC) получена информация о подсети базы данных или IP-адресе хоста, подключенных к различным облакам.
Свяжите URI подключения сервиса Producers с Agentspace, убедившись, что выбран глобальный доступ. Ниже приведен пример включения глобального доступа с использованием сервиса подключения эталонной архитектуры.

Для завершения настройки частной сети обратитесь к сторонним источникам данных Agentspace за дальнейшими инструкциями.
Проверьте конечную точку PSC в Cloud Console.
Для подтверждения успешного подключения PSC между Agentspace (потребителем) и производителем проверьте проект арендатора Agentspace, связанный со службой производителя. Его можно найти в разделе «Подключенные проекты». Идентификатор проекта арендатора присваивается случайным образом, но всегда заканчивается на «tp».
В консоли Cloud Console вы можете проверить подключение к PSC. В консоли Cloud Console перейдите по следующему пути:
Сетевые службы → Подключение к частной службе → Опубликованная служба, затем выберите службу cc-database1-svc-attachment.

11. Уборка
Из одного терминала Cloud Shell удалите компоненты лаборатории.
gcloud compute service-attachments delete cc-database1-svc-attachment --region=$region -q
gcloud compute forwarding-rules delete producer-hybrid-neg-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 agentspace-psc-demo-policy --global-firewall-policy -q
gcloud compute network-firewall-policies associations delete --firewall-policy=agentspace-psc-demo-policy --name=agentspace-psc-demo --global-firewall-policy -q
gcloud compute network-firewall-policies delete agentspace-psc-demo-policy --global -q
gcloud compute network-endpoint-groups delete on-prem-hybrid-neg --zone=$zone -q
gcloud compute addresses delete hybrid-neg-lb-ip --region=$region -q
gcloud compute networks subnets delete $region-proxy-only-subnet --region=$region -q
gcloud compute networks subnets delete producer-psc-nat-subnet --region=$region -q
gcloud compute networks subnets delete producer-psc-fr-subnet --region=$region -q
gcloud compute health-checks delete on-prem-443-healthcheck --region=us-central1 -q
gcloud compute networks delete agentspace-psc-demo -q
12. Поздравляем!
Поздравляем, вы успешно настроили и опубликовали службу Producer с использованием Private Service Connected.
Вы создали инфраструктуру для продюсеров, научились создавать гибридную NEG-среду, сервис для продюсеров и связывать подключение сервиса с Agentspace.
Cosmopup считает, что Codelabs — это круто!!

Что дальше?
Посмотрите некоторые из этих практических занятий по программированию...
- Использование Private Service Connect для публикации и использования сервисов.
- Подключайтесь к локальным сервисам через гибридную сеть, используя Private Service Connect и внутренний балансировщик нагрузки TCP Proxy.
- Доступ ко всем опубликованным кодам лабораторий Private Service Connect.