Die Informationen auf dieser Seite gelten für benutzerdefinierte und AutoML-Modelle. Informationen zur Model Garden-Bereitstellung finden Sie unter Modelle in Model Garden verwenden.
Mit Private Service Connect können Sie Ihr benutzerdefiniertes, trainiertes Gemini Enterprise Agent Platform-Modell bereitstellen und Onlineinferenzen sicher für mehrere Nutzerprojekte und VPC-Netzwerke bereitstellen, ohne dass öffentliche IP-Adressen, ein öffentlicher Internetzugang oder ein expliziter interner Peering-IP-Adressbereich erforderlich sind.
Wir empfehlen Private Service Connect für Anwendungsfälle der Onlineinferenz mit folgenden Anforderungen:
- Private und sichere Verbindungen erforderlich machen
- Niedrige Latenz erforderlich
- Sie müssen nicht öffentlich zugänglich sein.
Private Service Connect verwendet eine Weiterleitungsregel in Ihrem VPC-Netzwerk, um Traffic unidirektional an den Online-Inferenzdienst der Agent Platform zu senden. Die Weiterleitungsregel stellt eine Verbindung zu einem Dienstanhang her, der den Agent Platform-Dienst für Ihr VPC-Netzwerk verfügbar macht. Weitere Informationen finden Sie unter Zugriff auf Agent Platform-Dienste über Private Service Connect. Weitere Informationen zum Einrichten von Private Service Connect finden Sie unter Private Service Connect – Übersicht in der Virtual Private Cloud-Dokumentation (VPC).
Dedizierte private Endpunkte unterstützen sowohl HTTP- als auch gRPC-Kommunikationsprotokolle. Bei gRPC-Anfragen muss der Header „x-vertex-ai-endpoint-id“ enthalten sein, damit der Endpunkt richtig identifiziert wird. Die folgenden APIs werden unterstützt:
- Vorhersagen
- RawPredict
- StreamRawPredict
- Chat Completion (nur Model Garden)
Mit dem Agent Platform SDK für Python können Sie Online-Inferenzanfragen an einen dedizierten privaten Endpunkt senden. Weitere Informationen finden Sie unter Onlineinferenzen abrufen.
Erforderliche Rollen
Bitten Sie Ihren Administrator, Ihnen die IAM-Rolle Agent Platform User (roles/aiplatform.user) für Ihr Projekt zuzuweisen, um die Berechtigung zum Erstellen eines Private Service Connect-Endpunkts zu erhalten.
Weitere Informationen zum Zuweisen von Rollen finden Sie unter Zugriff auf Projekte, Ordner und Organisationen verwalten.
Diese vordefinierte Rolle enthält die Berechtigung aiplatform.endpoints.create, die zum Erstellen eines Private Service Connect-Endpunkts erforderlich ist.
Sie können diese Berechtigung auch mit benutzerdefinierten Rollen oder anderen vordefinierten Rollen erhalten.
Weitere Informationen zu Rollen und Berechtigungen für die Gemini Enterprise Agent Platform finden Sie unter Zugriffssteuerung für die Agent Platform mit IAM und IAM-Berechtigungen für die Gemini Enterprise Agent Platform.
Online-Inferenzendpunkt erstellen
Verwenden Sie eine der folgenden Methoden, um einen Onlineinferenz-Endpunkt mit aktiviertem Private Service Connect zu erstellen.
Das standardmäßige Zeitlimit für Anfragen für einen Private Service Connect-Endpunkt beträgt 10 Minuten.
Im Agent Platform SDK für Python können Sie optional ein anderes Anfrage-Zeitlimit angeben, indem Sie einen neuen inference_timeout-Wert angeben, wie im folgenden Beispiel gezeigt. Der maximale Wert für die Zeitüberschreitung beträgt 3.600 Sekunden (1 Stunde).
Console
Rufen Sie in der Cloud de Confiance Console in der Agent-Plattform die Seite Onlinevorhersage auf.
Klicken Sie auf Erstellen.
Geben Sie einen Anzeigenamen für den Endpunkt an.
Klicken Sie auf Privat.
Wählen Sie Private Service Connect aus.
Klicken Sie auf Projekt-IDs auswählen.
Wählen Sie Projekte aus, die der Zulassungsliste für den Endpunkt hinzugefügt werden sollen.
Klicken Sie auf Weiter.
Wählen Sie die Modellspezifikationen aus. Weitere Informationen finden Sie unter Modell auf einem Endpunkt bereitstellen.
Klicken Sie auf Erstellen. um den Endpunkt zu erstellen und das Modell darauf bereitzustellen.
Notieren Sie sich die Endpunkt-ID aus der Antwort.
API
REST
Ersetzen Sie diese Werte in den folgenden Anfragedaten:
VERTEX_AI_PROJECT_ID: die ID des Cloud de Confiance by S3NS Projekts, in dem Sie den Endpunkt für Onlinevorhersagen erstellen.REGION: Die Region, in der Sie die Gemini Enterprise Agent Platform verwenden.VERTEX_AI_ENDPOINT_NAME: Der Anzeigename für den Endpunkt der Onlinevorhersage.ALLOWED_PROJECTS: eine durch Kommas getrennte Liste von Cloud de Confiance Projekt-IDs, die jeweils in Anführungszeichen gesetzt sind, z. B.["PROJECTID1", "PROJECTID2"]. Wenn ein Projekt nicht in dieser Liste enthalten ist, können Sie von dort keine Vorhersageanfragen an den Agent Platform-Endpunkt senden. Achten Sie darauf, dass VERTEX_AI_PROJECT_ID in diese Liste aufgenommen wird, damit Sie den Endpunkt aus demselben Projekt aufrufen können, in dem er sich befindet.- INFERENCE_TIMEOUT_SECS: (Optional) Anzahl der Sekunden im optionalen Feld
inferenceTimeout.
HTTP-Methode und URL:
POST https://REGION-aiplatform.googleapis.com/v1/projects/VERTEX_AI_PROJECT_ID/locations/REGION/endpoints
JSON-Text anfordern:
{
"displayName": "VERTEX_AI_ENDPOINT_NAME",
"privateServiceConnectConfig": {
"enablePrivateServiceConnect": true,
"projectAllowlist": ["ALLOWED_PROJECTS"]
},
"clientConnectionConfig": {
"inferenceTimeout": "INFERENCE_TIMEOUT_SECSs"
}
}
Wenn Sie die Anfrage senden möchten, maximieren Sie eine der folgenden Optionen:
Sie sollten eine JSON-Antwort ähnlich wie diese erhalten:
{
"name": "projects/VERTEX_AI_PROJECT_NUMBER/locations/REGION/endpoints/ENDPOINT_ID/operations/OPERATION_ID",
"metadata": {
"@type": "type.googleapis.com/google.cloud.aiplatform.v1.CreateEndpointOperationMetadata",
"genericMetadata": {
"createTime": "2020-11-05T17:45:42.812656Z",
"updateTime": "2020-11-05T17:45:42.812656Z"
}
}
}
ENDPOINT_ID.
Python
Bevor Sie dieses Beispiel ausprobieren, folgen Sie der Einrichtungsanleitung für Python in der Kurzanleitung zur Verwendung von Clientbibliotheken.
Richten Sie zur Authentifizierung bei der Agent Platform Standardanmeldedaten für Anwendungen ein. Weitere Informationen finden Sie unter Authentifizierung für eine lokale Entwicklungsumgebung einrichten.
Legen Sie vor dem Ausführen von Codebeispielen die Umgebungsvariable GOOGLE_CLOUD_UNIVERSE_DOMAIN auf s3nsapis.fr fest.
Ersetzen Sie Folgendes:
VERTEX_AI_PROJECT_ID: die ID des Cloud de Confiance by S3NS Projekts, in dem Sie den Endpunkt für die Onlineinferenz erstellenREGION: Die Region, in der Sie die Gemini Enterprise Agent Platform verwenden.VERTEX_AI_ENDPOINT_NAME: Der Anzeigename für den Endpunkt der Onlineinferenz.ALLOWED_PROJECTS: eine durch Kommas getrennte Liste von Cloud de ConfianceProjekt-IDs, die jeweils in Anführungszeichen gesetzt sind. Beispiel:["PROJECTID1", "PROJECTID2"]. Wenn ein Projekt nicht in dieser Liste enthalten ist, können Sie von dort keine Inferenzanfragen an den Agent Platform-Endpunkt senden. Achten Sie darauf, dass VERTEX_AI_PROJECT_ID in diese Liste aufgenommen wird, damit Sie den Endpunkt aus demselben Projekt aufrufen können, in dem er sich befindet.INFERENCE_TIMEOUT_SECS: (Optional) Anzahl der Sekunden im optionalen Wertinference_timeout.
PROJECT_ID = "VERTEX_AI_PROJECT_ID"
REGION = "REGION"
VERTEX_AI_ENDPOINT_NAME = "VERTEX_AI_ENDPOINT_NAME"
INFERENCE_TIMEOUT_SECS = "INFERENCE_TIMEOUT_SECS"
from google.cloud import aiplatform
aiplatform.init(project=PROJECT_ID, location=REGION)
# Create the forwarding rule in the consumer project
psc_endpoint = aiplatform.PrivateEndpoint.create(
display_name=VERTEX_AI_ENDPOINT_NAME,
project=PROJECT_ID,
location=REGION,
private_service_connect_config=aiplatform.PrivateEndpoint.PrivateServiceConnectConfig(
project_allowlist=["ALLOWED_PROJECTS"],
),
inference_timeout=INFERENCE_TIMEOUT_SECS,
)
Notieren Sie sich die ENDPOINT_ID am Ende des zurückgegebenen Endpunkt-URI:
INFO:google.cloud.aiplatform.models:To use this PrivateEndpoint in another session:
INFO:google.cloud.aiplatform.models:endpoint = aiplatform.PrivateEndpoint('projects/VERTEX_AI_PROJECT_ID/locations/REGION/endpoints/ENDPOINT_ID')
Online-Inferenzendpunkt mit PSC-Automatisierung erstellen
Die Onlineinferenz ist in die Automatisierung der Dienstverbindung integriert. So können Sie Inferenzendpunkte mit PSC-Automatisierung konfigurieren. Dadurch wird der Prozess vereinfacht, da PSC-Endpunkte automatisch erstellt werden. Das ist besonders für ML-Entwickler von Vorteil, die keine Berechtigungen zum Erstellen von Netzwerkressourcen wie Weiterleitungsregeln in einem Projekt haben.
Zuerst muss Ihr Netzwerkadministrator eine Richtlinie für Dienstverbindungen erstellen. Diese Richtlinie ist eine einmalige Konfiguration pro Projekt und Netzwerk, mit der die Gemini Enterprise Agent Platform (Dienstklasse gcp-vertexai) PSC-Endpunkte in Ihren Projekten und Netzwerken generieren kann.
Als Nächstes können Sie Endpunkte mit der PSC-Automatisierungskonfiguration erstellen und dann Ihre Modelle bereitstellen. Nach Abschluss der Bereitstellung sind die relevanten PSC-Endpunktinformationen über die Endpunkte zugänglich.
Beschränkungen
- Für PSC-Automatisierungskonfigurationen gilt ein regionales Limit von 500 Endpunkten.
- Die Ergebnisse der PSC-Automatisierung werden gelöscht, wenn kein Modell bereitgestellt wird oder gerade bereitgestellt wird. Nach der Bereinigung und der anschließenden Bereitstellung des Modells enthalten die neuen Automatisierungsergebnisse eindeutige IP-Adressen und Weiterleitungsregeln.
Richtlinie für Dienstverbindungen erstellen
Sie müssen Netzwerkadministrator sein, um die Richtlinie für Dienstverbindungen zu erstellen.
Eine Richtlinie für Dienstverbindungen ist erforderlich, damit die Agent-Plattform PSC-Endpunkte in Ihren Netzwerken erstellen kann. Ohne eine gültige Richtlinie schlägt die Automatisierung mit dem Fehler CONNECTION_POLICY_MISSING fehl.
Erstellen Sie Ihre Richtlinie für Dienstverbindungen.
- POLICY_NAME: Ein vom Nutzer angegebener Name für die Richtlinie.
PROJECT_ID: Die ID des Dienstprojekts, in dem Sie Ressourcen für die Gemini Enterprise Agent Platform erstellen.
VPC_PROJECT: Die Projekt-ID, in der 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.
REGION: Die Region des Netzwerks.
PSC_SUBNETS: Die zu verwendenden Private Service Connect-Subnetze.
gcloud network-connectivity service-connection-policies create POLICY_NAME \ --project=VPC_PROJECT \ --network=projects/PROJECT_ID/global/networks/NETWORK_NAME \ --service-class=gcp-vertexai --region=REGION --subnets=PSC_SUBNETSRichtlinie für Dienstverbindungen ansehen
gcloud network-connectivity service-connection-policies list \ --project=VPC_PROJECT --region=REGION
Bei einer einzelnen VPC sieht ein Beispiel so aus:
gcloud network-connectivity service-connection-policies create test-policy \ --network=default \ --project=YOUR_PROJECT_ID \ --region=us-central1 \ --service-class=gcp-vertexai \ --subnets=default \ --psc-connection-limit=500 \ --description=test
Online-Inferenzendpunkt mit PSC-Automatisierungskonfiguration erstellen
Prüfen Sie in der PSCAutomationConfig, ob die projectId auf der Zulassungsliste steht.
REST
Ersetzen Sie diese Werte in den folgenden Anfragedaten:
- REGION: Die Region, in der Sie die Agent Platform verwenden.
- VERTEX_AI_PROJECT_ID: Die ID des Cloud de Confiance by S3NS Projekts, in dem Sie den Endpunkt für Onlineinferenz erstellen.
- VERTEX_AI_ENDPOINT_NAME: Der Anzeigename für den Endpunkt der Onlinevorhersage.
- NETWORK_NAME: der vollständige Ressourcenname, einschließlich der Projekt-ID, anstelle der Projektnummer.
HTTP-Methode und URL:
POST https://REGION-aiplatform.googleapis.com/v1/projects/VERTEX_AI_PROJECT_ID/locations/REGION/endpoints
JSON-Text anfordern:
{
{
displayName: "VERTEX_AI_ENDPOINT_NAME",
privateServiceConnectConfig: {
enablePrivateServiceConnect: true,
projectAllowlist: ["VERTEX_AI_PROJECT_ID"],
pscAutomationConfigs: [
{ "project_id": "VERTEX_AI_PROJECT_ID", "network": "projects/VERTEX_AI_PROJECT_ID/global/networks/NETWORK_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/VERTEX_AI_PROJECT_NUMBER/locations/REGION/endpoints/ENDPOINT_ID/operations/OPERATION_ID",
"metadata": {
"@type": "type.googleapis.com/google.cloud.aiplatform.v1.CreateEndpointOperationMetadata",
"genericMetadata": {
"createTime": "2020-11-05T17:45:42.812656Z",
"updateTime": "2020-11-05T17:45:42.812656Z"
}
}
}
ENDPOINT_ID.
Python
Bevor Sie dieses Beispiel ausprobieren, folgen Sie der Einrichtungsanleitung für Python in der Kurzanleitung zur Verwendung von Clientbibliotheken.
Richten Sie zur Authentifizierung bei der Agent Platform Standardanmeldedaten für Anwendungen ein. Weitere Informationen finden Sie unter Authentifizierung für eine lokale Entwicklungsumgebung einrichten.
Legen Sie vor dem Ausführen von Codebeispielen die Umgebungsvariable GOOGLE_CLOUD_UNIVERSE_DOMAIN auf s3nsapis.fr fest.
Ersetzen Sie Folgendes:
VERTEX_AI_PROJECT_ID: die ID des Cloud de Confiance by S3NS Projekts, in dem Sie den Endpunkt für die Onlineinferenz erstellenREGION: Die Region, in der Sie die Gemini Enterprise Agent Platform verwenden.VERTEX_AI_ENDPOINT_NAME: Der Anzeigename für den Endpunkt der Onlineinferenz.NETWORK_NAME: der vollständige Ressourcenname, einschließlich der Projekt-ID, anstelle der Projektnummer.
PROJECT_ID = "VERTEX_AI_PROJECT_ID"
REGION = "REGION"
VERTEX_AI_ENDPOINT_NAME = "VERTEX_AI_ENDPOINT_NAME"
from google.cloud import aiplatform
aiplatform.init(project=PROJECT_ID, location=REGION)
config =
aiplatform.compat.types.service_networking.PrivateServiceConnectConfig(
enable_private_service_connect=True,
project_allowlist="VERTEX_AI_PROJECT_ID"
psc_automation_configs=[
aiplatform.compat.types.service_networking.PSCAutomationConfig(
project_id="VERTEX_AI_PROJECT_ID"
network=projects/"VERTEX_AI_PROJECT_ID"/global/networks/"NETWORK_NAME",
)
]
)
psc_endpoint = aiplatform.PrivateEndpoint.create(
display_name="VERTEX_AI_ENDPOINT_NAME"
private_service_connect_config=config,
)
Modell bereitstellen
Nachdem Sie Ihren Onlineinferenz-Endpunkt mit aktiviertem Private Service Connect erstellt haben, stellen Sie Ihr Modell darauf bereit. Führen Sie dazu die Schritte unter Modell auf einem Endpunkt bereitstellen aus.
PSC-Endpunkt manuell erstellen
Wenn Sie Ihr VPC-Netzwerk manuell mit dem Online-Inferenzendpunkt verbinden möchten, müssen Sie den URI des Dienstanhangs abrufen, eine Weiterleitungsregel erstellen und die interne IP-Adresse abrufen.
URI des Dienstanhangs abrufen
Wenn Sie das Modell bereitstellen, wird für den Endpunkt der Onlineinferenz ein Dienstanhang erstellt. Dieser Dienstanhang stellt den Online-Inferenzdienst der Agent Platform dar, der für Ihr VPC-Netzwerk verfügbar gemacht wird. Führen Sie den Befehl gcloud ai endpoints describe aus, um den URI des Dienstanhangs abzurufen.
Listen Sie nur den Wert
serviceAttachmentaus den Endpunktdetails auf:gcloud ai endpoints describe ENDPOINT_ID \ --project=VERTEX_AI_PROJECT_ID \ --region=REGION \ | grep -i serviceAttachmentErsetzen Sie Folgendes:
ENDPOINT_ID: die ID Ihres Endpunkts für die OnlineinferenzVERTEX_AI_PROJECT_ID: die ID des Cloud de Confiance by S3NS -Projekts, in dem Sie den Endpunkt für Onlineinferenz erstellt habenREGION: Die Region für diese Anfrage
Die Ausgabe sieht in etwa so aus:
serviceAttachment: projects/ac74a9f84c2e5f2a1-tp/regions/us-central1/serviceAttachments/gkedpm-c6e6a854a634dc99472bb802f503c1Notieren Sie sich den gesamten String im Feld
serviceAttachment. Dies ist der URI des Dienstanhangs.
Erstellen Sie eine Weiterleitungsregel.
Sie können eine interne IP-Adresse reservieren und eine Weiterleitungsregel mit dieser Adresse erstellen. Sie benötigen den URI des Dienstanhangs aus dem vorherigen Schritt, um die Weiterleitungsregel zu erstellen.
Zum Reservieren einer internen IP-Adresse für die Weiterleitungsregel verwenden Sie den Befehl
gcloud compute addresses create:gcloud compute addresses create ADDRESS_NAME \ --project=VPC_PROJECT_ID \ --region=REGION \ --subnet=SUBNETWORK \ --addresses=INTERNAL_IP_ADDRESSErsetzen Sie dabei Folgendes:
ADDRESS_NAME: ein Name für die interne IP-AdresseVPC_PROJECT_ID: die ID des Cloud de Confiance Projekts, in dem Ihr VPC-Netzwerk gehostet wird. Wenn der Endpunkt für Onlineinferenz und die Private Service Connect-Weiterleitungsregel im selben Projekt gehostet werden, verwenden Sie für diesen ParameterVERTEX_AI_PROJECT_ID.REGION: die Cloud de Confiance Region, in der die Private Service Connect-Weiterleitungsregel erstellt werden sollSUBNETWORK: der Name des VPC-Subnetzes, das die IP-Adresse enthältINTERNAL_IP_ADDRESS: die interne IP-Adresse, die reserviert werden soll. Der Parameter ist optional.- Wenn dieser Parameter angegeben ist, muss sich die IP-Adresse innerhalb des primären IP-Adressbereichs des Subnetzes befinden. Die IP-Adresse kann eine RFC 1918-Adresse oder ein Subnetz mit Nicht-RFC-Bereichen sein.
- Wenn Sie diesen Parameter nicht angeben, wird automatisch eine interne IP-Adresse zugewiesen.
- Weitere Informationen finden Sie unter Neue statische interne IPv4- oder IPv6-Adresse reservieren.
Prüfen Sie mit dem Befehl
gcloud compute addresses list, ob die IP-Adresse reserviert ist:gcloud compute addresses list --filter="name=(ADDRESS_NAME)" \ --project=VPC_PROJECT_IDPrüfen Sie in der Antwort, ob für die IP-Adresse der Status
RESERVEDangezeigt wird.Verwenden Sie den Befehl
gcloud compute forwarding-rules create, um die Weiterleitungsregel zu erstellen und auf den Anhang des Onlineinferenzdiensts zu verweisen:gcloud compute forwarding-rules create PSC_FORWARDING_RULE_NAME \ --address=ADDRESS_NAME \ --project=VPC_PROJECT_ID \ --region=REGION \ --network=VPC_NETWORK_NAME \ --target-service-attachment=SERVICE_ATTACHMENT_URIErsetzen Sie Folgendes:
PSC_FORWARDING_RULE_NAMEist ein Name für die Weiterleitungsregel.VPC_NETWORK_NAME: der Name des VPC-Netzwerks, in dem der Endpunkt erstellt werden sollSERVICE_ATTACHMENT_URI: den Dienstanhang, den Sie zuvor notiert haben.
Prüfen Sie mit dem Befehl
gcloud compute forwarding-rules describe, ob der Dienstanhang den Endpunkt akzeptiert:gcloud compute forwarding-rules describe PSC_FORWARDING_RULE_NAME \ --project=VPC_PROJECT_ID \ --region=REGIONPrüfen Sie in der Antwort, ob für das Feld
pscConnectionStatusder StatusACCEPTEDangezeigt wird.
Interne IP-Adresse abrufen
Wenn Sie beim Erstellen der Weiterleitungsregel keinen Wert für INTERNAL_IP_ADDRESS angegeben haben, erhalten Sie die automatisch zugewiesene Adresse mit dem Befehl gcloud compute forwarding-rules describe:
gcloud compute forwarding-rules describe PSC_FORWARDING_RULE_NAME \
--project=VERTEX_AI_PROJECT_ID \
--region=REGION \
| grep -i IPAddress
Ersetzen Sie dabei Folgendes:
VERTEX_AI_PROJECT_ID: Ihre Projekt-ID.REGIONist der Name der Region für diese Anfrage.
Optional: PSC-Endpunkt aus dem Ergebnis der PSC-Automatisierung abrufen
Die generierte IP-Adresse und Weiterleitungsregel können Sie über den Inferenzendpunkt abrufen. Beispiel:
"privateServiceConnectConfig": {
"enablePrivateServiceConnect": true,
"projectAllowlist": [
"your-project-id",
],
"pscAutomationConfigs": [
{
"projectId": "your-project-id",
"network": "projects/your-project-id/global/networks/default",
"ipAddress": "10.128.15.209",
"forwardingRule": "https://www.googleapis.com/compute/v1/projects/your-project-id/regions/us-central1/forwardingRules/sca-auto-fr-47b0d6a4-eaff-444b-95e6-e4dc1d10101e",
"state": "PSC_AUTOMATION_STATE_SUCCESSFUL"
},
]
}
Hier sind einige Details zur Fehlerbehandlung.
- Ein Fehler bei der Automatisierung hat keine Auswirkungen auf das Ergebnis der Modellbereitstellung.
- Der Erfolg oder Misserfolg des Vorgangs wird im Status angegeben.
- Bei Erfolg werden die IP-Adresse und die Weiterleitungsregel angezeigt.
- Wenn die Anmeldung nicht erfolgreich ist, wird eine Fehlermeldung angezeigt.
- Automatisierungskonfigurationen werden entfernt, wenn keine Modelle auf dem Endpunkt bereitgestellt werden oder gerade bereitgestellt werden. Dies führt zu einer Änderung der IP-Adresse und der Weiterleitungsregel, wenn ein Modell später bereitgestellt wird.
- Fehlerhafte Automatisierungen werden nicht wiederhergestellt. Falls der Vorgang fehlschlägt, können Sie den PSC-Endpunkt manuell erstellen. Weitere Informationen finden Sie unter PSC-Endpunkt manuell erstellen.
Onlineinferenzen abrufen
Das Abrufen von Onlineinferenzen von einem Endpunkt mit Private Service Connect ähnelt dem Abrufen von Onlineinferenzen von öffentlichen Endpunkten, mit folgenden Ausnahmen:
- Die Anfrage muss von einem Projekt gesendet werden, das in
projectAllowlistangegeben wurde, als der Endpunkt für die Onlineinferenz erstellt wurde. - Wenn der globale Zugriff nicht aktiviert ist, muss die Anfrage aus derselben Region gesendet werden.
- Es sind zwei Ports geöffnet: 443 mit TLS und selbstsigniertem Zertifikat und 80 ohne TLS. Beide Ports unterstützen HTTP und gRPC. Der gesamte Traffic verbleibt in Ihrem privaten Netzwerk und durchläuft nicht das öffentliche Internet.
- Es empfiehlt sich, HTTPS mit dem selbst signierten Zertifikat zu verwenden, das Sie von der Online-Inferenz der Gemini Enterprise Agent Platform erhalten haben, oder Ihr eigenes selbst signiertes Zertifikat bereitzustellen.
Zum Abrufen von Inferenz muss eine Verbindung über die statische IP-Adresse des Endpunkts hergestellt werden, es sei denn, es wird ein DNS-Eintrag für die interne IP-Adresse erstellt. Senden Sie die
predict-Anfragen beispielsweise an den folgenden Endpunkt:http://INTERNAL_IP_ADDRESS/v1/projects/VERTEX_AI_PROJECT_ID/locations/REGION/endpoints/ENDPOINT_ID:predictErsetzen Sie
INTERNAL_IP_ADDRESSdurch die zuvor reservierte interne IP-Adresse.Für gRPC-Anfragen: Damit der Endpunkt für gRPC-Anfragen richtig identifiziert wird, muss der Header
x-vertex-ai-endpoint-identhalten sein. Dies ist erforderlich, da Endpunktinformationen nicht im Anfragepfad für die gRPC-Kommunikation übermittelt werden.
DNS-Eintrag für die interne IP-Adresse erstellen
Wir empfehlen, einen DNS-Eintrag zu erstellen, damit Sie Onlineinferenzen von Ihrem Endpunkt erhalten können, ohne die interne IP-Adresse angeben zu müssen.
Weitere Informationen finden Sie unter Andere Möglichkeiten zur Konfiguration von DNS.
Erstellen Sie mit dem Befehl
gcloud dns managed-zones createeine private DNS-Zone. Diese Zone ist dem VPC-Netzwerk zugeordnet, in dem die Weiterleitungsregel erstellt wurde.DNS_NAME_SUFFIX="prediction.p.vertexai.goog." # DNS names have "." at the end. gcloud dns managed-zones create ZONE_NAME \ --project=VPC_PROJECT_ID \ --dns-name=$DNS_NAME_SUFFIX \ --networks=VPC_NETWORK_NAME \ --visibility=private \ --description="A DNS zone for Agent Platform endpoints using Private Service Connect."Ersetzen Sie dabei Folgendes:
ZONE_NAME: der Name der DNS-Zone
Verwenden Sie zum Erstellen eines DNS-Eintrags in der Zone den Befehl
gcloud dns record-sets create:DNS_NAME=ENDPOINT_ID-REGION-VERTEX_AI_PROJECT_NUMBER.$DNS_NAME_SUFFIX gcloud dns record-sets create $DNS_NAME \ --rrdatas=INTERNAL_IP_ADDRESS \ --zone=ZONE_NAME \ --type=A \ --ttl=60 \ --project=VPC_PROJECT_IDErsetzen Sie dabei Folgendes:
VERTEX_AI_PROJECT_NUMBERist IhreVERTEX_AI_PROJECT_IDProjektnummer. Sie finden diese Projektnummer in der Cloud de Confiance Console. Weitere Informationen finden Sie unter Projekte identifizieren.INTERNAL_IP_ADDRESS: die interne IP-Adresse Ihres Online-Inferenzendpunkts
Jetzt können Sie Ihre
predict-Anfragen an folgende VMs senden:http://ENDPOINT_ID-REGION-VERTEX_AI_PROJECT_NUMBER.prediction.p.vertexai.goog/v1/projects/VERTEX_AI_PROJECT_ID/locations/REGION/endpoints/ENDPOINT_ID:predict
Unterstützung von TLS-Zertifikaten (Transport Layer Security)
Die Onlineinferenz der Gemini Enterprise Agent Platform wird mit einem selbstsignierten Zertifikat gesichert. Da dieses Zertifikat nicht von einer vertrauenswürdigen Zertifizierungsstelle (Certificate Authority, CA) signiert ist, müssen Clients, die versuchen, eine HTTPS-Verbindung herzustellen, explizit so konfiguriert werden, dass sie dem Zertifikat vertrauen. Das selbst signierte Zertifikat, das vom Online-Inferenzendpunkt der Gemini Enterprise Agent Platform abgerufen wird, ist 10 Jahre lang gültig. Da dieses Zertifikat nicht eindeutig für einen bestimmten Endpunkt ist, kann ein einzelnes Zertifikat für alle Truststore-Integrationen verwendet werden. Im Folgenden finden Sie die allgemeinen Schritte, die erforderlich sind, um eine HTTPS-Verbindung zur Online-Inferenz der Gemini Enterprise Agent Platform herzustellen:
DNS konfigurieren: Das selbstsignierte Zertifikat enthält den alternativen Antragstellernamen (Subject Alternative Name, SAN)
*.prediction.p.vertexai.goog. Sie müssen in Ihrem Netzwerk einen DNS-Eintrag erstellen, der diesem Format entspricht.Implementierungsdetails finden Sie unter DNS-Eintrag für die interne IP-Adresse erstellen.
Clientvertrauen herstellen: Der Client muss das selbstsignierte Zertifikat herunterladen und seinem lokalen Trust Store hinzufügen.
HTTPS-Verbindung herstellen: Zum Herstellen einer HTTPS-Verbindung zur Onlineinferenz der Gemini Enterprise Agent Platform ist der vollständig qualifizierte Domainname (Fully Qualified Domain Name, FQDN) erforderlich. Dies ist erforderlich, da für den Dienst ein Platzhalter-SSL-Zertifikat verwendet wird, das für die Domain
*.prediction.p.vertexai.googgültig ist.
In den folgenden Schritten wird gezeigt, wie Sie das Online-Inferenzzertifikat der Gemini Enterprise Agent Platform herunterladen und dem lokalen Trust Store auf Debian-basierten Linux-Systemen wie Debian 11 und Ubuntu hinzufügen.
Aktualisieren Sie die Betriebssystempakete und installieren Sie OpenSSL:
sudo apt update && sudo apt install opensslFühren Sie den folgenden Befehl in Ihrem Basisverzeichnis aus, um das Online-Schlussfolgerungszertifikat der Gemini Enterprise Agent Platform herunterzuladen und in einer Datei mit dem Namen
vertex_certificate.crtin Ihrem aktuellen Verzeichnis zu speichern. Ersetzen Sie die folgenden Werte:- ENDPOINT_ID: ID des bereitgestellten Modellendpunkts
- REGION: die Region, in der sich der Endpunkt befindet
- VERTEX_AI_PROJECT_NUMBER: die Projektnummer für Ihr Projekt. Sie finden diese Projektnummer in der Cloud de Confiance Console. Weitere Informationen finden Sie unter Projekte identifizieren.
openssl s_client -showcerts -connect \ ENDPOINT_ID-REGION-VERTEX_AI_PROJECT_NUMBER.prediction.p.vertexai.goog:443 </dev/null | \ openssl x509 -outform pem -out vertex_certificate.crtVerschieben Sie das Zertifikat in den System-Trust Store:
sudo mv vertex_certificate.crt /usr/local/share/ca-certificatesAktualisieren Sie die Liste der vertrauenswürdigen Zertifizierungsstellen im Certificate Manager. Sie sollten eine Ausgabe sehen, die bestätigt, dass ein Zertifikat hinzugefügt wurde.
sudo update-ca-certificatesSenden Sie eine
predict-Anfrage an die folgende URL und nehmen Sie die folgenden Ersetzungen vor:- INTERNAL_IP_ADDRESS: die interne IP-Adresse Ihres Online-Inferenzendpunkts
- VERTEX_AI_PROJECT_ID: die Projekt-ID Ihres Projekts
https://ENDPOINT_ID-REGION-VERTEX_AI_PROJECT_NUMBER.prediction.p.vertexai.goog/v1/projects/VERTEX_AI_PROJECT_ID/locations/REGION/endpoints/ENDPOINT_ID:predict
Unterstützung benutzerdefinierter Zertifikate für TLS
Organisationen, die eine genaue Kontrolle über die Zertifikatsverwaltung und ‑rotation für Online-Inferenz-Endpunkte der Gemini Enterprise Agent Platform benötigen, können ein vom Kunden verwaltetes Zertifikat mit einem externen oder internen regionalen Cloud de Confiance by S3NSApplication Load Balancer (HTTPS) verwenden.
Im Folgenden finden Sie die allgemeinen Schritte zur Bereitstellung:
Sie haben folgende Möglichkeiten, ein Zertifikat zu erstellen:
- Generieren Sie ein selbst signiertes Zertifikat (oder verwenden Sie Ihre Zertifizierungsstelle) für eine benutzerdefinierte Domain. Benutzerdefinierte Domains müssen kein bestimmtes Format haben.
- Zertifikatmanager für ein von Google verwaltetes Zertifikat verwenden: Für von Google verwaltete Zertifikate gelten Einschränkungen hinsichtlich der Länge der unterstützten Domainnamen. Weitere Informationen finden Sie unter Längenbeschränkungen für Domainnamen für von Google verwaltete Zertifikate.
Regionalen Application Load Balancer (HTTPS) bereitstellen:
- Konfigurieren Sie den Load-Balancer so, dass er Ihr vom Kunden verwaltetes Zertifikat für sein HTTPS-Frontend verwendet.
- Legen Sie für den Backend-Dienst eine Private Service Connect-Netzwerk-Endpunktgruppe (PSC-NEG) fest. Diese NEG verweist auf die Dienstanhänge des veröffentlichten Dienstes Ihres Gemini Enterprise Agent Platform-Modellendpunkts.
DNS konfigurieren:
- Ihrer DNS-Zone einen A-Eintrag hinzufügen Die Zone kann öffentlich oder privat sein.
- Dieser Eintrag muss Ihre voll qualifizierte benutzerdefinierte Domain (z. B.
example.com) der IP-Adresse des regionalen Application Load Balancers zuordnen.
Aktualisieren Sie den lokalen Trust Store:
- Damit der Client den Server authentifizieren kann, muss das Zertifikat des Application Load Balancers (oder die ausstellende Zertifizierungsstelle) in den lokalen Trust Store importiert werden.
Jetzt können Sie Ihre Vorhersageanfragen an die vollständig qualifizierte benutzerdefinierte Domain senden:
https://example.com/v1/projects/VERTEX_AI_PROJECT_ID/locations/REGION/endpoints/ENDPOINT_ID:predict
Beispiele für das Abrufen von Onlineinferenzen
In den folgenden Abschnitten finden Sie Beispiele dafür, wie Sie die predict-Anfrage mit Python senden können.
Erstes Beispiel
psc_endpoint = aiplatform.PrivateEndpoint("projects/VERTEX_AI_PROJECT_ID/locations/REGION/endpoints/ENDPOINT_ID")
REQUEST_FILE = "PATH_TO_INPUT_FILE"
import json
import urllib3
urllib3.disable_warnings(urllib3.exceptions.InsecureRequestWarning)
with open(REQUEST_FILE) as json_file:
data = json.load(json_file)
response = psc_endpoint.predict(
instances=data["instances"], endpoint_override=INTERNAL_IP_ADDRESS
)
print(response)
Ersetzen Sie PATH_TO_INPUT_FILE durch einen Pfad zu einer JSON-Datei, die die Anfragedaten enthält.
Zweites Beispiel
import json
import requests
import urllib3
import google.auth.transport.requests
urllib3.disable_warnings(urllib3.exceptions.InsecureRequestWarning)
REQUEST_FILE = "PATH_TO_INPUT_FILE"
# Programmatically get credentials and generate an access token
creds, project = google.auth.default()
auth_req = google.auth.transport.requests.Request()
creds.refresh(auth_req)
access_token = creds.token
# Note: the credential lives for 1 hour by default
# After expiration, it must be refreshed
# See https://cloud.google.com/docs/authentication/token-types#access-tokens
# for token lifetimes.
with open(REQUEST_FILE) as json_file:
data = json.load(json_file)
url = "https://INTERNAL_IP_ADDRESS/v1/projects/VERTEX_AI_PROJECT_ID/locations/REGION/endpoints/ENDPOINT_ID:predict"
headers = {
"Content-Type": "application/json",
"Authorization": f"Bearer {access_token}" # Add access token to headers
}
payload = {
"instances": data["instances"],
}
response = requests.post(url, headers=headers, json=payload, verify=False)
print(response.json())
Drittes Beispiel
Das folgende Beispiel zeigt, wie Sie die predict-Anfrage mit Python an die DNS-Zone senden können:
REQUEST_FILE = "PATH_TO_INPUT_FILE"
import json
import urllib3
urllib3.disable_warnings(urllib3.exceptions.InsecureRequestWarning)
with open(REQUEST_FILE) as json_file:
data = json.load(json_file)
response = psc_endpoint.predict(
instances=data["instances"], endpoint_override=DNS_NAME
)
print(response)
Ersetzen Sie DNS_NAME durch den DNS-Namen, den Sie im Befehl gcloud dns record-sets create angegeben haben.
Best Practices
Wenn ein neuer Endpunkt bereitgestellt wird, kann der Dienstanhang aktualisiert werden. Prüfen Sie immer den Status des Dienstanhangs und des PSC-Endpunkts, bevor Sie den Inferenzaufruf ausführen. Hier sind einige Best Practices dafür:
- Wenn ein Endpunkt keine aktiven Bereitstellungen hat, kann es sein, dass die Gemini Enterprise Agent Platform die Dienstanhänge löscht und neu erstellt. Achten Sie darauf, dass sich der PSC-Endpunkt in einem verbundenen Zustand befindet (indem Sie die Weiterleitungsregel neu erstellen), wenn der Dienstanhang neu erstellt wird.
- Wenn ein Endpunkt ein aktives bereitgestelltes Modell hat, ändert sich der Dienstanhang nicht. Wenn Sie die Dienstanhänge beibehalten möchten, erstellen Sie eine Trafficaufteilung und migrieren Sie den Traffic schrittweise zur neuen Modellversion, bevor Sie die frühere Version entfernen.
- Die Gemini Enterprise Agent Platform ermöglicht bis zu 1.000 Verbindungen pro Dienstanhang.
- Für die Weiterleitungsregel gilt auch ein Kontingentlimit. Weitere Informationen finden Sie unter Kontingente und Limits für Cloud Load Balancing.
Beschränkungen
Agent Platform-Endpunkte mit Private Service Connect unterliegen den folgenden Einschränkungen:
- Die Bereitstellung von abgestimmten Gemini-Modellen wird nicht unterstützt.
- Privater ausgehender Traffic innerhalb des Endpunkts wird nicht unterstützt. Da Private Service Connect-Weiterleitungsregeln unidirektional sind, sind andere privateCloud de Confiance -Arbeitslasten in Ihrem Container nicht zugänglich.
- Der
projectAllowlist-Wert eines Endpunkts kann nicht geändert werden. - Vertex Explainable AI wird nicht unterstützt.
- Bevor Sie einen Endpunkt löschen, müssen Sie die Bereitstellung des Modells von diesem Endpunkt aufheben.
- Wenn die Bereitstellung aller Modelle länger als 10 Minuten aufgehoben wird, wird der Dienstanhang möglicherweise gelöscht. Prüfen Sie den Verbindungsstatus von Private Service Connect. Wenn er
CLOSEDist, erstellen Sie die Weiterleitungsregel neu. - Nachdem Sie einen Endpunkt gelöscht haben, können Sie den Endpunktnamen bis zu 7 Tage lang nicht wiederverwenden.
- Ein Projekt kann in seinen Private Service Connect-Konfigurationen bis zu 10 verschiedene
projectAllowlist-Werte haben.