Vertex AI, PSC'yi kullanarak online tahmin uç noktalarına özel olarak erişiyor

1. Giriş

Şirket içi ana makineler, genel internet üzerinden (1. seçenek) veya şirket içi ağınızdan Private Service Connect (PSC) ile Cloud VPN ya da Cloud Interconnect kullanarak (2. seçenek) Online Tahmin'e doğal olarak erişebilir. Her iki seçenek de SSL/TLS şifrelemesi sunar. Şekil 1'de gösterildiği gibi, ara bağlantı üzerinden çevrimiçi tahmine hibrit bağlantı, internete kıyasla daha iyi performans gösterir. Bu nedenle, kritik uygulamalar için önerilir.

Bu eğitimde, çoklu bulut ve şirket içi özel bağlantı için temel olarak kullanılabilecek iki VPC ağı arasında Online Tahmin'e özel olarak erişmek için yüksek kullanılabilirlik VPN'nin (HA VPN) nasıl kullanılacağını göstereceğiz.

Vertex Online Prediction'ın herkese açık bir uç nokta olduğunu unutmayın. Bu nedenle, Vertex'e ve diğer Google API'lerine erişime izin vermek veya erişimi reddetmek için güvenli çevreler oluşturmak üzere VPC Hizmet Kontrolleri'ni (VPC-SC) kullanarak erişimi kısıtlamak isteyebilirsiniz. Bu eğitimde VPC Hizmet Kontrolleri ele alınmamaktadır. Daha fazla bilgi için Vertex AI ile VPC Hizmet Kontrolleri başlıklı makaleyi inceleyin.

24a07ba49a7bcb16.png

Ne oluşturacaksınız?

Şirket içi bir ortamı temsil etmek için on-prem-vpc adlı bir VPC ağı oluşturacaksınız. Dağıtımınızda on-prem-vpc bulunmaz. Bunun yerine, şirket içi veri merkezinize veya bulut sağlayıcınıza hibrit ağ bağlantısı kullanılır.

Aşağıdaki ayrıntılara göre, Cloud NAT üzerinden herkese açık olarak ve HA VPN üzerinden PSC kullanılarak özel olarak Online Tahmin'e erişimi gösteren kapsamlı bir Private Service Connect mimarisi oluşturacaksınız.

b545c808b366341a.png

Online tahmin, Google Cloud projesine dağıtıldıktan sonra aşağıdaki kullanım alanları incelenecektir:

Çevrimiçi tahmine herkese açık erişim aşağıdaki unsurlardan oluşur:

  • Çıkış internet erişimi için NAT'den yararlanan bir GCE örneği (nat-client) oluşturun.
  • Modele karşı çıkarım yapmak için CURL'yi kullanma
  • Online tahmine herkese açık bir VIP üzerinden erişildiğini doğrulamak için TCPDUMP'ı kullanın.

Online tahmine özel erişim aşağıdaki özelliklerden oluşur:

  • Projedeki bir Vertex online tahmin uç noktasına model dağıtma
  • aiml-vpc'de Private Service Connect (googleapis) uç noktası oluşturun.
  • PSC IP adresini, Cloud Router üzerinden şirket içi VPC'ye özel bir reklam olarak dışa aktarın.
  • Bir GCE örneği (private-client) oluşturun ve etc/hosts dosyasını PSC uç noktası IP'siyle güncelleyin.
  • Modele karşı çıkarım yapmak için CURL'yi kullanma
  • Online tahmine PSC uç noktası IP adresi üzerinden erişildiğini doğrulamak için TCPDUMP'ı kullanın.

Neler öğreneceksiniz?

  • Private Service Connect uç noktası oluşturma
  • PSC uç nokta IP'sini Cloud Router üzerinden duyurma
  • Hem genel hem de özel online tahmin erişimini doğrulamak için TCPDUMP nasıl kullanılır?

Gerekenler

  • Google Cloud projesi

IAM İzinleri

Compute Ağ Yöneticisi

Hizmet Dizini Düzenleyicisi

DNS Yöneticisi

Ağ yöneticisi

Kota Yöneticisi

Not Defterleri Yöneticisi

Hizmet Hesabı Kullanıcısı

Depolama alanı yöneticisi

Vertex AI User

Hizmet Hesabı Yöneticisi

2. Başlamadan önce

Projeyi, eğitimi destekleyecek şekilde güncelleme

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-NAME]
projectid=YOUR-PROJECT-NAME
echo $projectid

3. Hizmetleri Etkinleştir

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

gcloud services enable dns.googleapis.com
gcloud services enable aiplatform.googleapis.com
gcloud services enable iam.googleapis.com 
gcloud services enable compute.googleapis.com 
gcloud services enable notebooks.googleapis.com

4. aiml-vpc kurulumu

aiml-vpc'yi oluşturma

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

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

Kullanıcı tarafından yönetilen not defteri alt ağı oluşturma

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

gcloud compute networks subnets create workbench-subnet --project=$projectid --range=172.16.10.0/28 --network=aiml-vpc --region=us-central1 --enable-private-ip-google-access

Cloud Router ve NAT yapılandırması

Kullanıcı tarafından yönetilen not defteri örneğinde harici IP adresi olmadığından, not defteri yazılım paketi indirme işlemleri için eğitimde Cloud NAT kullanılır. Cloud NAT, çıkış NAT özellikleri de sunar. Bu özellikler sayesinde internet ana makinelerinin kullanıcı tarafından yönetilen bir not defteriyle iletişim başlatmasına izin verilmez. Bu da not defterini daha güvenli hale getirir.

Cloud Shell'de bölgesel Cloud Router'ı oluşturun.

gcloud compute routers create cloud-router-us-central1-aiml-nat --network aiml-vpc --region us-central1

Cloud Shell'de bölgesel Cloud NAT ağ geçidini oluşturun.

gcloud compute routers nats create cloud-nat-us-central1 --router=cloud-router-us-central1-aiml-nat --auto-allocate-nat-external-ips --nat-all-subnet-ip-ranges --region us-central1

5. şirket içi VPC kurulumu

Şirket içi VPC'yi oluşturma

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

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

nat-subnet'i oluşturma

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

gcloud compute networks subnets create nat-subnet --project=$projectid --range=192.168.10.0/28 --network=on-prem-vpc --region=us-central1

private-ip-subnet'i oluşturma

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

gcloud compute networks subnets create private-ip-subnet --project=$projectid --range=192.168.20.0/28 --network=on-prem-vpc --region=us-central1

Cloud Router ve NAT yapılandırması

Eğiticide, yazılım paketi indirmeleri için Cloud NAT kullanılır. Cloud NAT, çıkış NAT özellikleri de sunar. Bu özellikler sayesinde internet ana makinelerinin bilgi işlemle iletişim başlatmasına izin verilmez. Bu da Cloud NAT'yi daha güvenli hale getirir.

Cloud Shell'de bölgesel Cloud Router'ı oluşturun.

gcloud compute routers create cloud-router-us-central1-on-prem-nat --network on-prem-vpc --region us-central1

Cloud Shell'de bölgesel Cloud NAT ağ geçidini oluşturun.

