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 beim Erstellen des Endpunkts aktivieren. Dieser Vorgang ähnelt dem Erstellen anderer Endpunkte in Vertex AI.
REST
PROJECT: Die ID des Dienstprojekts, in dem Sie Vertex AI-Ressourcen erstellen.
REGION: Die Netzwerkregion.
DISPLAY_NAME: Ein Anzeigename für den Endpunkt. Dieser Name wird verwendet, um eine ID für den Endpunkt zu erstellen, und kann später nicht mehr aktualisiert werden.
VPC_PROJECTS: Bei der Einrichtung einer freigegebenen 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 einen Endpunkt:
Klicken Sie auf die folgende Schaltfläche, um in der Google Cloud Console die Vektorsuche aufzurufen. 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. Dieser Name wird verwendet, um eine ID für den Endpunkt zu erstellen, und kann später nicht mehr aktualisiert werden.
Wählen Sie im Drop-down-Menü Region eine Region aus.
Klicken Sie unter Zugriff auf Private Service Connect (Vorabversion).
Es wird ein Textfeld 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 in einem bestimmten Netzwerk bereitstellen, ohne jedes Mal eine Compute-Adresse und eine Weiterleitungsregel zu erstellen.
- Mit manueller Verbindung bereitstellen: Sie können Ihren Index bereitstellen und eine Compute-Adresse und eine Weiterleitungsregel manuell erstellen. Diese Option können Sie verwenden, wenn Sie für dieselbe URI für den Dienstanhang mehrere IP-Adressen verwenden müssen. Dies ist jedoch kein gängiger Anwendungsfall.
Bereitstellung mit Private Service Connect-Automatisierung
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. Diese Einrichtung ist nur einmal erforderlich. Wenn Sie dies bereits getan haben, fahren Sie mit dem nächsten Schritt fort.
- Stellen Sie den Index bereit.
Beschränkungen
Bei der Automatisierung ist nur eine IP-Adresse pro Projekt und Netzwerk zulässig. Wenn Sie mehrere IP-Adressen verwenden müssen, lesen Sie den Hilfeartikel Index manuell bereitstellen.
Richtlinie für Dienstverbindungen erstellen
Sie müssen Netzwerkadministrator sein, um eine Richtlinie für Dienstverbindungen zum Automatisieren der Indexbereitstellung zu erstellen.
So automatisieren Sie die Indexbereitstellung:
Erstellen Sie die Richtlinie für Dienstverbindungen.
PROJECT: Das Dienstprojekt, in dem Sie Vertex AI-Ressourcen erstellen.
VPC_PROJECT: Das Projekt, in dem sich die 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>
Rufen Sie die Richtlinie für Dienstverbindungen auf.
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 Vertex AI-Ressourcen erstellen.
VPC_PROJECT: Das Projekt, in dem sich die Client-VPC befindet. Bei der Einrichtung einer freigegebene VPC ist dies das VPC-Hostprojekt.
DISPLAY_NAME: Ein Anzeigename für den Endpunkt. Dieser Name wird verwendet, um eine ID für den Endpunkt zu erstellen, und kann später nicht mehr aktualisiert werden.
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://REGIONAL_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 Google Cloud -Console die Vektorsuche aufzurufen. Eine Liste Ihrer aktiven Indexe wird angezeigt.
Klicken Sie auf die Schaltfläche Bereitstellen für den Private Service Connect-kompatiblen Vektorsuchendpunkt, den Sie bereitstellen möchten. Das Ausklappfeld Index bereitstellen wird angezeigt.
Geben Sie unter Anzeigename einen Anzeigenamen für den bereitgestellten Index ein. Dieser Name wird zum Erstellen der ID verwendet und kann später nicht mehr aktualisiert werden.
Klicken Sie auf Endpunkt und wählen Sie den Indexendpunkt aus, auf dem Sie den Index bereitstellen möchten.
Optional können Sie auf Maschinentyp klicken, 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.
Sie müssen jetzt Private Service Connect-Automatisierungskonfigurationen hinzufügen. Anleitung:
Klicken Sie im Bereich 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. Er muss das Format
projects/
<project_number>
/global/networks/
<network_name>
haben.Optional können Sie auf
Neue Konfiguration hinzufügen klicken und weitere Private Service Connect-Automatisierungskonfigurationen hinzufügen.Klicken Sie abschließend auf Bereitstellen.
Richtlinie für Dienstverbindungen löschen
Wenn Sie die Dienstverbindungsrichtlinie löschen möchten, 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 der Befehlgcloud ai index-endpoints deploy-index
verwendet.
Ersetzen Sie folgende Werte, bevor sie einen der Befehlsdaten verwenden:
- 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 Vertex AI verwenden.
- PROJECT_ID: Ihre Google Cloud Projekt-ID.
Führen Sie 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 diese Werte in den folgenden 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 Vertex AI 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 anfordern:
{ "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 Terraform-Ressource vertex_ai_index_endpoint_deployed_index
verwendet, um einen bereitgestellten Indexendpunkt zu erstellen.
Informationen zum Anwenden oder Entfernen einer Terraform-Konfiguration finden Sie unter Grundlegende Terraform-Befehle.
Vertex AI SDK für 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 Referenzdokumentation zur Vertex AI SDK for Python API.
Console
Folgen Sie dieser Anleitung, um Ihren Index bereitzustellen.
- Wechseln Sie in der Google Cloud Console im Abschnitt „Vertex AI“ zum Abschnitt Bereitstellen und verwenden. Wählen Sie Vektorsuche aus.
Rufen Sie die Vektorsuche auf. 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 ungefähr 30 Minuten.
Weiterleitungsregel im VPC-Projekt erstellen
Nach der Indexbereitstellung gibt der Indexendpunkt einen URI für den Dienstanhang 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:?}
Im folgenden Beispiel wird eine Weiterleitungsregel mit der erstellten Compute-Adresse erstellt, die auf den URI des Dienstanhangs ausgerichtet ist:
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 einen Endpunkt mit Private Service Connect 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.