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
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.
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
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.
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.
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.
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
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
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.
Di bagian Rute yang diiklankan, pilih opsi Buat rute kustom, perbarui kolom berdasarkan contoh di bawah, pilih SELESAI,lalu klik SIMPAN.
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
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.
Di bagian Rute yang diiklankan, pilih opsi Buat rute kustom, perbarui kolom berdasarkan contoh di bawah, pilih SELESAI,lalu klik SIMPAN.
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
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
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.
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
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
Untuk menghapus Bucket Penyimpanan, menggunakan menu Navigasi di Konsol Cloud, jelajahi Penyimpanan, pilih bucket Anda, lalu klik Hapus:
Batalkan deployment model dari endpoint. Buka Vertex AI → Prediksi online → Pilih diamonds-cpr_endpoint → Batalkan Deployment Model dari endpoint → Batalkan deployment
Menghapus Model. Buka Vertex AI → Model Registry → Hapus Model
Hapus endpoint Prediksi online. Buka VertexAI → Prediksi online → Pilih diamonds-cpr_endpoint → Hapus endpoint
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!!
Apa selanjutnya?
Lihat beberapa tutorial ini...
- Private Service Connect untuk Google API
- Vertex AI membuat notebook yang dikelola pengguna yang aman
Bacaan lebih lanjut & Video
- Ringkasan Private Service Connect
- Apa itu Private Service Connect?
- Cara mendapatkan prediksi dari model ML
- Apa itu Vertex AI?