gcloud compute routers nats create cloud-nat-us-central1 --router=cloud-router-us-central1-on-prem-nat --auto-allocate-nat-external-ips --nat-all-subnet-ip-ranges --region us-central1

6. Private Service Connect uç noktasını oluşturun

Aşağıdaki bölümde, şirket içi VPC'den Vertex API'ye erişmek için kullanılacak bir Private Service Connect (PSC) uç noktası oluşturacaksınız. 100.100.10.10 PSC IP adresi, yakında yapılacak bir adımda aiml-vpc-cloud-router-vpn'den özel bir yönlendirici bildirimi olarak şirket içi ağa duyurulacak.

Cloud Shell'den

gcloud compute addresses create psc-ip \
    --global \
    --purpose=PRIVATE_SERVICE_CONNECT \
    --addresses=100.100.10.10 \
    --network=aiml-vpc

PSC uç noktasını oluşturma

Cloud Shell'den

gcloud compute forwarding-rules create pscvertex \
    --global \
    --network=aiml-vpc \
    --address=psc-ip \
    --target-google-apis-bundle=all-apis

Yapılandırılmış Private Service Connect uç noktalarını listeleme

Cloud Shell'den

gcloud compute forwarding-rules list  \
--filter target="(all-apis OR vpc-sc)" --global

Yapılandırılmış Private Service Connect uç noktalarını açıklama

Cloud Shell'den

gcloud compute forwarding-rules describe \
    pscvertex --global

7. Karma bağlantı

Aşağıdaki bölümde, Sınır Ağ Geçidi Protokolü'nü (BGP) kullanarak Sanal Özel Bulut (VPC) ile eş ağınız arasındaki rotaları dinamik olarak değiştirmenizi sağlayan bir Cloud Router oluşturacaksınız.

Cloud Router, ağlarınızı bağlamak için Cloud VPN tüneli üzerinden bir BGP oturumu oluşturabilir. Yeni alt ağ IP adresi aralıklarını otomatik olarak öğrenir ve bunları eş ağınıza duyurur.

Bu eğitimde, aiml-vpc ile şirket içi-vpc arasında HA VPN dağıtacaksınız.

aiml-vpc için HA VPN ağ geçidini oluşturun.

Her ağ geçidi oluşturulduğunda, her ağ geçidi arayüzü için biri olmak üzere iki harici IPv4 adresi otomatik olarak ayrılır.

Cloud Shell'de HA VPN ağ geçidini oluşturun.

gcloud compute vpn-gateways create aiml-vpn-gw \
   --network=aiml-vpc\
   --region=us-central1

şirket içi-vpc için HA VPN ağ geçidini oluşturun.

Her ağ geçidi oluşturulduğunda, her ağ geçidi arayüzü için biri olmak üzere iki harici IPv4 adresi otomatik olarak ayrılır. Yapılandırma adımlarında daha sonra kullanmak üzere bu IP adreslerini not edin.

Cloud Shell'de HA VPN ağ geçidini oluşturun.

gcloud compute vpn-gateways create on-prem-vpn-gw \
   --network=on-prem-vpc\
   --region=us-central1

HA VPN ağ geçidi oluşturma işlemini doğrulama

Konsolu kullanarak HYBRID CONNECTIVITY → VPN → CLOUD VPN GATEWAYS (Hibrit Bağlantı → VPN → Cloud VPN Ağ Geçitleri) bölümüne gidin ve ağ geçidi IP'lerinin oluşturulduğunu doğrulayın.

66312b1b53c233d7.png

aiml-vpc için Cloud Router oluşturun

Cloud Shell'de us-central1 bölgesinde bulunan Cloud Router'ı oluşturun.

gcloud compute routers create aiml-cr-us-central1 \
   --region=us-central1 \
   --network=aiml-vpc\
   --asn=65001

Şirket içi VPC için Cloud Router oluşturun

Cloud Shell'de us-central1 bölgesinde bulunan Cloud Router'ı oluşturun.

gcloud compute routers create on-prem-cr-us-central1 \
   --region=us-central1 \
   --network=on-prem-vpc \
   --asn=65002

aiml-vpc için VPN tünellerini oluşturun

Her HA VPN ağ geçidinde iki VPN tüneli oluşturursunuz.

VPN tüneli oluşturma

Cloud Shell'de tunnel0'ı oluşturun:

gcloud compute vpn-tunnels create aiml-vpc-tunnel0 \
    --peer-gcp-gateway on-prem-vpn-gw \
    --region us-central1 \
    --ike-version 2 \
    --shared-secret [ZzTLxKL8fmRykwNDfCvEFIjmlYLhMucH] \
    --router aiml-cr-us-central1 \
    --vpn-gateway aiml-vpn-gw \
    --interface 0

VPN tüneli oluşturma

Cloud Shell'de tunnel1'i oluşturun:

gcloud compute vpn-tunnels create aiml-vpc-tunnel1 \
    --peer-gcp-gateway on-prem-vpn-gw \
    --region us-central1 \
    --ike-version 2 \
    --shared-secret [bcyPaboPl8fSkXRmvONGJzWTrc6tRqY5] \
    --router aiml-cr-us-central1 \
    --vpn-gateway aiml-vpn-gw \
    --interface 1

Şirket içi VPC için VPN tünellerini oluşturun

Her HA VPN ağ geçidinde iki VPN tüneli oluşturursunuz.

VPN tüneli oluşturma

Cloud Shell'de tunnel0'ı oluşturun:

gcloud compute vpn-tunnels create on-prem-tunnel0 \
    --peer-gcp-gateway aiml-vpn-gw \
    --region us-central1 \
    --ike-version 2 \
    --shared-secret [ZzTLxKL8fmRykwNDfCvEFIjmlYLhMucH] \
    --router on-prem-cr-us-central1 \
    --vpn-gateway on-prem-vpn-gw \
    --interface 0

VPN tüneli oluşturma

Cloud Shell'de tunnel1'i oluşturun:

gcloud compute vpn-tunnels create on-prem-tunnel1 \
    --peer-gcp-gateway aiml-vpn-gw \
    --region us-central1 \
    --ike-version 2 \
    --shared-secret [bcyPaboPl8fSkXRmvONGJzWTrc6tRqY5] \
    --router on-prem-cr-us-central1 \
    --vpn-gateway on-prem-vpn-gw \
    --interface 1

VPN tüneli oluşturma işlemini doğrulama

Konsolu kullanarak HYBRID CONNECTIVITY → VPN → CLOUD VPN TUNNELS'a (Hibrit Bağlantı → VPN → Cloud VPN Tünelleri) gidin.

e8e13ebaed09f1.png

8. BGP komşuları oluşturma

BGP oturumları oluşturma

Bu bölümde, Cloud Router arayüzlerini ve BGP eşlerini yapılandıracaksınız.

aiml-vpc için BGP arayüzü ve eşleme oluşturma

Cloud Shell'de BGP arayüzünü oluşturun:

gcloud compute routers add-interface aiml-cr-us-central1 \
    --interface-name if-tunnel0-to-onprem \
    --ip-address 169.254.1.1 \
    --mask-length 30 \
    --vpn-tunnel aiml-vpc-tunnel0 \
    --region us-central1

