Sie können Verbindungen für die VMs steuern, auf denen ein Job ausgeführt wird, indem Sie ein Netzwerk angeben mit dem gewünschten Zugriff. Sie können beispielsweise ein Netzwerk angeben, das einem Job den Zugriff auf die erforderlichen Ressourcen erlaubt, oder den Zugriff einschränken, um die Sicherheit zu verbessern. Wenn Sie keine Netzwerkanforderungen haben und das Netzwerk für einen Job nicht konfigurieren möchten, können Sie die Angabe des Netzwerks überspringen, um stattdessen die Standardnetzwerkkonfiguration zu verwenden.
Weitere Informationen zu Netzwerkkonzepten und zum Konfigurieren von Netzwerken finden Sie unter Batch-Netzwerk – Übersicht.
Hinweise
- Wenn Sie Batch zum ersten Mal verwenden, lesen Sie Erste Schritte mit Batch und aktivieren Sie Batch, indem Sie den Voraussetzungen für Projekte und Nutzer.
-
Bitten Sie Ihren Administrator, Ihnen die folgenden IAM-Rollen zuzuweisen, um die Berechtigungen zu erhalten, die Sie zum Erstellen eines Jobs benötigen, der in einem bestimmten Netzwerk ausgeführt wird:
-
Batch-Job-Editor (
roles/batch.jobsEditor
) für das Projekt -
Dienstkontonutzer (
roles/iam.serviceAccountUser
) im Dienstkonto des Jobs, das standardmäßig das Compute Engine-Standarddienstkonto ist -
So ermitteln Sie das Netzwerk und das Subnetz:
Compute-Netzwerkbetrachter (
roles/compute.networkViewer
) für das Projekt
Weitere Informationen zum Zuweisen von Rollen finden Sie unter Zugriff auf Projekte, Ordner und Organisationen verwalten.
Sie können die erforderlichen Berechtigungen auch über benutzerdefinierte Rollen oder andere vordefinierte Rollen erhalten.
-
Batch-Job-Editor (
-
Wählen Sie das gewünschte Netzwerk aus.
für den Job nutzen. Das für einen Job angegebene Netzwerk muss die folgenden Anforderungen erfüllen:
- Das Netzwerk ist ein Virtual Private Cloud-Netzwerk (VPC), das sich in der wie der Job, oder ist ein Freigegebenes VPC-Netzwerk das vom Projekt gehostet oder für den Job freigegeben wird.
- Das Netzwerk umfasst ein Subnetzwerk an dem Ort, an dem Sie den Job ausführen möchten.
-
Das Netzwerk ermöglicht den für Ihren Job erforderlichen Zugriff. Wenn zum Beispiel
erfordert eine Kommunikation
zwischen VMs, z. B. einer
Job, der MPI-Bibliotheken verwendet
zwischen eng gekoppelten Aufgaben
hat eine Firewallregel, die Verbindungen zwischen den VMs des Jobs zulässt.
Hier erfahren Sie, wie Sie Konfigurieren Sie VPC-Firewallregeln für gängige Anwendungsfälle.
-
Wenn Sie möchten, dass ein Job in einem Subnetz eines freigegebene VPC-Netzwerks
die von einem anderen Projekt gehostet werden,
Batch-Dienst-Agent
muss die Berechtigung zur Verwendung dieses Subnetzes erhalten haben.
Damit der Batch-Dienst-Agent Ihres Projekts die erforderlichen Berechtigungen zum Erstellen eines Jobs hat, der in einem Subnetz eines freigegebenen VPC-Netzwerks ausgeführt wird, bitten Sie Ihren Administrator, dem Batch-Dienst-Agent Ihres Projekts die IAM-Rolle Compute Network User (
roles/compute.networkUser
) für das Subnetz der freigegebenen VPC zuzuweisen.Weitere Informationen finden Sie in der Dokumentation zum Einrichten einer freigegebenen VPC für Dienstkonten.
Job erstellen, der in einem bestimmten Netzwerk ausgeführt wird
Geben Sie das Netzwerk für einen Job an, wenn Sie ihn erstellen. Insbesondere müssen Sie ein VPC-Netzwerk und einen Subnetz enthält, in dem Sie diesen Job ausführen möchten.
Wenn Sie beim Erstellen dieses Jobs eine VM-Instanzvorlage verwenden möchten, müssen Sie das Netzwerk in der VM-Instanzvorlage angeben. Andernfalls führen Sie die folgenden Schritte aus, um das Netzwerk für einen Job anzugeben, indem Sie über die gcloud CLI oder Batch API.
gcloud
Wenn Sie mit der gcloud CLI einen Job erstellen möchten, der in einem bestimmten Netzwerk ausgeführt wird, wählen Sie eine der folgenden Optionen aus:
- Mit gcloud-Flags das Netzwerk für einen Job angeben
- Mit JSON-Feldern das Netzwerk für einen Job angeben
Mit gcloud-Flags das Netzwerk für einen Job angeben
So erstellen Sie einen Job und geben mit gcloud-Flags das Netzwerk für den Job an: führen Sie die folgenden Schritte aus:
Erstellen Sie eine JSON-Datei, die die Konfigurationsdetails Ihres Jobs enthält.
Um beispielsweise einen einfachen Skriptjob zu erstellen, erstellen Sie eine JSON-Datei mit dem folgenden Inhalten.
{ "taskGroups": [ { "taskSpec": { "runnables": [ { "script": { "text": "echo Hello world! This is task ${BATCH_TASK_INDEX}. This job has a total of ${BATCH_TASK_COUNT} tasks." } } ] }, "taskCount": 3 } ], "logsPolicy": { "destination": "CLOUD_LOGGING" } }
Erstellen Sie den Job mit dem Befehl
gcloud batch jobs submit
. Fügen Sie die Flags--network
und--subnetwork
ein, um das Netzwerk für den Job anzugeben.gcloud batch jobs submit JOB_NAME \ --location LOCATION \ --config JSON_CONFIGURATION_FILE \ --network projects/HOST_PROJECT_ID/global/networks/NETWORK \ --subnetwork projects/HOST_PROJECT_ID/regions/REGION/subnetworks/SUBNET
Ersetzen Sie Folgendes:
JOB_NAME
: der Name dieses Jobs.LOCATION
: die location für diesen Job an.JSON_CONFIGURATION_FILE
: der Pfad zur JSON-Datei mit den Konfigurationsdetails des Jobs.HOST_PROJECT_ID
: die Projekt-ID des Projekts für das angegebene Netzwerk:- Wenn Sie ein freigegebene VPC-Netzwerk verwenden, geben Sie den Host an Projekt arbeiten.
- Geben Sie andernfalls das aktuelle Projekt an.
NETWORK
: Der Name eines VPC-Netzwerks im aktuellen Projekt oder eines freigegebenen VPC-Netzwerks, das vom aktuellen Projekt gehostet oder für dieses freigegeben wird.REGION
: die Region, in der sich das Subnetz und die VMs für den Job befinden:- Wenn Sie das Feld
allowedLocations
angeben, um den zulässigen Speicherort für die VMs für den Job anzugeben, müssen Sie hier dieselbe Region angeben. - Andernfalls muss die Region mit dem Standort übereinstimmen, den Sie für den Job ausgewählt haben (
LOCATION
).
- Wenn Sie das Feld
SUBNET
: der Name eines Subnetz, das Teil des VPC-Netzwerk und befindet sich in derselben Region wie die VMs für den Job
Netzwerk für einen Job mit JSON-Feldern angeben
So erstellst du einen Job und verwendest Felder in der JSON-Konfigurationsdatei, um das Netzwerk für den Job anzugeben:
Erstellen Sie eine JSON-Datei mit den Konfigurationsdetails des Jobs. Fügen Sie zum Angeben des Netzwerks für den Job den Parameter
network
- undsubnetwork
-Felder:Wenn Sie beispielsweise einen einfachen Script-Job erstellen möchten, der in einem bestimmten Netzwerk ausgeführt wird, erstellen Sie eine JSON-Datei mit dem folgenden Inhalt.
{ "taskGroups": [ { "taskSpec": { "runnables": [ { "script": { "text": "echo Hello world! This is task ${BATCH_TASK_INDEX}. This job has a total of ${BATCH_TASK_COUNT} tasks." } } ] }, "taskCount": 3 } ], "allocationPolicy": { "network": { "networkInterfaces": [ { "network": "projects/HOST_PROJECT_ID/global/networks/NETWORK", "subnetwork": "projects/HOST_PROJECT_ID/regions/REGION/subnetworks/SUBNET" } ] } }, "logsPolicy": { "destination": "CLOUD_LOGGING" } }
Ersetzen Sie Folgendes:
HOST_PROJECT_ID
: die Projekt-ID des Projekts für das angegebene Netzwerk:- Wenn Sie ein freigegebenes VPC-Netzwerk verwenden, geben Sie das Hostprojekt an.
- Geben Sie andernfalls das aktuelle Projekt an.
NETWORK
: der Name eines VPC-Netzwerk im aktuellen Projekt oder ein freigegebenes VPC-Netzwerk das vom aktuellen Projekt gehostet wird oder für das aktuelle Projekt freigegeben wird.REGION
: die Region, in der sich das Subnetz und die VMs für den Job befinden:- Wenn Sie den Parameter
Feld „
allowedLocations
“ um den zulässigen Standort für die VMs für den Job anzugeben, muss hier dieselbe Region angeben. - Andernfalls muss die Region mit dem Standort übereinstimmen, den Sie für den Job ausgewählt haben (
LOCATION
).
- Wenn Sie den Parameter
Feld „
SUBNET
: der Name eines Subnetz, das Teil des VPC-Netzwerk und befindet sich in derselben Region wie der VMs für den Job
Erstellen Sie den Job mit dem Befehl
gcloud batch jobs submit
.gcloud batch jobs submit JOB_NAME \ --location LOCATION \ --config JSON_CONFIGURATION_FILE
Ersetzen Sie Folgendes:
JOB_NAME
: Der Name für diesen Job.LOCATION
: den Speicherort für diese Aufgabe.JSON_CONFIGURATION_FILE
: der Pfad für den JSON-Datei mit den Konfigurationsdetails des Jobs.
Java
Node.js
Python
API
Verwenden Sie zum Erstellen eines Jobs mit der Batch API die Methode
jobs.create
-Methode
und geben Sie die Konfigurationsdetails des Jobs an.
Geben Sie das Netzwerk für den Job an, indem Sie die Felder network
und subnetwork
einfügen.
Um beispielsweise einen einfachen Skriptjob zu erstellen,
Netzwerk suchen, stellen Sie die folgende POST
-Anfrage:
POST https://batch.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/jobs?job_id=JOB_NAME
{
"taskGroups": [
{
"taskSpec": {
"runnables": [
{
"script": {
"text": "echo Hello world! This is task ${BATCH_TASK_INDEX}. This job has a total of ${BATCH_TASK_COUNT} tasks."
}
}
]
},
"taskCount": 3
}
],
"allocationPolicy": {
"network": {
"networkInterfaces": [
{
"network": "projects/HOST_PROJECT_ID/global/networks/NETWORK",
"subnetwork": "projects/HOST_PROJECT_ID/regions/REGION/subnetworks/SUBNET"
}
]
}
},
"logsPolicy": {
"destination": "CLOUD_LOGGING"
}
}
Ersetzen Sie Folgendes:
PROJECT_ID
: die Projekt-ID Ihres Projekts.LOCATION
: den Speicherort für diese Aufgabe.JOB_NAME
: Der Name für diesen Job.HOST_PROJECT_ID
: die Projekt-ID des Projekts für das angegebene Netzwerk:- Wenn Sie ein freigegebene VPC-Netzwerk verwenden, geben Sie den Host an Projekt arbeiten.
- Geben Sie andernfalls das aktuelle Projekt an (
PROJECT_ID
).
NETWORK
: der Name eines VPC-Netzwerk im aktuellen Projekt oder ein freigegebenes VPC-Netzwerk das vom aktuellen Projekt gehostet wird oder für das aktuelle Projekt freigegeben wird.REGION
: die Region, in der das Subnetz und die VMs für den Job befinden:- Wenn Sie den Parameter
Feld „
allowedLocations
“ um den zulässigen Standort für die VMs für den Job anzugeben, muss hier dieselbe Region angeben. - Andernfalls muss die Region mit der im
Standort, den Sie für den Job auswählen
(
LOCATION
).
- Wenn Sie den Parameter
Feld „
SUBNET
: der Name eines Subnetz, das Teil des VPC-Netzwerk und befindet sich in derselben Region wie der VMs für den Job
Nächste Schritte
- Wenn beim Erstellen oder Ausführen eines Jobs Probleme auftreten, lesen Sie den Hilfeartikel Fehlerbehebung.
- Weitere Informationen zu Netzwerken
- Weitere Informationen zum Erstellen von Jobs
- Weitere Informationen