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

1. Giriş

Şirket içi ana makineler, herkese açık internet üzerinden (1. seçenek) veya şirket içi ağınızdan Private Service Connect (PSC) ile Cloud VPN ya da Cloud Interconnect'i (2. seçenek) kullanarak ve her ikisi de SSL/TLS şifrelemesi sunan bir Online Tahmine erişebilir. Ara bağlantı üzerinden online tahmine yönelik karma bağlantı, internetten daha iyi performans gösterir. Bu nedenle, Şekil 1'de gösterildiği gibi kritik uygulamalar için önerilir.

Bu eğiticide, çoklu bulut ve şirket içi özel bağlantıya temel oluşturabilecek iki VPC ağı arasında Online Tahmine gizli olarak erişmek için Yüksek Kullanılabilirlikli VPN'nin (HA VPN) nasıl kullanılacağını göstereceğiz.

Vertex Online Prediction herkese açık bir uç nokta olduğundan, Vertex ve diğer Googleapis'e erişime izin vermek veya erişimi reddetmek için güvenli çevreler oluşturmak amacıyla VPC Hizmet Kontrolleri (VPC-SC) kullanarak erişimi kısıtlamak istediğinizi unutmayın. Bu eğitim, VPC-SC ile ilgili değildir. Daha ayrıntılı bilgi için Vertex AI ile VPC Hizmet Kontrolleri başlıklı makaleyi inceleyebilirsiniz.

24a07ba49a7bcb16.png

Neler oluşturacaksınız?

Şirket içi ortamı temsil etmesi için on-prem-vpc adında bir VPC ağı oluşturacaksınız. Dağıtımınız için on-prem-vpc mevcut olmaz. Bunun yerine, şirket içi veri merkezinize veya bulut sağlayıcınıza karma ağ kullanılır.

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

b545c808b366341a.png

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

Online tahmine herkese açık erişim şunlardan oluşur:

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

Online tahmine özel erişim şunlardan oluşur:

  • Projedeki aVertex online tahmin uç noktasına model dağıtma
  • aiml-vpc'de Private Service Connect (Googleapis) Uç Noktası oluşturma
  • Bulut yönlendiricisi üzerinden PSC IP adresini, şirket içi VPC'ye özel bir reklam olarak dışa aktarın
  • GCE örneği (özel istemci) oluşturma ve vb/ana makine dosyalarını PSC uç nokta IP'siyle güncelleme
  • Modelle ilgili çıkarım yapmak için CURL kullanma
  • Online tahmine PSC uç nokta IP Adresi aracılığıyla erişildiğini doğrulamak için TCPDUMP kullanma

Neler öğreneceksiniz?

  • Private Service Connect Uç Noktası oluşturma
  • Cloud Router üzerinden PSC Uç Nokta IP'sinin reklamını yapma
  • Hem Herkese Açık hem de Gizli Online Tahmin erişimini doğrulamak için TCPDUMP'yi kullanma

Gerekenler

  • Google Cloud Projesi

IAM İzinleri

Compute Ağ Yöneticisi

Hizmet Dizini Düzenleyici

DNS Yöneticisi

Ağ Yöneticisi

Kota Yöneticisi

Not Defteri Yöneticisi

Hizmet Hesabı Kullanıcısı

Depolama alanı yöneticisi

Vertex AI Kullanıcısı

Hizmet Hesabı Yöneticisi

2. Başlamadan önce

Projeyi, eğiticiyi destekleyecek şekilde güncelleme

Bu eğiticide, Cloud Shell'de gcloud yapılandırması uygulamasına yardımcı olmak için $variables kullanımı açıklanmaktadır.

Cloud Shell'in içinde aşağıdaki işlemleri gerçekleştirin:

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

3. Hizmetleri Etkinleştir

Cloud Shell'in içinde aşağıdaki işlemleri gerçekleştirin:

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'in içinde aşağıdaki işlemleri gerçekleştirin:

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

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

Cloud Shell'in içinde aşağıdaki işlemleri gerçekleştirin:

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 Yönlendirici ve NAT yapılandırması

Kullanıcı tarafından yönetilen not defteri örneğinin harici bir IP adresi olmadığından not defteri yazılım paketi indirmeleri için eğiticide Cloud NAT kullanılır. Cloud NAT ayrıca NAT çıkışı özellikleri sunar. Bu sayede internet ana makinelerinin, kullanıcı tarafından yönetilen bir not defteriyle iletişim başlatmasına izin verilmez. Bu sayede not defteri daha güvenli hale gelir.

Cloud Shell'in içinde bölgesel bulut yönlendiricisini oluşturun.

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

Cloud Shell'in içinde bölgesel bulut 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'in içinde aşağıdaki işlemleri gerçekleştirin:

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

Nat-alt ağını oluşturma

Cloud Shell'in içinde aşağıdaki işlemleri gerçekleştirin:

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

Özel-ip-alt ağını oluşturma

Cloud Shell'in içinde aşağıdaki işlemleri gerçekleştirin:

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

Cloud Yönlendirici ve NAT yapılandırması

Cloud NAT, yazılım paketi indirmeleri için eğitimde kullanılır. Cloud NAT ayrıca NAT çıkış özellikleri sunar. Bu sayede internet ana makinelerinin bilgi işlem ile iletişim başlatmasına izin verilmez. Bu sayede daha güvenli hale gelir.

Cloud Shell'in içinde bölgesel bulut yönlendiricisini oluşturun.

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

Cloud Shell'in içinde bölgesel bulut 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şturma

Aşağıdaki bölümde, Vertex API'ye şirket içi VPC'den erişmek için kullanılacak bir Private Service Connect (PSC) uç noktası oluşturacaksınız. 100.100.10.10 PSC IP adresinin, sonraki bir adımda aiml-vpc-cloud-router-vpn üzerinden şirket içi ağa özel bir yönlendirici reklamı olarak tanıtılacaktır.

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 bulutunuz (VPC) ve eş ağınız arasında dinamik olarak rota değişimi yapmanızı sağlayan bir Cloud Router oluşturacaksınız.

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

Eğitimde HA VPN'yi aiml-vpc ve on-prem-vpc arasında dağıtacaksınız.

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

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

Cloud Shell'in içinde HA VPN ağ geçidi oluşturun

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

on-prem-vpc için HA VPN ağ geçidini oluşturma

Her ağ geçidi oluşturulduğunda, her ağ geçidi arayüzü için bir tane 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'in içinde 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şturmayı doğrulama

Konsolu kullanarak HYBRID CONNECTIVITY → VPN → CLOUD VPN GATEWAYS'e gidin ve ağ geçidi IP'lerinin oluşturulduğunu doğrulayın.

66312b1b53c233d7.png

aiml-vpc için Cloud Router oluşturma

Cloud Shell'in içinde, 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şturma

Cloud Shell'in içinde, 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ünelleri oluşturma

Her HA VPN ağ geçidinde iki VPN tüneli oluşturacaksınız.

VPN tüneli oluştur0

Cloud Shell'in içinde tünel 0 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ştur1

Cloud Shell'in içinde tünel1 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ünelleri oluşturma

Her HA VPN ağ geçidinde iki VPN tüneli oluşturacaksınız.

VPN tüneli oluştur0

Cloud Shell'in içinde tünel 0 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ştur1

Cloud Shell'in içinde tünel1 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şturmayı doğrulayın

Konsolu kullanarak HYBRID CONNECTIVITY → VPN → CLOUD VPN GOOGLES'a gidin.

e8e13ebaed09f1.png

8. BGP komşuları oluşturma

BGP oturumları oluşturma

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

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

Cloud Shell'in içinde 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'in içinde BGP eşlemesini 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'in içinde 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'in içinde BGP eşlemesini 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

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

Cloud Shell'in içinde 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'in içinde BGP eşlemesini 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'in içinde 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'in içinde BGP eşlemesini 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'e gidin.

cb91b4476a88acd3.png

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

Konsolu kullanarak VPC ağı → VPC ağları → aiml-vpc→ ROUTES → BÖLGE → ABD-MERKEZİ1 → GÖRÜNÜM'e gidin

aiml-vpc'nin gözlemleri şirket içi VPC nat-alt ağı ve özel-ip-alt ağından öğrendiği

f407ed6e1a6233db.png

Şirket içi VPC'nin HA-VPN üzerinden Workbench alt ağını öğrendiğini doğrulayın

Konsolu kullanarak VPC ağı → VPC ağları → şirket içi VPN → ROUTES → BÖLGE → ABD-MERKEZİ1 → GÖRÜNÜM'e gidin

7957e5d898a9e7e0.png

9. Özel rota reklamları oluşturma aiml-vpc

VPC'de alt ağ yapılandırılmadığından Private Service Connect Uç Nokta IP'sinin reklamı, aiml-cr-us-central1 bulut yönlendiricisi tarafından otomatik olarak yapılmaz.

Bunun yerine, 100.100.10.10 uç nokta IP Adresi için aiml-cr-us-central bulut yönlendiricisinden özel bir rota reklamı oluşturmanız gerekir. Bu reklam, BGP üzerinden şirket içi ortama şirket içi ortama bildirilecek.

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

