Prediksi batch adalah permintaan asinkron yang meminta prediksi langsung dari resource model tanpa perlu men-deploy model ke endpoint.
Dalam tutorial ini, Anda menggunakan VPN dengan Ketersediaan Tinggi (HA VPN) untuk mengirim permintaan prediksi batch ke model yang dilatih secara pribadi, antara dua jaringan Virtual Private Cloud yang dapat berfungsi sebagai dasar untuk konektivitas pribadi multi-cloud dan lokal.
Tutorial ini ditujukan bagi administrator jaringan perusahaan, data scientist, dan peneliti yang sudah memahami Vertex AI, Virtual Private Cloud (VPC), konsol Google Cloud, dan Cloud Shell. Pemahaman tentang Vertex AI Workbench akan membantu, tetapi tidak bersifat wajib.
Tujuan
- Buat dua jaringan Virtual Private Cloud (VPC), seperti yang ditunjukkan dalam diagram
sebelumnya:
- Satu (
vertex-networking-vpc
) digunakan untuk mengakses Google API untuk prediksi batch. - Yang lain (
onprem-vpc
) mewakili jaringan lokal.
- Satu (
- Deploy gateway VPN dengan ketersediaan tinggi (HA), tunnel Cloud VPN, dan
Cloud Router untuk menghubungkan
vertex-networking-vpc
danonprem-vpc
. - Buat model prediksi batch Vertex AI dan upload ke bucket Cloud Storage.
- Buat endpoint Private Service Connect (PSC) untuk meneruskan permintaan pribadi ke REST API prediksi batch Vertex AI.
- Konfigurasikan mode iklan kustom Cloud Router di
vertex-networking-vpc
untuk mengumumkan rute untuk endpoint Private Service Connect keonprem-vpc
. - Buat instance VM Compute Engine di
onprem-vpc
untuk mewakili aplikasi klien (on-prem-client
) yang mengirim permintaan prediksi batch secara pribadi melalui VPN dengan ketersediaan tinggi (HA).
Biaya
Dalam dokumen ini, Anda akan menggunakan komponen Google Cloudyang dapat ditagih berikut:
Untuk membuat perkiraan biaya berdasarkan proyeksi penggunaan Anda,
gunakan kalkulator harga.
Setelah menyelesaikan tugas yang dijelaskan dalam dokumen ini, Anda dapat menghindari penagihan berkelanjutan dengan menghapus resource yang Anda buat. Untuk mengetahui informasi selengkapnya, lihat Pembersihan.
Sebelum memulai
-
In the Google Cloud console, go to the project selector page.
-
Select or create a Google Cloud project.
-
Make sure that billing is enabled for your Google Cloud project.
- Buka Cloud Shell untuk menjalankan perintah yang tercantum dalam tutorial ini. Cloud Shell adalah lingkungan shell interaktif untuk Google Cloud yang dapat Anda gunakan untuk mengelola project dan resource dari browser web.
- Di Cloud Shell, tetapkan project saat ini ke project ID Google Cloud Anda dan simpan project ID yang sama ke dalam variabel shell
projectid
: Ganti PROJECT_ID dengan project ID Anda. Jika perlu, Anda dapat menemukan project ID di konsol Google Cloud. Untuk mengetahui informasi selengkapnya, baca Menemukan project ID.projectid="PROJECT_ID" gcloud config set project ${projectid}
- Jika Anda bukan pemilik project, minta pemilik project untuk memberi Anda peran Project IAM Admin (roles/resourcemanager.projectIamAdmin). Anda harus memiliki peran ini untuk memberikan peran IAM pada langkah berikutnya.
-
Grant roles to your user account. Run the following command once for each of the following IAM roles:
roles/compute.instanceAdmin.v1, roles/compute.networkAdmin, roles/compute.securityAdmin, roles/dns.admin, roles/iap.tunnelResourceAccessor, roles/notebooks.admin, roles/iam.serviceAccountAdmin, roles/iam.serviceAccountUser, roles/servicedirectory.editor, roles/serviceusage.serviceUsageAdmin, roles/storage.admin, roles/aiplatform.admin, roles/aiplatform.user, roles/resourcemanager.projectIamAdmin
gcloud projects add-iam-policy-binding PROJECT_ID --member="user:USER_IDENTIFIER" --role=ROLE
- Replace
PROJECT_ID
with your project ID. -
Replace
USER_IDENTIFIER
with the identifier for your user account. For example,user:myemail@example.com
. - Replace
ROLE
with each individual role.
- Replace
-
Enable the DNS, Artifact Registry, IAM, Compute Engine, Notebooks, and Vertex AI APIs:
gcloud services enable dns.googleapis.com
artifactregistry.googleapis.com iam.googleapis.com compute.googleapis.com notebooks.googleapis.com aiplatform.googleapis.com
Membuat jaringan VPC
Di bagian ini, Anda akan membuat dua jaringan VPC: satu untuk mengakses Google API untuk prediksi batch, dan satu lagi untuk menyimulasikan jaringan lokal. Di setiap dua jaringan VPC, Anda akan membuat gateway Cloud Router dan Cloud NAT. Gateway Cloud NAT menyediakan konektivitas keluar untuk instance virtual machine (VM) Compute Engine tanpa alamat IP eksternal.
Buat jaringan VPC
vertex-networking-vpc
:gcloud compute networks create vertex-networking-vpc \ --subnet-mode custom
Di jaringan
vertex-networking-vpc
, buat subnet bernamaworkbench-subnet
, dengan rentang IPv4 utama10.0.1.0/28
:gcloud compute networks subnets create workbench-subnet \ --range=10.0.1.0/28 \ --network=vertex-networking-vpc \ --region=us-central1 \ --enable-private-ip-google-access
Buat jaringan VPC untuk menyimulasikan jaringan lokal (
onprem-vpc
):gcloud compute networks create onprem-vpc \ --subnet-mode custom
Di jaringan
onprem-vpc
, buat subnet bernamaonprem-vpc-subnet1
, dengan rentang IPv4 utama172.16.10.0/29
:gcloud compute networks subnets create onprem-vpc-subnet1 \ --network onprem-vpc \ --range 172.16.10.0/29 \ --region us-central1
Memastikan jaringan VPC dikonfigurasi dengan benar
Di konsol Google Cloud, buka tab Networks in current project di halaman VPC networks.
Dalam daftar jaringan VPC, pastikan kedua jaringan telah dibuat:
vertex-networking-vpc
danonprem-vpc
.Klik tab Subnets in current project.
Dalam daftar subnet VPC, pastikan subnet
workbench-subnet
danonprem-vpc-subnet1
telah dibuat.
Mengonfigurasi konektivitas hybrid
Di bagian ini, Anda akan membuat dua gateway VPN dengan ketersediaan tinggi (HA)
yang saling terhubung. Satu berada di jaringan VPC vertex-networking-vpc
. Yang lainnya berada di jaringan VPC onprem-vpc
. Setiap gateway berisi
Cloud Router dan sepasang tunnel VPN.
Membuat gateway VPN dengan ketersediaan tinggi (HA)
Di Cloud Shell, buat gateway VPN dengan ketersediaan tinggi (HA) untuk jaringan VPC
vertex-networking-vpc
:gcloud compute vpn-gateways create vertex-networking-vpn-gw1 \ --network vertex-networking-vpc \ --region us-central1
Buat gateway VPN dengan ketersediaan tinggi (HA) untuk jaringan VPC
onprem-vpc
:gcloud compute vpn-gateways create onprem-vpn-gw1 \ --network onprem-vpc \ --region us-central1
Di konsol Google Cloud, buka tab Cloud VPN Gateways di halaman VPN.
Pastikan dua gateway (
vertex-networking-vpn-gw1
danonprem-vpn-gw1
) telah dibuat dan setiap gateway memiliki dua alamat IP antarmuka.
Membuat Cloud Router dan gateway Cloud NAT
Di setiap jaringan VPC, Anda membuat dua Cloud Router: satu umum dan satu regional. Di setiap Cloud Router regional, Anda membuat gateway Cloud NAT. Gateway Cloud NAT menyediakan konektivitas keluar untuk instance virtual machine (VM) Compute Engine yang tidak memiliki alamat IP eksternal.
Di Cloud Shell, buat Cloud Router untuk jaringan VPC
vertex-networking-vpc
:gcloud compute routers create vertex-networking-vpc-router1 \ --region us-central1\ --network vertex-networking-vpc \ --asn 65001
Buat Cloud Router untuk jaringan VPC
onprem-vpc
:gcloud compute routers create onprem-vpc-router1 \ --region us-central1\ --network onprem-vpc\ --asn 65002
Buat Cloud Router regional untuk jaringan VPC
vertex-networking-vpc
:gcloud compute routers create cloud-router-us-central1-vertex-nat \ --network vertex-networking-vpc \ --region us-central1
Konfigurasikan gateway Cloud NAT di Cloud Router regional:
gcloud compute routers nats create cloud-nat-us-central1 \ --router=cloud-router-us-central1-vertex-nat \ --auto-allocate-nat-external-ips \ --nat-all-subnet-ip-ranges \ --region us-central1
Buat Cloud Router regional untuk jaringan VPC
onprem-vpc
:gcloud compute routers create cloud-router-us-central1-onprem-nat \ --network onprem-vpc \ --region us-central1
Konfigurasikan gateway Cloud NAT di Cloud Router regional:
gcloud compute routers nats create cloud-nat-us-central1-on-prem \ --router=cloud-router-us-central1-onprem-nat \ --auto-allocate-nat-external-ips \ --nat-all-subnet-ip-ranges \ --region us-central1
Di konsol Google Cloud, buka halaman Cloud Function.
Dalam daftar Cloud Router, pastikan router berikut telah dibuat:
cloud-router-us-central1-onprem-nat
cloud-router-us-central1-vertex-nat
onprem-vpc-router1
vertex-networking-vpc-router1
Anda mungkin perlu memuat ulang Google Cloud tab browser konsol untuk melihat nilai baru.
Dalam daftar Cloud Router, klik
cloud-router-us-central1-vertex-nat
.Di halaman Detail router, pastikan gateway Cloud NAT
cloud-nat-us-central1
telah dibuat.Klik panah kembali
untuk kembali ke halaman Cloud Router.Dalam daftar router, klik
cloud-router-us-central1-onprem-nat
.Di halaman Detail router, pastikan gateway Cloud NAT
cloud-nat-us-central1-on-prem
telah dibuat.
Buat tunnel VPN
Di Cloud Shell, di jaringan
vertex-networking-vpc
, buat tunnel VPN bernamavertex-networking-vpc-tunnel0
:gcloud compute vpn-tunnels create vertex-networking-vpc-tunnel0 \ --peer-gcp-gateway onprem-vpn-gw1 \ --region us-central1 \ --ike-version 2 \ --shared-secret [ZzTLxKL8fmRykwNDfCvEFIjmlYLhMucH] \ --router vertex-networking-vpc-router1 \ --vpn-gateway vertex-networking-vpn-gw1 \ --interface 0
Di jaringan
vertex-networking-vpc
, buat tunnel VPN bernamavertex-networking-vpc-tunnel1
:gcloud compute vpn-tunnels create vertex-networking-vpc-tunnel1 \ --peer-gcp-gateway onprem-vpn-gw1 \ --region us-central1 \ --ike-version 2 \ --shared-secret [bcyPaboPl8fSkXRmvONGJzWTrc6tRqY5] \ --router vertex-networking-vpc-router1 \ --vpn-gateway vertex-networking-vpn-gw1 \ --interface 1
Di jaringan
onprem-vpc
, buat tunnel VPN bernamaonprem-vpc-tunnel0
:gcloud compute vpn-tunnels create onprem-vpc-tunnel0 \ --peer-gcp-gateway vertex-networking-vpn-gw1 \ --region us-central1\ --ike-version 2 \ --shared-secret [ZzTLxKL8fmRykwNDfCvEFIjmlYLhMucH] \ --router onprem-vpc-router1 \ --vpn-gateway onprem-vpn-gw1 \ --interface 0
Di jaringan
onprem-vpc
, buat tunnel VPN bernamaonprem-vpc-tunnel1
:gcloud compute vpn-tunnels create onprem-vpc-tunnel1 \ --peer-gcp-gateway vertex-networking-vpn-gw1 \ --region us-central1\ --ike-version 2 \ --shared-secret [bcyPaboPl8fSkXRmvONGJzWTrc6tRqY5] \ --router onprem-vpc-router1 \ --vpn-gateway onprem-vpn-gw1 \ --interface 1
Di Konsol Google Cloud, buka halaman VPN.
Dalam daftar tunnel VPN, pastikan empat tunnel VPN telah dibuat.
Membuat sesi BGP
Cloud Router menggunakan Border Gateway Protocol (BGP) untuk bertukar rute antara
jaringan VPC (dalam hal ini, vertex-networking-vpc
)
dan jaringan lokal (diwakili oleh onprem-vpc
). Di Cloud Router,
Anda mengonfigurasi antarmuka dan peer BGP untuk router lokal.
Antarmuka dan konfigurasi peer BGP bersama-sama membentuk sesi BGP.
Di bagian ini, Anda akan membuat dua sesi BGP untuk vertex-networking-vpc
dan
dua untuk onprem-vpc
.
Setelah Anda mengonfigurasi antarmuka dan peer BGP di antara router, antarmuka dan peer BGP tersebut akan otomatis mulai bertukar rute.
Membuat sesi BGP untuk vertex-networking-vpc
Di Cloud Shell, di jaringan
vertex-networking-vpc
, buat antarmuka BGP untukvertex-networking-vpc-tunnel0
:gcloud compute routers add-interface vertex-networking-vpc-router1 \ --interface-name if-tunnel0-to-onprem \ --ip-address 169.254.0.1 \ --mask-length 30 \ --vpn-tunnel vertex-networking-vpc-tunnel0 \ --region us-central1
Di jaringan
vertex-networking-vpc
, buat peer BGP untukbgp-onprem-tunnel0
:gcloud compute routers add-bgp-peer vertex-networking-vpc-router1 \ --peer-name bgp-onprem-tunnel0 \ --interface if-tunnel0-to-onprem \ --peer-ip-address 169.254.0.2 \ --peer-asn 65002 \ --region us-central1
Di jaringan
vertex-networking-vpc
, buat antarmuka BGP untukvertex-networking-vpc-tunnel1
:gcloud compute routers add-interface vertex-networking-vpc-router1 \ --interface-name if-tunnel1-to-onprem \ --ip-address 169.254.1.1 \ --mask-length 30 \ --vpn-tunnel vertex-networking-vpc-tunnel1 \ --region us-central1
Di jaringan
vertex-networking-vpc
, buat peer BGP untukbgp-onprem-tunnel1
:gcloud compute routers add-bgp-peer vertex-networking-vpc-router1 \ --peer-name bgp-onprem-tunnel1 \ --interface if-tunnel1-to-onprem \ --peer-ip-address 169.254.1.2 \ --peer-asn 65002 \ --region us-central1
Membuat sesi BGP untuk onprem-vpc
Di jaringan
onprem-vpc
, buat antarmuka BGP untukonprem-vpc-tunnel0
:gcloud compute routers add-interface onprem-vpc-router1 \ --interface-name if-tunnel0-to-vertex-networking-vpc \ --ip-address 169.254.0.2 \ --mask-length 30 \ --vpn-tunnel onprem-vpc-tunnel0 \ --region us-central1
Di jaringan
onprem-vpc
, buat peer BGP untukbgp-vertex-networking-vpc-tunnel0
:gcloud compute routers add-bgp-peer onprem-vpc-router1 \ --peer-name bgp-vertex-networking-vpc-tunnel0 \ --interface if-tunnel0-to-vertex-networking-vpc \ --peer-ip-address 169.254.0.1 \ --peer-asn 65001 \ --region us-central1
Di jaringan
onprem-vpc
, buat antarmuka BGP untukonprem-vpc-tunnel1
:gcloud compute routers add-interface onprem-vpc-router1 \ --interface-name if-tunnel1-to-vertex-networking-vpc \ --ip-address 169.254.1.2 \ --mask-length 30 \ --vpn-tunnel onprem-vpc-tunnel1 \ --region us-central1
Di jaringan
onprem-vpc
, buat peer BGP untukbgp-vertex-networking-vpc-tunnel1
:gcloud compute routers add-bgp-peer onprem-vpc-router1 \ --peer-name bgp-vertex-networking-vpc-tunnel1 \ --interface if-tunnel1-to-vertex-networking-vpc \ --peer-ip-address 169.254.1.1 \ --peer-asn 65001 \ --region us-central1
Memvalidasi pembuatan sesi BGP
Di Konsol Google Cloud, buka halaman VPN.
Dalam daftar tunnel VPN, pastikan nilai di kolom BGP session status untuk setiap tunnel telah berubah dari Configure BGP session menjadi BGP established. Anda mungkin perlu memuat ulang tab browser konsol Google Cloud untuk melihat nilai baru.
Memvalidasi rute yang dipelajari vertex-networking-vpc
Di konsol Google Cloud, buka halaman jaringan VPC.
Dalam daftar jaringan VPC, klik
vertex-networking-vpc
.Klik tab Routes.
Pilih us-central1 (Iowa) dalam daftar Region, lalu klik Lihat.
Di kolom Destination IP range, pastikan rentang IP subnet
onprem-vpc-subnet1
(172.16.10.0/29
) muncul dua kali.
Memvalidasi rute yang dipelajari onprem-vpc
Klik panah kembali
untuk kembali ke halaman Jaringan VPC.Dalam daftar jaringan VPC, klik
onprem-vpc
.Klik tab Routes.
Pilih us-central1 (Iowa) dalam daftar Region, lalu klik Lihat.
Di kolom Rentang IP tujuan, pastikan rentang IP subnet
workbench-subnet
(10.0.1.0/28
) muncul dua kali.
Membuat endpoint konsumen Private Service Connect
Di Cloud Shell, reservasi alamat IP endpoint konsumen yang akan digunakan untuk mengakses Google API:
gcloud compute addresses create psc-googleapi-ip \ --global \ --purpose=PRIVATE_SERVICE_CONNECT \ --addresses=192.168.0.1 \ --network=vertex-networking-vpc
Buat aturan penerusan untuk menghubungkan endpoint ke Google API dan layanan Google.
gcloud compute forwarding-rules create pscvertex \ --global \ --network=vertex-networking-vpc\ --address=psc-googleapi-ip \ --target-google-apis-bundle=all-apis
Membuat rute kustom yang diiklankan untuk vertex-networking-vpc
Di bagian ini, Anda akan mengonfigurasi mode iklan kustom Cloud Router untuk
Mengiklankan rentang IP
kustom untuk
vertex-networking-vpc-router1
(Cloud Router untuk
vertex-networking-vpc
) guna mengiklankan alamat IP endpoint PSC ke jaringan
onprem-vpc
.
Di konsol Google Cloud, buka halaman Cloud Function.
Dalam daftar Cloud Router, klik
vertex-networking-vpc-router1
.Di halaman detail Router, klik
Edit.Di bagian Advertised routes untuk Routes, pilih Create custom routes.
Centang kotak Beriklan semua subnet yang terlihat oleh Cloud Router untuk terus mengiklankan subnet yang tersedia untuk Cloud Router. Mengaktifkan opsi ini akan meniru perilaku Cloud Router dalam mode iklan default.
Klik Tambahkan rute kustom.
Untuk Sumber, pilih Rentang IP kustom.
Untuk Rentang alamat IP, masukkan alamat IP berikut:
192.168.0.1
Untuk Deskripsi, masukkan teks berikut:
Custom route to advertise Private Service Connect endpoint IP address
Klik Selesai, lalu klik Simpan.
Memvalidasi bahwa onprem-vpc
telah mempelajari rute yang diiklankan
Di Konsol Google Cloud, buka halaman Routes.
Pada tab Effective routes, lakukan hal berikut:
- Untuk Network, pilih
onprem-vpc
. - Untuk Region, pilih
us-central1 (Iowa)
. - Klik View.
Dalam daftar rute, pastikan ada entri yang namanya diawali dengan
onprem-vpc-router1-bgp-vertex-networking-vpc-tunnel0
danonprem-vpc-router1-bgp-vfertex-networking-vpc-tunnel1
, dan keduanya memiliki Rentang IP tujuan192.168.0.1
.Jika entri ini tidak langsung muncul, tunggu beberapa menit, lalu muat ulang tab browser Google Cloud konsol.
- Untuk Network, pilih
Membuat VM di onprem-vpc
yang menggunakan akun layanan yang dikelola pengguna
Di bagian ini, Anda akan membuat instance VM yang menyimulasikan aplikasi klien on-premise yang mengirim permintaan prediksi batch. Dengan mengikuti praktik terbaik Compute Engine dan IAM, VM ini menggunakan akun layanan yang dikelola pengguna, bukan akun layanan default Compute Engine.
Membuat akun layanan yang dikelola pengguna
Di Cloud Shell, jalankan perintah berikut, ganti PROJECT_ID dengan project ID Anda:
projectid=PROJECT_ID gcloud config set project ${projectid}
Buat akun layanan bernama
onprem-user-managed-sa
:gcloud iam service-accounts create onprem-user-managed-sa \ --display-name="onprem-user-managed-sa-onprem-client"
Tetapkan peran Vertex AI User (
roles/aiplatform.user
) ke akun layanan:gcloud projects add-iam-policy-binding $projectid \ --member="serviceAccount:onprem-user-managed-sa@$projectid.iam.gserviceaccount.com" \ --role="roles/aiplatform.user"
Tetapkan peran Storage Object Viewer (
storage.objectViewer
) ke akun layanan:gcloud projects add-iam-policy-binding $projectid \ --member="serviceAccount:onprem-user-managed-sa@$projectid.iam.gserviceaccount.com" \ --role="roles/storage.objectViewer"
Membuat instance VM on-prem-client
Instance VM yang Anda buat tidak memiliki alamat IP eksternal dan tidak mengizinkan akses langsung melalui internet. Untuk mengaktifkan akses administratif ke VM, Anda menggunakan penerusan TCP Identity-Aware Proxy (IAP).
Di Cloud Shell, buat instance VM
on-prem-client
:gcloud compute instances create on-prem-client \ --zone=us-central1-a \ --image-family=debian-11 \ --image-project=debian-cloud \ --subnet=onprem-vpc-subnet1 \ --scopes=https://www.googleapis.com/auth/cloud-platform \ --no-address \ --shielded-secure-boot \ --service-account=onprem-user-managed-sa@$projectid.iam.gserviceaccount.com \ --metadata startup-script="#! /bin/bash sudo apt-get update sudo apt-get install tcpdump dnsutils -y"
Buat aturan firewall untuk mengizinkan IAP terhubung ke instance VM Anda:
gcloud compute firewall-rules create ssh-iap-on-prem-vpc \ --network onprem-vpc \ --allow tcp:22 \ --source-ranges=35.235.240.0/20
Memvalidasi akses publik ke Vertex AI API
Di bagian ini, Anda menggunakan utilitas dig
untuk melakukan pencarian DNS dari
instance VM on-prem-client
ke Vertex AI API
(us-central1-aiplatform.googleapis.com
). Output dig
menunjukkan bahwa
akses default hanya menggunakan VIP publik untuk mengakses Vertex AI API.
Di bagian berikutnya, Anda akan mengonfigurasi akses pribadi ke Vertex AI API.
Di Cloud Shell, login ke instance VM
on-prem-client
menggunakan IAP:gcloud compute ssh on-prem-client \ --zone=us-central1-a \ --tunnel-through-iap
Di instance VM
on-prem-client
, jalankan perintahdig
:dig us-central1-aiplatform.googleapis.com
Anda akan melihat output
dig
yang mirip dengan berikut ini, dengan alamat IP di bagian jawaban adalah alamat IP publik:; <<>> DiG 9.16.44-Debian <<>> us-central1.aiplatfom.googleapis.com ;; global options: +cmd ;; Got answer: ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 42506 ;; flags: qr rd ra; QUERY: 1, ANSWER: 16, AUTHORITY: 0, ADDITIONAL: 1 ;; OPT PSEUDOSECTION: ; EDNS: version: 0, flags:; udp: 512 ;; QUESTION SECTION: ;us-central1.aiplatfom.googleapis.com. IN A ;; ANSWER SECTION: us-central1.aiplatfom.googleapis.com. 300 IN A 173.194.192.95 us-central1.aiplatfom.googleapis.com. 300 IN A 142.250.152.95 us-central1.aiplatfom.googleapis.com. 300 IN A 172.217.219.95 us-central1.aiplatfom.googleapis.com. 300 IN A 209.85.146.95 us-central1.aiplatfom.googleapis.com. 300 IN A 209.85.147.95 us-central1.aiplatfom.googleapis.com. 300 IN A 142.250.125.95 us-central1.aiplatfom.googleapis.com. 300 IN A 142.250.136.95 us-central1.aiplatfom.googleapis.com. 300 IN A 142.250.148.95 us-central1.aiplatfom.googleapis.com. 300 IN A 209.85.200.95 us-central1.aiplatfom.googleapis.com. 300 IN A 209.85.234.95 us-central1.aiplatfom.googleapis.com. 300 IN A 142.251.171.95 us-central1.aiplatfom.googleapis.com. 300 IN A 108.177.112.95 us-central1.aiplatfom.googleapis.com. 300 IN A 142.250.128.95 us-central1.aiplatfom.googleapis.com. 300 IN A 142.251.6.95 us-central1.aiplatfom.googleapis.com. 300 IN A 172.217.212.95 us-central1.aiplatfom.googleapis.com. 300 IN A 74.125.124.95 ;; Query time: 8 msec ;; SERVER: 169.254.169.254#53(169.254.169.254) ;; WHEN: Wed Sep 27 04:10:16 UTC 2023 ;; MSG SIZE rcvd: 321
Mengonfigurasi dan memvalidasi akses pribadi ke Vertex AI API
Di bagian ini, Anda akan mengonfigurasi akses pribadi ke Vertex AI API sehingga saat Anda mengirim permintaan prediksi batch, permintaan tersebut akan dialihkan ke endpoint PSC Anda. Endpoint PSC kemudian meneruskan permintaan pribadi ini ke REST API prediksi batch Vertex AI.
Update file /etc/hosts
agar mengarah ke endpoint PSC
Pada langkah ini, Anda akan menambahkan baris ke file /etc/hosts
yang menyebabkan permintaan
yang dikirim ke endpoint layanan publik (us-central1-aiplatform.googleapis.com
)
diarahkan ke endpoint PSC (192.168.0.1
).
Di instance VM
on-prem-client
, gunakan editor teks sepertivim
ataunano
untuk membuka file/etc/hosts
:sudo vim /etc/hosts
Tambahkan baris berikut ke file:
192.168.0.1 us-central1-aiplatform.googleapis.com
Baris ini menetapkan alamat IP endpoint PSC (
192.168.0.1
) ke nama domain yang sepenuhnya memenuhi syarat untuk Vertex AI Google API (us-central1-aiplatform.googleapis.com
).File yang diedit akan terlihat seperti ini:
127.0.0.1 localhost ::1 localhost ip6-localhost ip6-loopback ff02::1 ip6-allnodes ff02::2 ip6-allrouters 192.168.0.1 us-central1-aiplatform.googleapis.com # Added by you 172.16.10.6 on-prem-client.us-central1-a.c.vertex-genai-400103.internal on-prem-client # Added by Google 169.254.169.254 metadata.google.internal # Added by Google
Simpan file sebagai berikut:
- Jika Anda menggunakan
vim
, tekan tombolEsc
, lalu ketik:wq
untuk menyimpan file dan keluar. - Jika Anda menggunakan
nano
, ketikControl+O
dan tekanEnter
untuk menyimpan file, lalu ketikControl+X
untuk keluar.
- Jika Anda menggunakan
Kirim ping ke endpoint Vertex AI sebagai berikut:
ping us-central1-aiplatform.googleapis.com
Perintah
ping
akan menampilkan output berikut.192.168.0.1
adalah alamat IP endpoint PSC:PING us-central1-aiplatform.googleapis.com (192.168.0.1) 56(84) bytes of data.
Ketik
Control+C
untuk keluar dariping
.Ketik
exit
untuk keluar dari instance VMon-prem-client
.
Membuat akun layanan yang dikelola pengguna untuk Vertex AI Workbench di vertex-networking-vpc
Di bagian ini, untuk mengontrol akses ke instance Vertex AI Workbench, Anda akan membuat akun layanan yang dikelola pengguna, lalu menetapkan peran IAM ke akun layanan. Saat membuat instance, Anda menentukan akun layanan.
Di Cloud Shell, jalankan perintah berikut, ganti PROJECT_ID dengan project ID Anda:
projectid=PROJECT_ID gcloud config set project ${projectid}
Buat akun layanan bernama
workbench-sa
:gcloud iam service-accounts create workbench-sa \ --display-name="workbench-sa"
Tetapkan peran IAM Vertex AI User (
roles/aiplatform.user
) ke akun layanan:gcloud projects add-iam-policy-binding $projectid \ --member="serviceAccount:workbench-sa@$projectid.iam.gserviceaccount.com" \ --role="roles/aiplatform.user"
Tetapkan peran IAM BigQuery User (
roles/bigquery.user
) ke akun layanan:gcloud projects add-iam-policy-binding $projectid \ --member="serviceAccount:workbench-sa@$projectid.iam.gserviceaccount.com" \ --role="roles/bigquery.user"
Tetapkan peran IAM Storage Admin (
roles/storage.admin
) ke akun layanan:gcloud projects add-iam-policy-binding $projectid \ --member="serviceAccount:workbench-sa@$projectid.iam.gserviceaccount.com" \ --role="roles/storage.admin"
Tetapkan peran IAM Logs Viewer (
roles/logging.viewer
) ke akun layanan:gcloud projects add-iam-policy-binding $projectid \ --member="serviceAccount:workbench-sa@$projectid.iam.gserviceaccount.com" \ --role="roles/logging.viewer"
Membuat instance Vertex AI Workbench
Di Cloud Shell, buat instance Vertex AI Workbench, dengan menentukan akun layanan
workbench-sa
:gcloud workbench 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 \ --shielded-secure-boot=True \ --subnet=workbench-subnet \ --disable-public-ip \ --service-account-email=workbench-sa@$projectid.iam.gserviceaccount.com
Di konsol Google Cloud, buka tab Instances di halaman Vertex AI Workbench.
Di samping nama instance Vertex AI Workbench (
workbench-tutorial
), klik Open JupyterLab.Instance Vertex AI Workbench akan membuka JupyterLab.
Pilih File > New > Notebook.
Dari menu Select Kernel, pilih Python 3 (Local), lalu klik Select.
Saat notebook baru terbuka, ada sel kode default tempat Anda dapat memasukkan kode. Tampilannya seperti
[ ]:
diikuti dengan kolom teks. Kolom teks adalah tempat Anda menempelkan kode.Untuk menginstal Vertex AI SDK untuk Python, tempel kode berikut ke dalam sel dan klik
Run the selected cells and advance:!pip3 install --upgrade google-cloud-bigquery scikit-learn==1.2
Pada langkah ini dan setiap langkah berikutnya, tambahkan sel kode baru (jika diperlukan) dengan mengklik
Insert a cell below, tempelkan kode ke dalam sel, lalu klik Run the selected cells and advance.Untuk menggunakan paket yang baru diinstal di runtime Jupyter ini, Anda perlu memulai ulang runtime:
# Restart kernel after installs so that your environment can access the new packages import IPython app = IPython.Application.instance() app.kernel.do_shutdown(True)
Tetapkan variabel lingkungan berikut di notebook JupyterLab, dengan mengganti PROJECT_ID dengan project ID Anda.
# set project ID and location PROJECT_ID = "PROJECT_ID" REGION = "us-central1"
Buat bucket Cloud Storage untuk melakukan staging tugas pelatihan:
BUCKET_NAME = f"{PROJECT_ID}-ml-staging" BUCKET_URI = f"gs://{BUCKET_NAME}" !gcloud storage buckets create {BUCKET_URI} --location={REGION} --project={PROJECT_ID}
Menyiapkan data pelatihan
Di bagian ini, Anda akan menyiapkan data yang akan digunakan untuk melatih model prediksi.
Di notebook JupyterLab, buat klien BigQuery:
from google.cloud import bigquery bq_client = bigquery.Client(project=PROJECT_ID)
Ambil data dari set data publik
ml_datasets
BigQuery:DATA_SOURCE = "bigquery-public-data.ml_datasets.census_adult_income" # Define the SQL query to fetch the dataset query = f""" SELECT * FROM `{DATA_SOURCE}` LIMIT 20000 """ # Download the dataset to a dataframe df = bq_client.query(query).to_dataframe() df.head()
Gunakan library
sklearn
untuk membagi data untuk pelatihan dan pengujian:from sklearn.model_selection import train_test_split # Split the dataset X_train, X_test = train_test_split(df, test_size=0.3, random_state=43) # Print the shapes of train and test sets print(X_train.shape, X_test.shape)
Ekspor frame data pelatihan dan pengujian ke file CSV di bucket staging:
X_train.to_csv(f"{BUCKET_URI}/train.csv",index=False, quoting=1, quotechar='"') X_test[[i for i in X_test.columns if i != "income_bracket"]].iloc[:20].to_csv(f"{BUCKET_URI}/test.csv",index=False,quoting=1, quotechar='"')
Menyiapkan aplikasi pelatihan
Di bagian ini, Anda akan membuat dan mem-build aplikasi pelatihan Python dan menyimpannya ke bucket staging.
Di notebook JupyterLab, buat folder baru untuk file aplikasi pelatihan:
!mkdir -p training_package/trainer
Sekarang Anda akan melihat folder bernama
training_package
di menu navigasi JupyterLab.Tentukan fitur, target, label, dan langkah-langkah untuk melatih dan mengekspor model ke file:
%%writefile training_package/trainer/task.py from sklearn.ensemble import RandomForestClassifier from sklearn.feature_selection import SelectKBest from sklearn.pipeline import FeatureUnion, Pipeline from sklearn.preprocessing import LabelBinarizer import pandas as pd import argparse import joblib import os TARGET = "income_bracket" # Define the feature columns that you use from the dataset COLUMNS = ( "age", "workclass", "functional_weight", "education", "education_num", "marital_status", "occupation", "relationship", "race", "sex", "capital_gain", "capital_loss", "hours_per_week", "native_country", ) # Categorical columns are columns that have string values and # need to be turned into a numerical value to be used for training CATEGORICAL_COLUMNS = ( "workclass", "education", "marital_status", "occupation", "relationship", "race", "sex", "native_country", ) # load the arguments parser = argparse.ArgumentParser() parser.add_argument('--training-dir', dest='training_dir', default=os.getenv('AIP_MODEL_DIR'), type=str,help='get the staging directory') args = parser.parse_args() # Load the training data X_train = pd.read_csv(os.path.join(args.training_dir,"train.csv")) # Remove the column we are trying to predict ('income-level') from our features list # Convert the Dataframe to a lists of lists train_features = X_train.drop(TARGET, axis=1).to_numpy().tolist() # Create our training labels list, convert the Dataframe to a lists of lists train_labels = X_train[TARGET].to_numpy().tolist() # Since the census data set has categorical features, we need to convert # them to numerical values. We'll use a list of pipelines to convert each # categorical column and then use FeatureUnion to combine them before calling # the RandomForestClassifier. categorical_pipelines = [] # Each categorical column needs to be extracted individually and converted to a numerical value. # To do this, each categorical column will use a pipeline that extracts one feature column via # SelectKBest(k=1) and a LabelBinarizer() to convert the categorical value to a numerical one. # A scores array (created below) will select and extract the feature column. The scores array is # created by iterating over the COLUMNS and checking if it is a CATEGORICAL_COLUMN. for i, col in enumerate(COLUMNS): if col in CATEGORICAL_COLUMNS: # Create a scores array to get the individual categorical column. # Example: # data = [39, 'State-gov', 77516, 'Bachelors', 13, 'Never-married', 'Adm-clerical', # 'Not-in-family', 'White', 'Male', 2174, 0, 40, 'United-States'] # scores = [0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0] # # Returns: [['Sate-gov']] scores = [] # Build the scores array for j in range(len(COLUMNS)): if i == j: # This column is the categorical column we want to extract. scores.append(1) # Set to 1 to select this column else: # Every other column should be ignored. scores.append(0) skb = SelectKBest(k=1) skb.scores_ = scores # Convert the categorical column to a numerical value lbn = LabelBinarizer() r = skb.transform(train_features) lbn.fit(r) # Create the pipeline to extract the categorical feature categorical_pipelines.append( ( "categorical-{}".format(i), Pipeline([("SKB-{}".format(i), skb), ("LBN-{}".format(i), lbn)]), ) ) # Create pipeline to extract the numerical features skb = SelectKBest(k=6) # From COLUMNS use the features that are numerical skb.scores_ = [1, 0, 1, 0, 1, 0, 0, 0, 0, 0, 1, 1, 1, 0] categorical_pipelines.append(("numerical", skb)) # Combine all the features using FeatureUnion preprocess = FeatureUnion(categorical_pipelines) # Create the classifier classifier = RandomForestClassifier() # Transform the features and fit them to the classifier classifier.fit(preprocess.transform(train_features), train_labels) # Create the overall model as a single pipeline pipeline = Pipeline([("union", preprocess), ("classifier", classifier)]) # Save the model pipeline joblib.dump(pipeline, os.path.join(args.training_dir,"model.joblib"))
Buat file
__init__.py
di setiap subdirektori untuk menjadikannya sebuah paket:!touch training_package/__init__.py !touch training_package/trainer/__init__.py
Buat skrip penyiapan paket Python:
%%writefile training_package/setup.py from setuptools import find_packages from setuptools import setup setup( name='trainer', version='0.1', packages=find_packages(), include_package_data=True, description='Training application package for census income classification.' )
Gunakan perintah
sdist
untuk membuat distribusi sumber aplikasi pelatihan:!cd training_package && python setup.py sdist --formats=gztar
Salin paket Python ke bucket staging:
!gcloud storage cp training_package/dist/trainer-0.1.tar.gz $BUCKET_URI/
Pastikan bucket staging berisi tiga file:
!gcloud storage ls $BUCKET_URI
Outputnya akan berupa:
gs://$BUCKET_NAME/test.csv gs://$BUCKET_NAME/train.csv gs://$BUCKET_NAME/trainer-0.1.tar.gz
Melatih model
Di bagian ini, Anda akan melatih model dengan membuat dan menjalankan tugas pelatihan kustom.
Di notebook JupyterLab, jalankan perintah berikut untuk membuat tugas pelatihan kustom:
!gcloud ai custom-jobs create --display-name=income-classification-training-job \ --project=$PROJECT_ID \ --worker-pool-spec=replica-count=1,machine-type='e2-highmem-2',executor-image-uri='us-docker.pkg.dev/vertex-ai/training/sklearn-cpu.1-0:latest',python-module=trainer.task \ --python-package-uris=$BUCKET_URI/trainer-0.1.tar.gz \ --args="--training-dir","/gcs/$BUCKET_NAME" \ --region=$REGION
Output-nya akan terlihat seperti berikut. Angka pertama di setiap jalur tugas kustom adalah nomor project (PROJECT_NUMBER). Angka kedua adalah ID tugas kustom (CUSTOM_JOB_ID). Catat angka ini agar Anda dapat menggunakannya di langkah berikutnya.
Using endpoint [https://us-central1-aiplatform.googleapis.com/] CustomJob [projects/721032480027/locations/us-central1/customJobs/1100328496195960832] is submitted successfully. Your job is still active. You may view the status of your job with the command $ gcloud ai custom-jobs describe projects/721032480027/locations/us-central1/customJobs/1100328496195960832 or continue streaming the logs with the command $ gcloud ai custom-jobs stream-logs projects/721032480027/locations/us-central1/customJobs/1100328496195960832
Jalankan tugas pelatihan kustom dan tampilkan progres dengan melakukan streaming log dari tugas saat berjalan:
!gcloud ai custom-jobs stream-logs projects/PROJECT_NUMBER/locations/us-central1/customJobs/CUSTOM_JOB_ID
Ganti nilai berikut:
- PROJECT_NUMBER: nomor project dari output perintah sebelumnya
- CUSTOM_JOB_ID: ID tugas kustom dari output perintah sebelumnya
Tugas pelatihan kustom Anda sekarang berjalan. Proses ini memerlukan waktu sekitar 10 menit.
Setelah tugas selesai, Anda dapat mengimpor model dari bucket staging ke Vertex AI Model Registry.
Mengimpor model
Tugas pelatihan kustom Anda mengupload model terlatih ke bucket staging. Setelah tugas selesai, Anda dapat mengimpor model dari bucket ke Vertex AI Model Registry.
Di notebook JupyterLab, impor model dengan menjalankan perintah berikut:
!gcloud ai models upload --container-image-uri="us-docker.pkg.dev/vertex-ai/prediction/sklearn-cpu.1-2:latest" \ --display-name=income-classifier-model \ --artifact-uri=$BUCKET_URI \ --project=$PROJECT_ID \ --region=$REGION
Cantumkan model Vertex AI dalam project sebagai berikut:
!gcloud ai models list --region=us-central1
Output akan terlihat seperti berikut. Jika dua model atau lebih tercantum, model pertama dalam daftar adalah model yang terakhir Anda impor.
Catat nilai di kolom MODEL_ID. Anda memerlukannya untuk membuat permintaan prediksi batch.
Using endpoint [https://us-central1-aiplatform.googleapis.com/] MODEL_ID DISPLAY_NAME 1871528219660779520 income-classifier-model
Atau, Anda dapat mencantumkan model dalam project sebagai berikut:
Di konsol Google Cloud, di bagian Vertex AI, buka halaman Vertex AI Model Registry.
Buka halaman Vertex AI Model Registry
Untuk melihat ID model dan detail lainnya untuk model, klik nama model, lalu klik tab Version Details.
Mendapatkan prediksi batch dari model
Sekarang Anda dapat meminta prediksi batch dari model. Permintaan prediksi
batch dibuat dari instance VM on-prem-client
.
Membuat permintaan prediksi batch
Pada langkah ini, Anda menggunakan ssh
untuk login ke instance VM on-prem-client
.
Di instance VM, Anda membuat file teks bernama request.json
yang berisi payload untuk permintaan curl
sampel yang Anda kirim ke model untuk mendapatkan prediksi batch.
Di Cloud Shell, jalankan perintah berikut, ganti PROJECT_ID dengan project ID Anda:
projectid=PROJECT_ID gcloud config set project ${projectid}
Login ke instance VM
on-prem-client
menggunakanssh
:gcloud compute ssh on-prem-client \ --project=$projectid \ --zone=us-central1-a
Di instance VM
on-prem-client
, gunakan editor teks sepertivim
ataunano
untuk membuat file baru bernamarequest.json
yang berisi teks berikut:{ "displayName": "income-classification-batch-job", "model": "projects/PROJECT_ID/locations/us-central1/models/MODEL_ID", "inputConfig": { "instancesFormat": "csv", "gcsSource": { "uris": ["BUCKET_URI/test.csv"] } }, "outputConfig": { "predictionsFormat": "jsonl", "gcsDestination": { "outputUriPrefix": "BUCKET_URI" } }, "dedicatedResources": { "machineSpec": { "machineType": "n1-standard-4", "acceleratorCount": "0" }, "startingReplicaCount": 1, "maxReplicaCount": 2 } }
Ganti nilai berikut:
- PROJECT_ID: project ID Anda
- MODEL_ID: ID model untuk model Anda
- BUCKET_URI: URI untuk bucket penyimpanan tempat Anda melakukan staging model
Jalankan perintah berikut untuk mengirim permintaan prediksi batch:
curl -X POST \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "Content-Type: application/json; charset=utf-8" \ -d @request.json \ "https://us-central1-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/us-central1/batchPredictionJobs"
Ganti PROJECT_ID dengan project ID Anda.
Anda akan melihat baris berikut dalam respons:
"state": "JOB_STATE_PENDING"
Tugas prediksi batch Anda kini berjalan secara asinkron. Proses ini memerlukan waktu 20 menit untuk dijalankan.
Di Konsol Google Cloud, di bagian Vertex AI, buka halaman Batch Predictions.
Saat tugas prediksi batch berjalan, statusnya adalah
Running
. Setelah selesai, statusnya akan berubah menjadiFinished
.Klik nama tugas prediksi batch Anda (
income-classification-batch-job
), lalu klik link Export location di halaman detail untuk melihat file output untuk tugas batch Anda di Cloud Storage.Atau, Anda dapat mengklik ikon
Lihat output prediksi di Cloud Storage (di antara kolom Terakhir diperbarui dan menu Tindakan).Klik link file
prediction.results-00000-of-00002
atauprediction.results-00001-of-00002
, lalu klik link Authenticated URL untuk membuka file.Output tugas prediksi batch Anda akan terlihat mirip dengan contoh ini:
{"instance": ["27", " Private", "391468", " 11th", "7", " Divorced", " Craft-repair", " Own-child", " White", " Male", "0", "0", "40", " United-States"], "prediction": " <=50K"} {"instance": ["47", " Self-emp-not-inc", "192755", " HS-grad", "9", " Married-civ-spouse", " Machine-op-inspct", " Wife", " White", " Female", "0", "0", "20", " United-States"], "prediction": " <=50K"} {"instance": ["32", " Self-emp-not-inc", "84119", " HS-grad", "9", " Married-civ-spouse", " Craft-repair", " Husband", " White", " Male", "0", "0", "45", " United-States"], "prediction": " <=50K"} {"instance": ["32", " Private", "236543", " 12th", "8", " Divorced", " Protective-serv", " Own-child", " White", " Male", "0", "0", "54", " Mexico"], "prediction": " <=50K"} {"instance": ["60", " Private", "160625", " HS-grad", "9", " Married-civ-spouse", " Prof-specialty", " Husband", " White", " Male", "5013", "0", "40", " United-States"], "prediction": " <=50K"} {"instance": ["34", " Local-gov", "22641", " HS-grad", "9", " Never-married", " Protective-serv", " Not-in-family", " Amer-Indian-Eskimo", " Male", "0", "0", "40", " United-States"], "prediction": " <=50K"} {"instance": ["32", " Private", "178623", " HS-grad", "9", " Never-married", " Other-service", " Not-in-family", " Black", " Female", "0", "0", "40", " ?"], "prediction": " <=50K"} {"instance": ["28", " Private", "54243", " HS-grad", "9", " Divorced", " Transport-moving", " Not-in-family", " White", " Male", "0", "0", "60", " United-States"], "prediction": " <=50K"} {"instance": ["29", " Local-gov", "214385", " 11th", "7", " Divorced", " Other-service", " Unmarried", " Black", " Female", "0", "0", "20", " United-States"], "prediction": " <=50K"} {"instance": ["49", " Self-emp-inc", "213140", " HS-grad", "9", " Married-civ-spouse", " Exec-managerial", " Husband", " White", " Male", "0", "1902", "60", " United-States"], "prediction": " >50K"}
Pembersihan
Agar tidak dikenai biaya pada akun Google Cloud Anda untuk resource yang digunakan dalam tutorial ini, hapus project yang berisi resource tersebut, atau simpan project dan hapus setiap resource.
Anda dapat menghapus setiap resource di konsol Google Cloud dengan cara berikut:
Hapus tugas prediksi batch sebagai berikut:
Di Konsol Google Cloud, di bagian Vertex AI, buka halaman Batch Predictions.
Di samping nama tugas prediksi batch (
income-classification-batch-job
), klik menu Tindakan, lalu pilih Hapus tugas prediksi batch.
Hapus model sebagai berikut:
Di konsol Google Cloud, di bagian Vertex AI, buka halaman Model Registry.
Di samping nama model Anda (
income-classifier-model
), klik menu Actions, lalu pilih Delete model.
Hapus instance Vertex AI Workbench sebagai berikut:
Di konsol Google Cloud, di bagian Vertex AI, buka tab Instances di halaman Workbench.
Pilih
workbench-tutorial
instance Vertex AI Workbench dan klik Hapus.
Hapus instance VM Compute Engine sebagai berikut:
Di konsol Google Cloud, buka halaman Compute Engine.
Pilih instance VM
on-prem-client
, lalu klik Hapus.
Hapus tunnel VPN sebagai berikut:
Di Konsol Google Cloud, buka halaman VPN.
Di halaman VPN, klik tab Cloud VPN Tunnels.
Dalam daftar tunnel VPN, pilih empat tunnel VPN yang Anda buat dalam tutorial ini, lalu klik
Hapus.
Hapus gateway VPN dengan ketersediaan tinggi (HA) sebagai berikut:
Di halaman VPN, klik tab Cloud VPN Gateways.
Dalam daftar gateway VPN, klik
onprem-vpn-gw1
.Di halaman Detail gateway Cloud VPN, klik
Hapus VPN Gateway.Klik panah kembali
jika perlu untuk kembali ke daftar gateway VPN, lalu klikvertex-networking-vpn-gw1
.Di halaman Detail gateway Cloud VPN, klik
Hapus VPN Gateway.
Hapus Cloud Router sebagai berikut:
Buka halaman Cloud Router.
Dalam daftar Cloud Router, pilih empat router yang Anda buat dalam tutorial ini.
Untuk menghapus router, klik
Hapus.Tindakan ini juga akan menghapus dua gateway Cloud NAT yang terhubung ke Cloud Router.
Hapus aturan penerusan
pscvertex
untuk jaringan VPCvertex-networking-vpc
sebagai berikut:Buka tab Frontends di halaman Load balancing.
Dalam daftar aturan penerusan, klik
pscvertex
.Di halaman Detail aturan penerusan, klik
Hapus.
Hapus jaringan VPC sebagai berikut:
Buka halaman Jaringan VPC.
Dalam daftar jaringan VPC, klik
onprem-vpc
.Di halaman VPC network details, klik
Delete VPC Network.Menghapus setiap jaringan juga akan menghapus subjaringan, rute, dan aturan firewall-nya.
Dalam daftar jaringan VPC, klik
vertex-networking-vpc
.Di halaman VPC network details, klik
Delete VPC Network.
Hapus bucket penyimpanan sebagai berikut:
Di konsol Google Cloud, buka halaman Cloud Storage.
Pilih bucket penyimpanan Anda, lalu klik
Hapus.
Hapus akun layanan
workbench-sa
danonprem-user-managed-sa
sebagai berikut:Buka halaman Akun layanan.
Pilih akun layanan
onprem-user-managed-sa
danworkbench-sa
, lalu klik Hapus.
Langkah selanjutnya
- Pelajari opsi jaringan perusahaan untuk mengakses endpoint dan layanan Vertex AI
- Pelajari cara kerja Private Service Connect dan alasannya menawarkan manfaat performa yang signifikan.
- Pelajari cara menggunakan Kontrol Layanan VPC untuk membuat perimeter yang aman guna mengizinkan atau menolak akses ke Vertex AI dan Google API lainnya di endpoint prediksi online Anda.
- Pelajari cara dan alasan
menggunakan zona penerusan DNS,
bukan memperbarui file
/etc/hosts
dalam skala besar dan lingkungan produksi.