Private Service Connect Vector Search

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:

  1. Memerlukan latensi rendah dan koneksi aman ke backend penyaluran Vector Search.
  2. Memiliki ruang IP terbatas untuk pemesanan peering VPC eksklusif.
  3. 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.

  • PROJECT: Project layanan tempat Anda membuat resource Vertex AI.
  • VPC_PROJECT: Project tempat VPC klien Anda berada. Untuk pengaturan VPC sederhana, ini akan sama dengan $PROJECT. Untuk penyiapan VPC bersama, ini akan menjadi project host VPC.
  • 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'"] }}'
    

    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 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: ID project 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: ID project 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 yang mirip 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"
     }
    }
    

    Konsol

    Gunakan petunjuk ini untuk men-deploy indeks Anda.

    1. Di bagian Vertex AI pada Konsol Google Cloud, buka bagian Deploy dan Gunakan. Pilih Cari Vektor

      Buka Cari Vektor

    2. Daftar indeks aktif Anda akan ditampilkan.
    3. Pilih nama indeks yang ingin Anda deploy. Halaman detail indeks akan terbuka.
    4. Dari halaman detail indeks, klik Deploy ke endpoint. Panel deployment indeks akan terbuka.
    5. Masukkan nama tampilan - nama ini berfungsi sebagai ID dan tidak dapat diperbarui.
    6. 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.
    7. Opsional: Di kolom Jenis mesin, pilih memori standar atau memori tinggi.
    8. 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.
    9. 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 aturan penerusan dalam project VPC yang menargetkan lampiran layanan. Untuk membuat aturan penerusan, gunakan contoh berikut:

    gcloud compute addresses create ${ADDRESS_NAME:?} \
        --region=${REGION:?} \
        --subnet=${SUBNET_NAME:?} \
        --project=${VPC_PROJECT:?}
    
    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 selanjutnya