Cette page explique comment utiliser Batch pour Google Cloud.
Présentation
Batch est un service entièrement géré qui vous permet de planifier, mettre en file d'attente et exécuter des charges de travail de traitement par lot sur des ressources Google Cloud. Batch provisionne des 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 gérer des planificateurs de tâches tiers, de provisionner et de déprovisionner des ressources, ni de demander des ressources une zone à la fois. Pour exécuter une tâche, vous devez spécifier des paramètres pour les ressources requises pour votre charge de travail. Batch récupère ensuite les ressources et met la tâche en file d'attente pour exécution. Batch fournit une intégration native à d'autres services Google Cloud pour faciliter la planification, l'exécution, le stockage et l'analyse des tâches par lot. Vous pouvez ainsi vous concentrer sur l'envoi d'une tâche et l'utilisation des résultats.
Batch comprend les composants suivants:
Tâche: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, une tâche peut correspondre à un script shell unique ou à un calcul complexe en plusieurs parties.
Plus précisément, une tâche par lot représente un tableau d'une ou plusieurs tâches et l'environnement dans lequel les exécuter. 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'une tâche pour qu'elles s'exécutent en parallèle ou de manière séquentielle.
Tâche:une exécution de la séquence d'exécutables d'une tâche. Lorsqu'une tâche comporte plusieurs tâches, vous spécifiez la manière dont vous souhaitez que chaque exécution varie 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'une tâche.
Ressources:infrastructure nécessaire à l'exécution d'une tâche. Au minimum, il vous suffit de spécifier 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. Batch crée et supprime automatiquement les ressources qui répondent à vos spécifications pendant l'exécution de la tâche.
Plus précisément, chaque tâche 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 machines virtuelles (VM) Compute Engine correspondantes, chacune située dans l'une des zones incluses. Chaque VM dispose d'un matériel dédié aux cœurs de processeur et à la mémoire (ce qui affecte les performances de votre tâche) et d'un disque de démarrage qui stocke une image du système d'exploitation (OS) et des instructions pour l'exécution de votre tâche. Si spécifié, une tâche peut également inclure des ressources supplémentaires, telles que des GPU ou des volumes de stockage externes, ou y accéder. Le nombre de VM provisionnées pour une tâche dépend de la configuration matérielle requise 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 tâches que chacune provisionne et utilise automatiquement 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 des tâches.
Tarification
L'utilisation de Batch n'entraîne aucun coût supplémentaire. Seul le coût des ressources sous-jacentes requises pour exécuter vos tâches vous est facturé.
Pour en savoir plus sur les coûts associés à Batch et sur la manière de filtrer les rapports Cloud Billing pour afficher les coûts Batch, consultez la section Tarifs.
Restrictions
Batch comporte les restrictions suivantes:
- Vous ne pouvez pas dépasser les quotas et limites de lots pour votre projet.
- Vous ne pouvez spécifier qu'un seul type de machine par tâche, qui peut être prédéfini ou personnalisé.
- Vous ne pouvez pas spécifier plus d'un groupe de tâches par job. Toutes les tâches ne comportent qu'un seul groupe de tâches nommé
group0
.
Prérequis
Pour commencer à utiliser Batch, remplissez 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:
Dans Google Cloud Console, sur la page de sélection du projet, sélectionnez ou créez un projet Google Cloud.
Vérifiez que la facturation est activée pour votre projet Google Cloud.
Assurez-vous que Batch est activé pour votre projet:
Activez les API pour Batch à l'aide de la console Google Cloud ou de Google Cloud CLI.
Console
Activer les API Batch, Compute Engine, and Cloud Logging.
gcloud
Activer les API Batch, Compute Engine, and Cloud Logging :
gcloud services enable batch.googleapis.com
compute.googleapis.com logging.googleapis.com Assurez-vous que votre projet dispose d'un ou de plusieurs comptes de service disposant des autorisations nécessaires pour créer et accéder aux ressources permettant d'exécuter des jobs 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. Veillez donc à ne pas sélectionner de comptes de service disposant de plus d'autorisations que ce 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.
Attribuez les rôles IAM suivants à tous les comptes de service utilisés par votre projet pour les jobs par lot.
- Auteur du signalement par Batch de l'agent (
roles/batch.agentReporter
) sur le projet - Pour autoriser des tâches à accéder à un bucket Cloud Storage: Administrateur de l'espace de stockage (
roles/storage.admin
) sur le bucket - Pour permettre aux jobs de générer des journaux dans Cloud Logging: Rédacteur de journaux (
roles/logging.logWriter
) sur le projet
Pour en savoir plus sur l'attribution de rôles aux comptes de service, consultez les pages Restreindre les comptes de service et Gérer l'accès aux comptes de service.
- Auteur du signalement par Batch de l'agent (
Assurez-vous de bien connaître l'agent de service Batch de votre projet:
Une fois que vous avez créé une tâche par lot, l'agent de service Batch (un compte de service géré par Google) est automatiquement créé pour votre projet et porte le nom suivant:
service-PROJECT_NUMBER@gcp-sa-cloudbatch.iam.gserviceaccount.com
Remplacez
PROJECT_NUMBER
par le numéro de votre projet.L'agent de service Batch se voit automatiquement attribuer le rôle IAM "Agent de service Google Batch" (
roles/batch.serviceAgent
). Cette configuration est requise pour que votre projet puisse utiliser Batch.Cependant, certains cas d'utilisation, tels que l'exécution d'une tâche sur un réseau VPC partagé, nécessitent l'octroi d'autorisations supplémentaires à l'agent de service Batch de votre projet.
Pour en savoir plus, consultez la section Agents de service.
Configurer Batch pour un nouvel utilisateur
Pour commencer à utiliser Batch en tant qu'utilisateur:
Pour obtenir les autorisations nécessaires pour utiliser Batch, demandez à votre administrateur de vous attribuer les rôles IAM requis sur le projet. Consultez 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, envisagez de demander des rôles pour les tâches suivantes:
- Pour créer des tâches :
- Éditeur de jobs 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 jobs par lot (
- Pour répertorier et décrire des tâches: é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 jobs: lecteur de journaux (
roles/logging.viewer
) du projet - Pour supprimer des jobs: éditeur de jobs 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 tâches :
Si vous souhaitez utiliser les exemples de ligne de commande pour Batch, configurez la Google Cloud CLI en procédant comme suit : Apprenez-en plus sur l'authentification pour la Google Cloud CLI.
Installez Google Cloud CLI, puis initialisez-la en exécutant la commande suivante :
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 votre projet.
Si vous souhaitez utiliser les exemples d'API ou de bibliothèques clientes pour Batch, consultez la page S'authentifier auprès de Batch.
Obtenir de l'aide
Vous pouvez discuter de Batch avec la communauté 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 concernant Batch, utilisez les ressources suivantes:
Pour les problèmes de facturation liés à Google Cloud, contactez l'assistance pour la facturation.
Si vous disposez d'une formule d'assistance payante, contactez directement l'assistance Google Cloud pour les problèmes liés à Batch.
Google Cloud propose plusieurs 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 plus d'informations, consultez l'assistance Google Cloud.
Pour envoyer des commentaires ou des demandes de fonctionnalités pour Batch, ou pour signaler des problèmes concernant Batch sans formule d'assistance payante, cliquez sur le bouton Envoyer des commentaires, que vous pouvez trouver au début et à la fin de chaque page de documentation de Batch. Sélectionnez ensuite l'une des options suivantes:
- Pour obtenir des commentaires sur la documentation Batch, sélectionnez "Commentaires sur la documentation".
- Pour tous les autres commentaires sur Batch, sélectionnez "Commentaires sur le produit".
Étapes suivantes
Apprenez-en plus sur Batch:
Découvrez comment créer une tâche.
Découvrez les produits Google Cloud associés: