Private Service Connect ermöglicht die private Nutzung von Diensten in VPC-Netzwerken, die zu verschiedenen Gruppen, Teams, Projekten und Organisationen gehören. Sie können Dienste mit von Ihnen definierten IP-Adressen in Ihrem VPC-Netzwerk veröffentlichen und nutzen. Außerdem können dadurch Vektorsuchendpunkte Suchvorgänge nach Vektorübereinstimmungen durchführen.
Das Aktivieren von Private Service Connect auf einem Vektorsuchendpunkt ist für Anwendungsfälle geeignet:
- Die eine niedrige Latenz und eine sichere Verbindung zu Bereitstellungs-Back-Ends der Vektorsuche erfordern.
- Die nur limitierte IP-Bereiche für exklusive VPC-Peering-Reservierungen haben.
- Die über mehrere Nutzer-VPC-Netzwerke auf die Bereitstellungs-Back-Ends zugreifen müssen.
Weitere Informationen zum Einrichten von Private Service Connect finden Sie unter Private Service Connect – Übersicht in der Virtual Private Cloud-Dokumentation (VPC).
Indexendpunkt erstellen
Sie müssen Private Service Connect aktivieren, wenn Sie Ihren Endpunkt erstellen. Diese Vorgehensweise ähnelt dem Erstellen anderer Endpunkte in der Gemini Enterprise Agent Platform.
REST
PROJECT: Die ID des Dienstprojekts, in dem Sie Gemini Enterprise Agent Platform-Ressourcen erstellen.
REGION: Die Netzwerkregion.
DISPLAY_NAME: Ein Anzeigename für den Endpunkt. Mit diesem Namen wird eine ID für den Endpunkt erstellt, die später nicht mehr aktualisiert werden kann.
VPC_PROJECTS: Bei der Einrichtung einer gemeinsam genutzten VPC ist dies eine durch Kommas getrennte Liste von VPC-Hostprojekten. Bei der Einrichtung einer eigenständigen VPC entspricht dies 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
So erstellen Sie Ihren Endpunkt:
Klicken Sie auf die folgende Schaltfläche, um in der Google Cloud Console zur Vektorsuche zu wechseln. Eine Liste Ihrer aktiven Indexe wird angezeigt.
Wählen Sie den Tab Indexendpunkte aus. Ihre Indexendpunkte werden angezeigt.
Klicken Sie auf Neuen Endpunkt erstellen. Der Bereich Neuen Indexendpunkt erstellen wird geöffnet.
Geben Sie unter Anzeigename einen Anzeigenamen für den Indexendpunkt ein. Mit diesem Namen wird eine ID für den Endpunkt erstellt, die später nicht mehr aktualisiert werden kann.
Wählen Sie im Drop-down-Menü Region eine Region aus.
Klicken Sie unter Zugriff auf Private Service Connect (Vorschau).
Ein Textfeld wird angezeigt, in dem Sie angeben können, welche VPC-Projekte verwendet werden sollen. Fügen Sie die IDs oder Nummern der VPC-Projekte hinzu, die Sie verwenden möchten.
Klicken Sie auf Erstellen.
Optionen für die Indexbereitstellung
Sie können Ihren Index mit automatischer oder manueller Dienstverbindung bereitstellen.
- Mit Private Service Connect-Automatisierung bereitstellen: Richten Sie eine Richtlinie für Dienstverbindungen ein und stellen Sie Ihre Indexe bereit. Wenn Sie eine Richtlinie für Dienstverbindungen einrichten, können Sie die Bereitstellung in einem bestimmten Netzwerk durchführen, ohne jedes Mal eine Compute-Adresse und eine Weiterleitungsregel erstellen zu müssen.
- Mit manueller Verbindung bereitstellen: Stellen Sie Ihren Index bereit und erstellen Sie manuell eine Compute-Adresse und eine Weiterleitungsregel. Diese Option ist möglicherweise erforderlich, wenn Sie mehrere IP-Adressen für dieselbe Dienstanhang-URI verwenden müssen. Dies ist jedoch kein häufiger Anwendungsfall.
Mit Private Service Connect-Automatisierung bereitstellen
Sie können eine Richtlinie für Dienstverbindungen einrichten, damit Sie nach jeder Indexbereitstellung nicht manuell eine Compute-Adresse und eine Weiterleitungsregel erstellen müssen.
- Erstellen Sie zuerst eine Richtlinie für Dienstverbindungen, in der das Netzwerk, die Dienstklasse und die Region angegeben werden, in denen Indexe bereitgestellt werden sollen. Dies ist eine einmalige Einrichtung. Wenn Sie dies bereits getan haben, fahren Sie mit der nächsten Anleitung fort.
- Stellen Sie den Index bereit.
Beschränkungen
Die Automatisierung lässt nur eine IP-Adresse pro Projekt und Netzwerk zu. Wenn Sie mehrere IP-Adressen verwenden müssen, lesen Sie den Abschnitt Index manuell bereitstellen.
Richtlinie für Dienstverbindungen erstellen
Sie müssen Netzwerkadministrator sein, um eine Richtlinie für Dienstverbindungen zur Automatisierung der Indexbereitstellung zu erstellen.
So automatisieren Sie die Indexbereitstellung:
Erstellen Sie Ihre Richtlinie für Dienstverbindungen.
PROJECT: Das Dienstprojekt, in dem Sie Gemini Enterprise Agent Platform-Ressourcen erstellen.
VPC_PROJECT: Das Projekt, in dem sich Ihre Client-VPC befindet. Bei der Einrichtung einer einzelnen VPC entspricht dies $PROJECT. Bei der Einrichtung einer freigegebene VPC ist dies das VPC-Hostprojekt.
NETWORK_NAME: Der Name des Netzwerks, in dem die Bereitstellung erfolgen soll, im Format
projects/./global/networks/ REGION: Die Netzwerkregion.
PSC_SUBNETS: Die zu verwendenden Private Service Connect -Subnetze.
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>Richtlinie für Dienstverbindungen ansehen
gcloud network-connectivity service-connection-policies list --project=<vpc_project> -–region=<region>
Weitere Informationen zu Richtlinien für Dienstverbindungen finden Sie unter Richtlinien für Dienstverbindungen konfigurieren.
Index bereitstellen
REST
PROJECT: Das Dienstprojekt, in dem Sie Gemini Enterprise Agent Platform-Ressourcen erstellen.
VPC_PROJECT: Das Projekt, in dem sich Ihre Client-VPC befindet. Bei der Einrichtung einer freigegebene VPC ist dies das VPC-Hostprojekt.
DISPLAY_NAME: Ein Anzeigename für den Endpunkt. Mit diesem Namen wird eine ID für den Endpunkt erstellt, die später nicht mehr aktualisiert werden kann.
NETWORK_NAME: Der Name des Netzwerks, in dem die Bereitstellung erfolgen soll, im Format
projects/./global/networks/ REGION: Die Netzwerkregion.
PSC_SUBNETS: Das zu verwendende Private Service Connect-Subnetz.
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
So stellen Sie Ihren Endpunkt bereit:
Klicken Sie auf die folgende Schaltfläche, um in der Console zur Vektorsuche zu wechseln. Google Cloud Eine Liste Ihrer aktiven Indexe wird angezeigt.
Klicken Sie auf die Schaltfläche Bereitstellen für den Private Service Connect-fähigen Vektorsuchendpunkt, den Sie bereitstellen möchten. Der Bereich Index bereitstellen wird eingeblendet.
Geben Sie unter Anzeigename einen Anzeigenamen für den bereitgestellten Index ein. Mit diesem Namen wird die ID erstellt, die später nicht mehr aktualisiert werden kann.
Klicken Sie auf Endpunkt und wählen Sie den Indexendpunkt aus, auf dem Sie die Bereitstellung durchführen möchten.
Optional: Klicken Sie auf Maschinentyp , um den Maschinentyp manuell auszuwählen, auf dem der Index bereitgestellt werden soll. Standardmäßig wird der Maschinentyp automatisch anhand der Index-Shard-Größe ausgewählt.
Jetzt müssen Sie Private Service Connect-Automatisierungskonfigurationen hinzufügen. Anleitung:
Klicken Sie im Abschnitt PSC-Automatisierungskonfigurationen auf Neue Konfiguration hinzufügen.
Geben Sie den Namen des VPC-Projekts ein, mit dem eine Verbindung hergestellt werden soll.
Geben Sie den Netzwerknamen des VPC-Projekts ein, mit dem eine Verbindung hergestellt werden soll. Es muss das Format
projects/<project_number>/global/networks/<network_name>haben.Klicken Sie optional auf Neue Konfiguration hinzufügen und fügen Sie weitere Private Service Connect-Automatisierungskonfigurationen hinzu.
Klicken Sie auf Bereitstellen , um den Vorgang abzuschließen.
Richtlinie für Dienstverbindungen löschen
Wenn Sie die Richtlinie für Dienstverbindungen löschen müssen, führen Sie den folgenden Befehl aus:
gcloud network-connectivity service-connection-policies delete --project=<vpc_project> –-region=<region> <policy_name>
Weitere Informationen zu Richtlinien für Dienstverbindungen finden Sie unter Richtlinien für Dienstverbindungen konfigurieren.
Mit manueller Verbindung bereitstellen
Stellen Sie den Index bereit und erstellen Sie eine Weiterleitungsregel in Ihrem VPC-Projekt.
Index bereitstellen
Nachdem der Index nun bereit ist, stellen Sie ihn in diesem Schritt auf dem Endpunkt bereit, den Sie erstellt haben und zwar mit aktiviertem Private Service Connect.
gcloud
In diesem Beispiel wird dergcloud ai index-endpoints deploy-index
Befehlverwendet.
Ersetzen Sie folgende Werte in den Befehlsdaten:
- INDEX_ENDPOINT_ID: Die ID des Indexendpunkts.
- DEPLOYED_INDEX_ID: Ein vom Nutzer angegebener String zur eindeutigen Identifizierung des bereitgestellten Index. Er muss mit einem Buchstaben beginnen und darf nur Buchstaben, Zahlen oder Unterstriche enthalten. Formatrichtlinien finden Sie im Artikel zu DeployedIndex.id.
- DEPLOYED_INDEX_ENDPOINT_NAME: Der Anzeigename des bereitgestellten Indexendpunkts.
- INDEX_ID: Die ID des Index.
- LOCATION: Die Region, in der Sie die Agent Platform verwenden.
- PROJECT_ID: Ihre Google Cloud Projekt-ID.
Führen Sie den folgenden Befehl aus:
Linux, macOS oder 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
Ersetzen Sie folgende Werte in den Anfragedaten:
- INDEX_ENDPOINT_ID: Die ID des Indexendpunkts.
- DEPLOYED_INDEX_ID: Ein vom Nutzer angegebener String zur eindeutigen Identifizierung des bereitgestellten Index. Er muss mit einem Buchstaben beginnen und darf nur Buchstaben, Zahlen oder Unterstriche enthalten. Formatrichtlinien finden Sie im Artikel zu DeployedIndex.id.
- DEPLOYED_INDEX_ENDPOINT_NAME: Der Anzeigename des bereitgestellten Indexendpunkts.
- INDEX_ID: Die ID des Index.
- LOCATION: Die Region, in der Sie die Agent Platform verwenden.
- PROJECT_ID: Ihre Google Cloud Projekt-ID.
- PROJECT_NUMBER: Die automatisch generierte Projektnummer Ihres Projekts.
HTTP-Methode und URL:
POST https://LOCATION-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/indexEndpoints/INDEX_ENDPOINT_ID:deployIndex
JSON-Text der Anfrage:
{
"deployedIndex": {
"id": "DEPLOYED_INDEX_ID",
"index": "projects/PROJECT_ID/locations/LOCATION/indexes/INDEX_ID",
"displayName": "DEPLOYED_INDEX_ENDPOINT_NAME"
}
}
Wenn Sie die Anfrage senden möchten, maximieren Sie eine der folgenden Optionen:
Sie sollten eine JSON-Antwort ähnlich wie diese erhalten:
{
"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
Im folgenden Beispiel wird die vertex_ai_index_endpoint_deployed_index Terraform-Ressource verwendet, um einen bereitgestellten Indexendpunkt zu erstellen.
Informationen zum Anwenden oder Entfernen einer Terraform-Konfiguration finden Sie unter Grundlegende Terraform-Befehle.
Python
Informationen zur Installation des Vertex AI SDK for Python finden Sie unter Vertex AI SDK for Python installieren. Weitere Informationen finden Sie in der Python API-Referenzdokumentation.
Console
Folgen Sie dieser Anleitung, um Ihren Index bereitzustellen.
- Wechseln Sie im Abschnitt „Agent Platform“ der Google Cloud Console zu
dem Abschnitt Bereitstellen und verwenden. Wählen Sie Vektorsuche aus.
Zur Vektorsuche. Eine Liste Ihrer aktiven Indexe wird angezeigt.
- Wählen Sie den Namen des Index aus, den Sie bereitstellen möchten. Die Seite mit den Indexdetails wird geöffnet.
- Klicken Sie auf der Seite mit den Indexdetails auf „In Endpunkt bereitstellen“. Das Steuerfeld für die Indexbereitstellung wird geöffnet.
- Geben Sie einen Anzeigenamen ein. Dieser Name dient als ID und kann nicht aktualisiert werden.
- Wählen Sie im Drop-down-Menü Endpunkt den Endpunkt aus, auf dem Sie diesen Index bereitstellen möchten. Hinweis: Der Endpunkt ist nicht verfügbar, wenn der Index bereits auf ihm bereitgestellt ist.
- Optional: Wählen Sie im Feld Maschinentyp entweder „Standard“ oder „Großer Speicher“ aus.
- Optional. Wählen Sie Autoscaling aktivieren aus, um die Anzahl der Knoten automatisch an die Anforderungen Ihrer Arbeitslasten anzupassen. Die Standardanzahl von Replikaten ist 2, wenn Autoscaling deaktiviert ist.
- Klicken Sie auf Bereitstellen , um Ihren Index auf dem Endpunkt bereitzustellen. Hinweis: Die Bereitstellung dauert etwa 30 Minuten.
Weiterleitungsregel im VPC-Projekt erstellen
Nach der Indexbereitstellung gibt der Indexendpunkt eine Dienstanhang-URI anstelle einer IP-Adresse zurück. Sie müssen eine Compute-Adresse sowie eine Weiterleitungsregel im VPC-Projekt erstellen, das den Dienstanhang mithilfe der erstellten Compute-Adresse als Ziel hat. Verwenden Sie das folgende Beispiel, um eine Compute-Adresse zu erstellen:
gcloud compute addresses create ${ADDRESS_NAME:?} \
--region=${REGION:?} \
--subnet=${SUBNET_NAME:?} \
--project=${VPC_PROJECT:?}
Verwenden Sie das folgende Beispiel, um eine Weiterleitungsregel zu erstellen, die die Dienstanhang-URI mithilfe der erstellten Compute-Adresse als Ziel hat:
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:?}
Optional: DNS-Eintrag für die IP-Adresse erstellen
Wenn Sie eine Verbindung herstellen und einen Ladevorgang ausführen möchten, ohne sich die tatsächliche IP-Adresse merken zu müssen, können Sie einen DNS-Eintrag erstellen. Dieser Schritt ist optional.
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:?}
Abfragen an den Indexendpunkt senden
Nachdem Sie nun einen Endpunkt mit Private Service Connect erstellt und den Index erstellt haben, können Sie Abfragen ausführen.
Informationen zum Abfragen des Index finden Sie unter Indexe abfragen, um den nächsten Nachbarn abzurufen.
Nächste Schritte
- Index aktualisieren und neu erstellen
- Erfahren Sie, wie Sie den Indexendpunkt beobachten