Cloud Shell'de BGP eşini oluşturun:

gcloud compute routers add-bgp-peer aiml-cr-us-central1 \
    --peer-name bgp-on-premises-tunnel0 \
    --interface if-tunnel1-to-onprem \
    --peer-ip-address 169.254.1.2 \
    --peer-asn 65002 \
    --region us-central1

Cloud Shell'de BGP arayüzünü oluşturun:

gcloud compute routers add-interface aiml-cr-us-central1 \
    --interface-name if-tunnel1-to-onprem \
    --ip-address 169.254.2.1 \
    --mask-length 30 \
    --vpn-tunnel aiml-vpc-tunnel1 \
    --region us-central1

Cloud Shell'de BGP eşini oluşturun:

gcloud compute routers add-bgp-peer aiml-cr-us-central1 \
    --peer-name bgp-on-premises-tunnel1 \
    --interface if-tunnel2-to-onprem \
    --peer-ip-address 169.254.2.2 \
    --peer-asn 65002 \
    --region us-central1

Şirket içi VPC için BGP arayüzü ve eşleme oluşturma

Cloud Shell'de BGP arayüzünü oluşturun:

gcloud compute routers add-interface on-prem-cr-us-central1 \
    --interface-name if-tunnel0-to-aiml-vpc\
    --ip-address 169.254.1.2 \
    --mask-length 30 \
    --vpn-tunnel on-prem-tunnel0 \
    --region us-central1

Cloud Shell'de BGP eşini oluşturun:

gcloud compute routers add-bgp-peer on-prem-cr-us-central1 \
    --peer-name bgp-aiml-vpc-tunnel0 \
    --interface if-tunnel1-to-aiml-vpc\
    --peer-ip-address 169.254.1.1 \
    --peer-asn 65001 \
    --region us-central1

Cloud Shell'de BGP arayüzünü oluşturun:

gcloud compute routers add-interface on-prem-cr-us-central1 \
    --interface-name if-tunnel1-to-aiml-vpc\
    --ip-address 169.254.2.2 \
    --mask-length 30 \
    --vpn-tunnel on-prem-tunnel1 \
    --region us-central1

Cloud Shell'de BGP eşini oluşturun:

gcloud compute routers add-bgp-peer on-prem-cr-us-central1 \
    --peer-name bgp-aiml-vpc-tunnel1\
    --interface if-tunnel2-to-aiml-vpc\
    --peer-ip-address 169.254.2.1 \
    --peer-asn 65001 \
    --region us-central1

VPN tüneli ayrıntılarını görüntülemek için Karma BAĞLANTI → VPN'ye gidin.

cb91b4476a88acd3.png

HA VPN üzerinden öğrenilen aiml-vpc rotalarını doğrulama

Konsolu kullanarak VPC ağı → VPC ağları → aiml-vpc→ ROTALAR → BÖLGE → US-CENTRAL1 → GÖRÜNÜM'e gidin.

aiml-vpc'nin şirket içi-vpc nat-alt ağı ve private-ip-alt ağı'ndan öğrenilen rotalar öğrendiğini gözlemleyin.

f407ed6e1a6233db.png

Şirket içi VPC'nin, HA VPN üzerinden workbench-subnet'i öğrendiğini doğrulayın.

Konsolu kullanarak VPC ağı → VPC ağları → şirket içi-vpc → ROTALAR → BÖLGE → US-CENTRAL1 → GÖRÜNTÜLE'ye gidin.

7957e5d898a9e7e0.png

9. Create custom route advertisements aiml-vpc

Alt ağ VPC'de yapılandırılmadığından Private Service Connect uç noktası IP'si, aiml-cr-us-central1 Cloud Router tarafından otomatik olarak duyurulmaz.

Bunun yerine, aiml-cr-us-central Cloud Router'dan, 100.100.10.10 uç nokta IP adresi için özel bir rota bildirimi oluşturmanız gerekir. Bu rota bildirimi, BGP üzerinden şirket içi ortama on-prem-vpc'ye reklamı yapılacak şekilde oluşturulur.

Konsolda HYBRID CONNECTIVITY → CLOUD ROUTERS → aiml-cr-us-central1'e gidin ve EDIT'i (DÜZENLE) seçin.

c8fb02ed59a5b068.png

Reklamı yapılan rotalar bölümünde Özel rotalar oluştur seçeneğini belirleyin, alanları aşağıdaki örneğe göre güncelleyin, BİTTİ'yi seçin ve ardından KAYDET'i tıklayın.

5996464e3aae0665.png

f799082ab2cd7e31.png

Doğrulama

Şirket içi VPC'nin, PSC uç nokta IP adresini HA-VPN üzerinden öğrendiğini doğrulayın.

Konsolu kullanarak VPC ağı → VPC ağları → şirket içi-vpc → ROTALAR → BÖLGE → US-CENTRAL1 → GÖRÜNTÜLE'ye gidin.

1b42673e6f940bf2.png

10. Şirket içi VPC'de özel rota bildirimleri oluşturma

Şirket içi VPC Cloud Router, varsayılan olarak tüm alt ağları bildirir ancak yalnızca private-ip-subnet gerekir.

Aşağıdaki bölümde, on-prem-cr-us-central1 bulut yönlendiricisinden gelen rota bildirmelerini güncelleyin.

Konsolda HIBRT BAĞLANTI → CLOUD ROUTER'LAR → şirket içi-cr-us-central1'e gidin ve DÜZENLE'yi seçin.

bd96bde9550d516a.png

Reklamı yapılan rotalar bölümünde Özel rotalar oluştur seçeneğini belirleyin, alanları aşağıdaki örneğe göre güncelleyin, BİTTİ'yi seçin ve ardından KAYDET'i tıklayın.

f8b61f669a9cfeef.png

Doğrulama

aiml-vpc'nin özel-ip-subnet rotasını şirket içi-vpc'den öğrendiğini doğrulayın.

Konsolu kullanarak VPC ağı → VPC ağları → aiml-vpc → ROTALAR → BÖLGE → US-CENTRAL1 → GÖRÜNTÜLE'ye gidin.

2b1a7a5f918e9f50.png

11. Kullanıcı tarafından yönetilen bir hizmet hesabı oluşturma (GCE örnekleri)

Vertex API'ye ayrıntılı düzeyde kontrol sağlamak için NAT ve özel istemci örneklerine uygulanacak kullanıcı tarafından yönetilen bir hizmet hesabı gerekir. Oluşturulduktan sonra hizmet hesabı izinleri, işletme gereksinimlerine göre değiştirilebilir. Eğitimde, kullanıcı tarafından yönetilen hizmet hesabı olan vertex-sa'ya aşağıdaki roller uygulanır:

Devam etmeden önce Hizmet Hesabı API'sini gerekir.

Cloud Shell'de hizmet hesabını oluşturun.

gcloud iam service-accounts create gce-vertex-sa \
    --description="service account for vertex" \
    --display-name="gce-vertex-sa"

Cloud Shell'de hizmet hesabını işlem örneği yöneticisi rolüyle güncelleyin.

gcloud projects add-iam-policy-binding $projectid --member="serviceAccount:gce-vertex-sa@$projectid.iam.gserviceaccount.com" --role="roles/compute.instanceAdmin.v1"

Cloud Shell'de hizmet hesabını Vertex AI Kullanıcısı rolüyle güncelleyin.

gcloud projects add-iam-policy-binding $projectid --member="serviceAccount:gce-vertex-sa@$projectid.iam.gserviceaccount.com" --role="roles/aiplatform.user"

12. Kullanıcı tarafından yönetilen hizmet hesabı oluşturma (Notebook)

Aşağıdaki bölümde, eğitimde kullanılan Vertex Workbench (Not Defteri) ile ilişkilendirilecek kullanıcı tarafından yönetilen bir hizmet hesabı oluşturacaksınız.

Eğitimde, hizmet hesabına aşağıdaki roller uygulanır:

Cloud Shell'de hizmet hesabını oluşturun.

gcloud iam service-accounts create user-managed-notebook-sa \
    --display-name="user-managed-notebook-sa"

Cloud Shell'de hizmet hesabını Storage Admin rolüyle güncelleyin.

gcloud projects add-iam-policy-binding $projectid --member="serviceAccount:user-managed-notebook-sa@$projectid.iam.gserviceaccount.com" --role="roles/storage.admin"

Cloud Shell'de hizmet hesabını Vertex AI Kullanıcısı rolüyle güncelleyin.

gcloud projects add-iam-policy-binding $projectid --member="serviceAccount:user-managed-notebook-sa@$projectid.iam.gserviceaccount.com" --role="roles/aiplatform.user"

Cloud Shell'de hizmet hesabını Artifact Registry Yöneticisi rolüyle güncelleyin.

gcloud projects add-iam-policy-binding $projectid --member="serviceAccount:user-managed-notebook-sa@$projectid.iam.gserviceaccount.com" --role="roles/artifactregistry.admin"

Cloud Shell'de hizmet hesabını listeleyin ve kullanıcı tarafından yönetilen not defteri oluşturulurken kullanılacak e-posta adresini not edin.

gcloud iam service-accounts list

13. Test örneklerini oluşturduysanız

Aşağıdaki bölümde, Vertex API'lerine ulaşmak için farklı yöntemleri doğrulamak üzere test örnekleri oluşturacaksınız. Özellikle:

  • nat-client, örneği, Vertex AI'ı çözümlemek ve dolayısıyla internet üzerinden Online Prediction uç noktasına erişmek için Cloud NAT'i kullanır.
  • private-client örneği, HA-VPN üzerinden Online Prediction uç noktasına erişmek için Private Service Connect IP'si 100.100.10.10'u kullanır.

Cloud Shell'de nat-client örneğini oluşturun.

gcloud compute instances create nat-client \
    --zone=us-central1-a \
    --image-family=debian-11 \
    --image-project=debian-cloud \
    --subnet=nat-subnet \
    --service-account=vertex-sa@$projectid.iam.gserviceaccount.com \
    --scopes=https://www.googleapis.com/auth/cloud-platform \
    --no-address \
    --metadata startup-script="#! /bin/bash
      sudo apt-get update
      sudo apt-get install tcpdump dnsutils -y"

Cloud Shell'de private-client örneğini oluşturun.

gcloud compute instances create private-client \
    --zone=us-central1-a \
    --image-family=debian-11 \
    --image-project=debian-cloud \
    --subnet=private-ip-subnet \
    --service-account=vertex-sa@$projectid.iam.gserviceaccount.com \
    --scopes=https://www.googleapis.com/auth/cloud-platform \
    --no-address \
    --metadata startup-script="#! /bin/bash
      sudo apt-get update
      sudo apt-get install tcpdump dnsutils -y"

Identity-Aware Proxy'nin (IAP) sanal makine örneklerinize bağlanmasına izin vermek için aşağıdaki özellikleri karşılayan 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-on-prem-vpc \
    --network on-prem-vpc \
    --allow tcp:22 \
    --source-ranges=35.235.240.0/20

14. Kullanıcı tarafından yönetilen not defteri oluşturma

Notebook API'yi .

Aşağıdaki bölümde, daha önce oluşturulan hizmet hesabını (user-managed-notebook-sa) içeren, kullanıcı tarafından yönetilen bir not defteri oluşturun.

Cloud Shell'de private-client örneğini oluşturun.

gcloud notebooks instances create workbench-tutorial \
      --vm-image-project=deeplearning-platform-release \
      --vm-image-family=common-cpu-notebooks \
      --machine-type=n1-standard-4 \
      --location=us-central1-a \
      --subnet-region=us-central1 \
      --subnet=workbench-subnet \
      --no-public-ip    --service-account=user-managed-notebook-sa@$projectid.iam.gserviceaccount.com

15. Modeli dağıtma ve online tahmin

Aşağıdaki bölümde, sağlanan codelab'i kullanın. Önceki adımda zaten bir not defteri oluşturduğunuz için Vertex AI:Tahminler için verileri önceden ve sonradan işlemek üzere Sklearn ile özel tahmin rutinlerini kullanma başlıklı codelab'in 7. bölümünden başlayın. Model dağıtıldıktan sonra bir sonraki bölüme başlamak için eğitime geri dönün.

ee68b7ba0cfd2746.png

16. Vertex API'ye internet üzerinden erişimi doğrulama

Aşağıdaki bölümde, us-central1-aiplatform.googleapis.com alanına karşı dig ve tcpdump kullanılarak Vertex AI API'lerinin çözümlenmesi için kullanılan alan üzerinden instance ve nat-client'a giriş yapıp Vertex AI'a bağlantıyı doğrulayacaksınız.

us-central1-aiplatform.googleapis.com alanına karşı bir dig işlemi gerçekleştirerek Vertex API'ye bağlantıyı doğrulamak için Cloud Shell'de IAP kullanarak nat-client'a giriş yapın.

gcloud compute ssh nat-client --project=$projectid --zone=us-central1-a --tunnel-through-iap

Dig komutunu yürütün.

dig us-central1-aiplatform.googleapis.com

Örneğin, DNS yanıtındaki genel IP'lere dikkat edin.

user@nat-client:~$ dig us-central1-aiplatform.googleapis.com

; <<>> DiG 9.16.42-Debian <<>> us-central1-aiplatform.googleapis.com
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 56761
;; flags: qr rd ra; QUERY: 1, ANSWER: 16, AUTHORITY: 0, ADDITIONAL: 1

;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 512
;; QUESTION SECTION:
;us-central1-aiplatform.googleapis.com. IN A

;; ANSWER SECTION:
us-central1-aiplatform.googleapis.com. 300 IN A 108.177.111.95
us-central1-aiplatform.googleapis.com. 300 IN A 142.250.1.95
us-central1-aiplatform.googleapis.com. 300 IN A 108.177.121.95
us-central1-aiplatform.googleapis.com. 300 IN A 142.250.103.95
us-central1-aiplatform.googleapis.com. 300 IN A 108.177.120.95
us-central1-aiplatform.googleapis.com. 300 IN A 142.251.171.95
us-central1-aiplatform.googleapis.com. 300 IN A 142.250.159.95
us-central1-aiplatform.googleapis.com. 300 IN A 142.251.120.95
us-central1-aiplatform.googleapis.com. 300 IN A 142.251.161.95
us-central1-aiplatform.googleapis.com. 300 IN A 142.251.172.95
us-central1-aiplatform.googleapis.com. 300 IN A 74.125.126.95
us-central1-aiplatform.googleapis.com. 300 IN A 74.125.70.95
us-central1-aiplatform.googleapis.com. 300 IN A 74.125.132.95
us-central1-aiplatform.googleapis.com. 300 IN A 74.125.201.95
us-central1-aiplatform.googleapis.com. 300 IN A 74.125.202.95
us-central1-aiplatform.googleapis.com. 300 IN A 74.125.69.95

