Private Service Connect consente il consumo privato di servizi tra reti VPC appartenenti a gruppi, team, progetti e organizzazioni diversi. Puoi pubblicare e utilizzare i servizi utilizzando gli indirizzi IP che definisci e che sono interni alla tua rete VPC e per gli endpoint di Vector Search per eseguire ricerche di somiglianza vettoriale.
L'abilitazione di Private Service Connect su un endpoint di Vector Search è adatta ai casi d'uso che:
- Richiedono una bassa latenza e una connessione sicura ai backend di pubblicazione di Vector Search.
- Hanno uno spazio IP limitato per la prenotazione del peering VPC esclusivo.
- Devono accedere ai backend di pubblicazione da più reti VPC utente.
Per scoprire di più sulla configurazione di Private Service Connect, consulta la panoramica di Private Service Connect nella documentazione di Virtual Private Cloud (VPC).
Creare l'endpoint dell'indice
Devi abilitare Private Service Connect quando crei l'endpoint. Questa procedura è simile alla creazione di altri endpoint in Gemini Enterprise Agent Platform.
REST
PROJECT: l'ID del progetto di servizio in cui stai creando le risorse di Gemini Enterprise Agent Platform.
REGION: la regione di rete.
DISPLAY_NAME: un nome visualizzato da assegnare all'endpoint. Questo nome viene utilizzato per creare un ID per l'endpoint e non può essere aggiornato in un secondo momento.
VPC_PROJECTS: per la configurazione di VPC condiviso, questo è un elenco di progetti host VPC separati da virgole. Per la configurazione VPC autonoma, questo è uguale a PROJECT.
PROJECT=PROJECT_ID
VPC_PROJECT=VPC_PROJECT_ID
REGION=us-central1
VERTEX_ENDPOINT=REGION-aiplatform.googleapis.com
curl -H "Content-Type: application/json" \
-H "Authorization: Bearer `gcloud auth print-access-token`" \
https://REGION-aiplatform.googleapis.com/v1/projects/PROJECT/locations/REGION/indexEndpoints \
-d '{
"displayName": "DISPLAY_NAME",
"privateServiceConnectConfig": {
"enablePrivateServiceConnect": true,
"projectAllowlist": [ "VPC_PROJECT_1", "VPC_PROJECT_2", "VPC_PROJECT_N"]
}
}
Console
Per creare l'endpoint:
Fai clic sul pulsante seguente per andare a Vector Search nella Google Cloud console. Viene visualizzato un elenco degli indici attivi.
Seleziona la scheda Endpoint indice. Vengono visualizzati gli endpoint dell'indice.
Fai clic su Crea nuovo endpoint. Si apre il riquadro Crea un nuovo endpoint indice.
In Nome visualizzato, inserisci un nome visualizzato per l'endpoint dell'indice. Questo nome viene utilizzato per creare un ID per l'endpoint e non può essere aggiornato in un secondo momento.
Seleziona una regione dal menu a discesa Regione.
In Accesso, fai clic su Private Service Connect (anteprima).
Viene visualizzato un campo di testo in cui puoi specificare i progetti VPC da utilizzare. Aggiungi gli ID o i numeri dei progetti VPC che vuoi utilizzare.
Fai clic su Crea.
Informazioni sulle opzioni di deployment dell'indice
Puoi eseguire il deployment dell'indice con la connettività del servizio automatica o manuale.
- Esegui il deployment con l'automazione di Private Service Connect: configura una policy di connessione al servizio ed esegui il deployment degli indici. La configurazione di una policy di connessione al servizio consente di eseguire il deployment su una rete specifica senza creare ogni volta un indirizzo di calcolo e una regola di forwarding.
- Esegui il deployment con la connessione manuale: esegui il deployment dell'indice e crea manualmente un indirizzo di calcolo e una regola di forwarding. Potresti scegliere questa opzione se devi utilizzare più indirizzi IP per lo stesso URI di collegamento di servizio, anche se non è un caso d'uso comune.
Eseguire il deployment con l'automazione di Private Service Connect
Puoi configurare una policy di connessione al servizio in modo da non dover creare manualmente un indirizzo di calcolo e una regola di forwarding dopo ogni deployment dell'indice.
- Innanzitutto, crea una policy di connessione al servizio che specifichi la rete, la classe di servizio e la regione in cui eseguire il deployment degli indici. Questa è una configurazione una tantum. Se l'hai già fatto, vai alla procedura successiva.
- Esegui il deployment dell'indice.
Limitazioni
Automation consente un solo indirizzo IP per progetto per rete. Se devi utilizzare più indirizzi IP, consulta Eseguire manualmente il deployment dell'indice.
Creare una policy di connessione al servizio
Devi essere un amministratore di rete per creare una policy di connessione al servizio per automatizzare il deployment dell'indice.
Per automatizzare il deployment dell'indice:
Crea la policy di connessione al servizio.
PROJECT: il progetto di servizio in cui stai creando le risorse di Gemini Enterprise Agent Platform.
VPC_PROJECT: il progetto in cui si trova il VPC client. Per la configurazione di un singolo VPC, questo è uguale a $PROJECT. Per la configurazione di VPC condiviso, questo è il progetto host VPC.
NETWORK_NAME: il nome della rete in cui eseguire il deployment, nel formato
projects/./global/networks/ REGION: la regione di rete.
PSC_SUBNETS: le subnet di Private Service Connect da utilizzare.
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>Visualizza la policy di connessione al servizio.
gcloud network-connectivity service-connection-policies list --project=<vpc_project> -–region=<region>
Per saperne di più sulle policy di connessione al servizio, consulta Configurare le policy di connessione al servizio.
Eseguire il deployment dell'indice
REST
PROJECT: il progetto di servizio in cui stai creando le risorse di Gemini Enterprise Agent Platform.
VPC_PROJECT: il progetto in cui si trova il VPC client. Per la configurazione di VPC condiviso, questo è il progetto host VPC.
DISPLAY_NAME: un nome visualizzato da assegnare all'endpoint. Questo nome viene utilizzato per creare un ID per l'endpoint e non può essere aggiornato in un secondo momento.
NETWORK_NAME: il nome della rete in cui eseguire il deployment, nel formato
projects/./global/networks/ REGION: la regione di rete.
PSC_SUBNETS: la subnet di Private Service Connect da utilizzare.
PROJECT=PROJECT
VPC_PROJECTS=VPC_PROJECTS
REGION=REGION
curl -X POST -H "Authorization: Bearer $(gcloud auth print-access-token)"
-H "Content-Type: application/json; charset=utf-8" "https://LOCATIONAL_ENDPOINT.googleapis.com/v1/projects/PROJECT_NUMBER/locations/REGION/indexEndpoints/INDEX_ENDPOINT_ID:deployIndex"
-d '{
"deployedIndex": {
"id": "DEPLOYED_INDEX_ID",
"index": "projects/PROJECT/locations/us-central1/indexes/INDEX_ID ",
"displayName": "DISPLAY_NAME",
"psc_automation_configs": [
{ "project_id": "PROJECT_1", "network": "NETWORK_NAME_1" },
{ "project_id": "PROJECT_2", "network": "NETWORK_NAME_2" },
{ "project_id": "PROJECT_N", "network": "NETWORK_NAME_N" }]
}
}'
Console
Per eseguire il deployment dell'endpoint:
Fai clic sul pulsante seguente per andare a Vector Search nella Google Cloud console. Viene visualizzato un elenco degli indici attivi.
Fai clic sul pulsante Esegui il deployment per l'endpoint di Vector Search abilitato per Private Service Connect di cui vuoi eseguire il deployment. Viene visualizzato il riquadro a scomparsa Esegui il deployment dell'indice.
In Nome visualizzato, inserisci un nome visualizzato per l'indice di cui è stato eseguito il deployment. Questo nome viene utilizzato per creare l'ID e non può essere aggiornato in un secondo momento.
Fai clic su Endpoint e scegli l'endpoint dell'indice in cui vuoi eseguire il deployment.
(Facoltativo) Fai clic su Tipo di macchina per scegliere manualmente il tipo di macchina in cui eseguire il deployment dell'indice. Per impostazione predefinita, il tipo di macchina viene selezionato automaticamente in base alle dimensioni dello shard dell'indice.
Ora devi aggiungere le configurazioni dell'automazione di Private Service Connect. Ecco come fare:
Nella sezione Configurazioni dell'automazione PSC, fai clic su Aggiungi nuova configurazione.
Inserisci il nome del progetto VPC a cui connetterti.
Inserisci il nome di rete del progetto VPC a cui connetterti. Deve essere nel formato
projects/<project_number>/global/networks/<network_name>.(Facoltativo) Fai clic su Aggiungi nuova configurazione e continua ad aggiungere le configurazioni dell'automazione di Private Service Connect.
Fai clic su Esegui il deployment per completare l'operazione.
Eliminare la policy di connessione al servizio
Se devi eliminare la policy di connessione al servizio, esegui il seguente comando:
gcloud network-connectivity service-connection-policies delete --project=<vpc_project> –-region=<region> <policy_name>
Per saperne di più sulle policy di connessione al servizio, consulta Configurare le policy di connessione al servizio.
Eseguire il deployment con la connessione manuale
Esegui il deployment dell'indice e crea una regola di forwarding nel progetto VPC.
Eseguire il deployment dell'indice
Ora che l'indice è pronto, in questo passaggio esegui il deployment dell'indice nell'endpoint che hai creato con Private Service Connect abilitato.
gcloud
Questo esempio utilizza ilgcloud ai index-endpoints deploy-index
comando.
Prima di utilizzare i dati dei comandi riportati di seguito, effettua le seguenti sostituzioni:
- INDEX_ENDPOINT_ID: l'ID dell'endpoint dell'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 sul formato.
- DEPLOYED_INDEX_ENDPOINT_NAME: il nome visualizzato dell'endpoint dell'indice di cui è stato eseguito il deployment.
- INDEX_ID: l'ID dell'indice.
- LOCATION: la regione in cui utilizzi Agent Platform.
- PROJECT_ID: l' Google Cloud ID progetto.
Esegui il seguente comando:
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, apporta le sostituzioni seguenti:
- INDEX_ENDPOINT_ID: l'ID dell'endpoint dell'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 sul formato.
- DEPLOYED_INDEX_ENDPOINT_NAME: il nome visualizzato dell'endpoint dell'indice di cui è stato eseguito il deployment.
- INDEX_ID: l'ID dell'indice.
- LOCATION: la regione in cui utilizzi Agent Platform.
- PROJECT_ID: l' Google Cloud ID progetto.
- PROJECT_NUMBER: il numero di progetto generato automaticamente.
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 di queste 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"
}
}
Terraform
L'esempio seguente utilizza la rissa Terraform vertex_ai_index_endpoint_deployed_index per creare un endpoint dell'indice di cui è stato eseguito il deployment.
Per scoprire come applicare o rimuovere una configurazione Terraform, consulta Comandi Terraform di base.
Python
Per scoprire come installare o aggiornare l'SDK Vertex AI Python, consulta Installare l'SDK Vertex AI Python. Per saperne di più, consulta la documentazione di riferimento dell'API Python.
Console
Utilizza queste istruzioni per eseguire il deployment dell'indice.
- Nella sezione Agent Platform della Google Cloud console, vai a
la sezione Esegui il deployment e utilizza. Seleziona Vector Search.
Vai a Vector Search. Viene visualizzato un elenco degli indici attivi.
- Seleziona il nome dell'indice di cui vuoi eseguire il deployment. Viene visualizzata la pagina dei dettagli dell'indice.
- Nella pagina dei dettagli dell'indice, fai clic su Esegui il deployment sull'endpoint. Viene visualizzato il riquadro di deployment dell'indice.
- Inserisci un nome visualizzato. Questo nome funge da ID e non può essere aggiornato.
- Dal menu a discesa Endpoint, seleziona l'endpoint in cui vuoi eseguire il deployment di questo indice. Nota: l'endpoint non è disponibile se l'indice è già stato eseguito il deployment.
- (Facoltativo) Nel campo Tipo di macchina, seleziona standard o con memoria elevata.
- (Facoltativo) Seleziona Abilita la scalabilità automatica per ridimensionare automaticamente il numero di nodi in base alle esigenze dei tuoi carichi di lavoro. Il numero predefinito di repliche è 2 se la scalabilità automatica è disabilitata.
- Fai clic su Esegui il deployment per eseguire il deployment dell'indice sull'endpoint. Nota: il deployment richiede circa 30 minuti.
Creare una regola di forwarding nel progetto VPC
Al termine del deployment dell'indice, l'endpoint dell'indice restituisce un URI di collegamento di servizio anziché un indirizzo IP. Devi creare un indirizzo di calcolo e una regola di forwarding nel progetto VPC che indirizzi il collegamento di servizio utilizzando l'indirizzo di calcolo creato. Per creare un indirizzo di calcolo, utilizza l'esempio seguente:
gcloud compute addresses create ${ADDRESS_NAME:?} \
--region=${REGION:?} \
--subnet=${SUBNET_NAME:?} \
--project=${VPC_PROJECT:?}
Per creare una regola di forwarding che indirizzi l'URI di collegamento di servizio utilizzando l'indirizzo di calcolo creato, utilizza 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) Creare un record DNS per l'indirizzo IP
Se vuoi connetterti e caricare senza memorizzare l'indirizzo IP effettivo, puoi 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:?}
Inviare query all'endpoint dell'indice
Ora che hai creato un endpoint con Private Service Connect e hai creato l'indice, puoi iniziare a eseguire query.
Per eseguire query sull'indice, consulta Eseguire query sugli indici per ottenere i vicini più prossimi.
Passaggi successivi
- Scopri come aggiornare e ricompilare l'indice
- Scopri come monitorare l'endpoint dell'indice