1. Введение
Используйте Private Service Connect для обеспечения безопасного и приватного доступа к моделям, развернутым из Vertex AI Model Garden. Вместо предоставления доступа к общедоступной конечной точке этот метод позволяет развернуть вашу модель на частной конечной точке Vertex AI, доступной только внутри вашей виртуальной частной сети (VPC).
Private Service Connect создает конечную точку с внутренним IP-адресом внутри вашей VPC, которая напрямую подключается к управляемому Google сервису Vertex AI, на котором размещена ваша модель. Это позволяет приложениям в вашей VPC и локальных средах (через Cloud VPN или Interconnect) отправлять запросы на вывод данных, используя частные IP-адреса. Весь сетевой трафик остается в сети Google, что повышает безопасность, снижает задержку и полностью изолирует конечную точку обслуживания вашей модели от общедоступного интернета.

Что вы построите
В этом руководстве вы загрузите Gemma 3 из Model Garden, размещенную в Vertex AI Online Inference в качестве частной конечной точки, доступной через Private Service Connect. Ваша комплексная настройка будет включать в себя:
- Модель сада моделей: Вам нужно будет выбрать модель Gemma 3 из сада моделей Vertex AI и развернуть ее на конечной точке Private Service Connect.
- Подключение к частной службе: Вам потребуется настроить конечную точку потребителя в вашей виртуальной частной сети (VPC), используя внутренний IP-адрес в вашей собственной сети.
- Защищенное соединение с Vertex AI: конечная точка PSC будет использовать автоматически сгенерированное Vertex AI соединение Service Attachment для развертывания вашей частной модели. Это устанавливает частное соединение, гарантируя, что трафик между вашей VPC и конечной точкой, обслуживающей модель, не будет проходить через общедоступный интернет.
- Настройка клиента в вашей VPC: Вам потребуется настроить клиент (например, виртуальную машину Compute Engine) в вашей VPC для отправки запросов на вывод результатов развернутой модели, используя внутренний IP-адрес конечной точки PSC.
В итоге у вас будет функциональный пример модели сада-модели, работающей в приватном режиме и доступной только из вашей выделенной сети VPC.
Что вы узнаете
В этом руководстве вы узнаете, как развернуть модель из Vertex AI Model Garden и обеспечить к ней безопасный доступ из вашей виртуальной частной сети (VPC) с помощью Private Service Connect (PSC). Этот метод позволяет вашим приложениям внутри вашей VPC (потребителю) подключаться к конечной точке модели Vertex AI (сервису-производителю) в частном порядке, минуя общедоступный интернет.
В частности, вы узнаете:
- Понимание PSC для Vertex AI: как PSC обеспечивает частные и безопасные соединения между потребителем и производителем. Ваша VPC может получить доступ к развернутой модели Model Garden, используя внутренние IP-адреса.
- Развертывание модели с приватным доступом: как настроить конечную точку Vertex AI для вашей модели Model Garden, чтобы использовать PSC, сделав ее приватной конечной точкой.
- Роль сервисного подключения: При развертывании модели на частной конечной точке Vertex AI Google Cloud автоматически создает сервисное подключение в проекте, управляемом Google. Это сервисное подключение предоставляет доступ к сервису обслуживания модели для сетей потребителей.
- Создание конечной точки PSC в вашей VPC:
- Как получить уникальный URI подключения сервиса из сведений о развернутой конечной точке Vertex AI.
- Как зарезервировать внутренний IP-адрес в выбранной подсети вашей VPC.
- Как создать правило переадресации в вашей VPC, которое будет выступать в качестве конечной точки PSC, ориентированной на подключение к сервису Vertex AI. Эта конечная точка делает модель доступной через зарезервированный внутренний IP-адрес.
- Установление частного соединения: как конечная точка PSC в вашей VPC подключается к сервисному соединению, обеспечивая безопасное соединение вашей сети с сервисом Vertex AI.
- Отправка запросов на вывод результатов в приватном режиме: как отправлять запросы на прогнозирование от ресурсов (например, виртуальных машин Compute Engine) внутри вашей VPC на внутренний IP-адрес конечной точки PSC.
- Проверка: Шаги для тестирования и подтверждения возможности успешной отправки запросов на вывод данных из вашей VPC к развернутой модели Model Garden через частное соединение.
Выполнив это, вы сможете размещать модели из Model Garden, доступ к которым будет возможен только из вашей частной сети.
Что вам понадобится
Проект Google Cloud
Разрешения IAM
- Администратор платформы ИИ (roles/ml.Admin)
- Администратор вычислительной сети (roles/compute.networkAdmin)
- Администратор вычислительного экземпляра (roles/compute.instanceAdmin)
- Администратор безопасности вычислительных ресурсов (roles/compute.securityAdmin)
- Администратор DNS (roles/dns.admin)
- Пользователь туннеля, защищенный IAP (roles/iap.tunnelResourceAccessor)
- Ведение логов (roles/logging.admin)
- Администратор блокнотов (roles/notebooks.admin)
- Администратор IAM проекта (roles/resourcemanager.projectIamAdmin)
- Администратор учетной записи службы (roles/iam.serviceAccountAdmin)
- Администратор использования сервиса (roles/serviceusage.serviceUsageAdmin)
2. Прежде чем начать
Обновите проект, чтобы он соответствовал учебному пособию.
В этом руководстве переменные `$variables` используются для упрощения настройки gcloud в Cloud Shell.
Внутри Cloud Shell выполните следующие действия:
gcloud config list project
gcloud config set project [YOUR-PROJECT-ID]
projectid=[YOUR-PROJECT-ID]
echo $projectid
Включение API
Внутри Cloud Shell выполните следующие действия:
gcloud services enable "compute.googleapis.com"
gcloud services enable "aiplatform.googleapis.com"
gcloud services enable "serviceusage.googleapis.com"
3. Модель развертывания
Выполните следующие шаги, чтобы развернуть свою модель из Model Garden.
В консоли Google Cloud перейдите в раздел Model Garden , найдите и выберите Gemma 3.