;; Query time: 4 msec
;; SERVER: 169.254.169.254#53(169.254.169.254)
;; WHEN: Thu Jun 29 01:35:57 UTC 2023
;; MSG SIZE  rcvd: 322

Online Tahmin'e karşı bir curl işlemi gerçekleştirirken DNS çözümlemesini doğrulamak için nat-client işletim sisteminden tcpdump'ı çalıştırın.

 sudo tcpdump -i any port 53 -n

Örnek:

user@nat-client:~$ sudo tcpdump -i any port 53 -n 
tcpdump: data link type LINUX_SLL2
tcpdump: verbose output suppressed, use -v[v]... for full protocol decode
listening on any, link-type LINUX_SLL2 (Linux cooked v2), snapshot length 262144 bytes

"+"yı seçerek yeni bir Cloud Shell terminali açın. Yeni sekme açıldıktan sonra proje adı değişkenini güncelleyin.

Cloud Shell'de proje adı değişkenini güncelleyin.

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

İki Cloud Shell'in içinden nat-client örneğine SSH işlemi gerçekleştirin.

gcloud compute ssh --zone "us-central1-a" "nat-client" --project "$projectid"

Aşağıdaki bölümde, sudo VI düzenleyici veya nano kullanarak bir instances.json dosyası oluşturacak ve dağıtılan modelden tahmin almak için kullanılan veri dizesini ekleyeceksiniz.

Nat-client işletim sisteminde, aşağıdaki veri dizesini içeren bir instances.json dosyası oluşturun:

{"instances": [
  [0.23, 'Ideal', 'E', 'VS2', 61.5, 55.0, 3.95, 3.98, 2.43],
  [0.29, 'Premium', 'J', 'Internally Flawless', 52.5, 49.0, 4.00, 2.13, 3.11]]}

Örnek:

user@nat-client:$ more instances.json 
{"instances": [
  [0.23, 'Ideal', 'E', 'VS2', 61.5, 55.0, 3.95, 3.98, 2.43],
  [0.29, 'Premium', 'J', 'Internally Flawless', 52.5, 49.0, 4.00, 2.13, 3.11]]}

user@nat-client:$

Sonraki adımlarda kullanılacak Online Prediction Endpoint ID'nizi Cloud Console'dan alın.

VERTEX AI → ONLINE PREDICTION'a (Vertex AI → Online Tahmin) gidin.

237d413ccde1e95b.png

nat-client işletim sisteminde aşağıdaki değişkenleri oluşturun:

gcloud config list project
gcloud config set project [YOUR-PROJECT-NAME]
projectid=YOUR-PROJECT-NAME
echo $projectid
ENDPOINT_ID="insert-your-endpoint-id-here"

Örnek:

ENDPOINT_ID="3328226095324463104"

Modelden yanıt almak için nat-client os'den bir curl işlemi gerçekleştirin.

curl -X POST -H "Authorization: Bearer $(gcloud auth print-access-token)" -H "Content-Type: application/json" https://us-central1-aiplatform.googleapis.com/v1/projects/${projectid}/locations/us-central1/endpoints/${ENDPOINT_ID}:predict -d @instances.json

Örneğin, başarılı tahmini not edin.

user@nat-client$ curl -X POST -H "Authorization: Bearer $(gcloud auth print-access-token)" -H "Content-Type: application/json" https://us-central1-aiplatform.googleapis.com/v1/projects/${projectid}/locations/us-central1/endpoints/${ENDPOINT_ID}:predict -d @instances.json
{
  "predictions": [
    "$479.0",
    "$586.0"
  ],
  "deployedModelId": "1949163636186415104",
  "model": "projects/234086459238/locations/us-central1/models/947543727654567936",
  "modelDisplayName": "diamonds-cpr",
  "modelVersionId": "1"
}

17. Doğrulama - Vertex API'ye İnternet Erişimi

Tahmini yürüttüğünüze göre, şimdi de nat-client örneğinin (192.168.10.2) Vertex AI alanı us-central1-aiplatform.googleapis.com için yerel DNS sunucusu 169.254.169.254'e DNS sorgusu gerçekleştirdiğini gösteren TCPDUMP sonuçlarına (terminal 1) göz atalım. DNS sorgusunun sonucu, aşağıda belirtildiği gibi Vertex API'leri için herkese açık sanal IP adresleridir (VIP).

user@nat-client:~$ sudo tcpdump -i any port 53 -n
tcpdump: data link type LINUX_SLL2
tcpdump: verbose output suppressed, use -v[v]... for full protocol decode
listening on any, link-type LINUX_SLL2 (Linux cooked v2), snapshot length 262144 bytes
20:05:09.260937 ens4  Out IP 192.168.10.2.40782 > 169.254.169.254.53: 47190+ A? oauth2.googleapis.com. (39)
20:05:09.260946 ens4  Out IP 192.168.10.2.40782 > 169.254.169.254.53: 28075+ AAAA? oauth2.googleapis.com. (39)
20:05:09.263556 ens4  In  IP 169.254.169.254.53 > 192.168.10.2.40782: 28075 4/0/0 AAAA 2607:f8b0:4001:c34::5f, AAAA 2607:f8b0:4001:c54::5f, AAAA 2607:f8b0:4001:c16::5f, AAAA 2607:f8b0:4001:c17::5f (151)
20:05:09.265018 ens4  In  IP 169.254.169.254.53 > 192.168.10.2.40782: 47190 16/0/0 A 74.125.201.95, A 74.125.202.95, A 74.125.69.95, A 64.233.183.95, A 173.194.193.95, A 173.194.194.95, A 173.194.195.95, A 173.194.196.95, A 173.194.197.95, A 64.233.191.95, A 173.194.74.95, A 173.194.192.95, A 209.85.145.95, A 209.85.146.95, A 209.85.147.95, A 142.250.125.95 (295)
20:05:09.474478 ens4  Out IP 192.168.10.2.57356 > 169.254.169.254.53: 36008+ A? us-central1-aiplatform.googleapis.com. (55)
20:05:09.474488 ens4  Out IP 192.168.10.2.57356 > 169.254.169.254.53: 47020+ AAAA? us-central1-aiplatform.googleapis.com. (55)
20:05:09.477190 ens4  In  IP 169.254.169.254.53 > 192.168.10.2.57356: 36008 16/0/0 A 173.194.194.95, A 173.194.195.95, A 173.194.196.95, A 173.194.197.95, A 173.194.74.95, A 173.194.192.95, A 209.85.145.95, A 209.85.146.95, A 209.85.147.95, A 142.250.125.95, A 142.250.136.95, A 142.250.148.95, A 209.85.200.95, A 209.85.234.95, A 142.250.152.95, A 142.250.128.95 (311)
20:05:09.478607 ens4  In  IP 169.254.169.254.53 > 192.168.10.2.57356: 47020 4/0/0 AAAA 2607:f8b0:4001:c1b::5f, AAAA 2607:f8b0:4001:c0c::5f, AAAA 2607:f8b0:4001:c0e::5f, AAAA 2607:f8b0:4001:c1e::5f (167)

