Private Service Connect di Vector Search

Private Service Connect consente il consumo privato dei servizi da reti VPC che appartengono a diversi gruppi, team, progetti le tue organizzazioni. Puoi pubblicare e utilizzare servizi utilizzando indirizzi IP che che definisci e che sono interni alla tua rete VPC e, per Vector Search per eseguire ricerche di somiglianze vettoriali.

Abilitazione di Private Service Connect in una ricerca vettoriale questo endpoint è adatto per i casi d'uso che:

  1. Richiedono una bassa latenza e una connessione sicura a Vector Search di gestione dei backend.
  2. Dispongono di spazio IP limitato per la prenotazione esclusiva del peering VPC.
  3. È necessario accedere ai backend di servizio da più reti VPC degli utenti.

Per saperne di più sulla configurazione di Private Service Connect, consulta Panoramica di Private Service Connect dal documentazione di Virtual Private Cloud (VPC).

Crea l'endpoint indice

Per creare un endpoint con Private Service Connect abilitato, devi definirlo al momento della creazione dell'endpoint. È un processo simile alla creazione di altre endpoint in Vertex AI.

  • PROJECT: il progetto di servizio in cui stai creando Vertex AI Google Cloud.
  • VPC_PROJECT: il progetto in cui si trova il VPC del client. Per semplici configurazione VPC, sarà uguale a $PROJECT. Per la configurazione del VPC condiviso, sarà il progetto 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'"] }}'
    

    Esegui il deployment dell'indice

    Ora che l'indice è pronto, in questo passaggio esegui il deployment dell'indice all'endpoint creato con Private Service Connect abilitato.

    gcloud

    Questo esempio utilizza la classe gcloud ai index-endpoints deploy-index un comando kubectl.

    Prima di utilizzare uno qualsiasi dei dati di comando riportati di seguito, effettua le seguenti sostituzioni:

    • INDEX_ENDPOINT_ID: l'ID dell'endpoint indice.
    • DEPLOYED_INDEX_ID: una stringa specificata dall'utente per identificare in modo univoco l'indice di cui è stato eseguito il deployment. Deve iniziare con una lettera e contenere solo lettere, numeri o trattini bassi. Consulta DeployedIndex.id per le linee guida per il formato.
    • DEPLOYED_INDEX_ENDPOINT_NAME: nome visualizzato dell'endpoint indice di cui è stato eseguito il deployment.
    • INDEX_ID: l'ID dell'indice.
    • LOCATION: la regione in cui stai utilizzando Vertex AI.
    • PROJECT_ID: il tuo ID progetto Google Cloud.

    Esegui la persone che seguo :

    Linux, macOS o 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

    Prima di utilizzare i dati della richiesta, effettua le seguenti sostituzioni:

    • INDEX_ENDPOINT_ID: l'ID dell'endpoint indice.
    • DEPLOYED_INDEX_ID: una stringa specificata dall'utente per identificare in modo univoco l'indice di cui è stato eseguito il deployment. Deve iniziare con una lettera e contenere solo lettere, numeri o trattini bassi. Consulta DeployedIndex.id per le linee guida per il formato.
    • DEPLOYED_INDEX_ENDPOINT_NAME: nome visualizzato dell'endpoint indice di cui è stato eseguito il deployment.
    • INDEX_ID: l'ID dell'indice.
    • LOCATION: la regione in cui stai utilizzando Vertex AI.
    • PROJECT_ID: il tuo ID progetto Google Cloud.
    • PROJECT_NUMBER: il numero di progetto generato automaticamente per il tuo progetto.

    Metodo HTTP e URL:

    POST https://LOCATION-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/indexEndpoints/INDEX_ENDPOINT_ID:deployIndex
    

    Corpo JSON della richiesta:

    {
     "deployedIndex": {
       "id": "DEPLOYED_INDEX_ID",
       "index": "projects/PROJECT_ID/locations/LOCATION/indexes/INDEX_ID",
       "displayName": "DEPLOYED_INDEX_ENDPOINT_NAME"
     }
    }
    

    Per inviare la richiesta, espandi una delle seguenti opzioni:

    Dovresti ricevere una risposta JSON simile alla seguente:

    {
     "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"
     }
    }
    

    Console

    Utilizza queste istruzioni per eseguire il deployment del tuo indice.

    1. Nella sezione Vertex AI della console Google Cloud, vai a nella sezione Deployment e utilizzo. Seleziona Vector Search (Ricerca vettoriale).

      Vai a Ricerca vettoriale

    2. Viene visualizzato un elenco degli indici attivi.
    3. Seleziona il nome dell'indice di cui vuoi eseguire il deployment. Si apre la pagina dei dettagli dell'indice.
    4. Dalla pagina dei dettagli dell'indice, fai clic su . Deployment su endpoint. Si apre il riquadro di deployment dell'indice.
    5. Inserisci un nome visualizzato, che funge da ID e non può essere aggiornato.
    6. Dal menu a discesa Endpoint, seleziona l'endpoint in cui vuoi eseguire il deployment dell'indice. Nota: l'endpoint non è disponibile se è già stato eseguito il deployment dell'indice.
    7. (Facoltativo) Nel campo Tipo di macchina, seleziona Standard o con memoria elevata.
    8. Facoltativo. Seleziona Abilita scalabilità automatica per ridimensionare automaticamente di nodi in base alle esigenze dei tuoi carichi di lavoro. Il numero predefinito di repliche è 2 se la scalabilità automatica è disabilitata.
    9. Fai clic su Esegui il deployment per eseguire il deployment dell'indice nell'endpoint. Nota: il deployment richiede circa 30 minuti.

    Crea una regola di forwarding nel progetto VPC

    Al termine del deployment dell'indice, l'endpoint indice restituisce un collegamento al servizio. URI invece di un indirizzo IP. Devi creare un indirizzo di computing e una regola di forwarding nel Progetto VPC che ha come target il collegamento al servizio utilizzando l'indirizzo di computing creato. Per creare un indirizzo di computing, usa l'esempio seguente:

    gcloud compute addresses create ${ADDRESS_NAME:?} \
        --region=${REGION:?} \
        --subnet=${SUBNET_NAME:?} \
        --project=${VPC_PROJECT:?}
    

    Per creare una regola di forwarding che abbia come target l'URI del collegamento al servizio utilizzando l'indirizzo di computing creato, usa l'esempio seguente:

    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:?}
    

    (Facoltativo) Crea un record DNS per l'indirizzo IP

    Se vuoi connetterti e caricare senza memorizzare l'indirizzo IP effettivo, puoi per creare un record DNS. Questo passaggio è facoltativo.

    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:?}
    

    Invia query all'endpoint indice

    Ora che hai creato un endpoint con Private Service Connect e creato l'indice, puoi iniziare a eseguire query.

    Per eseguire query sull'indice, vedi Eseguire query sugli indici per ottenere i vicini più prossimi.

    Passaggi successivi