Нажмите «Параметры развертывания» и выберите Vertex AI.

В панели «Развертывание на Vertex AI» выберите «Дополнительно». Предварительно заполненные регион и характеристики машины выбираются на основе доступной мощности. Вы можете изменить эти значения, хотя данный учебный материал разработан специально для региона us-central1.

В панели «Развертывание на Vertex AI» убедитесь, что для параметра «Доступ к конечной точке» выбран режим «Частное подключение к службе», а затем выберите свой проект.

Оставьте все остальные параметры по умолчанию, затем выберите «Развернуть» внизу и проверьте уведомления о статусе развертывания.

В разделе «Сад моделей» выберите регион us-central1, который предоставляет модель и конечную точку Gemma 3. Развертывание модели занимает приблизительно 5 минут.

Через 30 минут после завершения процесса конечная точка перейдет в состояние "Активно".

Получите и запишите идентификатор конечной точки, выбрав её.

Откройте Cloud Shell и выполните следующие действия, чтобы получить URI подключения к службе Private Service Connect. Эта строка URI используется потребителем при развертывании конечной точки потребителя PSC.
Внутри Cloud Shell обновите идентификатор конечной точки, а затем выполните следующую команду.
gcloud ai endpoints describe [Endpoint ID] --region=us-central1 | grep -i serviceAttachment:
Ниже приведён пример:
user@cloudshell:$ gcloud ai endpoints describe 2124795225560842240 --region=us-central1 | grep -i serviceAttachment:
Using endpoint [https://us-central1-aiplatform.googleapis.com/]
serviceAttachment: projects/o9457b320a852208e-tp/regions/us-central1/serviceAttachments/gkedpm-52065579567eaf39bfe24f25f7981d
Скопируйте содержимое после строки serviceAttachment в переменную с именем "Service_attachment"; она понадобится вам позже при создании подключения PSC.
user@cloudshell:$ Service_attachment=projects/o9457b320a852208e-tp/regions/us-central1/serviceAttachments/gkedpm-52065579567eaf39bfe24f25f7981d
4. Настройка потребителя
Создайте потребительскую VPC.
Внутри Cloud Shell выполните следующие действия:
gcloud compute networks create consumer-vpc --project=$projectid --subnet-mode=custom
Создайте подсеть виртуальных машин для потребителей.
Внутри Cloud Shell выполните следующие действия:
gcloud compute networks subnets create consumer-vm-subnet --project=$projectid --range=192.168.1.0/24 --network=consumer-vpc --region=us-central1 --enable-private-ip-google-access
Создайте подсеть конечных точек PSC.
gcloud compute networks subnets create pscendpoint-subnet --project=$projectid --range=10.10.10.0/28 --network=consumer-vpc --region=us-central1
5. Включите встроенные покупки (IAP).
Чтобы разрешить IAP подключаться к вашим виртуальным машинам, создайте правило брандмауэра, которое:
- Применяется ко всем экземплярам виртуальных машин, к которым вы хотите обеспечить доступ с помощью IAP.
- Разрешает входящий трафик из диапазона IP-адресов 35.235.240.0/20. Этот диапазон содержит все IP-адреса, которые IAP использует для пересылки TCP-трафика.
Внутри Cloud Shell создайте правило брандмауэра IAP.
gcloud compute firewall-rules create ssh-iap-consumer \
--network consumer-vpc \
--allow tcp:22 \
--source-ranges=35.235.240.0/20
6. Создайте экземпляры виртуальных машин для потребителей.
Внутри Cloud Shell создайте экземпляр виртуальной машины потребителя, consumer-vm.
gcloud compute instances create consumer-vm \
--project=$projectid \
--machine-type=e2-micro \
--image-family debian-11 \
--no-address \
--shielded-secure-boot \
--image-project debian-cloud \
--zone us-central1-a \
--subnet=consumer-vm-subnet
7. Конечные точки подключения частных сервисов
Потребитель создает конечную точку потребителя (правило переадресации) с внутренним IP-адресом в пределах своей VPC. Эта конечная точка PSC нацелена на подключение к сервису производителя. Клиенты в VPC потребителя или гибридной сети могут отправлять трафик на этот внутренний IP-адрес для доступа к сервису производителя.
Зарезервировать IP-адрес для конечной точки потребителя.
Внутри Cloud Shell создайте правило переадресации.
gcloud compute addresses create psc-address \
--project=$projectid \
--region=us-central1 \
--subnet=pscendpoint-subnet \
--addresses=10.10.10.6
Убедитесь, что IP-адрес зарезервирован.
Внутри Cloud Shell выведите список зарезервированных IP-адресов.
gcloud compute addresses list
Вы должны увидеть зарезервированный IP-адрес 10.10.10.6.

Создайте конечную точку потребителя, указав URI подключения службы, target-service-attachment, который вы получили на предыдущем шаге в разделе «Развертывание модели».
Внутри Cloud Shell опишите сетевое подключение.
gcloud compute forwarding-rules create psc-consumer-ep \
--network=consumer-vpc \
--address=psc-address \
--region=us-central1 \
--target-service-attachment=$Service_attachment \
--project=$projectid
Убедитесь, что подключение к сервису принимает указанную конечную точку.
gcloud compute forwarding-rules describe psc-consumer-ep \
--project=$projectid \
--region=us-central1 \
В ответе убедитесь, что в поле pscConnectionStatus отображается статус "ACCEPTED".

8. Тестирование с виртуальной машины потребителя.
В Cloud Shell выполните следующие действия, чтобы предоставить виртуальной машине-потребителю доступ к API Vertex Model Garden.
Подключение по SSH к виртуальной машине потребителя.

Повторно аутентифицируйтесь с использованием учетных данных приложения по умолчанию и укажите области действия Vertex AI.
gcloud auth application-default login
--scopes=https://www.googleapis.com/auth/cloud-platform
Используйте приведенную ниже таблицу для генерации команды CURLl, адаптируйте ее в соответствии с вашей средой.
Атрибут | Ценить |
Протокол | HTTP |
Расположение | us-central1 |
Конечная точка онлайн-прогнозирования | 2133539641536544768 |
Идентификатор проекта | тест4-473419 |
Модель | gemma-3-12b-it |
IP-адрес конечной точки Private Service Connect | 10.10.10.6 |
Сообщения | [{"role": "user","content": "Что весит больше — 1 фунт перьев или камней?"}] |
Обновите и выполните команду curl в соответствии с данными вашей среды:
curl -k -v -X POST -H "Authorization: Bearer $(gcloud auth application-default print-access-token)" -H "Content-Type: application/json" http://[PSC-IP]/v1/projects/[Project-ID]/locations/us-central1/endpoints/[Predictions Endpoint]/chat/completions -d '{"model": "google/gemma-3-12b-it", "messages": [{"role": "user","content": "What weighs more 1 pound of feathers or rocks?"}] }'
Пример:
curl -k -v -X POST -H "Authorization: Bearer $(gcloud auth application-default print-access-token)" -H "Content-Type: application/json" http://10.10.10.6/v1/projects/test4-473419/locations/us-central1/endpoints/2133539641536544768/chat/completions -d '{"model": "google/gemma-3-12b-it", "messages": [{"role": "user","content": "What weighs more 1 pound of feathers or rocks?"}] }'
ОКОНЧАТЕЛЬНЫЙ РЕЗУЛЬТАТ - УСПЕХ!!!
В нижней части вывода вы должны увидеть предсказание от Gemma 3, это означает, что вам удалось получить доступ к конечной точке API в приватном режиме через конечную точку PSC.
Connection #0 to host 10.10.10.6 left intact
{"id":"chatcmpl-9e941821-65b3-44e4-876c-37d81baf62e0","object":"chat.completion","created":1759009221,"model":"google/gemma-3-12b-it","choices":[{"index":0,"message":{"role":"assistant","reasoning_content":null,"content":"This is a classic trick question! They weigh the same. One pound is one pound, regardless of the material. 😊\n\n\n\n","tool_calls":[]},"logprobs":null,"finish_reason":"stop","stop_reason":106}],"usage":{"prompt_tokens":20,"total_tokens":46,"completion_tokens":26,"prompt_tokens_details":null},"prompt_logprobs":null
9. Уборка
В Cloud Shell удалите компоненты учебного пособия.
gcloud ai endpoints undeploy-model ENDPOINT_ID --deployed-model-id=DEPLOYED_MODEL_ID --region=us-central1 --quiet
gcloud ai endpoints delete $ENDPOINT_ID --project=$projectid --region=us-central1 --quiet
gcloud ai models delete $MODEL_ID --project=$projectid --region=us-central1 --quiet
gcloud compute instances delete consumer-vm --zone=us-central1-a --quiet
gcloud compute forwarding-rules delete psc-consumer-ep --region=us-central1 --project=$projectid --quiet
gcloud compute addresses delete psc-address --region=us-central1 --project=$projectid --quiet
gcloud compute networks subnets delete pscendpoint-subnet consumer-vm-subnet --region=us-central1 --quiet
gcloud compute firewall-rules delete ssh-iap-consumer --project=$projectid
gcloud compute networks delete consumer-vpc --project=$projectid --quiet
gcloud projects delete $projectid --quiet
10. Поздравляем!
Поздравляем, вы успешно настроили и подтвердили частный доступ к API Gemma 3, размещенному на платформе Vertex AI Prediction, используя конечную точку Private Service Connect.
Вы создали инфраструктуру для потребителей, включая резервирование внутреннего IP-адреса и настройку частной конечной точки подключения к сервису (правила переадресации) в вашей VPC. Эта конечная точка безопасно подключается к сервису Vertex AI, используя в качестве целевого адреса сервисное подключение, связанное с вашей развернутой моделью Gemma 3. Такая настройка позволяет вашим приложениям в VPC или подключенных сетях взаимодействовать с API Gemma 3 конфиденциально и безопасно, используя внутренний IP-адрес, без необходимости передачи трафика через общедоступный интернет.