Model Garden'ı bir PSC uç noktasına dağıtma

1. Giriş

Vertex AI Model Garden'dan dağıtılan modeller için güvenli ve özel erişim oluşturmak üzere Private Service Connect'ten yararlanın. Bu yöntem, herkese açık bir uç nokta kullanmak yerine modelinizi yalnızca Sanal Özel Bulutunuzda (VPC) erişilebilen özel bir Vertex AI uç noktasına dağıtmanıza olanak tanır.

Private Service Connect, VPC'nizde dahili IP adresi olan bir uç nokta oluşturur. Bu uç nokta, modelinizi barındıran Google tarafından yönetilen Vertex AI hizmetine doğrudan bağlanır. Bu sayede VPC'nizdeki ve şirket içi ortamlarınızdaki (Cloud VPN veya Interconnect aracılığıyla) uygulamalar, özel IP'leri kullanarak çıkarım istekleri gönderebilir. Tüm ağ trafiği Google'ın ağında kalır. Bu sayede güvenlik artırılır, gecikme süresi azalır ve modelinizin hizmet uç noktası herkese açık internetten tamamen izole edilir.

4a78228d4197997c.png

Ne oluşturacaksınız?

Bu eğitimde, Vertex AI Online Inference'da Private Service Connect üzerinden erişilebilen özel bir uç nokta olarak barındırılan Model Garden'dan Gemma 3'ü indireceksiniz. Uçtan uca kurulumunuz şunları içerir:

  1. Model Garden modeli: Vertex AI Model Garden'dan Gemma 3'ü seçip Private Service Connect uç noktasına dağıtırsınız.
  2. Private Service Connect: Sanal Özel Bulut'unuzda (VPC) kendi ağınızdaki bir dahili IP adresinden oluşan bir tüketici uç noktası yapılandırırsınız.
  3. Vertex AI'ye güvenli bağlantı: PSC uç noktası, özel model dağıtımınız için Vertex AI tarafından otomatik olarak oluşturulan hizmet ekini hedefler. Bu, özel bir bağlantı oluşturarak VPC'niz ile model sunma uç noktası arasındaki trafiğin herkese açık internet üzerinden geçmemesini sağlar.
  4. VPC'nizdeki istemci yapılandırması: Bir istemci (ör. Compute Engine sanal makinesi) kullanarak PSC uç noktasının dahili IP adresini kullanarak dağıtılan modele çıkarım istekleri gönderebilirsiniz.

Bu eğitimin sonunda, Model Garden modelinin yalnızca belirlenen VPC ağınızdan erişilebilen özel bir şekilde sunulduğu işlevsel bir örneğe sahip olacaksınız.

Neler öğreneceksiniz?

Bu eğitimde, Vertex AI Model Garden'dan bir modeli nasıl dağıtacağınızı ve Private Service Connect (PSC) kullanarak sanal özel bulutunuzdan (VPC) güvenli bir şekilde erişilebilir hale getireceğinizi öğreneceksiniz. Bu yöntem, VPC'nizdeki (tüketici) uygulamalarınızın herkese açık interneti geçmeden Vertex AI model uç noktasına (üretici hizmeti) özel olarak bağlanmasına olanak tanır.

Özellikle şunları öğreneceksiniz:

  1. Vertex AI için PSC'yi anlama: PSC, tüketiciden üreticiye özel ve güvenli bağlantıları nasıl sağlar? VPC'niz, dahili IP adreslerini kullanarak dağıtılan Model Garden modeline erişebilir.
  2. Özel erişimle model dağıtma: Model Garden modeliniz için PSC kullanacak bir Vertex AI uç noktasını nasıl yapılandıracağınızı öğrenin. Bu sayede uç nokta özel olur.
  3. Hizmet eki rolü: Bir modeli özel Vertex AI uç noktasına dağıttığınızda Google Cloud, Google tarafından yönetilen bir kiracı projesinde otomatik olarak bir hizmet eki oluşturur. Bu hizmet eki, model sunma hizmetini tüketici ağlarına sunar.
  4. VPC'nizde PSC uç noktası oluşturma:
  • Dağıtılan Vertex AI uç nokta ayrıntılarınızdan benzersiz hizmet ekleme URI'sini edinme
  • VPC'nizdeki seçtiğiniz alt ağda dahili IP adresi ayırma
  • VPC'nizde PSC uç noktası olarak işlev gören ve Vertex AI hizmet ekini hedefleyen bir yönlendirme kuralı oluşturma Bu uç nokta, ayrılmış dahili IP üzerinden modele erişilmesini sağlar.
  1. Özel Bağlantı Oluşturma: VPC'nizdeki PSC uç noktası, ağınızı Vertex AI hizmetiyle güvenli bir şekilde köprüleyerek hizmet ekine nasıl bağlanır?
  2. Çıkarım İsteklerini Özel Olarak Gönderme: VPC'nizdeki kaynaklardan (ör. Compute Engine sanal makineleri) PSC uç noktasının dahili IP adresine tahmin istekleri gönderme.
  3. Doğrulama: Özel bağlantı üzerinden VPC'nizden dağıtılan Model Garden modeline başarılı bir şekilde çıkarım isteği gönderebildiğinizi test etme ve onaylama adımları.

Bu işlemi tamamladığınızda, Model Garden'daki yalnızca özel ağ altyapınızdan erişilebilen modelleri barındırabilirsiniz.

İhtiyacınız olanlar

Google Cloud projesi

IAM İzinleri

2. Başlamadan önce

Projeyi, eğitimi destekleyecek şekilde güncelleyin

Bu eğitimde, Cloud Shell'de gcloud yapılandırmasının uygulanmasına yardımcı olmak için $değişkenleri kullanılır.

Cloud Shell'de aşağıdakileri yapın:

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

API Etkinleştirme

Cloud Shell'de aşağıdakileri yapın:

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

3. Modeli Dağıt

Model Garden'dan modelinizi dağıtmak için aşağıdaki adımları uygulayın.

Google Cloud Console'da Model Garden'a gidin ve Gemma 3'ü arayıp seçin.

10c7ce35cfc571dc.png

Dağıtım seçenekleri'ni tıklayın ve Vertex AI'ı seçin.

ed9280fcc5f4c3fa.png

Vertex AI'da dağıt bölmesinde Gelişmiş'i seçin. Önceden doldurulmuş bölge ve makine özellikleri, kullanılabilir kapasiteye göre seçilir. Bu değerleri değiştirebilirsiniz ancak codelab us-central1 için hazırlanmıştır.

3f7e4cefdc06488a.png

Vertex AI'da dağıtma bölmesinde, Uç Nokta Erişimi'nin Private Service Connect olarak yapılandırıldığından emin olun ve projenizi seçin.

d0f0d9bc49205fb3.png

Diğer seçenekler için tüm varsayılan ayarları değiştirmeden bırakın, ardından en altta Dağıt'ı seçin ve dağıtım durumu için bildirimlerinizi kontrol edin.

9bd3b10256b7b2cc.png

Model Garden'da Gemma 3 modelini ve uç noktasını sağlayan us-central1 bölgesini seçin. Model dağıtımı yaklaşık 5 dakika sürer.

e998ee6288a8a7a.png

30 dakika içinde, tamamlandıktan sonra uç nokta "Etkin"e geçiş yapacak.

9dcc7c56dbe0e88a.png

Uç noktayı seçerek uç nokta kimliğini alın ve not edin.

6e3e2feef82fadd5.png

Cloud Shell'i açın ve Private Service Connect hizmet eki URI'sini almak için aşağıdakileri yapın. Bu URI dizesi, PSC tüketici uç noktası dağıtırken tüketici tarafından kullanılır.

Cloud Shell'de uç nokta kimliğini güncelleyin ve ardından aşağıdaki komutu verin.

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

Aşağıda bir örnek verilmiştir:

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'tan sonraki içeriği "Service_attachment" adlı bir değişkene kopyalayın. Bu değişken, daha sonra PSC bağlantısı oluştururken gereklidir.

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

4. Tüketici Kurulumu

Tüketici VPC'sini oluşturma

Cloud Shell'de aşağıdakileri yapın:

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

Tüketici sanal makine alt ağını oluşturma

Cloud Shell'de aşağıdakileri yapın:

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 uç noktası alt ağını oluşturma

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

5. IAP'yi etkinleştirme

