Arsitektur referensi
Dalam arsitektur referensi berikut, VPC Bersama di-deploy dengan model Gemini di project layanan, ph-fm-svc-project (project layanan model dasar) dengan atribut kebijakan layanan yang mengizinkan akses pribadi ke Vertex AI API dari AWS:
- Satu perimeter Kontrol Layanan VPC
- Identitas pengguna yang ditentukan project

Opsional: Buat tingkat akses
Jika pengguna akhir Anda memerlukan akses ke Vertex AI melalui Google Cloud konsol, ikuti petunjuk di bagian ini untuk membuat tingkat akses Kontrol Layanan VPC. Namun, jika akses terprogram ke API berasal dari sumber pribadi (seperti lokal dengan Akses Google Pribadi atau Cloud Workstations), tingkat akses tidak diperlukan.
Dalam arsitektur referensi ini, kita menggunakan rentang CIDR perusahaan, corp-public-block, untuk mengizinkan traffic karyawan perusahaan mengakses konsol Google Cloud .
Access Context Manager memungkinkan administrator organisasi menentukan kontrol akses berbasis atribut yang terperinci untuk project dan resource diGoogle Cloud. Google Cloud
Tingkat akses menjelaskan persyaratan yang harus dipenuhi agar permintaan dapat diproses. Contohnya mencakup:
- Jenis perangkat dan sistem operasi (memerlukan lisensi Chrome Enterprise Premium)
- Alamat IP
- Identitas pengguna
Jika ini adalah pertama kalinya organisasi menggunakan Access Context Manager, maka administrator harus menentukan kebijakan akses, yang merupakan container untuk tingkat akses dan perimeter layanan.
Di pemilih project di bagian atas konsol Google Cloud , klik tab Semua, lalu pilih organisasi Anda.
Buat tingkat akses dasar dengan mengikuti petunjuk di halaman Membuat tingkat akses dasar. Tentukan opsi berikut:
- Di bagian Create conditions in, pilih Basic mode.
- Di kolom Judul tingkat akses, masukkan
corp-public-block. - Di bagian Kondisi, untuk opsi When condition is met, return, pilih TRUE.
- Di bagian IP Subnetworks, pilih Public IP.
- Untuk rentang alamat IP, tentukan rentang CIDR eksternal yang memerlukan akses ke perimeter Kontrol Layanan VPC.
Membangun perimeter layanan Kontrol Layanan VPC
Saat Anda membuat perimeter layanan, Anda mengizinkan akses ke layanan yang dilindungi dari luar perimeter dengan menentukan project yang dilindungi. Saat menggunakan Kontrol Layanan VPC dengan VPC Bersama, Anda membuat satu perimeter besar yang mencakup project host dan layanan. (Jika Anda hanya memilih project layanan di perimeter, endpoint jaringan yang termasuk dalam project layanan akan tampak berada di luar perimeter, karena subnet hanya dikaitkan dengan project host.)
Pilih jenis konfigurasi untuk perimeter baru
Di bagian ini, Anda akan membuat perimeter layanan Kontrol Layanan VPC dalam mode uji coba. Dalam mode uji coba, perimeter mencatat pelanggaran seolah-olah perimeter diterapkan, tetapi tidak mencegah akses ke layanan yang dibatasi. Menggunakan mode uji coba sebelum beralih ke mode wajib direkomendasikan sebagai praktik terbaik.
Di bagian Navigation menu pada konsol Google Cloud , klik Security, lalu klik VPC Service Controls.
Di halaman VPC Service Controls, klik Dry run mode.
Klik New perimeter.
Di tab New VPC Service Perimeter, di kotak Perimeter Name, masukkan nama perimeter. Jika tidak, terima nilai default.
Nama perimeter dapat memiliki panjang maksimum 50 karakter, harus diawali dengan huruf, dan hanya boleh berisi huruf Latin ASCII (a-z, A-Z), angka (0-9), atau garis bawah (_). Nama perimeter peka huruf besar/kecil dan harus unik dalam kebijakan akses.
Pilih resource yang akan dilindungi
Klik Sumber daya yang akan dilindungi.
Untuk menambahkan project atau jaringan VPC yang ingin Anda amankan dalam perimeter, lakukan hal berikut:
Klik Tambahkan Fasilitas.
Untuk menambahkan project ke perimeter, di panel Tambahkan resource, klik Tambahkan project.
Untuk memilih project, di dialog Tambahkan project, pilih kotak centang project tersebut. Dalam arsitektur referensi ini, kami memilih project berikut:
infra-host-projectaiml-host-projectph-fm-svc-project
Klik Tambahkan resource yang dipilih. Project yang ditambahkan akan muncul di bagian Projects.
Pilih layanan yang dibatasi
Dalam arsitektur referensi ini, cakupan API yang dibatasi terbatas, sehingga hanya mengaktifkan API yang diperlukan untuk Gemini. Namun, sebagai praktik terbaik, sebaiknya batasi semua layanan saat Anda membuat perimeter untuk mengurangi risiko pemindahan data yang tidak sah dari layananGoogle Cloud .
Untuk memilih layanan yang akan diamankan dalam perimeter, lakukan hal berikut:
Klik Layanan yang Dibatasi.
Di panel Restricted Services, klik Add services.
Pada dialog Specify services to restrict, pilih Vertex AI API.
Klik Add Vertex AI API.
Opsional: Pilih layanan yang dapat diakses VPC
Setelan layanan yang dapat diakses VPC membatasi kumpulan layanan yang dapat diakses dari endpoint jaringan di dalam perimeter layanan Anda. Dalam arsitektur referensi ini, kita akan mempertahankan setelan default Semua Layanan.
Opsional: Pilih tingkat akses
Jika Anda membuat tingkat akses CIDR perusahaan di bagian sebelumnya, lakukan hal berikut untuk mengizinkan akses ke resource terlindungi dari luar perimeter:
Klik Tingkat Akses.
Klik kotak Pilih Tingkat Akses.
Anda juga dapat menambahkan tingkat akses setelah perimeter dibuat.
Centang kotak yang sesuai dengan tingkat akses. (Dalam arsitektur referensi ini, nilainya adalah
corp-public-block.)
Kebijakan ingress dan egress
Dalam arsitektur referensi ini, Anda tidak perlu menentukan setelan apa pun di panel Ingress Policy atau Egress Policy.
Buat perimeter
Setelah Anda menyelesaikan langkah-langkah konfigurasi sebelumnya, buat perimeter dengan mengklik Buat perimeter.
Mengonfigurasi konektivitas jaringan antara AWS dan Google API
Mengonfigurasi Private Service Connect untuk Google API
Private Service Connect untuk mengakses Google API adalah alternatif penggunaan Akses Google Pribadi atau nama domain publik untuk Google API. Dalam hal ini, produsernya adalah Google.
Menggunakan Private Service Connect memungkinkan Anda melakukan hal berikut:
- Buat satu atau beberapa alamat IP internal guna mengakses Google API untuk berbagai kasus penggunaan.
- Mengarahkan traffic lokal ke alamat IP dan region tertentu saat mengakses Google API.
- Buat nama DNS endpoint kustom yang digunakan untuk menyelesaikan Google API.
Dalam arsitektur referensi, endpoint Google API Private Service Connect bernama restricted, dengan Alamat IP 10.10.10.3, di-deploy dengan VPC-SC target, yang digunakan sebagai IP Virtual (VIP) untuk mengakses layanan terbatas yang dikonfigurasi di Perimeter VPC-SC. Penargetan layanan yang tidak dibatasi dengan VIP tidak didukung. Untuk mengetahui informasi selengkapnya, lihat
Tentang cara mengakses Vertex AI API | Google Cloud.
Mengonfigurasi jaringan VPC AWS
Konektivitas jaringan antara Amazon Web Services (AWS) dan Google Cloud dibuat menggunakan tunnel Virtual Private Network dengan Ketersediaan Tinggi (HA VPN). Koneksi aman ini memfasilitasi komunikasi pribadi antara dua lingkungan cloud. Namun, untuk mengaktifkan perutean dan komunikasi yang lancar antara resource di AWS dan Google Cloud, Border Gateway Protocol (BGP) digunakan.
Di lingkungan Google Cloud , pemberitahuan rute kustom diperlukan. Rute kustom ini secara khusus mengiklankan alamat IP Google API Private Service Connect ke jaringan AWS. Dengan mengiklankan alamat IP ini, AWS dapat membuat rute langsung ke Google API, melewati internet publik dan meningkatkan performa.
Dalam arsitektur referensi, instance Sagemaker di-deploy dengan asosiasi dengan VPC AWS tempat VPN dibuat dengan Google Cloud. Border Gateway Protocol (BGP) digunakan untuk mengiklankan rute di seluruh VPN HA antara AWS dan Google Cloud jaringan. Akibatnya, Google Cloud dan AWS dapat merutekan traffic dua arah melalui VPN. Untuk mengetahui informasi selengkapnya tentang cara menyiapkan koneksi VPN dengan ketersediaan tinggi (HA), lihat Membuat koneksi VPN dengan ketersediaan tinggi (HA) antara Google Cloud dan AWS.
Mengonfigurasi update Route 53
Buat zona dihosting pribadi bernama p.googleapis.com di AWS Route 53 dan tambahkan nama domain yang sepenuhnya memenuhi syarat REGION-aiplatform-restricted.p.googleapis.com dengan alamat IP 10.10.10.3 (IP Googleapis Private Service Connect) sebagai data DNS A.
Saat Jupyter Notebook SDK melakukan pencarian DNS untuk Vertex AI API guna menjangkau Gemini, Route 53 akan menampilkan alamat IP Google API Private Service Connect. Jupyter Notebook
menggunakan alamat IP yang diperoleh dari Route 53 untuk membuat koneksi ke
endpoint Google API Private Service Connect yang dirutekan melalui
HA VPN ke Google Cloud.
Mengonfigurasi update Sagemaker
Arsitektur referensi ini menggunakan instance Notebook Amazon SageMaker untuk mengakses Vertex AI API. Namun, Anda dapat melakukan penyiapan yang sama dengan layanan komputasi lain yang mendukung VPC, seperti Amazon EC2 atau AWS Lambda.
Untuk mengautentikasi permintaan, Anda dapat menggunakan kunci akun layanan Google Cloud atau menggunakan Workload Identity Federation. Untuk mengetahui informasi tentang cara menyiapkan Workload Identity Federation, lihat bagian Penyedia lokal atau penyedia cloud lainnya.
Instance Jupyter Notebook memanggil API ke model Gemini yang dihosting di
Google Cloud dengan melakukan resolusi DNS ke nama domain yang sepenuhnya memenuhi syarat
API Google Private Service Connect kustom
REGION-aiplatform-restricted.p.googleapis.com yang menggantikan
nama domain yang sepenuhnya memenuhi syarat default
(REGION-aiplatform.googleapis.com).
Vertex AI API dapat dipanggil menggunakan Rest, gRPC, atau SDK. Untuk menggunakan nama domain yang sepenuhnya memenuhi syarat pelanggan Private Service Connect, perbarui API_ENDPOINT di Jupyter Notebook dengan kode berikut:
Petunjuk penggunaan Vertex AI SDK untuk Python
Instal SDK:
pip install --upgrade google-genaiImpor dependensi:
from google.cloud import genai from google.genai.types import ( GenerateContentConfig, HarmBlockThreshold, HarmCategory, Part, SafetySetting )Lakukan inisialisasi variabel lingkungan berikut:
PROJECT_ID="ph-fm-svc-projects" # Google Cloud Project ID LOCATION_ID="us-central1" # Enter Vertex AI Gemini region such as us-central1 API_ENDPOINT="https://us-central1-aiplatform-restricted.p.googleapis.com" # PSC Endpoint MODEL_ID="gemini-2.0-flash-001" # Gemini Model IDLakukan inisialisasi Vertex AI SDK untuk Python:
from google import genai client= genai.Client(vertexai=True, project=PROJECT_ID, location=LOCATION_ID, http_options={'base_url': API_ENDPOINT})Buat permintaan berikut ke Vertex AI Gemini API:
prompt = "which weighs more, 1kg feathers or 1kg stones" safety_settings = [ SafetySetting( category=HarmCategory.HARM_CATEGORY_DANGEROUS_CONTENT, threshold=HarmBlockThreshold.BLOCK_LOW_AND_ABOVE, ), SafetySetting( category=HarmCategory.HARM_CATEGORY_HARASSMENT, threshold=HarmBlockThreshold.BLOCK_LOW_AND_ABOVE, ), SafetySetting( category=HarmCategory.HARM_CATEGORY_HATE_SPEECH, threshold=HarmBlockThreshold.BLOCK_LOW_AND_ABOVE, ), SafetySetting( category=HarmCategory.HARM_CATEGORY_SEXUALLY_EXPLICIT, threshold=HarmBlockThreshold.BLOCK_LOW_AND_ABOVE, ), ] response = client.models.generate_content( model=MODEL_ID, contents=prompt, config=GenerateContentConfig( safety_settings=safety_settings, ), ) # Response will be `None` if it is blocked. print(response.text)Pada tahap ini, Anda dapat melakukan panggilan API ke Gemini dari notebook Jupyter untuk mengakses Gemini yang dihosting di Google Cloud. Jika panggilan berhasil, output-nya akan terlihat seperti berikut:
They weigh the same. Both weigh 1 kilogram.
Petunjuk untuk menggunakan Vertex AI REST API
Di bagian ini, Anda akan menyiapkan beberapa variabel penting yang digunakan selama proses. Variabel ini menyimpan informasi tentang project Anda, lokasi resource Anda, model Gemini tertentu, dan endpoint PSC yang ingin Anda gunakan. Buka jendela terminal di dalam notebook JupyterLab untuk menjalankan perintah berikut:
Buka jendela terminal di dalam notebook Jupyter.
Lakukan inisialisasi variabel lingkungan berikut:
export PROJECT_ID="ph-fm-svc-projects" export LOCATION_ID="us-central1" export API_ENDPOINT="us-central1-aiplatform-restricted.p.googleapis.com" export MODEL_ID="gemini-1.5-flash-002"Gunakan editor teks seperti
vimataunanountuk membuat file baru bernamarequest.jsonyang berisi permintaan berformat berikut untuk Vertex AI Gemini API:{ "contents": [ { "role": "user", "parts": [ { "text": "which weighs more, 1kg feathers or 1kg stones" } ] } ], "generationConfig": { "temperature": 1, "maxOutputTokens": 8192, "topP": 0.95, "seed": 0 }, "safetySettings": [ { "category": "HARM_CATEGORY_HATE_SPEECH", "threshold": "OFF" }, { "category": "HARM_CATEGORY_DANGEROUS_CONTENT", "threshold": "OFF" }, { "category": "HARM_CATEGORY_SEXUALLY_EXPLICIT", "threshold": "OFF" }, { "category": "HARM_CATEGORY_HARASSMENT", "threshold": "OFF" } ] }Buat permintaan curl berikut ke Vertex AI Gemini API:
curl -v \ -X POST \ -H "Content-Type: application/json" \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ "https://$API_ENDPOINT/v1/projects/$PROJECT_ID/locations/$LOCATION_ID/publishers/google/models/$MODEL_ID:streamGenerateContent" -d '@request.json'
Memvalidasi perimeter Anda dalam mode uji coba
Dalam arsitektur referensi ini, perimeter layanan dikonfigurasi dalam mode uji coba, sehingga Anda dapat menguji efek kebijakan akses tanpa penerapan. Artinya, Anda dapat melihat dampak kebijakan terhadap lingkungan Anda jika kebijakan tersebut aktif, tetapi tanpa risiko mengganggu traffic yang sah.
Setelah memvalidasi perimeter dalam mode uji coba, alih ke mode penerapan.
Langkah berikutnya
- Pelajari cara Menggunakan nama DNS
p.googleapis.com. - Untuk mempelajari cara memvalidasi perimeter dalam mode uji coba, tonton video logging uji coba Kontrol Layanan VPC.
- Pelajari cara menggunakan Vertex AI REST API.
- Pelajari lebih lanjut cara menggunakan Vertex AI SDK untuk Python.