c8fb02ed59a5b068.png

Tanıtılan rotalar bölümünde Özel rota oluştur seçeneğini belirleyin, aşağıdaki örneğe göre alanları 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, HA-VPN üzerinden PSC Uç Nokta IP Adresi'ni öğrendiğini doğrulayın

Konsolu kullanarak VPC ağı → VPC ağları → şirket içi VPN → ROUTES → BÖLGE → ABD-MERKEZİ1 → GÖRÜNÜM'e gidin

1b42673e6f940bf2.png

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

Şirket içi VPC bulut yönlendiricisi varsayılan olarak tüm alt ağları tanıtır ancak yalnızca özel IP alt ağı gerekir.

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

Konsolda HYBRID CONNECTIVITY → CLOUD ROUTERS → on-prem-cr-us-central1'e gidin ve DÜZENLE'yi seçin.

bd96bde9550d516a.png

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

f8b61f669a9cfeef.png

Doğrulama

aiml-vpc'nin şirket içi VPC'den özel IP alt ağ rotasını öğrendiğini doğrulayın.

Konsolu kullanarak VPC ağı → VPC ağları → aiml-vpc → ROUTES → BÖLGE → ABD-MERKEZİ1 → GÖRÜNÜM'e gidin

2b1a7a5f918e9f50.png

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

Vertex API'ye hassas düzeyde kontrol olanağı sağlamak için nat ve gizli istemci örneklerine uygulanacak, kullanıcı tarafından yönetilen bir hizmet hesabı gereklidir. Hizmet hesabı izinleri oluşturulduktan sonra iş gereksinimlerine göre değiştirilebilir. Eğiticide, kullanıcı tarafından yönetilen hizmet hesabına (vertex-sa) aşağıdaki roller uygulanır:

Devam etmeden önce Service Account API'yi gerekir.

Cloud Shell'in içinde 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'in içinde, hizmet hesabını işlem örneği yöneticisi rolüyle güncelleme

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

Cloud Shell'in içinde hizmet hesabını Vertex AI Kullanıcısı rolüyle güncelleme

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 (Not defteri)

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

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

Cloud Shell'in içinde hizmet hesabını oluşturun.

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

Cloud Shell'in içinde, hizmet hesabını Depolama Alanı 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/storage.admin"

Cloud Shell'in içinde 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'in içinde 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 defterini oluştururken kullanılacak e-posta adresini not edin.

gcloud iam service-accounts list

13. Test örnekleri oluşturuldu

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

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

Cloud Shell'in içinde 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'in içinde 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 işlemleri yapan bir güvenlik duvarı kuralı oluşturun:

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

Cloud Shell'in içinde 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, önceden oluşturulmuş hizmet hesabını (user-managed-notebook-sa) içeren, kullanıcı tarafından yönetilen bir not defteri oluşturun.

Cloud Shell'in içinde özel istemci ö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 ve Online Tahmini Dağıtma

Aşağıdaki bölümde, önceki adımda not defteri oluşturduğunuz için sağlanan codelab,Vertex AI:tahminler için işlem verilerini önceden işlemek ve yayınlamak üzere Sklearn ile özel tahmin rutinlerini kullanın bölümü 7. bölümden başlar. Model dağıtıldıktan sonra eğiticiye geri dönerek sonraki bölüme geçin.

ee68b7ba0cfd2746.png

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

Aşağıdaki bölümde, örneğe ve nat-client'ye giriş yapacak ve Vertex API'lerini çözmek için kullanılan us-central1-aiplatform.googleapis.com alan adına göre disiplin ve tcpdump kullanımı yoluyla Vertex AI'a bağlantıyı doğrulayacaksınız.

Cloud Shell'de IAP kullanarak nat-client'ye giriş yaparak Vertex API bağlantısını doğrulamak için us-central1-aiplatform.googleapis.com tepe alanında araştırma yapın.

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

Araştırmayı yürütün.

dig us-central1-aiplatform.googleapis.com

Örneğin, DNS yanıtındaki genel IP'leri not 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 Tahmine göre curl işlemi gerçekleştirirken DNS çözümlemesini doğrulamak için nat-client OS'te 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

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

Cloud Shell'in içinde 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 ikinci içinde ssh'den nat-client örneğine geçiş yapın.

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 sample.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 dizesiyle 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 Tahmin Uç Nokta Kimliğinizi Cloud Console'dan alın.

VERTEX AI → İNTERNETTEKİ TAHMİN'e gidin

237d413ccde1e95b.png

nat-client OS'ten 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 bir yanıt almak için nat-client işletim sisteminde 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

Örnek, başarılı tahmine dikkat 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