IAP'nin sanal makine örneklerinize bağlanmasına izin vermek için aşağıdaki özellikleri içeren bir güvenlik duvarı kuralı oluşturun:

  • IAP kullanarak erişmek istediğiniz tüm sanal makine örnekleri için geçerlidir.
  • 35.235.240.0/20 IP aralığından gelen giriş trafiğine izin verir. Bu aralık, IAP'nin TCP yönlendirme için kullandığı tüm IP adreslerini içerir.

Cloud Shell'de IAP güvenlik duvarı kuralını oluşturun.

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

6. Tüketici sanal makine örnekleri oluşturma

Cloud Shell'de consumer-vm adlı tüketici sanal makinesi örneğini oluşturun.

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. Private Service Connect uç noktaları

Tüketici, VPC'sinde dahili IP adresi olan bir tüketici uç noktası (yönlendirme kuralı) oluşturur. Bu PSC uç noktası, üreticinin hizmet ekini hedefler. Tüketici VPC'si veya karma ağındaki istemciler, üreticinin hizmetine ulaşmak için bu dahili IP adresine trafik gönderebilir.

Tüketici uç noktası için bir IP adresi ayırın.

Cloud Shell'de iletim kuralını oluşturun.

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

IP adresinin ayrıldığını doğrulayın

Cloud Shell'de ayrılmış IP adresini listeleyin.

gcloud compute addresses list 

Ayrılmış 10.10.10.6 IP adresini görmeniz gerekir.

edb5661bea25cd14.png

Önceki adımda (Modeli Dağıtma bölümü) yakaladığınız hizmet eki URI'si (target-service-attachment) değerini belirterek tüketici uç noktasını oluşturun.

Cloud Shell'de ağ ekini açıklayın.

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

Hizmet eklerinin uç noktayı kabul ettiğini doğrulayın

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

Yanıtın pscConnectionStatus alanında "ACCEPTED" durumunun göründüğünü doğrulayın.

6c66347ede9d4c7d.png

8. Tüketici VM'sinden test etme

Cloud Shell'de, Vertex Model Garden API'ye erişmek için Consumer VM'ye erişim sağlamak üzere aşağıdaki adımları uygulayın.

Tüketici sanal makinesine SSH uygulama

f0984d9e60530cb2.png

Uygulama Varsayılan Kimlik Bilgileri ile yeniden kimlik doğrulayın ve Vertex AI kapsamlarını belirtin.

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

Bir CURL komutu oluşturmak için aşağıdaki tabloyu kullanın. Ortamınıza göre ayarlama yapın.

Özellik

Değer

Protokol

HTTP

Konum

us-central1

Online Tahmin Uç Noktası

2133539641536544768

Proje kimliği

test4-473419

Model

gemma-3-12b-it

Private Service Connect uç noktası IP'si

10.10.10.6

Mesajlar

[{"role": "user","content": "What weighs more 1 pound of feathers or rocks?"}]

curl komutunu ortam ayrıntılarınıza göre güncelleyin ve çalıştırın:

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

Örnek:

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

SONUÇ: BAŞARILI!!!

Çıkışın en altında Gemma 3'ten tahmin sonucu görmeniz gerekir. Bu, PSC uç noktası aracılığıyla API uç noktasına özel olarak erişebildiğinizi gösterir.

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

Cloud Shell'den eğitim bileşenlerini silin.

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

Tebrikler, Private Service Connect uç noktasını kullanarak Vertex AI Prediction'da barındırılan Gemma 3 API'ye özel erişimi başarıyla yapılandırdınız ve doğruladınız.

Dahili IP adresi ayırma ve VPC'nizde Private Service Connect uç noktası (iletim kuralı) yapılandırma dahil olmak üzere tüketici altyapısını oluşturdunuz. Bu uç nokta, dağıtılan Gemma 3 modelinizle ilişkili hizmet ekini hedefleyerek Vertex AI hizmetine güvenli bir şekilde bağlanır. Bu kurulum, VPC veya bağlı ağlardaki uygulamalarınızın, dahili bir IP adresi kullanarak Gemma 3 API ile özel ve güvenli bir şekilde etkileşime girmesine olanak tanır. Bu etkileşim için trafiğin genel internet üzerinden geçmesi gerekmez.

Daha fazla bilgi ve videolar

Referans belgeleri