18. Vertex API'lerine özel erişimi etkinleştirme

Aşağıdaki bölümde, online tahmine özel olarak ulaşmak için karma ağ (HA VPN) üzerinden Private Service Connect'i kullanarak Vertex API'lerine erişeceksiniz. Eğitimde kullanılan örnekte, /etc/hosts dosyasını private-client örneğinde güncelleyeceksiniz.

Şirket içi ortamınızda test için tek bir makinenin veya birkaç makinenin /etc/hosts dosyasını güncellemek uygun olsa da büyük ölçekli ve üretim ortamlarında PSC uç noktası FQDN'sini kullanarak yeni bir yönlendirme bölgesi oluşturmak daha iyi bir seçenektir.

Örneğin, eğitimde oluşturulan psc uç noktası pscvertex olarak adlandırılır. Bu, uç nokta Vertex için kullanılırken pscvertex.p.googleapis.com olarak çevrilir. FQDN'yi hizmetle birlikte ekleyin. Örneğin, us-central1-aiplatform-pscvertex.p.googleapis.com.

Şirket içi DNS'yi PSC uç noktasıyla güncellemek için yerel uygulamaların, yerel herkese açık uç nokta us-central1-aiplatform.googleapis.com yerine FDQN'yi (ör.us-central1-aiplatform-pscvertex.p.googleapis.com) çağıracak şekilde yeniden düzenlenmesi de gerekir.

Özel bir uç nokta kullanacak şekilde yapılandırılabilen istemciler, bir uç noktaya istek göndermek için p.googleapis.com DNS adlarını kullanabilir.

Özel uç noktaları kullanacak şekilde yapılandırma hakkında bilgi edinmek için istemcinizin veya istemci kitaplığınızın belgelerine bakın. Örneğin:

  • Python: google-api-core paketindeki Client options class içinde api_endpoint'i yapılandırabilirsiniz.
  • Go: WithEndpoint'i api paketindeki Client options package içinde yapılandırabilirsiniz.
  • gcloud: You can configure api_endpoint_overrides

"+"yı seçerek yeni bir Cloud Shell terminali açın. Yeni sekme açıldıktan sonra proje adı değişkenini güncelleyin.

Cloud Shell'den.

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

Yeni bir Cloud Shell'de IAP kullanarak private-client'a giriş yapın ve vertex alanına (us-central1-aiplatform.googleapis.com) karşı dig işlemi yaparak Vertex API'ye bağlantıyı doğrulayın.

Cloud Shell'den private-client OS örneğinde oturum açın.

gcloud compute ssh private-client --project=$projectid --zone=us-central1-a --tunnel-through-iap

Dig komutunu yürütün.

dig us-central1-aiplatform.googleapis.com

Örneğin, DNS yanıtına göre herkese açık IP'leri not edin.

user@private-client:~$ dig us-central1-aiplatform.googleapis.com

; <<>> DiG 9.16.42-Debian <<>> us-central1-aiplatform.googleapis.com
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 33311
;; flags: qr rd ra; QUERY: 1, ANSWER: 16, AUTHORITY: 0, ADDITIONAL: 1

;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 512
;; QUESTION SECTION:
;us-central1-aiplatform.googleapis.com. IN A

;; ANSWER SECTION:
us-central1-aiplatform.googleapis.com. 300 IN A 74.125.132.95
us-central1-aiplatform.googleapis.com. 300 IN A 74.125.201.95
us-central1-aiplatform.googleapis.com. 300 IN A 74.125.202.95
us-central1-aiplatform.googleapis.com. 300 IN A 74.125.69.95
us-central1-aiplatform.googleapis.com. 300 IN A 64.233.182.95
us-central1-aiplatform.googleapis.com. 300 IN A 64.233.183.95
us-central1-aiplatform.googleapis.com. 300 IN A 173.194.193.95
us-central1-aiplatform.googleapis.com. 300 IN A 173.194.194.95
us-central1-aiplatform.googleapis.com. 300 IN A 173.194.195.95
us-central1-aiplatform.googleapis.com. 300 IN A 173.194.196.95
us-central1-aiplatform.googleapis.com. 300 IN A 173.194.197.95
us-central1-aiplatform.googleapis.com. 300 IN A 64.233.191.95
us-central1-aiplatform.googleapis.com. 300 IN A 173.194.74.95
us-central1-aiplatform.googleapis.com. 300 IN A 173.194.192.95
us-central1-aiplatform.googleapis.com. 300 IN A 209.85.145.95
us-central1-aiplatform.googleapis.com. 300 IN A 209.85.146.95

;; Query time: 4 msec
;; SERVER: 169.254.169.254#53(169.254.169.254)
;; WHEN: Sun Jul 02 20:5

sudo VI düzenleyici veya nano'yu kullanarak özel istemci örneği /etc/hosts dosyasını, 100.100.10.10 PSC uç noktasına yönlendiren Vertex AI FQDN'si us-central1-aiplatform.googleapis.com kaydını oluşturacak şekilde güncelleyin. Başka değişiklik yapmanız gerekmez.

Örnek:

user@private-client:~$ more /etc/hosts
127.0.0.1       localhost
::1             localhost ip6-localhost ip6-loopback
ff02::1         ip6-allnodes
ff02::2         ip6-allrouters

100.100.10.10 us-central1-aiplatform.googleapis.com
192.168.20.2 private-client.c.$projectid.internal private-client  # Added by Google
169.254.169.254 metadata.google.internal  # Added by Google

Özel istemci işletim sisteminden Vertex API uç noktasına PING işlemi gerçekleştirin.

ping us-central1-aiplatform.googleapis.com

Örneğin, PING, PSC uç nokta IP'sini döndürür ancak yanıt beklenmez.

user@private-client:~$ ping us-central1-aiplatform.googleapis.com
PING us-central1-aiplatform.googleapis.com (100.100.10.10) 56(84) bytes of data.

Özel istemci işletim sisteminden, Online Prediction'a karşı bir curl işlemi gerçekleştirirken DNS çözümlemesini ve IP veri yolunu PSC uç noktasına doğrulamak için tcpdump'ı çalıştırın.

 sudo tcpdump -i any port 53 -n or host 100.100.10.10

"+"yı seçerek dördüncü bir Cloud Shell terminali açın. Yeni sekme açıldıktan sonra proje adı değişkenini güncelleyin.

Cloud Shell'de proje adı değişkenini güncelleyin.

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

Cloud Shell 4'te private-client örneğine SSH yapın.

gcloud compute ssh --zone "us-central1-a" "private-client" --project "$projectid"

