Vertex AI mengakses endpoint prediksi online secara pribadi menggunakan PSC

1. Pengantar

Host lokal dapat menjangkau Prediksi Online secara native melalui internet publik (opsi 1) atau menggunakan Cloud VPN atau Cloud Interconnect dengan Private Service Connect (PSC) (opsi 2) dari jaringan lokal Anda, keduanya menawarkan enkripsi SSL/TLS. Konektivitas hybrid ke prediksi online melalui interkoneksi lebih berperforma tinggi daripada Internet, sehingga direkomendasikan untuk aplikasi penting seperti diilustrasikan pada Gambar 1.

Dalam tutorial ini, kami akan menunjukkan cara menggunakan VPN Ketersediaan Tinggi (VPN HA) untuk mengakses Prediksi Online secara pribadi antara dua jaringan VPC yang dapat berfungsi sebagai dasar untuk konektivitas pribadi multi-cloud dan lokal.

Catatan, Vertex Online Prediction adalah endpoint publik, sehingga Anda ingin membatasi akses yang menggunakan Kontrol Layanan VPC (VPC-SC) untuk membuat perimeter aman guna mengizinkan atau menolak akses ke Vertex dan Googleapis lainnya. Tutorial ini tidak mencakup VPC-SC. Untuk detail selengkapnya, lihat Kontrol Layanan VPC dengan Vertex AI

24a07ba49a7bcb16.pngS

Yang akan Anda build

Anda akan menyiapkan jaringan VPC yang disebut on-prem-vpc untuk mewakili lingkungan lokal. Untuk deployment Anda, on-prem-vpc tidak akan ada. Sebagai gantinya, jaringan hybrid ke pusat data lokal atau penyedia cloud akan digunakan.

Anda akan membangun arsitektur Private Service Connect komprehensif yang menggambarkan akses Prediksi Online secara Publik melalui Cloud NAT dan secara Pribadi menggunakan PSC melalui VPN dengan ketersediaan tinggi (HA) sesuai detail di bawah.

b545c808b366341a.png

Setelah prediksi online di-deploy di Project Google Cloud, kasus penggunaan berikut akan dipelajari:

Akses publik ke prediksi online, terdiri dari hal-hal berikut:

  • Buat instance GCE (nat-client) yang memanfaatkan NAT untuk akses internet keluar
  • Menggunakan CURL untuk melakukan inferensi terhadap model
  • Gunakan TCPDUMP untuk memvalidasi bahwa prediksi online diakses melalui VIP publik

Akses pribadi ke prediksi online, terdiri dari hal berikut:

  • Men-deploy model ke endpoint prediksi online Vertex dalam project
  • Membuat Endpoint Private Service Connect (Googleapis) di destinationl-vpc
  • Ekspor alamat IP PSC melalui router cloud sebagai iklan kustom ke VPC lokal
  • Buat instance GCE (klien-pribadi) dan perbarui file etc/hosts dengan IP endpoint PSC
  • Menggunakan CURL untuk melakukan inferensi terhadap model
  • Gunakan TCPDUMP untuk memvalidasi bahwa prediksi online diakses melalui Alamat IP endpoint PSC

Yang akan Anda pelajari

  • Cara membuat Endpoint Private Service Connect
  • Cara memberitahukan IP Endpoint PSC melalui Cloud Router
  • Cara menggunakan TCPDUMP untuk memvalidasi akses Prediksi Online, baik Publik maupun Pribadi

Yang Anda butuhkan

  • Project Google Cloud

Izin IAM

Admin Jaringan Compute

Editor Direktori Layanan

Administrator DNS

Admin Jaringan

Administrator Kuota

Admin Notebook

Pengguna Akun Layanan

Administrator Penyimpanan

Pengguna Vertex AI

Service Account Admin

2. Sebelum memulai

Mengupdate project untuk mendukung tutorial

Tutorial ini menggunakan $variables untuk membantu implementasi konfigurasi gcloud di Cloud Shell.

Di dalam Cloud Shell, lakukan hal berikut:

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

3. Aktifkan Layanan

Di dalam Cloud Shell, lakukan hal berikut:

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. Penyiapan destinationl-vpc

Membuat destinationl-vpc

Di dalam Cloud Shell, lakukan hal berikut:

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

Membuat subnet notebook yang dikelola pengguna

Di dalam Cloud Shell, lakukan hal berikut:

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

