Host lokal dapat menjangkau AI Generatif di Vertex AI baik melalui internet publik maupun secara pribadi melalui arsitektur jaringan hybrid yang menggunakan Private Service Connect (PSC) melalui Cloud VPN atau Cloud Interconnect. Kedua opsi tersebut menawarkan enkripsi SSL/TLS. Namun, opsi pribadi menawarkan performa yang jauh lebih baik, sehingga direkomendasikan untuk aplikasi penting.
Dalam tutorial ini, Anda menggunakan VPN Ketersediaan Tinggi (HA VPN) untuk mengakses AI Generatif di Vertex AI secara publik, melalui Cloud NAT; dan secara pribadi, antara dua jaringan Virtual Private Cloud (VPC) yang dapat berfungsi sebagai dasar untuk konektivitas pribadi multi-cloud dan lokal.
Tutorial ini ditujukan bagi administrator jaringan perusahaan, ilmuwan data, dan peneliti yang sudah memahami Vertex AI, VPC, Konsol Google Cloud, dan Cloud Shell. Pemahaman tentang AI Generatif di Vertex AI sangat membantu, tetapi tidak wajib.
Tujuan
- Buat dua jaringan VPC, seperti yang ditunjukkan dalam diagram
sebelumnya:
- Satu (
onprem-vpc
) mewakili jaringan lokal. - Satunya lagi (
vertex-networking-vpc
) digunakan untuk mengakses REST API untuk AI Generatif di Vertex AI.
- Satu (
- Deploy gateway VPN dengan ketersediaan tinggi (HA), tunnel Cloud VPN, dan
Cloud Router untuk menghubungkan
vertex-networking-vpc
danonprem-vpc
. - Buat endpoint Private Service Connect (PSC) untuk meneruskan permintaan ke GenAI REST API.
- Konfigurasi iklan rute 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 yang mengirim permintaan ke GenAI REST API melalui VPN dengan ketersediaan tinggi (HA).
Biaya
Dalam dokumen ini, Anda menggunakan komponen Google Cloud yang 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
-
Di konsol Google Cloud, buka halaman Pemilih project.
-
Pilih atau buat project Google Cloud.
-
Pastikan penagihan telah diaktifkan untuk project Google Cloud Anda.
- Jika Anda bukan pemilik project, pemilik project harus memberi Anda peran IAM
roles/resourcemanager.projectIamAdmin
. Anda harus memiliki peran ini agar dapat memberikan peran dan izin IAM ke Anda sendiri dan akun layanan. - 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}
-
Berikan peran ke Akun Google Anda. Jalankan perintah berikut satu kali untuk setiap peran IAM berikut:
roles/compute.instanceAdmin.v1, roles/compute.networkAdmin, roles/compute.securityAdmin, roles/dns.admin, roles/iap.tunnelResourceAccessor, roles/iam.serviceAccountCreator, roles/iam.serviceAccountUser, roles/iam.serviceAccountDeleter, roles/resourcemanager.projectIamAdmin, roles/service/servicedirectory.editor quota.
gcloud projects add-iam-policy-binding PROJECT_ID --member="user:EMAIL_ADDRESS" --role=ROLE
- Ganti
PROJECT_ID
dengan project ID Anda. - Ganti
EMAIL_ADDRESS
dengan alamat email Anda. - Ganti
ROLE
dengan setiap peran individual.
- Ganti
-
Aktifkan API DNS, IAM, Compute Engine, Penggunaan Layanan, dan Vertex AI:
gcloud services enable dns.googleapis.com
iam.googleapis.com compute.googleapis.com serviceusage.googleapis.com aiplatform.googleapis.com
Buat dua jaringan VPC: vertex-networking-vpc
dan onprem-vpc
Di bagian ini, Anda akan membuat dua jaringan VPC: satu jaringan utama untuk mengakses API AI generatif Vertex AI (juga dikenal sebagai GenAI) API, dan satunya lagi untuk menyimulasikan jaringan lokal.
Membuat jaringan VPC
Buat jaringan VPC untuk mengakses GenAI API (
vertex-networking-vpc
):gcloud compute networks create vertex-networking-vpc --subnet-mode custom
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/24
:gcloud compute networks subnets create onprem-vpc-subnet1 \ --range 172.16.10.0/24 \ --network onprem-vpc \ --region us-central1
Di Konsol Google Cloud, buka tab Networks in current project di halaman VPC network.
Dalam daftar jaringan VPC, pastikan kedua jaringan telah dibuat:
vertex-networking-vpc
danonprem-vpc
.Di halaman VPC network, klik tab Subnets in current project.
Di daftar subnet VPC, pastikan subnet
onprem-vpc-subnet1
telah dibuat di jaringanonprem-vpc
.
Mengonfigurasi konektivitas hybrid
Di bagian ini, Anda akan membuat dua gateway VPN dengan ketersediaan tinggi (HA)
yang terhubung satu sama lain. Salah satunya berada di
jaringan VPC vertex-networking-vpc
. Satunya lagi 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.
Dalam daftar gateway VPN, pastikan dua gateway (
vertex-networking-vpn-gw1
danonprem-vpn-gw1
) telah dibuat dan masing-masing memiliki dua alamat IP.
Membuat Cloud Router
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
Tambahkan gateway Cloud NAT ke jaringan VPC onprem-vpc
Pada langkah ini, Anda akan menambahkan gateway Cloud NAT ke Cloud Router untuk jaringan VPC onprem-vpc
.
Gateway Cloud NAT menyediakan konektivitas keluar untuk instance virtual machine (VM) Compute Engine yang tidak memiliki alamat IP eksternal.
Di Cloud Shell, tambahkan gateway Cloud NAT ke Cloud Router
onprem-vpc-router1
:gcloud compute routers nats create us-central-cloudnat-onprem \ --router=onprem-vpc-router1 \ --auto-allocate-nat-external-ips \ --nat-all-subnet-ip-ranges \ --region us-central1
Di konsol Google Cloud, buka halaman Cloud Router.
Dalam daftar Cloud Router, pastikan
vertex-networking-vpc-router1
danonprem-vpc-router1
telah dibuat. Anda mungkin perlu memuat ulang tab browser Konsol Google Cloud untuk melihat nilai baru.Dalam daftar Cloud Router, klik
onprem-vpc-router1
.Di halaman Router details, pastikan
us-central-cloudnat-onprem
gateway Cloud NAT telah dibuat.
Buat tunnel VPN
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 keempat tunnel VPN telah dibuat.
Membuat sesi BGP
Cloud Router menggunakan Border Gateway Protocol (BGP) untuk menukar rute antara jaringan VPC Anda (dalam hal ini, vertex-networking-vpc
) dan jaringan lokal Anda (diwakili oleh onprem-vpc
). Di Cloud Router, Anda mengonfigurasi antarmuka dan peer BGP untuk router lokal Anda.
Antarmuka dan konfigurasi peer BGP secara 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 antara router, keduanya akan otomatis mulai bertukar rute.
Menetapkan sesi BGP untuk vertex-networking-vpc
Di Cloud Shell, pada jaringan
vertex-networking-vpc
, buat antarmuka BII 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
Pada 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
Pada 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
Menetapkan 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
Pada 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
Pada 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 status sesi BGP untuk setiap tunnel telah berubah dari Konfigurasi sesi BGP menjadi BGP yang ditetapkan. Anda mungkin perlu memuat ulang tab browser Konsol Google Cloud untuk melihat nilai baru.
Membuat endpoint Private Service Connect (PSC)
Di bagian ini, Anda akan membuat endpoint Private Service Connect (PSC)
untuk Google API yang akan digunakan instance VM di jaringan onprem-vpc
untuk
mengakses GenAI API dari jaringan onprem-vpc
Anda.
Endpoint Private Service Connect (PSC) adalah alamat IP internal di jaringan onprem-vpc
yang dapat diakses langsung oleh klien di jaringan tersebut. Endpoint ini dibuat dengan men-deploy aturan penerusan yang mengarahkan traffic jaringan yang cocok dengan alamat IP endpoint PSC dengan paket Google API: khususnya, paket all-apis.
Alamat IP endpoint PSC (192.168.0.1
) akan diiklankan dari Cloud Router vertex-networking-vpc-router
sebagai iklan rute kustom ke jaringan onprem-vpc
di langkah selanjutnya.
Cadangkan alamat IP internal global untuk ditetapkan ke endpoint:
gcloud compute addresses create psc-googleapi-ip \ --global \ --purpose=PRIVATE_SERVICE_CONNECT \ --addresses=192.168.0.1 \ --network=vertex-networking-vpc
Buat endpoint, beserta aturan penerusan yang menghubungkan endpoint tersebut 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
Buat daftar endpoint PSC yang dikonfigurasi dan pastikan endpoint
pscvertex
telah dibuat:gcloud compute forwarding-rules list \ --filter target="(all-apis OR vpc-sc)" --global
Dapatkan detail endpoint PSC yang dikonfigurasi dan pastikan alamat IP-nya adalah
192.168.0.1
:gcloud compute forwarding-rules describe \ pscvertex --global
Buat iklan rute kustom untuk vertex-networking-vpc
Di bagian ini, Anda akan membuat iklan rute 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 Router.
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.
Pilih kotak centang 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 Add a custom route.
Untuk Sumber, pilih Rentang IP kustom.
Untuk rentang alamat IP, masukkan alamat IP berikut:
192.168.0.1
Untuk Description, masukkan teks berikut:
Custom route to advertise Private Service Connect endpoint IP address
Klik Done, lalu klik Save.
Validasi 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
, serta keduanya memiliki Rentang IP tujuan192.168.0.1/32
. (192.168.0.1
adalah alamat IP endpoint PSC.)Jika entri ini tidak langsung muncul, tunggu beberapa menit, lalu muat ulang tab browser Konsol Google Cloud.
- Untuk Network, pilih
Mengonfigurasi instance VM di jaringan lokal
Di bagian ini, Anda akan membuat instance VM Compute Engine di jaringan VPC onprem-vpc
. Instance VM ini
menyimulasikan klien lokal yang terhubung ke endpoint PSC dan
mengakses GenAI API.
Membuat akun layanan yang dikelola pengguna
Dalam tutorial ini, Anda akan membuat akun layanan yang dikelola pengguna dengan mengikuti praktik terbaik Compute Engine dan IAM.
Di Cloud Shell, jalankan perintah berikut, dengan mengganti PROJECT_ID dengan project ID Anda:
projectid=PROJECT_ID gcloud config set project ${projectid}
Buat akun layanan:
gcloud iam service-accounts create user-managed-sa
Tetapkan peran IAM Vertex AI User (
roles/aiplatform.user
) ke akun layanan:gcloud projects add-iam-policy-binding $projectid \ --member="serviceAccount:user-managed-sa@$projectid.iam.gserviceaccount.com" \ --role="roles/aiplatform.user"
Membuat instance VM on-prem-client
Pada langkah ini, Anda akan membuat instance VM yang menggunakan
alamat IP Private Service Connect (192.168.0.1
) untuk mengakses Google
API melalui VPN dengan ketersediaan tinggi (HA).
Agar Identity-Aware Proxy (IAP) dapat terhubung ke instance VM, buat aturan firewall yang:
- Berlaku untuk semua instance VM yang ingin Anda sediakan akses melalui
IAP. (Dalam hal ini, hanya ada
on-prem-client
.) - Mengizinkan traffic TCP melalui port 22 dari rentang IP
35.235.240.0/20
. Rentang ini berisi semua alamat IP yang digunakan IAP untuk penerusan TCP.
Buat instance VM
on-prem-client
. Perintah berikut juga menginstal pakettcpdump
dandnsutils
, yang berisi utilitastcpdump
dandig
yang nantinya akan Anda gunakan untuk memvalidasi permintaan API: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=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 IAP bernama
ssh-iap-on-prem-vpc
: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 internet publik ke AI Generatif di Vertex AI
Di bagian ini, Anda akan login ke instance VM on-prem-client
menggunakan
Identity-Aware Proxy, lalu memvalidasi konektivitas publik
ke Vertex AI API (termasuk GenAI) dengan menjalankan perintah dig
terhadap domain
Vertex AI publik (us-central1-aiplatform.googleapis.com
).
Di Cloud Shell (Tab One), jalankan perintah berikut, dengan mengganti PROJECT_ID dengan project ID Anda:
projectid=PROJECT_ID gcloud config set project ${projectid}
Login ke instance VM
on-prem-client
menggunakan IAP:gcloud compute ssh on-prem-client --project=$projectid --zone=us-central1-a --tunnel-through-iap
Jalankan perintah
dig
: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 AI Generatif di Vertex AI
Di bagian ini, Anda akan mengonfigurasi akses pribadi ke AI Generatif di Vertex AI sehingga
saat Anda mengirim permintaan ke endpoint layanan publik
(us-central1-aiplatform.googleapis.com
), permintaan tersebut akan dialihkan ke
endpoint PSC Anda. {i>Endpoint<i} PSC kemudian
meneruskan permintaan ke
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
)
dialihkan ke endpoint PSC (192.168.0.1
).
Pada instance VM
on-prem-client
(Tab One), 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
Ping 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 PC:PING us-central1-aiplatform.googleapis.com (192.168.0.1) 56(84) bytes of data.
Ketik
Control+C
untuk keluar dariping
.Jalankan perintah
tcpdump
berikut untuk memvalidasi resolusi DNS dan jalur data IP saat Anda mengirim permintaan prediksi online ke endpoint:sudo tcpdump -i any port 53 -n or host 192.168.0.1
Membuat permintaan pribadi
Pada langkah ini, Anda akan membuat file teks bernama request.json
yang berisi payload untuk contoh permintaan curl
yang Anda kirim ke GenAI REST API.
Untuk mengetahui informasi selengkapnya tentang contoh permintaan, lihat Contoh permintaan.
Dengan tetap menjalankan perintah
tcpdump
di Tab Satu, buka sesi Cloud Shell baru (Tab Dua) dengan mengklik buka tab baru di Cloud Shell.Pada sesi Cloud Shell baru (Tab Dua), jalankan perintah berikut, dengan mengganti PROJECT_ID dengan project ID Anda:
projectid=PROJECT_ID gcloud config set project ${projectid}
Login ke instance VM
on-prem-client
menggunakan IAP:gcloud compute ssh on-prem-client --project=$projectid --zone=us-central1-a --tunnel-through-iap
Jalankan perintah berikut, dengan mengganti PROJECT_ID dengan project ID Anda:
projectid=PROJECT_ID gcloud config set project ${projectid}
Gunakan editor teks seperti
vim
ataunano
untuk membuat file baru bernamarequest.json
yang berisi teks berikut:{ "instances": [ { "prompt": "Give me ten interview questions for the role of program manager."} ], "parameters": { "temperature": 0.2, "maxOutputTokens": 256, "topK": 40, "topP": 0.95 } }
Jalankan perintah berikut untuk mengirim permintaan ke endpoint PSC, yang akan meneruskan permintaan ke GenAI API. Saat menerima respons, endpoint akan meneruskannya kembali ke VM
on-prem-client
: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/$projectid/locations/us-central1/publishers/google/models/text-bison:predict"
Anda akan melihat respons yang mirip dengan contoh berikut:
{ "predictions": [ { "content": " 1. **What is your experience in managing programs?**\n2. **What are your strengths and weaknesses as a program manager?**\n3. **What is your approach to managing a program?**\n4. **How do you handle risks and challenges in a program?**\n5. **How do you communicate with stakeholders in a program?**\n6. **How do you measure the success of a program?**\n7. **What is your experience in working with cross-functional teams?**\n8. **What is your experience in managing budgets and resources?**\n9. **What is your experience in managing change in a program?**\n10. **What are your career goals as a program manager?**", "citationMetadata": { "citations": [] }, "safetyAttributes": { "categories": [ "Finance", "Health" ], "blocked": false, "scores": [ 0.6, 0.1 ] } } ], "metadata": { "tokenMetadata": { "outputTokenCount": { "totalBillableCharacters": 505, "totalTokens": 153 }, "inputTokenCount": { "totalBillableCharacters": 54, "totalTokens": 12 } } } }
Di Tab One, pastikan alamat IP endpoint PSC (
192.168.0.1
) digunakan untuk mengakses Vertex AI API dari instance VMon-prem-client
(subnet172.16.10.0/28
).Dari terminal
tcpdump
di Tab One Cloud Shell, Anda dapat melihat bahwa pencarian DNS keus-central1-aiplatform.googleapis.com
tidak diperlukan, karena baris yang Anda tambahkan ke file/etc/hosts
lebih diutamakan, dan alamat IP endpoint PSC (192.168.0.1
) digunakan di jalur data.Anda akan melihat output
tcpdump
yang mirip seperti berikut:23:48:49.938797 ens4 Out IP 172.16.10.9.38578 > 192.168.0.1.443: Flags [P.], seq 2054:2093, ack 6264, win 501, options [nop,nop,TS val 2943864305 ecr 2340789954], length 39 23:48:49.938947 ens4 Out IP 172.16.10.9.38578 > 192.168.0.1.443: Flags [P.], seq 2093:2117, ack 6264, win 501, options [nop,nop,TS val 2943864305 ecr 2340789954], length 24 23:48:49.939839 ens4 Out IP 172.16.10.9.38578 > 192.168.0.1.443: Flags [F.], seq 2117, ack 6264, win 501, options [nop,nop,TS val 2943864306 ecr 2340789954], length 0 23:48:49.940292 ens4 In IP 192.168.0.1.443 > 172.16.10.9.38578: Flags [.], ack 2117, win 272, options [nop,nop,TS val 2340789958 ecr 2943864305], length 0 23:48:49.940437 ens4 In IP 192.168.0.1.443 > 172.16.10.9.38578: Flags [F.], seq 6264, ack 2117, win 272, options [nop,nop,TS val 2340789958 ecr 2943864305], length 0 23:48:49.940442 ens4 Out IP 172.16.10.9.38578 > 192.168.0.1.443: Flags [.], ack 6265, win 501, options [nop,nop,TS val 2943864307 ecr 2340789958], length 0 23:48:49.941193 ens4 In IP 192.168.0.1.443 > 172.16.10.9.38578: Flags [.], ack 2118, win 272, options [nop,nop,TS val 2340789959 ecr 2943864306], length 0
Pembersihan
Agar akun Google Cloud Anda tidak dikenai biaya untuk resource yang digunakan dalam tutorial ini, hapus project yang berisi resource tersebut, atau simpan project dan hapus setiap resource.
Anda dapat menghapus resource individual dalam project dengan menjalankan perintah berikut di Cloud Shell:
projectid=PROJECT_ID
gcloud config set project ${projectid}
gcloud compute firewall-rules delete ssh-iap-on-prem-vpc --quiet
gcloud compute instances delete on-prem-client --zone=us-central1-a --quiet
gcloud iam service-accounts delete user-managed-sa@$projectid.iam.gserviceaccount.com --quiet
gcloud compute forwarding-rules delete pscvertex --global --quiet
gcloud compute addresses delete psc-googleapi-ip --global --quiet
gcloud compute vpn-tunnels delete vertex-networking-vpc-tunnel0 vertex-networking-vpc-tunnel1 onprem-vpc-tunnel0 onprem-vpc-tunnel1 --region=us-central1 --quiet
gcloud compute routers nats delete us-central-cloudnat-onprem --router=onprem-vpc-router1 --region=us-central1 --quiet
gcloud compute routers delete vertex-networking-vpc-router1 onprem-vpc-router1 --region=us-central1 --quiet
gcloud compute vpn-gateways delete vertex-networking-vpn-gw1 onprem-vpn-gw1 --region=us-central1 --quiet
gcloud compute networks subnets delete onprem-vpc-subnet1 --region=us-central1 --quiet
gcloud compute networks delete onprem-vpc --quiet
gcloud compute networks delete vertex-networking-vpc --quiet
Langkah selanjutnya
- Pelajari opsi jaringan perusahaan untuk mengakses endpoint dan layanan Vertex AI
- Pelajari cara Mengakses layanan yang dipublikasikan melalui endpoint.
- Pelajari cara kerja Private Service Connect dan alasan layanan ini menawarkan manfaat performa yang signifikan.
- Pelajari lebih lanjut Cara mengakses Google API melalui endpoint.
- Pelajari cara dan alasan menggunakan zona penerusan DNS daripada mengupdate file
/etc/hosts
dalam lingkungan produksi dan skala besar. - Pelajari lebih lanjut pemberitahuan rute kustom.