Aşağıdaki bölümde, sudo VI düzenleyici veya nano kullanarak bir instances.json dosyası oluşturacak ve dağıtılan modelden tahmin almak için kullanılan veri dizesini ekleyeceksiniz.

Özel istemci işletim sisteminde, aşağıdaki veri dizesini içeren bir instances.json dosyası oluşturun:

{"instances": [
  [0.23, 'Ideal', 'E', 'VS2', 61.5, 55.0, 3.95, 3.98, 2.43],
  [0.29, 'Premium', 'J', 'Internally Flawless', 52.5, 49.0, 4.00, 2.13, 3.11]]}

Örnek:

user@private-client:$ more instances.json 
{"instances": [
  [0.23, 'Ideal', 'E', 'VS2', 61.5, 55.0, 3.95, 3.98, 2.43],
  [0.29, 'Premium', 'J', 'Internally Flawless', 52.5, 49.0, 4.00, 2.13, 3.11]]}

user@private-client:$

Özel istemci işletim sisteminde aşağıdaki değişkenleri oluşturun:

gcloud config list project
projectid=YOUR-PROJECT-NAME
echo $projectid
ENDPOINT_ID="insert-your-endpoint-id-here"

Örnek:

ENDPOINT_ID="3328226095324463104"

Cloud Shell 4'teki özel istemci işletim sisteminden, modelden yanıt almak için bir curl işlemi gerçekleştirin.

curl -v -X POST -H "Authorization: Bearer $(gcloud auth print-access-token)" -H "Content-Type: application/json" https://us-central1-aiplatform.googleapis.com/v1/projects/${projectid}/locations/us-central1/endpoints/${ENDPOINT_ID}:predict -d @instances.json

19. Doğrulama - Vertex API'ye özel erişim

Cloud Shell 4'teki özel istemci işletim sisteminden, Vertex API'ye erişmek için PSC uç noktası IP'sinin (100.100.10.10) kullanıldığını unutmayın.