Konfigurasi Cloud Router dan NAT

Cloud NAT digunakan dalam tutorial untuk mendownload paket software notebook karena instance notebook yang dikelola pengguna tidak memiliki alamat IP eksternal. Cloud NAT juga menawarkan kemampuan NAT keluar, yang berarti host internet tidak diizinkan untuk memulai komunikasi dengan notebook yang dikelola pengguna, sehingga membuatnya lebih aman.

Di dalam Cloud Shell, buat router cloud regional.

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

Di dalam Cloud Shell, buat gateway cloud nat regional.

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. penyiapan vpc lokal

Membuat vpc lokal

Di dalam Cloud Shell, lakukan hal berikut:

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

Membuat nat-subnet

Di dalam Cloud Shell, lakukan hal berikut:

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

Membuat private-ip-subnet

Di dalam Cloud Shell, lakukan hal berikut:

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

Konfigurasi Cloud Router dan NAT

Cloud NAT digunakan dalam tutorial untuk mendownload paket software. Cloud NAT juga menawarkan kemampuan NAT keluar, yang berarti host internet tidak diizinkan untuk memulai komunikasi dengan komputasi, sehingga menjadikannya lebih aman.

Di dalam Cloud Shell, buat router cloud regional.

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

Di dalam Cloud Shell, buat gateway cloud nat regional.

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. Membuat endpoint Private Service Connect

Di bagian berikut, Anda akan membuat endpoint Private Service Connect (PSC) yang akan digunakan untuk mengakses Vertex API dari vpc lokal. Alamat IP PSC 100.100.10.10 akan diiklankan dari destinationl-vpc-cloud-router-vpn sebagai iklan router khusus ke jaringan lokal pada langkah yang akan datang.

Dari Cloud Shell

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

Membuat Endpoint PSC

Dari Cloud Shell

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

Mencantumkan endpoint Private Service Connect yang dikonfigurasi

Dari Cloud Shell

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

Menjelaskan endpoint Private Service Connect yang dikonfigurasi

Dari Cloud Shell

gcloud compute forwarding-rules describe \
    pscvertex --global

7. Konektivitas hybrid

Di bagian berikut, Anda akan membuat Cloud Router yang memungkinkan Anda bertukar rute secara dinamis antara Virtual Private Cloud (VPC) dan jaringan peer menggunakan Border Gateway Protocol (BGP).

Cloud Router dapat menyiapkan sesi BGP melalui tunnel Cloud VPN untuk menghubungkan jaringan Anda. Layanan ini secara otomatis mempelajari rentang alamat IP subnet baru dan mengumumkannya ke jaringan peer Anda.

Dalam tutorial ini, Anda akan men-deploy VPN dengan ketersediaan tinggi (HA) antara aiml-vpc dan on-prem-vpc.

Membuat gateway VPN dengan ketersediaan tinggi (HA) untuk aiml-vpc

Ketika setiap gateway dibuat, dua alamat IPv4 eksternal akan dialokasikan secara otomatis, satu untuk setiap antarmuka gateway.

Di dalam Cloud Shell, buat gateway VPN dengan ketersediaan tinggi (HA)

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

Membuat gateway VPN dengan ketersediaan tinggi (HA) untuk on-prem-vpc

Ketika setiap gateway dibuat, dua alamat IPv4 eksternal akan dialokasikan secara otomatis, satu untuk setiap antarmuka gateway. Catat alamat IP ini untuk digunakan nanti dalam langkah-langkah konfigurasi.

Di dalam Cloud Shell, buat gateway VPN dengan ketersediaan tinggi (HA).

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

Validasi pembuatan gateway VPN dengan ketersediaan tinggi (HA)

Menggunakan konsol, buka HYBRID CONNECTIVITY → VPN → CLOUD VPN GATEWAYS dan validasi bahwa IP gateway sudah dihasilkan.

66312b1b53c233d7.pngS

Membuat Cloud Router untuk destinationl-vpc

Di dalam Cloud Shell, buat Cloud Router yang terletak di us-central1

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

Membuat Cloud Router untuk vpc lokal

Di dalam Cloud Shell, buat Cloud Router yang terletak di us-central1

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

Membuat tunnel VPN untuk Destinationl-vpc

Anda akan membuat dua tunnel VPN di setiap gateway VPN dengan ketersediaan tinggi (HA).

Membuat tunnel VPN

Di dalam Cloud Shell, buat tunnel0:

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

Membuat tunnel VPN1

Di dalam Cloud Shell, buat tunnel1:

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

Membuat tunnel VPN untuk vpc lokal

Anda akan membuat dua tunnel VPN di setiap gateway VPN dengan ketersediaan tinggi (HA).

Membuat tunnel VPN

Di dalam Cloud Shell, buat tunnel0:

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

Membuat tunnel VPN1

Di dalam Cloud Shell, buat tunnel1:

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

Memvalidasi pembuatan tunnel vpn

Dengan menggunakan konsol, buka HYBRID CONNECTIVITY → VPN → CLOUD VPN jauhfi.

e8e13ebaed09f1.png

8. Menetapkan tetangga BGP

Membuat sesi BGP

Di bagian ini, Anda akan mengonfigurasi antarmuka Cloud Router dan peer BGP.

Membuat antarmuka BGP dan peering untuk bertujuanl-vpc

Di dalam Cloud Shell, buat antarmuka BGP:

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

Di dalam Cloud Shell, buat peer BGP:

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

Di dalam Cloud Shell, buat antarmuka BGP:

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

Di dalam Cloud Shell, buat peer BGP:

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

Membuat antarmuka BGP dan peering untuk vpc lokal

Di dalam Cloud Shell, buat antarmuka BGP:

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

Di dalam Cloud Shell, buat peer BGP:

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

Di dalam Cloud Shell, buat antarmuka BGP:

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

Di dalam Cloud Shell, buat peer BGP:

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

Buka HUBUNGAN Hybrid → VPN untuk melihat detail tunnel VPN.

cb91b4476a88acd3.png

Memvalidasi rute yang dipelajari bertujuan-vpc melalui VPN dengan ketersediaan tinggi (HA)

Dengan menggunakan konsol, buka Jaringan VPC → Jaringan VPC → destinationl-vpc→ ROUTES → REGION → US-CENTRAL1 → VIEW

Perhatikan bahwa destinationl-vpc telah mempelajari rute dari nat-subnet on-prem-vpc dan private-ip-subnet

f407ed6e1a6233db.png

Memvalidasi bahwa vpc lokal telah mempelajari workbench-subnet melalui HA-VPN

Dengan menggunakan konsol, buka Jaringan VPC → Jaringan VPC → lokal-vpc → ROUTES → REGION → US-CENTRAL1 → TAMPILAN

7957e5d898a9e7e0.pngS

9. Membuat iklan rute kustom destinationl-vpc

IP Endpoint Private Service Connect tidak otomatis diberitahukan oleh router cloud bertujuan-cr-us-central1 karena subnet tidak dikonfigurasi di VPC.

Sebagai gantinya, Anda harus membuat iklan rute kustom dari router cloud destinationl-cr-us-central untuk Alamat IP endpoint 100.100.10.10 yang akan diiklankan ke lingkungan lokal melalui BGP ke vpc lokal.

Dari konsol, buka HYBRID CONNECTIVITY → CLOUD ROUTERS → destinationl-cr-us-central1, lalu pilih EDIT.

c8fb02ed59a5b068.png

Di bagian Rute yang diiklankan, pilih opsi Buat rute kustom, perbarui kolom berdasarkan contoh di bawah, pilih SELESAI,lalu klik SIMPAN.

5996464e3aae0665.pngS

f799082ab2cd7e31.png

Validasi

Memvalidasi bahwa vpc lokal telah mempelajari Alamat IP Endpoint PSC melalui HA-VPN

Dengan menggunakan konsol, buka Jaringan VPC → Jaringan VPC → lokal-vpc → ROUTES → REGION → US-CENTRAL1 → TAMPILAN

1b42673e6f940bf2.pngS

10. Membuat iklan rute kustom di infrastruktur lokal

Router cloud on-prem-vpc mengiklankan semua subnet secara default, tetapi hanya memerlukan private-ip-subnet.

Di bagian berikut, perbarui pemberitahuan rute dari router cloud lokal-cr-us-central1.

Dari konsol, buka HYBRID CONNECTIVITY → CLOUD ROUTERS → on-prem-cr-us-central1, lalu pilih EDIT.

bd96bde9550d516a.png

Di bagian Rute yang diiklankan, pilih opsi Buat rute kustom, perbarui kolom berdasarkan contoh di bawah, pilih SELESAI,lalu klik SIMPAN.

f8b61f669a9cfeef.png

Validasi

Validasi bahwa bertujuanl-vpc telah mempelajari rute private-ip-subnet dari vpc lokal.

Dengan menggunakan konsol, buka Jaringan VPC → Jaringan VPC → destinationl-vpc → RUTE → WILAYAH → US-CENTRAL1 → TAMPILAN

2b1a7a5f918e9f50.pngS

11. Membuat akun layanan terkelola pengguna (Instance GCC)

Untuk memberikan tingkat kontrol yang baik ke Vertex API, diperlukan akun layanan yang dikelola pengguna yang akan diterapkan ke instance klien pribadi dan nat. Setelah dibuat, izin akun layanan dapat diubah berdasarkan persyaratan bisnis. Dalam tutorial, akun layanan yang dikelola pengguna, verteks-sa, akan menerapkan peran berikut:

Anda harus Service Account API sebelum melanjutkan.

Di dalam Cloud Shell, buat akun layanan.

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

Di dalam Cloud Shell, perbarui akun layanan dengan peran admin instance compute

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

Di dalam Cloud Shell, perbarui akun layanan dengan peran Vertex AI User

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

12. Membuat akun layanan terkelola pengguna (Notebook)

Di bagian berikut, Anda akan membuat akun layanan terkelola pengguna yang akan dikaitkan dengan Vertex Workbench (Notebook) yang digunakan dalam tutorial.

Dalam tutorial, akun layanan akan menerapkan peran berikut:

Di dalam Cloud Shell, buat akun layanan.

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

Di dalam Cloud Shell, perbarui akun layanan dengan peran Storage Admin.

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

Di dalam Cloud Shell, perbarui akun layanan dengan peran Vertex AI User.

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

Di dalam Cloud Shell, perbarui akun layanan dengan peran Artifact Registry Admin.

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

Di dalam Cloud Shell, cantumkan akun layanan dan catat alamat email yang akan digunakan saat membuat notebook yang dikelola pengguna.

gcloud iam service-accounts list

13. Membuat instance pengujian

Di bagian berikut, Anda akan membuat instance pengujian untuk memvalidasi berbagai metode guna menjangkau Vertex API, khususnya:

  • Instance, nat-client, akan menggunakan Cloud NAT untuk me-resolve Vertex AI sehingga mengakses endpoint Prediksi Online melalui Internet
  • Instance, private-client, akan menggunakan Private Service Connect IP 100.100.10.10 untuk mengakses endpoint Prediksi Online melalui VPN dengan ketersediaan tinggi (HA-VPN).

Di dalam Cloud Shell, buat instance nat-client.

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"

Di dalam Cloud Shell, buat instance private-client.

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"

Untuk mengizinkan Identity-Aware Proxy (IAP) dapat terhubung ke instance VM Anda, buat aturan firewall yang:

  • Berlaku untuk semua instance VM yang Anda inginkan agar dapat diakses dengan menggunakan IAP.
  • Mengizinkan traffic masuk dari rentang IP 35.235.240.0/20. Rentang ini berisi semua alamat IP yang digunakan IAP untuk penerusan TCP.

Di dalam Cloud Shell, buat aturan firewall IAP.

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. Membuat notebook yang dikelola pengguna

API notebook

Di bagian berikut, buat notebook yang dikelola pengguna dengan menggabungkan akun layanan yang dibuat sebelumnya, user-managed-notebook-sa.

Di dalam Cloud Shell, buat instance private-client.

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. Men-deploy Model dan Prediksi Online

Di bagian berikut, gunakan codelab,Vertex AI:Gunakan rutinitas prediksi kustom dengan Sklearn untuk melakukan prapemrosesan dan memposting data proses untuk prediksi yang akan dimulai dari Bagian 7 karena Anda telah membuat notebook di langkah sebelumnya. Setelah model di-deploy, kembali ke tutorial untuk memulai bagian berikutnya.

ee68b7ba0cfd2746.png

16. Memvalidasi akses ke Vertex API melalui Internet

Di bagian berikut, Anda akan login ke instance, nat-client, dan memvalidasi konektivitas ke Vertex AI melalui penggunaan dig dan tcpdump terhadap domain us-central1-aiplatform.googleapis.com yang digunakan untuk me-resolve Vertex API.

Login ke nat-client menggunakan IAP di Cloud Shell untuk memvalidasi konektivitas ke Vertex API dengan melakukan penggalian terhadap domain verteks us-central1-aiplatform.googleapis.com

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

