Private Service Connect memungkinkan penggunaan layanan secara pribadi di seluruh jaringan VPC yang menjadi bagian dari grup, tim, project, atau organisasi yang berbeda. Anda dapat memublikasikan dan menggunakan layanan menggunakan alamat IP yang Anda tentukan dan yang bersifat internal untuk jaringan VPC Anda, serta untuk endpoint Vector Search guna melakukan penelusuran kesamaan vektor.
Private Service Connect sebaiknya diaktifkan di endpoint Vector Search untuk kasus penggunaan yang:
- Memerlukan latensi rendah dan koneksi aman ke backend penyaluran Vector Search.
- Memiliki ruang IP terbatas untuk pemesanan peering VPC eksklusif.
- Perlu mengakses backend penyaluran dari beberapa jaringan VPC pengguna.
Untuk mempelajari cara menyiapkan Private Service Connect lebih lanjut, lihat Ringkasan Private Service Connect dari dokumentasi Virtual Private Cloud (VPC).
Membuat endpoint indeks
Untuk membuat endpoint dengan Private Service Connect yang diaktifkan, Anda harus menentukannya saat membuat endpoint. Hal ini mirip seperti membuat endpoint lain di Vertex AI.
REST
PROJECT=<your-service-project>
VPC_PROJECT=<your-vpc-project>
REGION=us-central1
VERTEX_ENDPOINT=$REGION-aiplatform.googleapis.com
curl -H "Content-Type: application/json" \
-H "Authorization: Bearer `gcloud auth print-access-token`" \
https://$VERTEX_ENDPOINT/v1/projects/$PROJECT/locations/$REGION/indexEndpoints \
-d '{displayName: "<your-index-endpoint-name>", privateServiceConnectConfig:
{ enablePrivateServiceConnect: true, projectAllowlist: ["'$VPC_PROJECT'", "'$PROJECT'"] }}'
Python
Untuk mempelajari cara menginstal atau mengupdate Vertex AI SDK untuk Python, lihat Menginstal Vertex AI SDK untuk Python. Untuk mengetahui informasi selengkapnya, lihat Dokumentasi referensi Python API.
Tentang opsi deployment indeks
Anda dapat men-deploy indeks dengan konektivitas layanan otomatis atau manual.
- Men-deploy dengan otomatisasi Private Service Connect: Siapkan kebijakan koneksi layanan dan deploy indeks Anda. Dengan menyiapkan kebijakan koneksi layanan, Anda dapat men-deploy ke jaringan tertentu tanpa membuat alamat komputasi dan aturan penerusan setiap kali.
- Men-deploy dengan koneksi manual: Men-deploy indeks dan membuat alamat komputasi dan aturan penerusan secara manual. Anda dapat memilih opsi ini jika perlu menggunakan beberapa alamat IP.
Men-deploy dengan otomatisasi Private Service Connect
Anda dapat menyiapkan kebijakan koneksi layanan sehingga tidak perlu membuat alamat komputasi dan aturan penerusan secara manual setelah setiap deployment indeks.
- Pertama, buat kebijakan koneksi layanan yang menentukan jaringan, class layanan, dan region tempat indeks akan di-deploy. Ini adalah penyiapan satu kali. Jika Anda sudah melakukannya, lanjutkan ke prosedur berikutnya.
- Deploy indeks.
Batasan
Otomatisasi hanya mengizinkan satu alamat IP per project per jaringan. Jika Anda perlu menggunakan beberapa alamat IP, lihat Men-deploy indeks secara manual.
Membuat kebijakan koneksi layanan
Anda harus menjadi administrator jaringan untuk membuat kebijakan koneksi layanan guna mengotomatiskan deployment indeks.
Untuk mengotomatiskan deployment indeks, ikuti langkah-langkah berikut:
Buat kebijakan koneksi layanan Anda.
- PROJECT: Project layanan tempat Anda membuat resource Vertex AI.
- VPC_PROJECT: Project tempat VPC klien Anda berada. Untuk penyiapan VPC tunggal, ini akan sama dengan $PROJECT. Untuk penyiapan VPC Bersama, ini adalah project host VPC.
-
NETWORK_NAME: Nama jaringan tempat deployment akan dilakukan, dalam format
projects/
./global/networks/ - REGION: Region jaringan.
- PSC_SUBNETS: Subnet Private Service Connect yang akan digunakan.
gcloud network-connectivity service-connection-policies create <policy_name> \ --project=<vpc_project> --network=<network_name> # in the format projects/<project_id>/global/networks/<network_name> \ --service-class=gcp-vertexai --region=<region> --subnets=<psc subnets>
Lihat kebijakan koneksi layanan Anda.
gcloud network-connectivity service-connection-policies list --project=<vpc_project> -–region=<region>
Men-deploy indeks
gcloud
Contoh ini menggunakan perintah gcloud ai index-endpoints deploy-index
.
Sebelum menggunakan salah satu data perintah di bawah, lakukan penggantian berikut:
- INDEX_ENDPOINT_ID: ID endpoint indeks.
- DEPLOYED_INDEX_ID: String yang ditentukan pengguna untuk mengidentifikasi indeks yang di-deploy secara unik. Nama ini harus diawali dengan huruf dan hanya berisi huruf, angka, atau garis bawah. Lihat DeployedIndex.id untuk panduan format.
- DEPLOYED_INDEX_ENDPOINT_NAME: Nama tampilan endpoint indeks yang di-deploy.
- INDEX_ID: ID indeks.
- LOCATION: Region tempat Anda menggunakan Vertex AI.
- PROJECT_ID: project ID Google Cloud Anda.
- NETWORK_1: Nama jaringan Compute Engine tempat endpoint indeks ini akan di-deploy.
- NETWORK_2: (Opsional) Nama jaringan Compute Engine tambahan untuk men-deploy endpoint ini.
Jalankan perintah berikut:
Linux, macOS, atau Cloud Shell
gcloud ai index-endpoints deploy-index INDEX_ENDPOINT_ID \ --deployed-index-id=DEPLOYED_INDEX_ID \ --display-name=DEPLOYED_INDEX_ENDPOINT_NAME \ --index=INDEX_ID \ --region=LOCATION \ --project=PROJECT_ID \ --psc-automation-configs=project-id=PROJECT_ID,network=NETWORK_1 \ --psc-automation-configs=project-id=PROJECT_ID,network=NETWORK_2
Windows (PowerShell)
gcloud ai index-endpoints deploy-index INDEX_ENDPOINT_ID ` --deployed-index-id=DEPLOYED_INDEX_ID ` --display-name=DEPLOYED_INDEX_ENDPOINT_NAME ` --index=INDEX_ID ` --region=LOCATION ` --project=PROJECT_ID ` --psc-automation-configs=project-id=PROJECT_ID,network=NETWORK_1 ` --psc-automation-configs=project-id=PROJECT_ID,network=NETWORK_2
Windows (cmd.exe)
gcloud ai index-endpoints deploy-index INDEX_ENDPOINT_ID ^ --deployed-index-id=DEPLOYED_INDEX_ID ^ --display-name=DEPLOYED_INDEX_ENDPOINT_NAME ^ --index=INDEX_ID ^ --region=LOCATION ^ --project=PROJECT_ID ^ --psc-automation-configs=project-id=PROJECT_ID,network=NETWORK_1 ^ --psc-automation-configs=project-id=PROJECT_ID,network=NETWORK_2
REST
Sebelum menggunakan salah satu data permintaan, lakukan penggantian berikut:
- INDEX_ENDPOINT_ID: ID endpoint indeks.
- DEPLOYED_INDEX_ID: String yang ditentukan pengguna untuk mengidentifikasi indeks yang di-deploy secara unik. Nama ini harus diawali dengan huruf dan hanya berisi huruf, angka, atau garis bawah. Lihat DeployedIndex.id untuk panduan format.
- DEPLOYED_INDEX_ENDPOINT_NAME: Nama tampilan endpoint indeks yang di-deploy.
- INDEX_ID: ID indeks.
- LOCATION: Region tempat Anda menggunakan Vertex AI.
- PROJECT_ID: project ID Google Cloud Anda.
- NETWORK_1: Nama jaringan Compute Engine tempat endpoint indeks ini akan di-deploy.
- NETWORK_2: (Opsional) Nama jaringan Compute Engine tambahan untuk men-deploy endpoint ini.
- PROJECT_NUMBER: Nomor project yang dibuat secara otomatis untuk project Anda.
Metode HTTP dan URL:
POST https://LOCATION-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/indexEndpoints/INDEX_ENDPOINT_ID:deployIndex
Meminta isi JSON:
{ "deployedIndex": { "id": "DEPLOYED_INDEX_ID", "index": "projects/PROJECT_ID/locations/LOCATION/indexes/INDEX_ID", "displayName": "DEPLOYED_INDEX_ENDPOINT_NAME" "psc_automation_configs": [ {"project_id": "PROJECT_ID", "network": "NETWORK_1"}, {"project_id": "PROJECT_ID", "network": "NETWORK_2" }] } }
Untuk mengirim permintaan Anda, perluas salah satu opsi berikut:
Anda akan melihat respons JSON seperti berikut:
{ "name": "projects/PROJECT_NUMBER/locations/LOCATION/indexEndpoints/INDEX_ENDPOINT_ID/operations/OPERATION_ID", "metadata": { "@type": "type.googleapis.com/google.cloud.aiplatform.v1.DeployIndexOperationMetadata", "genericMetadata": { "createTime": "2022-10-19T17:53:16.502088Z", "updateTime": "2022-10-19T17:53:16.502088Z" }, "deployedIndexId": "DEPLOYED_INDEX_ID" } }
Python
Untuk mempelajari cara menginstal atau mengupdate Vertex AI SDK untuk Python, lihat Menginstal Vertex AI SDK untuk Python. Untuk mengetahui informasi selengkapnya, lihat Dokumentasi referensi Python API.
Menghapus kebijakan koneksi layanan
Jika Anda perlu menghapus kebijakan koneksi layanan, jalankan perintah berikut:
gcloud network-connectivity service-connection-policies delete --project=<vpc_project> –-region=<region> <policy_name>
Men-deploy dengan koneksi manual
Deploy indeks dan buat aturan penerusan di project VPC Anda.
Men-deploy indeks
Setelah indeks siap, pada langkah ini, Anda akan men-deploy indeks ke endpoint yang dibuat dengan Private Service Connect yang diaktifkan.
gcloud
Contoh ini menggunakan perintahgcloud ai index-endpoints deploy-index
.
Sebelum menggunakan salah satu data perintah di bawah, lakukan penggantian berikut:
- INDEX_ENDPOINT_ID: ID endpoint indeks.
- DEPLOYED_INDEX_ID: String yang ditentukan pengguna untuk mengidentifikasi indeks yang di-deploy secara unik. Nama ini harus diawali dengan huruf dan hanya berisi huruf, angka, atau garis bawah. Lihat DeployedIndex.id untuk panduan format.
- DEPLOYED_INDEX_ENDPOINT_NAME: Nama tampilan endpoint indeks yang di-deploy.
- INDEX_ID: ID indeks.
- LOCATION: Region tempat Anda menggunakan Vertex AI.
- PROJECT_ID: project ID Google Cloud Anda.
Jalankan perintah berikut:
Linux, macOS, atau Cloud Shell
gcloud ai index-endpoints deploy-index INDEX_ENDPOINT_ID \ --deployed-index-id=DEPLOYED_INDEX_ID \ --display-name=DEPLOYED_INDEX_ENDPOINT_NAME \ --index=INDEX_ID \ --region=LOCATION \ --project=PROJECT_ID
Windows (PowerShell)
gcloud ai index-endpoints deploy-index INDEX_ENDPOINT_ID ` --deployed-index-id=DEPLOYED_INDEX_ID ` --display-name=DEPLOYED_INDEX_ENDPOINT_NAME ` --index=INDEX_ID ` --region=LOCATION ` --project=PROJECT_ID
Windows (cmd.exe)
gcloud ai index-endpoints deploy-index INDEX_ENDPOINT_ID ^ --deployed-index-id=DEPLOYED_INDEX_ID ^ --display-name=DEPLOYED_INDEX_ENDPOINT_NAME ^ --index=INDEX_ID ^ --region=LOCATION ^ --project=PROJECT_ID
REST
Sebelum menggunakan salah satu data permintaan, lakukan penggantian berikut:
- INDEX_ENDPOINT_ID: ID endpoint indeks.
- DEPLOYED_INDEX_ID: String yang ditentukan pengguna untuk mengidentifikasi indeks yang di-deploy secara unik. Nama ini harus diawali dengan huruf dan hanya berisi huruf, angka, atau garis bawah. Lihat DeployedIndex.id untuk panduan format.
- DEPLOYED_INDEX_ENDPOINT_NAME: Nama tampilan endpoint indeks yang di-deploy.
- INDEX_ID: ID indeks.
- LOCATION: Region tempat Anda menggunakan Vertex AI.
- PROJECT_ID: project ID Google Cloud Anda.
- PROJECT_NUMBER: Nomor project yang dibuat secara otomatis untuk project Anda.
Metode HTTP dan URL:
POST https://LOCATION-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/indexEndpoints/INDEX_ENDPOINT_ID:deployIndex
Meminta isi JSON:
{ "deployedIndex": { "id": "DEPLOYED_INDEX_ID", "index": "projects/PROJECT_ID/locations/LOCATION/indexes/INDEX_ID", "displayName": "DEPLOYED_INDEX_ENDPOINT_NAME" } }
Untuk mengirim permintaan Anda, perluas salah satu opsi berikut:
Anda akan melihat respons JSON seperti berikut:
{ "name": "projects/PROJECT_NUMBER/locations/LOCATION/indexEndpoints/INDEX_ENDPOINT_ID/operations/OPERATION_ID", "metadata": { "@type": "type.googleapis.com/google.cloud.aiplatform.v1.DeployIndexOperationMetadata", "genericMetadata": { "createTime": "2022-10-19T17:53:16.502088Z", "updateTime": "2022-10-19T17:53:16.502088Z" }, "deployedIndexId": "DEPLOYED_INDEX_ID" } }
Python
Untuk mempelajari cara menginstal atau mengupdate Vertex AI SDK untuk Python, lihat Menginstal Vertex AI SDK untuk Python. Untuk mengetahui informasi selengkapnya, lihat Dokumentasi referensi Python API.
Konsol
Gunakan petunjuk ini untuk men-deploy indeks Anda.
- Di bagian Vertex AI pada Konsol Google Cloud, buka bagian Deploy dan Gunakan. Pilih Cari Vektor
- Daftar indeks aktif Anda akan ditampilkan.
- Pilih nama indeks yang ingin Anda deploy. Halaman detail indeks akan terbuka.
- Dari halaman detail indeks, klik Deploy ke endpoint. Panel deployment indeks akan terbuka.
- Masukkan nama tampilan - nama ini berfungsi sebagai ID dan tidak dapat diperbarui.
- Dari drop-down Endpoint, pilih endpoint tempat Anda ingin men-deploy indeks ini. Catatan: Endpoint tidak tersedia jika indeks sudah di-deploy ke endpoint tersebut.
- Opsional: Di kolom Jenis mesin, pilih memori standar atau memori tinggi.
- Opsional. Pilih Aktifkan penskalaan otomatis untuk mengubah ukuran jumlah node secara otomatis berdasarkan permintaan workload Anda. Jumlah default replika adalah 2 jika penskalaan otomatis dinonaktifkan.
- Klik Deploy untuk men-deploy indeks ke endpoint. Catatan: Perlu waktu sekitar 30 menit untuk di-deploy.
Membuat aturan penerusan di project VPC
Setelah deployment indeks selesai, endpoint indeks akan menampilkan URI lampiran layanan, bukan alamat IP. Anda perlu membuat alamat komputasi, serta aturan penerusan dalam project VPC yang menargetkan lampiran layanan menggunakan alamat komputasi yang dibuat. Untuk membuat alamat komputasi, gunakan contoh berikut:
gcloud compute addresses create ${ADDRESS_NAME:?} \
--region=${REGION:?} \
--subnet=${SUBNET_NAME:?} \
--project=${VPC_PROJECT:?}
Untuk membuat aturan penerusan yang menargetkan URI lampiran layanan menggunakan alamat komputasi yang dibuat, gunakan contoh berikut:
SERVICE_ATTACHMENT_URI=`gcloud ai index-endpoints describe {INDEX_ENDPOINT_ID}
--format="value(deployedIndexes.privateEndpoints.serviceAttachment)"`
gcloud compute forwarding-rules create ${ENDPOINT_NAME:?} \
--network=${NETWORK_NAME:?} \
--address=${ADDRESS_NAME:?} \
--target-service-attachment=${SERVICE_ATTACHMENT_URI:?} \
--project=${VPC_PROJECT:?} \
--region=${REGION:?}
(Opsional) Membuat data DNS untuk alamat IP
Jika ingin menghubungkan dan memuat tanpa mengingat alamat IP yang sebenarnya, Anda dapat membuat data DNS. Langkah ini opsional.
DNS_NAME_SUFFIX=matchingengine.vertexai.goog. # Don't forget the "." in the end.
DNS_NAME=${INDEX_ENDPOINT_ID:?}.${REGION:?}.${DNS_NAME_SUFFIX:?}
gcloud dns managed-zones create ${DNS_ZONE_NAME:?} \
--dns-name=${DNS_NAME_SUFFIX:?} \
--visibility=private \
--project=${VPC_PROJECT:?} \
--region=${REGION:?}
gcloud dns record-sets create ${DNS_NAME:?} \
--rrdatas=${IP_ADDRESS:?} \
--type=A --ttl=60 \
--zone=${DNS_ZONE_NAME:?} \
--project=${VPC_PROJECT:?} \
--region=${REGION:?}
Mengirim kueri ke endpoint indeks
Setelah membuat endpoint dengan Private Service Connect dan membuat indeks, Anda dapat mulai menjalankan kueri.
Untuk membuat kueri indeks Anda, lihat Indeks kueri guna mendapatkan nearest neighbor.
Langkah berikutnya
- Mempelajari cara Mengupdate dan membuat kembali indeks
- Mempelajari cara Memantau endpoint indeks