user@private-client$ curl -v -X POST -H "Authorization: Bearer $(gcloud auth print-access-token)" -H "Content-Type: application/json" https://us-central1-aiplatform.googleapis.com/v1/projects/${projectid}/locations/us-central1/endpoints/${ENDPOINT_ID}:predict -d @instances.json
Note: Unnecessary use of -X or --request, POST is already inferred.
*   Trying 100.100.10.10:443...
* Connected to us-central1-aiplatform.googleapis.com (100.100.10.10) port 443 (#0)
* ALPN, offering h2
* ALPN, offering http/1.1
* successfully set certificate verify locations:
*  CAfile: /etc/ssl/certs/ca-certificates.crt
*  CApath: /etc/ssl/certs
* TLSv1.3 (OUT), TLS handshake, Client hello (1):
* TLSv1.3 (IN), TLS handshake, Server hello (2):
* TLSv1.3 (IN), TLS handshake, Encrypted Extensions (8):
* TLSv1.3 (IN), TLS handshake, Certificate (11):
* TLSv1.3 (IN), TLS handshake, CERT verify (15):
* TLSv1.3 (IN), TLS handshake, Finished (20):
* TLSv1.3 (OUT), TLS change cipher, Change cipher spec (1):
* TLSv1.3 (OUT), TLS handshake, Finished (20):
* SSL connection using TLSv1.3 / TLS_AES_256_GCM_SHA384
* ALPN, server accepted to use h2
* Server certificate:
*  subject: CN=upload.video.google.com
*  start date: May 29 08:21:36 2023 GMT
*  expire date: Aug 21 08:21:35 2023 GMT
*  subjectAltName: host "us-central1-aiplatform.googleapis.com" matched cert's "*.googleapis.com"
*  issuer: C=US; O=Google Trust Services LLC; CN=GTS CA 1C3
*  SSL certificate verify ok.
* Using HTTP2, server supports multi-use
* Connection state changed (HTTP/2 confirmed)
* Copying HTTP/2 data in stream buffer to connection buffer after upgrade: len=0
* Using Stream ID: 1 (easy handle 0x55f2ab65c2c0)
> POST /v1/projects/$projectid/locations/us-central1/endpoints/3328226095324463104:predict HTTP/2
> Host: us-central1-aiplatform.googleapis.com
> user-agent: curl/7.74.0
> accept: */*
> authorization: Bearer ya29.a0AbVbY6NdCbIJYj0mQROeq-xYgQCw534TTtjRc1kBAEOimKCFxb3gqgD5AvhfefJatSNr33eW1YJirfQVMptFoqfjRoB-i8zEJJ_GGCVqhsVnpSOjK0hzJQSuo2YGjIiSe1o1zdo7lWmh1Px-vLe8FImieGkrQ1hqVaa6aCgYKAXgSARESFQFWKvPlUQ_FuKB2hrDJRyFDjupL1g0171
> content-type: application/json
> content-length: 154
> 
* Connection state changed (MAX_CONCURRENT_STREAMS == 100)!
* We are completely uploaded and fine
< HTTP/2 200 
< content-type: application/json; charset=UTF-8
< x-vertex-ai-internal-prediction-backend: harpoon
< date: Mon, 03 Jul 2023 22:13:35 GMT
< vary: X-Origin
< vary: Referer
< vary: Origin,Accept-Encoding
< server: scaffolding on HTTPServer2
< cache-control: private
< x-xss-protection: 0
< x-frame-options: SAMEORIGIN
< x-content-type-options: nosniff
< accept-ranges: none
< 
{
  "predictions": [
    "$479.0",
    "$586.0"
  ],
  "deployedModelId": "1949163636186415104",
  "model": "projects/234086459238/locations/us-central1/models/947543727654567936",
  "modelDisplayName": "diamonds-cpr",
  "modelVersionId": "1"
}
* Connection #0 to host us-central1-aiplatform.googleapis.com left intact

Cloud Shell 3'teki TCPDUMP terminalinden, /etc/host dosyası öncelikli olmasına rağmen veri yolunda PSC IP adresi 100.100.10.10 kullanıldığından us-central1-aiplatform.googleapis.com için DNS araması yapılmadığını doğrulayabiliriz.

user@private-client:~$ sudo tcpdump -i any port 53 -n or host 100.100.10.10
tcpdump: data link type LINUX_SLL2
tcpdump: verbose output suppressed, use -v[v]... for full protocol decode
listening on any, link-type LINUX_SLL2 (Linux cooked v2), snapshot length 262144 bytes
22:13:35.507625 ens4  Out IP 192.168.20.2.37004 > 169.254.169.254.53: 58585+ A? oauth2.googleapis.com. (39)
22:13:35.507631 ens4  Out IP 192.168.20.2.37004 > 169.254.169.254.53: 15580+ AAAA? oauth2.googleapis.com. (39)
22:13:35.511796 ens4  In  IP 169.254.169.254.53 > 192.168.20.2.37004: 58585 16/0/0 A 142.251.6.95, A 108.177.112.95, A 74.125.124.95, A 172.217.212.95, A 172.217.214.95, A 172.253.114.95, A 172.253.119.95, A 108.177.111.95, A 142.250.1.95, A 108.177.121.95, A 142.250.103.95, A 108.177.120.95, A 142.251.171.95, A 142.250.159.95, A 142.251.120.95, A 142.251.161.95 (295)
22:13:35.512002 ens4  In  IP 169.254.169.254.53 > 192.168.20.2.37004: 15580 4/0/0 AAAA 2607:f8b0:4001:c2b::5f, AAAA 2607:f8b0:4001:c18::5f, AAAA 2607:f8b0:4001:c5f::5f, AAAA 2607:f8b0:4001:c58::5f (151)
22:13:35.722145 ens4  Out IP 192.168.20.2.47304 > 100.100.10.10.443: Flags [S], seq 1951267724, win 65320, options [mss 1420,sackOK,TS val 1371205990 ecr 0,nop,wscale 7], length 0
22:13:35.730727 ens4  In  IP 100.100.10.10.443 > 192.168.20.2.47304: Flags [S.], seq 3198878726, ack 1951267725, win 65535, options [mss 1366,sackOK,TS val 67847676 ecr 1371205990,nop,wscale 8], length 0
22:13:35.730760 ens4  Out IP 192.168.20.2.47304 > 100.100.10.10.443: Flags [.], ack 1, win 511, options [nop,nop,TS val 1371205999 ecr 67847676], length 0
22:13:35.738339 ens4  Out IP 192.168.20.2.47304 > 100.100.10.10.443: Flags [P.], seq 1:518, ack 1, win 511, options [nop,nop,TS val 1371206006 ecr 67847676], length 517
22:13:35.739922 ens4  In  IP 100.100.10.10.443 > 192.168.20.2.47304: Flags [.], ack 518, win 261, options [nop,nop,TS val 67847688 ecr 1371206006], length 0
22:13:35.740860 ens4  In  IP 100.100.10.10.443 > 192.168.20.2.47304: Flags [.], seq 1:2709, ack 518, win 261, options [nop,nop,TS val 67847689 ecr 1371206006], length 2708
22:13:35.740863 ens4  In  IP 100.100.10.10.443 > 192.168.20.2.47304: Flags [P.], seq 2709:4699, ack 518, win 261, options [nop,nop,TS val 67847689 ecr 1371206006], length 1990
22:13:35.740874 ens4  Out IP 192.168.20.2.47304 > 100.100.10.10.443: Flags [.], ack 2709, win 497, options [nop,nop,TS val 1371206009 ecr 67847689], length 0
22:13:35.740886 ens4  Out IP 192.168.20.2.47304 > 100.100.10.10.443: Flags [.], ack 4699, win 485, options [nop,nop,TS val 1371206009 ecr 67847689], length 0
22:13:35.742709 ens4  Out IP 192.168.20.2.47304 > 100.100.10.10.443: Flags [P.], seq 518:598, ack 4699, win 501, options [nop,nop,TS val 1371206011 ecr 67847689], length 80
22:13:35.743996 ens4  Out IP 192.168.20.2.47304 > 100.100.10.10.443: Flags [P.], seq 598:644, ack 4699, win 501, options [nop,nop,TS val 1371206012 ecr 67847689], length 46
22:13:35.744011 ens4  Out IP 192.168.20.2.47304 > 100.100.10.10.443: Flags [P.], seq 644:693, ack 4699, win 501, options [nop,nop,TS val 1371206012 ecr 67847689], length 49
22:13:35.744082 ens4  Out IP 192.168.20.2.47304 > 100.100.10.10.443: Flags [P.], seq 693:728, ack 4699, win 501, options [nop,nop,TS val 1371206012 ecr 67847689], length 35
22:13:35.744165 ens4  Out IP 192.168.20.2.47304 > 100.100.10.10.443: Flags [P.], seq 728:1069, ack 4699, win 501, options [nop,nop,TS val 1371206012 ecr 67847689], length 341

İnternet üzerinden herkese açık bir uç nokta aracılığıyla ve karma ağ ile Private Service Connect (googleapis) kullanılarak özel olarak online tahmine bağlanmayı başarıyla doğruladınız. Cloud Shell istemine dönerek işletim sisteminden çıkın.

20. Temizleme

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

gcloud compute forwarding-rules delete pscvertex --global --quiet

gcloud compute instances delete workbench-tutorial --zone=us-central1-a --quiet 

gcloud compute addresses delete psc-ip --global --quiet

gcloud compute networks subnets delete workbench-subnet --region=us-central1 --quiet 

gcloud compute vpn-tunnels delete aiml-vpc-tunnel0 aiml-vpc-tunnel1 on-prem-tunnel0 on-prem-tunnel1 --region=us-central1 --quiet

gcloud compute vpn-gateways delete aiml-vpn-gw on-prem-vpn-gw --region=us-central1 --quiet 

gcloud compute routers delete aiml-cr-us-central1 cloud-router-us-central1-aiml-nat --region=us-central1 --quiet 

gcloud compute routers delete cloud-router-us-central1-on-prem-nat on-prem-cr-us-central1 --region=us-central1 --quiet

gcloud compute instances delete nat-client private-client --zone=us-central1-a --quiet

gcloud compute firewall-rules delete ssh-iap-on-prem-vpc --quiet

gcloud compute networks subnets delete nat-subnet  private-ip-subnet --region=us-central1 --quiet

gcloud compute networks delete on-prem-vpc --quiet

gcloud compute networks delete aiml-vpc --quiet

Vertex Bileşenlerini Silme

Container görüntüsünü silmek için Artifact Registry'ye gidin, oluşturduğunuz depoyu seçin ve Sil'i seçin.

616a3108bc2e48c8.png

Storage paketini silmek için Cloud Console'unuzdaki gezinme menüsünü kullanarak Storage'a gidin, paketinizi seçin ve Sil'i tıklayın:

eddd1f9fdfaede8.png

Modelin dağıtımını uç noktadan kaldırın. Vertex AI → Online tahmin'e gidin → diamonds-cpr_endpoint'i seçin → Uç noktadan model dağıtımını kaldır → Dağıtımı kaldır'ı tıklayın.

bc95f092d21d4698.png

Modeli silin. Vertex AI → Model Registry → Delete Model'a (Modeli Sil) gidin.

ec4afff091e11606.png

Online tahmin uç noktasını silin. VertexAI → Online tahmin'e gidin → diamonds-cpr_endpoint'i seçin → Uç noktayı sil'i tıklayın.

7453760299bdfb9a.png

21. Tebrikler

Tebrikler, interneti kullanarak Online Tahmin'e yerel olarak ve Private Service Connect ile karma ağ kullanarak özel olarak bağlanmayı başarıyla yapılandırdınız ve doğruladınız.

Bir nat-client ve private-client oluşturup Vertex API'lerine ulaşmak için kullanılan IP adreslerini doğrulamak üzere TCPDUMP'ı kullandınız. Ayrıca, Private Service Connect (googleapis) ve müşteri PSC uç noktasından yararlanarak şirket içi ve çoklu bulut uygulamalarını yalıtmak için nasıl kullanılabileceği hakkında bilgi edindiniz.

Cosmopup, eğitici içeriklerin harika olduğunu düşünüyor.

e6d3675ca7c6911f.jpeg

Yapabilecekleriniz

Bu eğitici içeriklere göz atın:

Daha fazla bilgi ve videolar

Referans belgeler