Şimdi tahmini yürüttüğünüze göre, us-central1-aiplatform.googleapis.com Vertex AI alan adı için yerel DNS sunucusunda 169.254.169.254 DNS sorgusu yürüten nat-client örneğini (192.168.10.2) 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 genel Sanal IP Adresleri'dir (VIPS):

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şim'i etkinleştirme

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

Şirket içi ortamınızda test için bir veya birkaç makine /etc/hosts dosyasını güncellemek uygundur ancak büyük ölçekli ve üretim ortamları için PSC uç noktası FQDN'sini kullanarak yeni bir yönlendirme bölgesi oluşturmak daha tercih edilir.

Eğiticide oluşturulan psc uç noktasının adı pscvertex'tir. Bu uç nokta pscvertex.p.googleapis.com adresine dönüşür. Köşe noktası kullanılırken FQDN'yi hizmetle birlikte ekleyin (ör. us-central1-aiplatform-pscvertex.p.googleapis.com).

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

Özel bir uç nokta kullanacak şekilde yapılandırılabilen istemciler, 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 istemci veya istemci kitaplığınızın belgelerine bakın. Örneğin:

"+" işaretini seçerek yeni bir Cloud Shell terminali açın. Yeni sekme açıldığında 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

us-central1-aiplatform.googleapis.com tepe alan adında bir inceleme gerçekleştirerek Vertex API bağlantısını doğrulamak için yeni bir Cloud Shell'de IAP kullanarak özel istemciye giriş yapın.

Cloud Shell'den özel istemci işletim sistemi örneğine giriş yapın.

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

Araştırmayı yürütün.

dig us-central1-aiplatform.googleapis.com

Örnek olarak, DNS yanıtına göre Genel 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

us-central1-aiplatform.googleapis.com adresindeki Vertext AI FQDN kaydının, 100.100.10.10 PSC uç noktasına işaret ettiği bir kaydı oluşturmak için sudo VI editor veya nano kullanarak /etc/hosts özel istemci örneğini 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 uygulayın.

ping us-central1-aiplatform.googleapis.com

Örnek: PING, PSC uç nokta IP'sini döndürür ve herhangi bir yanıt beklenmemektedir.

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

Online tahmine göre curl işlemi gerçekleştirirken özel istemci işletim sisteminde PSC uç noktasına giden DNS çözümlemesini ve IP veri yolunu doğrulamak için tcpdump çalıştırın.

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

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

Cloud Shell'in içinde 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 dördüncü içinde ssh'den özel istemci örneğine geçiş 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 sample.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 dizesiyle 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"

Modelden bir yanıt almak için Cloud Shell dört'teki özel istemci işletim sisteminde 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

Vertex API'ye erişmek için Cloud Shell dört'teki özel istemci işletim sisteminde PSC uç nokta 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 üç'teki TCPDUMP terminalinden, /etc/host dosyası öncelikli olmasına rağmen veri yolunda PSC IP Adresi 100.100.10.10 kullanıldığı için us-central1-aiplatform.googleapis.com'a yapılan DNS aramasının gözlemlenmediğini 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

Online tahmine internet üzerinden herkese açık bir uç nokta üzerinden, karma ağ iletişimi ve Private Service Connect (googleapis) kullanımıyla gizli olarak bağlanmayı başarıyla doğruladınız. Cloud Shell istemine geri dönen 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 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 uç noktadan dağıtımını kaldırın. Vertex AI'a gidin → Online tahmin → diamonds-cpr_endpoint'i seçin → Uç noktadan Model dağıtımını kaldırın → Dağıtımı kaldır

bc95f092d21d4698.png

Modeli silin. Vertex AI'a gitme → Model Kaydı → Modeli Silme

ec4afff091e11606.png

Online tahmin uç noktasını siler. VertexAI'ya gidin → Online tahmin → diamonds-cpr_endpoint'i seçin → Uç noktayı sil

7453760299bdfb9a.png

21. Tebrikler

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

Bir nat-istemci ve özel istemci oluşturdunuz ve Vertex API'lerine erişmek için kullanılan IP adreslerini doğrulamak için TCPDUMP kullandınız. Ayrıca Private Service Connect (googleapis) hakkında bilgi edindiniz ve müşteri PSC uç noktasından yararlanarak şirket içi uygulamaları ve çoklu bulut uygulamalarını yalıtmak için nasıl kullanılabileceğini öğrendiniz.

Cosmopup, eğitici videoların çok iyi olduğunu düşünüyor.

e6d3675ca7c6911f.jpeg

Sırada ne var?

Bu eğitimlerden bazılarına göz atın...

Daha fazla bilgi ve Videolar

Referans belgeler