Host lokal dapat menjangkau AI Generatif di Vertex AI melalui internet publik atau 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 dan karenanya direkomendasikan untuk aplikasi penting.
Dalam tutorial ini, Anda akan menggunakan VPN dengan 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, data scientist, dan peneliti yang sudah memahami Vertex AI, VPC, konsol Google Cloud, dan Cloud Shell. Pemahaman tentang AI Generatif di Vertex AI akan membantu, tetapi tidak diperlukan.
Tujuan
- Buat dua jaringan VPC, seperti yang ditunjukkan dalam diagram
sebelumnya:
- Satu (
onprem-vpc
) mewakili jaringan lokal. - Yang lainnya (
vertex-networking-vpc
) adalah 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.
- Konfigurasikan rute kustom yang diiklankan 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 merepresentasikan aplikasi klien yang mengirim permintaan ke GenAI REST API melalui VPN 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.
- Jika Anda bukan pemilik project, pemilik project harus memberi Anda peran IAM
roles/resourcemanager.projectIamAdmin
. Anda harus memiliki peran ini untuk memberikan peran dan izin IAM kepada diri 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}
-
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/iam.serviceAccountCreator, roles/iam.serviceAccountUser, roles/iam.serviceAccountDeleter, roles/resourcemanager.projectIamAdmin, roles/servicedirectory.editor, roles/servicemanagement.quotaAdmin, roles/aiplatform.user
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, IAM, Compute Engine, Service Usage, and Vertex AI APIs:
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 untuk menjadi jaringan utama untuk mengakses API AI generatif Vertex AI (juga dikenal sebagai GenAI), dan yang lainnya 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.
Dalam 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 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.
Dalam daftar gateway VPN, pastikan kedua 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
Menambahkan 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 Function.
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 Detail router, pastikan gateway Cloud NAT
us-central-cloudnat-onprem
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 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.
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
ke 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 rute yang diiklankan secara kustom
ke jaringan onprem-vpc
pada langkah berikutnya.
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 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
Cantumkan 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
Membuat pemberitahuan rute kustom untuk vertex-networking-vpc
Di bagian ini, Anda akan membuat
rute yang diiklankan secara 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/32
. (192.168.0.1
adalah alamat IP endpoint PSC.)Jika entri ini tidak langsung muncul, tunggu beberapa menit, lalu muat ulang tab browser Google Cloud konsol.
- 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).
Untuk mengizinkan Identity-Aware Proxy (IAP) terhubung ke instance VM, Anda membuat aturan firewall yang:
- Berlaku untuk semua instance VM yang ingin Anda buat dapat diakses 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 akan Anda gunakan nanti 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 Satu), 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 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. Endpoint 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
)
diarahkan ke endpoint PSC (192.168.0.1
).
Di instance VM
on-prem-client
(Tab Satu), 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
.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.
Sambil membiarkan perintah
tcpdump
berjalan di Tab Satu, buka sesi Cloud Shell baru (Tab Dua) dengan mengklik buka tab baru di Cloud Shell.Dalam sesi Cloud Shell baru (Tab Dua), 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
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 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 Satu, 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 Satu 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 dengan berikut ini: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 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 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 alasannya menawarkan manfaat performa yang signifikan.
- Pelajari lebih lanjut Tentang mengakses Google API melalui endpoint.
- Pelajari cara dan alasan
menggunakan zona penerusan DNS,
bukan memperbarui file
/etc/hosts
dalam skala besar dan lingkungan produksi. - Pelajari lebih lanjut rute yang diberitahukan khusus.