Jalankan penggalian.

dig us-central1-aiplatform.googleapis.com

Misalnya, catat IP Publik dalam respons DNS.

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

Dari OS nat-client, jalankan tcpdump untuk memvalidasi resolusi DNS saat melakukan curl terhadap Prediksi Online.

 sudo tcpdump -i any port 53 -n

Contoh:

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

Buka terminal Cloud Shell baru dengan memilih "+". Setelah tab baru dibuka, perbarui variabel nama project.

Di dalam Cloud Shell, perbarui variabel nama project.

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

Di dalam Cloud Shell kedua, jalankan ssh ke instance nat-client.

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

Di bagian berikut, Anda akan membuat file instances.json menggunakan editor sudo VI atau nano dan memasukkan string data yang digunakan untuk mendapatkan prediksi dari model yang di-deploy.

Dari nat-client OS, buat instances.json f dengan string data di bawah ini:

{"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]]}

Contoh:

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:$

Dapatkan ID Endpoint Prediksi Online dari Konsol Cloud yang akan digunakan pada langkah berikutnya.

Buka VERTEX AI → PREDICTION ONLINE

237d413ccde1e95b.pngS

Dari nat-client OS, buat variabel berikut:

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

Contoh:

ENDPOINT_ID="3328226095324463104"

Dari OS klien-nat, lakukan curl untuk mendapatkan respons dari model.

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

Contoh, catat prediksi yang berhasil.

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. Validasi - Akses Internet ke Vertex API

Setelah Anda menjalankan prediksi, mari kita lihat hasil TCPDUMP (terminal 1) yang menunjukkan instance nat-client (192.168.10.2) yang melakukan kueri DNS ke server dns lokal 169.254.169.254 untuk domain Vertex AI us-central1-aiplatform.googleapis.com. Hasil kueri DNS adalah Alamat IP Virtual (VIPS) publik untuk Vertex API seperti yang tercantum di bawah ini:

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. Mengaktifkan Akses Pribadi ke Vertex API

Di bagian berikut, Anda akan mengakses Vertex API menggunakan Private Service Connect melalui jaringan hybrid (VPN dengan ketersediaan tinggi) untuk menjangkau prediksi online secara pribadi. Pada contoh yang digunakan dalam tutorial, Anda akan memperbarui file /etc/hosts di instance private-client.

Di lingkungan lokal Anda, memperbarui satu atau beberapa file mesin /etc/hosts untuk pengujian adalah langkah yang tepat. Namun, untuk lingkungan produksi dan skala besar, sebaiknya buat zona penerusan baru menggunakan FQDN endpoint PSC.

Sebagai contoh, endpoint psc yang dibuat dalam tutorial disebut pscvertex yang diterjemahkan menjadi pscvertex.p.googleapis.com, saat menggunakan endpoint untuk verteks menambahkan FQDN dengan layanan, misalnya us-central1-aiplatform-pscvertex.p.googleapis.com.

Mengupdate DNS lokal dengan endpoint PSC juga memerlukan pemfaktoran ulang aplikasi lokal untuk memanggil FDQN, misalnya us-central1-aiplatform-pscvertex.p.googleapis.com, bukan endpoint publik native us-central1-aiplatform.googleapis.com.

Klien yang dapat dikonfigurasi untuk menggunakan endpoint kustom dapat menggunakan nama DNS p.googleapis.com untuk mengirim permintaan ke endpoint.

Lihat dokumentasi untuk library klien atau klien Anda guna mengetahui informasi tentang cara mengonfigurasinya untuk menggunakan endpoint kustom. Contoh:

  • Python: Anda dapat mengonfigurasi api_endpoint di Class opsi klien dalam paket google-api-core.
  • Go: Anda dapat mengonfigurasi WithEndpoint di Paket opsi klien dalam paket api.
  • gcloud: Anda dapat mengonfigurasi api_endpoint_overrides

Buka terminal Cloud Shell baru dengan memilih "+". Setelah tab baru dibuka, perbarui variabel nama project.

Dari Cloud Shell.

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

Login ke klien pribadi menggunakan IAP di Cloud Shell baru untuk memvalidasi konektivitas ke Vertex API dengan melakukan penggalian terhadap domain verteks us-central1-aiplatform.googleapis.com

Dari Cloud Shell, login ke instance OS klien pribadi.

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

Jalankan penggalian.

dig us-central1-aiplatform.googleapis.com

Misalnya, catat IP Publik berdasarkan respons DNS.

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

Update instance private-client /etc/hosts menggunakan editor sudo VI atau nano untuk membuat data Vertext AI FQDN us-central1-aiplatform.googleapis.com yang mengarah ke endpoint PSC 100.100.10.10, tanpa perlu melakukan perubahan lebih lanjut.

Contoh:

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

Dari OS klien pribadi, jalankan PING ke endpoint Vertex API.

ping us-central1-aiplatform.googleapis.com

Misalnya, PING menampilkan IP endpoint PSC, tetapi tidak ada balasan yang diharapkan.

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

Dari OS klien pribadi, jalankan tcpdump untuk memvalidasi resolusi DNS dan jalur data IP ke endpoint PSC saat melakukan curl terhadap Prediksi Online.

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

Buka terminal Cloud Shell keempat dengan memilih "+". Setelah tab baru dibuka, perbarui variabel nama project.

Di dalam Cloud Shell, perbarui variabel nama project.

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

Di dalam Cloud Shell keempat, jalankan ssh ke instance private-client.

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

Di bagian berikut, Anda akan membuat file instances.json menggunakan editor sudo VI atau nano dan memasukkan string data yang digunakan untuk mendapatkan prediksi dari model yang di-deploy.

Dari OS klien pribadi, buat file instances.json dengan string data di bawah ini:

{"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]]}

Contoh:

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:$

Dari OS klien pribadi, buat variabel berikut:

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

Contoh:

ENDPOINT_ID="3328226095324463104"

Dari OS klien pribadi di Cloud Shell keempat, lakukan curl untuk mendapatkan respons dari model.

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. Validasi - Akses Pribadi ke Vertex API

Dari OS klien pribadi di Cloud Shell keempat, perhatikan bahwa IP endpoint PSC (100.100.10.10) digunakan untuk mengakses Vertex API.

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

Dari terminal TCPDUMP di Cloud Shell tiga, kita dapat memvalidasi bahwa pencarian DNS ke us-central1-aiplatform.googleapis.com tidak diamati karena file /etc/host diutamakan, tetapi Alamat IP PSC 100.100.10.10 digunakan di jalur data.

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

Anda telah berhasil memvalidasi koneksi ke prediksi online melalui endpoint publik melalui Internet dan secara pribadi dengan penggunaan jaringan hybrid dan Private Service Connect (googleapis). Keluar dari OS dan kembali ke perintah Cloud Shell.

20. Pembersihan

Dari Cloud Shell, hapus komponen tutorial.

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

Hapus Komponen Vertex

Untuk menghapus image container, buka Artifact Registry, pilih repositori yang Anda buat, lalu pilih Delete

616a3108bc2e48c8.pngS

Untuk menghapus Bucket Penyimpanan, menggunakan menu Navigasi di Konsol Cloud, jelajahi Penyimpanan, pilih bucket Anda, lalu klik Hapus:

eddd1f9fdfaede8.png

Batalkan deployment model dari endpoint. Buka Vertex AI → Prediksi online → Pilih diamonds-cpr_endpoint → Batalkan Deployment Model dari endpoint → Batalkan deployment

bc95f092d21d4698.png

Menghapus Model. Buka Vertex AI → Model Registry → Hapus Model

ec4afff091e11606.png

Hapus endpoint Prediksi online. Buka VertexAI → Prediksi online → Pilih diamonds-cpr_endpoint → Hapus endpoint

7453760299bdfb9a.png

21. Selamat

Selamat, Anda telah berhasil mengonfigurasi dan memvalidasi koneksi ke Prediksi Online secara native menggunakan Internet dan secara pribadi dengan Private Service Connect dan jaringan hybrid.

Anda telah membuat nat-client dan private-client serta menggunakan TCPDUMP untuk memvalidasi Alamat IP yang digunakan untuk menjangkau Vertex API. Selain itu, Anda telah mempelajari Private Service Connect (googleapis) dan cara penggunaannya untuk mengisolasi aplikasi lokal dan multi-cloud dengan memanfaatkan endpoint PSC pelanggan.

Cosmopup menganggap tutorialnya luar biasa!!

e6d3675ca7c6911f.jpeg

Apa selanjutnya?

Lihat beberapa tutorial ini...

Bacaan lebih lanjut & Video

Dokumen referensi