Auf dieser Seite wird beschrieben, wie Sie mit Batch für Google Cloudbeginnen.
Übersicht
Batch ist ein vollständig verwalteter Dienst, mit dem Sie Batchverarbeitungs Arbeitslasten auf Google Cloud Ressourcen planen, in die Warteschlange verschieben und ausführen können. Sie können Batch beispielsweise für Hochleistungs-Computing (HPC), maschinelles Lernen (ML) und Datenverarbeitungsarbeitslasten verwenden. Batch stellt Ressourcen bereit und verwaltet die Kapazität für Sie, sodass Ihre Batcharbeitslasten in großem Maßstab ausgeführt werden können.
Wenn Sie Batch verwenden, müssen Sie keine Jobplaner von Drittanbietern konfigurieren und verwalten, Ressourcen nicht bereitstellen oder deren Bereitstellung aufheben oder Ressourcen zonenweise anfordern. Zum Ausführen eines Jobs geben Sie Parameter für die Ressourcen an, die für Ihre Arbeitslast erforderlich sind. Batch ruft dann Ressourcen ab und stellt den Job zur Ausführung in die Warteschlange. Batch ist in andere Google Cloud Dienste eingebunden. So können Sie Batchjobs planen, ausführen, speichern und analysieren, sodass Sie sich auf das Senden eines Jobs konzentrieren können und die Ergebnisse nutzen.
Batch besteht aus den folgenden Komponenten:
Job:Ein geplantes Programm, das eine Reihe von Aufgaben ohne Nutzerinteraktion ausführt, normalerweise für Berechnungsarbeitslasten. Ein Job kann beispielsweise ein einzelnes Shell-Script oder eine komplexe, mehrteilige Berechnung sein.
Ein Batchjob stellt ein Array aus einer oder mehreren Aufgaben und die Umgebung dar, in der diese Aufgaben ausgeführt werden. Sie definieren das Programm für den Job als eine Sequenz aus einer oder mehreren ausführbaren Einheiten. Jede Aufgabe führt die Sequenz der ausführbaren Einheiten auf den Ressourcen des Jobs aus. Sie können die Aufgaben eines Jobs so konfigurieren, dass sie parallel oder nacheinander ausgeführt werden.
Aufgabe:Eine Ausführung der Sequenz der ausführbaren Einheiten eines Jobs. Wenn ein Job mehrere Aufgaben hat, geben Sie an, wie sich die einzelnen Ausführungen unterscheiden sollen, indem Sie auf die Umgebungsvariable für den Index einer Aufgabe in den ausführbaren Einheiten des Jobs verweisen.
Ausführbare Einheit:Ein ausführbares Skript oder ein Container, das bzw. der als Teil eines Jobs definiert wird.
Ressourcen:Die Infrastruktur, die zum Ausführen eines Jobs erforderlich ist. Sie müssen mindestens die pro Aufgabe erforderlichen Rechenressourcen angeben: CPU-Kerne, Arbeitsspeicher und (falls erforderlich) zusätzlicher Speicherplatz auf dem Bootlaufwerk. Optional können Sie auch andere Ressourcenoptionen für den Job angeben. Batch erstellt und löscht die Ressourcen, die Ihren Spezifikationen entsprechen, automatisch während der Laufzeit des Jobs.
Jeder Batchjob wird in einer regionalen verwalteten Instanzgruppe (Managed Instance Group, MIG) ausgeführt. Das ist eine Gruppe aus einer oder mehreren passenden Compute Engine-VM-Instanzen, die sich jeweils in einer der enthaltenen Zonen befinden. Jede VM hat dedizierte Hardware für CPU-Kerne und Arbeitsspeicher, die sich auf die Leistung Ihres Jobs auswirken, sowie ein Bootlaufwerk, auf dem ein Betriebssystemimage und Anleitungen zum Ausführen Ihres Jobs gespeichert sind. Falls angegeben, kann ein Job auch zusätzliche Ressourcen enthalten oder auf diese zugreifen, z. B. GPUs oder externe Speichervolumes. Die Anzahl der für einen Job bereitgestellten VMs hängt von den Hardwareanforderungen und den von Ihnen angegebenen Optionen für die Aufgabenplanung ab.
Mit Batch können Sie Jobs erstellen und ausführen, die jeweils die Ressourcen bereitstellen und verwenden, die zum Ausführen ihrer Aufgaben erforderlich sind.
Weitere Informationen zum Jobverhalten und zu den Optionen finden Sie auf der Seite Übersicht zur Joberstellung und -ausführung.
Preise
Für die Verwendung von Batch fallen keine zusätzlichen Kosten an. Sie zahlen nur für die Kosten der zugrunde liegenden Ressourcen, die zum Ausführen Ihrer Jobs erforderlich sind.
Weitere Informationen zu den Kosten im Zusammenhang mit Batch und zum Filtern von Cloud-Abrechnungsberichten, um Batch-Kosten anzuzeigen, finden Sie unter Preise.
Beschränkungen
Für Batch gelten die folgenden Beschränkungen:
- Sie dürfen die Batch-Kontingente und -Limits für Ihr Projekt nicht überschreiten.
- Jobs können nur Maschinentypen aus den folgenden Maschinenserien verwenden:
- Allgemeine Zwecke: C4, C4A, C4D, C3, C3D, E2, N4, N2D, N2, N1 und T2D
- Computing-optimiert: C2, C2D und H3
- Speicheroptimiert: M3, M2 und M1
- Beschleunigungsoptimiert: A4, A3 Ultra, A3 Mega, A3 High, A2 und G2
- Sie können nur einen Maschinentyp pro Job angeben. Dieser kann vordefiniert oder benutzerdefiniert sein.
- Sie können nicht mehr als eine Aufgabengruppe pro Job angeben. Alle Jobs haben nur eine Aufgabengruppe mit dem Namen
group0.
Vorbereitung
Bevor Sie mit Batch beginnen, müssen die folgenden Schritte abgeschlossen worden sein:
- Wenn Batch in Ihrem Projekt noch nicht verwendet wurde, aktivieren Sie Batch für Ihr Projekt.
- Richten Sie Batch für jeden neuen Nutzer ein.
Batch für ein Projekt aktivieren
So verwenden Sie Batch mit einem Projekt:
Wählen Sie in der Google Cloud Console auf der Seite für die Projektauswahl ein Projekt von aus oder erstellen Sie eines Google Cloud .
Rollen, die zum Auswählen oder Erstellen eines Projekts erforderlich sind
- Projekt auswählen: Für die Auswahl eines Projekts ist keine bestimmte IAM-Rolle erforderlich. Sie können ein beliebiges Projekt auswählen, für das Ihnen eine Rolle zugewiesen wurde.
-
Projekt erstellen: Zum Erstellen eines Projekts benötigen Sie die Rolle „Projektersteller“
(
roles/resourcemanager.projectCreator), die dieresourcemanager.projects.createBerechtigung enthält. Rollen zuweisen.
Prüfen Sie, ob für Ihr Google Cloud Projekt die Abrechnung aktiviert ist.
Prüfen Sie, ob Batch für Ihr Projekt aktiviert ist:
Aktivieren Sie die APIs für Batch, Compute Engine und Cloud Logging.
Rollen, die zum Aktivieren von APIs erforderlich sind
Zum Aktivieren von APIs benötigen Sie die IAM-Rolle „Service Usage-Administrator“ (
roles/serviceusage.serviceUsageAdmin), die die Berechtigungserviceusage.services.enableenthält. Rollen zuweisen.Prüfen Sie, ob Ihr Projekt ein oder mehrere Dienstkonten mit den erforderlichen Berechtigungen zum Erstellen und Zugreifen auf die Ressourcen zum Ausführen von Batchjobs hat.
Wichtig: Allen Nutzern, die Batchjobs in Ihrem Projekt erstellen und ausführen dürfen, muss die Berechtigung zur Verwendung eines dieser Dienstkonten gewährt werden. Wählen Sie daher keine Dienstkonten aus, die mehr Berechtigungen haben, als Sie diesen Nutzern gewähren möchten.
Das Dienstkonto, das standardmäßig von jedem Job verwendet wird, ist das Compute Engine-Standarddienstkonto, Sie können aber auch anpassen, welches Dienstkonto ein Job verwendet.
Sofern Sie nicht nur die Standardkonfiguration für die Dienstkonten Ihres Jobs verwenden möchten, weisen Sie allen Dienstkonten, die Ihr Projekt für Batchjobs verwendet, die folgenden IAM-Rollen zu.
- Batch-Agent-Melder (
roles/batch.agentReporter) für das Projekt - Damit Jobs Logs in Cloud Logging generieren können: Logs-Autor (
roles/logging.logWriter) für das Projekt
Für das Dienstkonto, das Sie für einen Job verwenden, sind möglicherweise zusätzliche Rollen erforderlich, je nachdem, welche Konfigurationsoptionen Sie für Ihre Jobs verwenden möchten. In der Dokumentation für jede Aufgabe finden Sie Informationen dazu, ob zusätzliche Berechtigungen erforderlich sind. Weitere Informationen zum Zuweisen von Rollen zu Dienstkonten finden Sie unter Dienstkonten einschränken und Zugriff auf Dienstkonten verwalten.
- Batch-Agent-Melder (
Machen Sie sich mit dem Batch-Dienst-Agent Ihres Projekts vertraut:
Nachdem Sie einen Batchjob erstellt haben, wird der Batch-Dienst-Agent automatisch für Ihr Projekt mit dem folgenden Namen erstellt:
service-PROJECT_NUMBER@gcp-sa-cloudbatch.iam.gserviceaccount.comErsetzen Sie
PROJECT_NUMBERdurch die Projektnummer Ihres Projekts.Dem Batch-Dienst-Agent wird automatisch die IAM-Rolle „Google Batch-Dienst-Agent“ (
roles/batch.serviceAgent) zugewiesen. Diese Konfiguration ist erforderlich, damit Ihr Projekt Batch verwenden kann.Weitere Informationen finden Sie unter Dienst-Agents.
Batch für einen neuen Nutzer einrichten
So verwenden Sie Batch als Nutzer:
Bitten Sie Ihren Administrator, Ihnen die erforderlichen IAM-Rollen für das Projekt zuzuweisen, um die Berechtigungen zu erhalten, die Sie zum Verwenden von Batch benötigen. In der Dokumentation für jede Aufgabe finden Sie Informationen zu den erforderlichen Berechtigungen.
Wenn Sie beispielsweise lernen möchten, wie Sie Batch verwenden, indem Sie einen einfachen Job erstellen, können Sie Rollen für die folgenden Aufgaben anfordern:
- Jobs erstellen:
- Bearbeiter von Batchjobs (
roles/batch.jobsEditor) für das Projekt - Dienstkontonutzer (
roles/iam.serviceAccountUser) für das Dienstkonto des Jobs. Standardmäßig ist das das Compute Engine-Standarddienstkonto.
- Bearbeiter von Batchjobs (
- Jobs auflisten und beschreiben: Bearbeiter von Batchjobs (
roles/batch.jobsEditor) oder Betrachter von Batchjobs (roles/batch.jobsViewer) für das Projekt - Logs für Jobs ansehen: Logbetrachter (
roles/logging.viewer) für das Projekt - Jobs löschen: Bearbeiter von Batchjobs (
roles/batch.jobsEditor) für das Projekt
Weitere Informationen zum Zuweisen von Rollen finden Sie unter Zugriff verwalten.
- Jobs erstellen:
Wenn Sie die Befehlszeilenbeispiele für Batch verwenden möchten, richten Sie die Google Cloud CLI so ein: Weitere Informationen zur Authentifizierung für die Google Cloud CLI.
Installieren Sie die Google Cloud CLI. Initialisieren Sie die Google Cloud CLI nach der Installation mit dem folgenden Befehl:
gcloud initWenn Sie einen externen Identitätsanbieter (IdP) verwenden, müssen Sie sich zuerst mit Ihrer föderierten Identität in der gcloud CLI anmelden.
Empfohlen: Legen Sie mit dem
gcloud config set projectBefehl ein Standardprojekt fest:gcloud config set project PROJECT_IDErsetzen Sie
PROJECT_IDdurch die Projekt-ID Ihres Projekts.
Wenn Sie die API- oder Clientbibliotheksbeispiele für Batch verwenden möchten, lesen Sie den Abschnitt Bei Batch authentifizieren.
Support anfordern
Sie können sich mit der Community über Batch austauschen, indem Sie in den Google Developer Program-Foren das Tag „Batch“ verwenden.
Wenn Sie Probleme mit Batch haben, lesen Sie die Dokumentation zur Fehlerbehebung.
Wenn Sie Support für Batch benötigen oder Feedback geben möchten, verwenden Sie die folgenden Ressourcen:
Bei Abrechnungsproblemen mit Google Cloudwenden Sie sich an den Abrechnungssupport.
Wenn Sie ein kostenpflichtiges Supportpaket haben, wenden Sie sich bei Problemen mit Batch direkt an den Google Cloud Support.
Google Cloud bietet verschiedene Supportpakete für unterschiedliche Anforderungen, etwa Rund-um-die-Uhr-Verfügbarkeit, Telefonsupport und Kontakt mit einem technischen Support manager. Weitere Informationen finden Sie unter Google Cloud Support.
Wenn Sie Feedback oder Featureanfragen zu Batch geben oder Probleme mit Batch melden möchten, ohne ein kostenpflichtiges Supportpaket zu haben, klicken Sie auf die Schaltfläche Feedback geben. Sie finden sie am Anfang und Ende jeder Batch-Dokumentationsseite. Wählen Sie dann eine der folgenden Optionen aus:
- Wenn Sie Feedback zur Batch-Dokumentation geben möchten, wählen Sie „Feedback zur Dokumentation“ aus.
- Für alle anderen Feedback zu Batch wählen Sie „Produktfeedback“ aus.
Nächste Schritte
Beispieljob erstellen und ausführen
Weitere Informationen zum Erstellen eines Jobs.
Informationen zu verwandten Google Cloud Produkten: