Wdrażanie bazy modeli w punkcie końcowym PSC

1. Wprowadzenie

Skorzystaj z Private Service Connect, aby zapewnić bezpieczny, prywatny dostęp do modeli wdrożonych z bazy modeli Vertex AI. Zamiast udostępniać publiczny punkt końcowy, ta metoda umożliwia wdrożenie modelu w prywatnym punkcie końcowym Vertex AI, który jest dostępny tylko w Twoim prywatnym środowisku wirtualnym w chmurze (VPC).

Usługa Private Service Connect tworzy w Twojej sieci VPC punkt końcowy z wewnętrznym adresem IP, który łączy się bezpośrednio z zarządzaną przez Google usługą Vertex AI hostującą Twój model. Umożliwia to aplikacjom w środowiskach VPC i lokalnych (za pomocą Cloud VPN lub Interconnect) wysyłanie żądań wnioskowania przy użyciu prywatnych adresów IP. Cały ruch w sieci pozostaje w sieci Google, co zwiększa bezpieczeństwo, skraca czas oczekiwania i całkowicie izoluje punkt końcowy obsługi modelu od publicznego internetu.

4a78228d4197997c.png

Co utworzysz

W tym samouczku pobierzesz model Gemma 3 z bazy modeli hostowanej w Vertex AI Online Inference jako prywatny punkt końcowy dostępny przez Private Service Connect. Konfiguracja kompleksowa obejmuje:

  1. Model z bazy modeli: wybierzesz model Gemma 3 z bazy modeli Vertex AI i wdrożysz go w punkcie końcowym Private Service Connect.
  2. Private Service Connect: w prywatnym środowisku wirtualnym w chmurze (VPC) skonfigurujesz punkt końcowy konsumenta składający się z wewnętrznego adresu IP w Twojej sieci.
  3. Bezpieczne połączenie z Vertex AI: punkt końcowy PSC będzie kierowany na załącznik usługi wygenerowany automatycznie przez Vertex AI na potrzeby wdrożenia modelu prywatnego. Ustanawia to połączenie prywatne, dzięki czemu ruch między siecią VPC a punktem końcowym wdrożenia modelu nie przechodzi przez publiczny internet.
  4. Konfiguracja klienta w sieci VPC: skonfigurujesz klienta (np. maszynę wirtualną Compute Engine) w sieci VPC, aby wysyłał żądania wnioskowania do wdrożonego modelu za pomocą wewnętrznego adresu IP punktu końcowego PSC.

Na koniec będziesz mieć działający przykład modelu z repozytorium Model Garden, który jest udostępniany prywatnie i dostępny tylko z poziomu wyznaczonej sieci VPC.

Czego się nauczysz

Z tego samouczka dowiesz się, jak wdrożyć model z repozytorium Vertex AI Model Garden i bezpiecznie udostępnić go z prywatnego środowiska wirtualnego w chmurze (VPC) za pomocą Private Service Connect (PSC). Ta metoda umożliwia aplikacjom w sieci VPC (konsumentowi) prywatne łączenie się z punktem końcowym modelu Vertex AI (usługą producenta) bez przechodzenia przez publiczny internet.

Dowiesz się m.in.:

  1. Omówienie PSC w Vertex AI: jak PSC umożliwia prywatne i bezpieczne połączenia między konsumentem a producentem. Sieć VPC może uzyskać dostęp do wdrożonego modelu z bazy modeli za pomocą wewnętrznych adresów IP.
  2. Wdrażanie modelu z dostępem prywatnym: jak skonfigurować punkt końcowy Vertex AI dla modelu z repozytorium Model Garden, aby używać PSC, co sprawi, że będzie to punkt końcowy prywatny.
  3. Rola połączenia usługi: gdy wdrażasz model w prywatnym punkcie końcowym Vertex AI, Google Cloud automatycznie tworzy połączenie usługi w projekcie najemcy zarządzanym przez Google. To przyłącze usługi udostępnia usługę wdrożenia modelu sieciom konsumentów.
  4. Tworzenie punktu końcowego PSC w sieci VPC:
  • Jak uzyskać unikalny identyfikator URI przyłączenia usługi z informacji o wdrożonym punkcie końcowym Vertex AI.
  • Jak zarezerwować wewnętrzny adres IP w wybranej podsieci w sieci VPC.
  • Jak utworzyć w sieci VPC regułę przekazywania, która będzie działać jako punkt końcowy PSC i będzie kierować ruch do przyłącza usługi Vertex AI. Ten punkt końcowy udostępnia model za pomocą zarezerwowanego wewnętrznego adresu IP.
  1. Nawiązywanie połączenia prywatnego: jak punkt końcowy PSC w sieci VPC łączy się z przyłączem usługi, bezpiecznie łącząc Twoją sieć z usługą Vertex AI.
  2. Prywatne wysyłanie żądań wnioskowania: jak wysyłać żądania prognozowania z zasobów (takich jak maszyny wirtualne Compute Engine) w sieci VPC na wewnętrzny adres IP punktu końcowego PSC.
  3. Weryfikacja: czynności, które należy wykonać, aby sprawdzić i potwierdzić, że możesz wysyłać żądania wnioskowania z sieci VPC do wdrożonego modelu Model Garden za pomocą połączenia prywatnego.

Dzięki temu będziesz mieć możliwość hostowania modeli z Model Garden, które są dostępne tylko z Twojej prywatnej infrastruktury sieciowej.

Czego potrzebujesz

Projekt Google Cloud

Uprawnienia

2. Zanim zaczniesz

Aktualizowanie projektu na potrzeby samouczka

W tym samouczku używamy zmiennych $variables, aby ułatwić implementację konfiguracji gcloud w Cloud Shell.

W Cloud Shell wykonaj te czynności:

gcloud config list project
gcloud config set project [YOUR-PROJECT-ID]
projectid=[YOUR-PROJECT-ID]
echo $projectid

Włączanie interfejsu API

W Cloud Shell wykonaj te czynności:

gcloud services enable "compute.googleapis.com"
gcloud services enable "aiplatform.googleapis.com"
gcloud services enable "serviceusage.googleapis.com"

3. Wdrażanie modelu

Aby wdrożyć model z Model Garden, wykonaj te czynności:

W konsoli Google Cloud otwórz Model Garden, a następnie wyszukaj i wybierz Gemma 3.

10c7ce35cfc571dc.png

Kliknij Opcje wdrażania i wybierz Vertex AI.

ed9280fcc5f4c3fa.png

W panelu Wdróż w Vertex AI kliknij Zaawansowane. Wstępnie wypełnione region i specyfikacja maszyny są wybierane na podstawie dostępnej mocy obliczeniowej. Możesz zmienić te wartości, ale codelab jest dostosowany do regionu us-central1.

3f7e4cefdc06488a.png

W panelu Wdróż w Vertex AI sprawdź, czy dostęp do punktu końcowego jest skonfigurowany jako Private Service Connect, a następnie wybierz projekt.

d0f0d9bc49205fb3.png

W przypadku pozostałych opcji pozostaw wartości domyślne, a następnie u dołu kliknij Wdróż i sprawdź stan wdrożenia w powiadomieniach.

9bd3b10256b7b2cc.png

W Model Garden wybierz region us-central1, który udostępnia model Gemma 3 i punkt końcowy. Wdrożenie modelu zajmuje około 5 minut.

e998ee6288a8a7a.png

Po 30 minutach punkt końcowy przejdzie w stan „Aktywny”.

9dcc7c56dbe0e88a.png

Wybierz punkt końcowy, aby uzyskać i zapisać jego identyfikator.

6e3e2feef82fadd5.png

Otwórz Cloud Shell i wykonaj te czynności, aby uzyskać identyfikator URI przyłącza usługi Private Service Connect. Ten ciąg URI jest używany przez konsumenta podczas wdrażania punktu końcowego konsumenta PSC.

W Cloud Shell zaktualizuj identyfikator punktu końcowego, a potem wpisz to polecenie.

gcloud ai endpoints describe [Endpoint ID] --region=us-central1  | grep -i serviceAttachment:

Oto przykład:

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

Skopiuj zawartość po serviceAttachment do zmiennej o nazwie „Service_attachment”. Będzie ona potrzebna później podczas tworzenia połączenia PSC.

user@cloudshell:$ Service_attachment=projects/o9457b320a852208e-tp/regions/us-central1/serviceAttachments/gkedpm-52065579567eaf39bfe24f25f7981d

4. Konfiguracja konsumencka

Tworzenie sieci VPC konsumenta

W Cloud Shell wykonaj te czynności:

gcloud compute networks create consumer-vpc --project=$projectid --subnet-mode=custom

Tworzenie podsieci maszyny wirtualnej konsumenta

W Cloud Shell wykonaj te czynności:

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

Tworzenie podsieci punktu końcowego PSC

gcloud compute networks subnets create pscendpoint-subnet --project=$projectid --range=10.10.10.0/28 --network=consumer-vpc --region=us-central1

5. Włączanie IAP

Aby umożliwić IAP połączenie z instancjami maszyn wirtualnych, utwórz regułę zapory sieciowej, która:

  • Dotyczy wszystkich instancji maszyn wirtualnych, które mają być dostępne przez IAP.
  • Zezwala na ruch przychodzący z zakresu adresów IP 35.235.240.0/20. Ten zakres zawiera wszystkie adresy IP, których IAP używa do przekierowywania TCP.

W Cloud Shell utwórz regułę zapory sieciowej IAP.

gcloud compute firewall-rules create ssh-iap-consumer \
    --network consumer-vpc \
    --allow tcp:22 \
    --source-ranges=35.235.240.0/20

6. Tworzenie instancji maszyn wirtualnych konsumentów

W Cloud Shell utwórz instancję maszyny wirtualnej klienta o nazwie 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. Punkty końcowe Private Service Connect

Konsument tworzy punkt końcowy konsumenta (regułę przekierowania) z wewnętrznym adresem IP w swojej sieci VPC. Ten punkt końcowy PSC jest kierowany na przyłącze usługi producenta. Klienty w sieci VPC konsumenta lub sieci hybrydowej mogą wysyłać ruch na ten wewnętrzny adres IP, aby uzyskać dostęp do usługi producenta.

Zarezerwuj adres IP dla punktu końcowego klienta.

W Cloud Shell utwórz regułę przekierowania.

gcloud compute addresses create psc-address \
    --project=$projectid \
    --region=us-central1 \
    --subnet=pscendpoint-subnet \
    --addresses=10.10.10.6

Sprawdź, czy adres IP jest zarezerwowany.

W Cloud Shell wyświetl listę zarezerwowanych adresów IP.

gcloud compute addresses list 

Powinien być widoczny zarezerwowany adres IP 10.10.10.6.

edb5661bea25cd14.png

Utwórz punkt końcowy klienta, podając identyfikator URI przyłącza usługi, target-service-attachment, który został zarejestrowany w sekcji Wdrażanie modelu w poprzednim kroku.

W Cloud Shell opisz przyłącze sieci.

 gcloud compute forwarding-rules create psc-consumer-ep \
    --network=consumer-vpc \
    --address=psc-address \
    --region=us-central1 \
    --target-service-attachment=$Service_attachment \
    --project=$projectid

Sprawdź, czy przyłączenie usługi akceptuje punkt końcowy

gcloud compute forwarding-rules describe psc-consumer-ep \
    --project=$projectid \
    --region=us-central1 \

W odpowiedzi sprawdź, czy w polu pscConnectionStatus wyświetla się stan „ACCEPTED”.

6c66347ede9d4c7d.png

8. Testowanie z maszyny wirtualnej konsumenta

Aby przyznać maszynie wirtualnej klienta dostęp do interfejsu Vertex Model Garden API, wykonaj w Cloud Shell te czynności:

Nawiązywanie połączenia SSH z maszyną wirtualną klienta

f0984d9e60530cb2.png

Ponownie uwierzytelnij się za pomocą domyślnego uwierzytelniania aplikacji i określ zakresy Vertex AI.

gcloud auth application-default login
--scopes=https://www.googleapis.com/auth/cloud-platform 

Aby wygenerować polecenie CURL, skorzystaj z tabeli poniżej. Dostosuj je do swojego środowiska.

Atrybut

Wartość

Protokół

HTTP

Lokalizacja

us-central1

Punkt końcowy prognozy online

2133539641536544768

Identyfikator projektu

test4-473419

Model

gemma-3-12b-it

Adres IP punktu końcowego Private Service Connect

10.10.10.6

Wiadomości

[{"role": "user","content": "Co waży więcej: funt piór czy funt kamieni?"}]

Zaktualizuj i wykonaj polecenie curl na podstawie szczegółów środowiska:

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?"}] }'

Przykład:

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?"}] }'

WYNIK KOŃCOWY – SUKCES!!!

Na dole danych wyjściowych powinna pojawić się prognoza modelu Gemma 3. Oznacza to, że udało Ci się uzyskać dostęp do punktu końcowego interfejsu API w sposób prywatny za pomocą punktu końcowego 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. Czyszczenie danych

W Cloud Shell usuń komponenty samouczka.

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. Gratulacje

Gratulacje. Udało Ci się skonfigurować i zweryfikować prywatny dostęp do interfejsu Gemma 3 API hostowanego w usłudze Vertex AI Prediction przy użyciu punktu końcowego Private Service Connect.

Infrastruktura konsumenta została utworzona, w tym zarezerwowano wewnętrzny adres IP i skonfigurowano punkt końcowy usługi Private Service Connect (regułę przekierowania) w sieci VPC. Ten punkt końcowy bezpiecznie łączy się z usługą Vertex AI, kierując się na załącznik usługi powiązany z wdrożonym modelem Gemma 3. Ta konfiguracja umożliwia aplikacjom w sieci VPC lub połączonych sieciach prywatne i bezpieczne korzystanie z interfejsu Gemma 3 API za pomocą wewnętrznego adresu IP bez konieczności przesyłania ruchu przez internet publiczny.

Więcej informacji i filmy

Dokumentacja