Die Private Service Connect-Schnittstelle wird für private Verbindungen empfohlen, da sie das Risiko einer IP-Erschöpfung verringert und transitives Peering ermöglicht.
Private Service Connect-Schnittstellen werden für benutzerdefinierte Vertex AI-Jobs und persistente Ressourcen unterstützt.
Übersicht
Private Service Connect-Schnittstellen werden für benutzerdefinierte Jobs und persistente Ressourcen in Vertex AI Training unterstützt. Wenn Sie eine Private Service Connect-Schnittstelle verwenden möchten, müssen Sie in Ihrem Nutzerprojekt ein VPC-Netzwerk, ein Subnetzwerk und einen Netzwerkanhang einrichten. Weitere Informationen finden Sie unter Private Service Connect-Schnittstelle einrichten. Der Name des Netzwerkanhangs muss in der Anfrage zum Erstellen eines benutzerdefinierten Jobs oder einer persistenten Ressource enthalten sein, um die Private Service Connect-Schnittstelle zu aktivieren.
Ausgehende Vertex AI Private Service Connect-Verbindungen zu anderen Netzwerken
In Vertex AI sind die von Private Service Connect unterstützten Egress-Netzwerkverbindungen integriert (siehe Verbindung zu Arbeitslasten in anderen Netzwerken herstellen). Es gelten jedoch die folgenden Ausnahmen:
Ausgehender Traffic zu einem privater Google-Zugriff eines Kunden wird nicht unterstützt. Stattdessen würde der ausgehende Traffic von Private Service Connect lokal für den privater Google-Zugriff aufgelöst.
Ausgehender Traffic zu Cloud NAT wird nur unterstützt, wenn VPC Service Control aktiviert ist.
Beschränkungen
- Private Service Connect-Schnittstellen unterstützen externe IP-Adressen nicht.
Preise
Die Preise für Private Service Connect-Schnittstellen werden auf der Seite Alle Netzwerkpreise im Abschnitt „Private Service Connect-Schnittstelle für den Zugriff auf ein Produzenten- oder Nutzer-VPC-Netzwerk verwenden“ beschrieben.
Hinweise
Ressourcen für die Private Service Connect-Schnittstelle in Ihrem Nutzerprojekt einrichten.
Benutzerdefinierten Trainingsjob mit einer Private Service Connect-Schnittstelle erstellen
Sie können einen benutzerdefinierten Trainingsjob mit einer Private Service Connect-Schnittstelle mit dem Vertex AI SDK für Python oder der REST API erstellen.
Python
Wenn Sie einen benutzerdefinierten Trainingsjob mit PSC-I mit dem Vertex AI SDK für Python erstellen möchten, konfigurieren Sie den Job mit der aiplatform_v1/services/job_service
-Definition.
Python
project
: Ihre Projekt-ID. Sie finden diese IDs auf der Begrüßungsseite der Google Cloud Console.location
: Siehe Liste der verfügbaren Standorte.bucket
: Ersetzen Siebucket
durch den Namen eines Buckets, auf den Sie Zugriff haben.display_name
: Der Anzeigename der nichtflüchtigen Ressource.machine_type
: Computing-Ressourcen angeben.replica_count
: Die Anzahl der Worker-Replikate, die pro Test verwendet werden sollen.service_attachment
: Der Name der Dienstanhangsressource. Wird ausgefüllt, wenn Private Service Connect aktiviert ist.image_uri
: Der URI eines Docker-Container-Image mit Ihrem Trainingscode. Beachten Sie die Informationen zum Erstellen von benutzerdefinierten Container-Images.network_attachment
: Der Name oder vollständige Pfad des Netzwerk-Anhangs, den Sie beim Einrichten Ihrer Ressourcen für Private Service Connect erstellt haben.domain
: Der DNS-Name der privaten Cloud DNS-Zone, die Sie beim Einrichten des privaten DNS-Peerings erstellt haben.target_project
: Das Projekt, in dem das VPC-Netzwerk gehostet wird.target_network
: der Name des VPC-Netzwerks.
REST
Senden Sie zum Erstellen eines benutzerdefinierten Trainingsjobs eine POST-Anfrage mit der Methode customJobs.create.
Ersetzen Sie diese Werte in den folgenden Anfragedaten:
- LOCATION: Die Region, in der der Container oder das Python-Paket ausgeführt wird.
- PROJECT_ID: Ihre Projekt-ID.
- JOB_NAME: Ein Anzeigename für
CustomJob
. - REPLICA_COUNT: Die Anzahl der zu verwendenden Worker-Replikate. In den meisten Fällen ist dies auf
1
für den ersten Worker-Pool festgelegt. - Wenn Ihre Trainingsanwendung in einem benutzerdefinierten Container ausgeführt wird, geben Sie Folgendes an:
- IMAGE_URI: der URI eines Docker-Container-Image mit Ihrem Trainingscode. Beachten Sie die Informationen zum Erstellen von benutzerdefinierten Container-Images.
- NETWORK_ATTACHMENT: Der Name oder vollständige Pfad des Netzwerk-Anhangs, den Sie beim Einrichten der Private Service Connect-Schnittstelle erstellt haben.
- Wenn Sie privates DNS-Peering benötigen, ist das Feld
dns_peering_configs
erforderlich. Jedes Element in dieser Liste enthält Folgendes:- DOMAIN_SUFFIX: Der DNS-Name der privaten Cloud DNS-Zone, die Sie beim Einrichten des privaten DNS-Peerings erstellt haben.
- TARGET_PROJECT: Das Projekt, in dem das VPC-Netzwerk gehostet wird.
- TARGET_NETWORK: der Name des VPC-Netzwerks.
HTTP-Methode und URL:
POST https://LOCATION-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/customJobs
JSON-Text der Anfrage:
"display_name": JOB_NAME, "job_spec": { "worker_pool_specs": [ { "machine_spec": { "machine_type": "n2-standard-4", }, "replica_count": REPLICA_COUNT, "container_spec": { "image_uri": IMAGE_URI, }, }, ], "psc_interface_config": { "network_attachment": NETWORK_ATTACHMENT, "dns_peering_configs": [ { "domain": DOMAIN_SUFFIX, "target_project": TARGET_PROJECT, "target_network": TARGET_NETWORK } ], }, "enable_web_access": 1 }
Wenn Sie die Anfrage senden möchten, wählen Sie eine der folgenden Optionen aus:
curl
Speichern Sie den Anfragetext in einer Datei mit dem Namen request.json
und führen Sie den folgenden Befehl aus:
curl -X POST \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json; charset=utf-8" \
-d @request.json \
"https://LOCATION-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/customJobs"
PowerShell
Speichern Sie den Anfragetext in einer Datei mit dem Namen request.json
und führen Sie den folgenden Befehl aus:
$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }
Invoke-WebRequest `
-Method POST `
-Headers $headers `
-ContentType: "application/json; charset=utf-8" `
-InFile request.json `
-Uri "https://LOCATION-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/customJobs" | Select-Object -Expand Content
Sie sollten in etwa folgende JSON-Antwort erhalten: