Cette page décrit comment commencer à utiliser Batch pour Google Cloud.
Présentation
Batch est un service entièrement géré qui vous permet de planifier, de mettre en file d'attente et d'exécuter des charges de travail de traitement par lot sur les ressources Google Cloud . Par exemple, envisagez d'utiliser Batch pour le calcul hautes performances (HPC), le machine learning (ML) et les charges de travail de traitement de données. Batch provisionne les ressources et gère la capacité en votre nom, ce qui permet à vos charges de travail par lot de s'exécuter à grande échelle.
Avec Batch, vous n'avez pas besoin de configurer et de gérer des planificateurs de tâches tiers, de provisionner et d'annuler des ressources, ni de demander des ressources une zone à la fois. Pour exécuter un job, vous devez spécifier les paramètres des ressources requises pour votre charge de travail, puis Batch récupère ces ressources et met le job en file d'attente pour exécution. Batch fournit une intégration native avec d'autres services Google Cloud pour vous aider à planifier, exécuter, stocker et analyser des tâches par lot, afin que vous puissiez vous concentrer sur l'envoi d'un job et l'utilisation des résultats.
Le lot se compose des composants suivants:
Job:programme planifié qui exécute un ensemble de tâches sans aucune interaction de l'utilisateur, généralement pour les charges de travail de calcul. Par exemple, un job peut être un script shell unique ou un calcul complexe en plusieurs parties.
Plus précisément, un job par lot représente un tableau d'une ou de plusieurs tâches et l'environnement dans lequel exécuter ces tâches. Vous définissez le programme de la tâche comme une séquence d'un ou de plusieurs exécutables. Chaque tâche exécute la séquence d'exécutables sur les ressources de la tâche. Vous pouvez configurer les tâches d'un job pour qu'elles s'exécutent en parallèle ou de manière séquentielle.
Tâche:exécution unique de la séquence d'exécutables d'une tâche. Lorsqu'une tâche comporte plusieurs tâches, vous spécifiez comment chaque exécution doit varier en référençant la variable d'environnement pour l'index d'une tâche dans les exécutables de la tâche.
Exécutable:script ou conteneur exécutable que vous définissez dans le cadre d'un job.
Ressources:infrastructure nécessaire à l'exécution d'une tâche. Au minimum, vous devez spécifier uniquement les ressources de calcul requises par tâche : cœurs de processeur, mémoire et (si nécessaire) espace de stockage supplémentaire sur le disque de démarrage. Vous pouvez également spécifier d'autres options de ressources pour la tâche. Le traitement par lot crée et supprime automatiquement les ressources qui répondent à vos spécifications pendant l'exécution du job.
Plus précisément, chaque job par lot s'exécute sur un groupe d'instances géré (MIG) régional, qui est un groupe d'une ou plusieurs instances de machine virtuelle (VM) Compute Engine correspondantes, chacune située dans l'une des zones incluses. Chaque VM dispose d'un matériel dédié pour les cœurs de processeur et la mémoire, qui affectent les performances de votre tâche, ainsi que d'un disque de démarrage, qui stocke une image de système d'exploitation (OS) et des instructions pour exécuter votre tâche. Si spécifié, un job peut également inclure ou accéder à des ressources supplémentaires, par exemple des GPU ou des volumes de stockage externes. Le nombre de VM provisionnées pour une tâche dépend des exigences matérielles et des options de planification des tâches que vous spécifiez.
En résumé, Batch vous permet de créer et d'exécuter des jobs qui provisionnent et utilisent automatiquement les ressources requises pour exécuter ses tâches.
Pour en savoir plus sur le comportement et les options des tâches, consultez la page Présentation de la création et de l'exécution de tâches.
Tarifs
L'utilisation de Batch n'entraîne aucun coût supplémentaire. Vous ne payez que le coût des ressources sous-jacentes requises pour exécuter vos jobs.
Pour en savoir plus sur les coûts associés à Batch et sur la façon de filtrer les rapports Cloud Billing pour afficher les coûts de Batch, consultez la section Tarifs.
Restrictions
Les lots sont soumis aux restrictions suivantes:
- Vous ne pouvez pas dépasser les quotas et limites par lot de votre projet.
- Vous ne pouvez spécifier qu'un seul type de machine, qui peut être prédéfini ou personnalisé, par tâche.
- Vous ne pouvez pas spécifier plus d'un groupe de tâches par tâche. Toutes les tâches n'ont qu'un seul groupe de tâches nommé
group0
.
Prérequis
Pour commencer à utiliser Batch, vous devez remplir les conditions préalables suivantes:
- Si votre projet n'a jamais utilisé Batch, activez Batch pour votre projet.
- Configurez Batch pour chaque nouvel utilisateur.
Activer Batch pour un projet
Pour commencer à utiliser Batch avec un projet, procédez comme suit:
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
Make sure that billing is enabled for your Google Cloud project.
Assurez-vous que le traitement par lot est activé pour votre projet:
Activez les API pour le traitement par lot à l'aide de la consoleGoogle Cloud ou de Google Cloud CLI.
Console
Enable the Batch, Compute Engine, and Cloud Logging APIs.
gcloud
Enable the Batch, Compute Engine, and Cloud Logging APIs:
gcloud services enable batch.googleapis.com
compute.googleapis.com logging.googleapis.com Assurez-vous que votre projet comporte un ou plusieurs comptes de service disposant des autorisations nécessaires pour créer et accéder aux ressources permettant d'exécuter des tâches Batch.
Il est important de noter que tous les utilisateurs que vous souhaitez autoriser à créer et à exécuter des tâches par lot dans votre projet doivent être autorisés à utiliser l'un de ces comptes de service. Par conséquent, ne sélectionnez pas de comptes de service disposant de plus d'autorisations que celles que vous souhaitez accorder à ces utilisateurs.
Le compte de service utilisé par défaut par chaque tâche est le compte de service Compute Engine par défaut, mais vous pouvez également personnaliser le compte de service utilisé par une tâche.
Sauf si vous prévoyez d'utiliser uniquement la configuration par défaut pour les comptes de service de votre tâche, attribuez les rôles IAM suivants à tous les comptes de service que votre projet utilise pour les tâches par lot.
- Responsable du signalement d'agent par lot (
roles/batch.agentReporter
) sur le projet - Pour permettre aux tâches de générer des journaux dans Cloud Logging: Écrivain de journaux (
roles/logging.logWriter
) sur le projet
Le compte de service que vous utilisez pour une tâche peut également nécessiter des rôles supplémentaires en fonction des options de configuration que vous souhaitez utiliser pour vos tâches. Reportez-vous à la documentation de chaque tâche pour savoir si des autorisations supplémentaires sont requises. Pour en savoir plus sur l'attribution de rôles aux comptes de service, consultez les pages Limiter les comptes de service et Gérer l'accès aux comptes de service.
- Responsable du signalement d'agent par lot (
Assurez-vous de connaître l'agent de service de traitement par lot de votre projet:
Une fois que vous avez créé un job de traitement par lot, l'agent de service de traitement par lot est automatiquement créé pour votre projet avec le nom suivant:
service-PROJECT_NUMBER@gcp-sa-cloudbatch.iam.gserviceaccount.com
Remplacez
PROJECT_NUMBER
par le numéro de votre projet.Le rôle IAM de l'agent de service Google Batch (
roles/batch.serviceAgent
) est automatiquement attribué à l'agent de service Batch. Cette configuration est requise pour que votre projet utilise Batch.Toutefois, certains cas d'utilisation, comme l'exécution d'une tâche sur un réseau VPC partagé, nécessitent d'accorder des autorisations supplémentaires à l'agent de service de traitement par lot de votre projet.
Pour en savoir plus, consultez la page Agents de service.
Configurer Batch pour un nouvel utilisateur
Pour commencer à utiliser Batch en tant qu'utilisateur, procédez comme suit:
Pour obtenir les autorisations nécessaires pour utiliser Batch, demandez à votre administrateur de vous accorder les rôles IAM requis sur le projet. Reportez-vous à la documentation de chaque tâche pour connaître les autorisations requises.
Par exemple, si vous souhaitez commencer à apprendre à utiliser Batch en créant une tâche de base, demandez des rôles pour les tâches suivantes:
- Pour créer des jobs :
- Éditeur de tâches par lot (
roles/batch.jobsEditor
) sur le projet - Utilisateur du compte de service (
roles/iam.serviceAccountUser
) sur le compte de service du job, qui est par défaut le compte de service Compute Engine par défaut
- Éditeur de tâches par lot (
- Pour lister et décrire les jobs: Éditeur de tâches par lot (
roles/batch.jobsEditor
) ou Lecteur de tâches par lot (roles/batch.jobsViewer
) sur le projet - Pour afficher les journaux des tâches: Lecteur de journaux (
roles/logging.viewer
) sur le projet - Pour supprimer des jobs: Éditeur de tâches par lot (
roles/batch.jobsEditor
) sur le projet
Pour en savoir plus sur l'attribution de rôles, consultez la section Gérer les accès.
- Pour créer des jobs :
Si vous souhaitez utiliser les exemples de ligne de commande pour Batch, configurez Google Cloud CLI en procédant comme suit. En savoir plus sur l'authentification pour Google Cloud CLI
Install the Google Cloud CLI, then initialize it by running the following command:
gcloud init
Recommandation: Définissez un projet par défaut à l'aide de la commande
gcloud config set project
:gcloud config set project PROJECT_ID
Remplacez
PROJECT_ID
par l'ID de projet de votre projet.
Si vous souhaitez utiliser les exemples d'API ou de bibliothèque cliente pour Batch, consultez la section S'authentifier auprès de Batch.
Obtenir de l'aide
Vous pouvez discuter de Batch avec la communauté à l'aide du libellé "Batch" sur les forums Cloud.
Si vous rencontrez des problèmes avec Batch, consultez la documentation de dépannage.
Pour obtenir de l'aide ou envoyer des commentaires sur Batch, utilisez les ressources suivantes:
Pour résoudre les problèmes de facturation liés à Google Cloud, contactez l'assistance pour la facturation.
Si vous disposez d'un formule d'assistance payant, contactez directement l'assistance Google Cloud pour tout problème lié à Batch.
Google Cloud propose différentes formules d'assistance répondant à différents besoins, tels que la couverture 24h/24, 7j/7, l'assistance téléphonique et l'accès à un responsable de l'assistance technique. Pour en savoir plus, consultez l'assistanceGoogle Cloud .
Pour envoyer des commentaires ou des demandes de fonctionnalités pour Batch, ou pour signaler des problèmes liés à Batch sans disposer d'un formule d'assistance payant, cliquez sur le bouton Envoyer des commentaires, situé au début et à la fin de chaque page de documentation Batch. Sélectionnez ensuite l'une des options suivantes:
- Pour les commentaires concernant la documentation Batch, sélectionnez "Commentaires sur la documentation".
- Pour tous les autres commentaires sur Batch, sélectionnez "Commentaires sur le produit".
Étape suivante
Découvrez-en plus sur Batch:
Découvrez comment créer une offre d'emploi.
Découvrez les produits Google Cloud associés: