Cette page explique comment utiliser Batch pour Google Cloud.
Présentation
Batch est un service entièrement géré qui vous permet de programmer, mettre en file d'attente et exécuter des charges de travail de traitement par lot sur les ressources Google Cloud. 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 ni de gérer les planificateurs de tâches tiers, ni de provisionner ou déprovisionner des ressources, ni de demander des ressources une zone à la fois. Pour exécuter une tâche, vous devez spécifier les paramètres liés aux ressources requises pour votre charge de travail. Ensuite, Batch obtient les ressources et met la tâche en file d'attente en vue de son exécution. Batch fournit une intégration native avec 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 sur la consommation des résultats.
Un lot comprend les composants suivants:
Tâche: programme planifié qui exécute un ensemble de tâches jusqu'à la fin, sans interaction de l'utilisateur, généralement pour les charges de travail de calcul. Par exemple, une tâche peut être un script shell unique ou un calcul complexe en plusieurs parties.
Une tâche est exécutée via une ou plusieurs actions spécifiques appelées tâches. Chaque tâche par lot consiste en un tableau d'une ou de plusieurs tâches qui exécutent toutes les mêmes exécutables, qui sont les scripts exécutables et les conteneurs pour votre tâche. Les tâches d'une tâche peuvent s'exécuter en parallèle ou de manière séquentielle sur les ressources de la tâche.
Tâches: actions programmatiques définies dans le cadre d'une tâche et exécutées lors de son exécution. Chaque tâche fait partie du groupe de tâches d'un job. Les exécutables de la tâche sont exécutés par chaque tâche.
Ressources: infrastructure nécessaire à l'exécution d'une tâche. Chaque tâche par lot s'exécute sur un groupe d'instances géré (MIG) régional d'instances de machines virtuelles (VM) Compute Engine en fonction des exigences et de l'emplacement spécifiés par la tâche. Si spécifié, une tâche peut également utiliser des ressources de calcul supplémentaires, telles que des GPU, ou des ressources de stockage en lecture/écriture supplémentaires, telles que des SSD locaux ou un bucket Cloud Storage. Parmi les facteurs qui déterminent le nombre de VM provisionnées pour une tâche, citons les ressources de calcul requises pour chaque tâche et le parallélisme de la tâche: que vous souhaitiez que les tâches s'exécutent de manière séquentielle sur une VM ou simultanément sur plusieurs VM.
En résumé, Batch vous permet de créer et d'exécuter des tâches que chaque équipe provisionne et utilise automatiquement les ressources nécessaires à l'exécution de ses tâches.
Tarifs
L'utilisation de Batch n'entraîne aucun coût supplémentaire. Seuls les coûts des ressources sous-jacentes nécessaires à l'exécution de vos tâches vous sont facturés.
Pour en savoir plus sur les coûts associés à Batch et découvrir comment filtrer les rapports Cloud Billing pour afficher les coûts par lot, consultez la page Tarifs.
Restrictions
Batch comporte les restrictions suivantes:
- Vous ne pouvez pas dépasser les quotas et limites de traitement par lot pour votre projet.
- Vous ne pouvez spécifier qu'un seul type de machine, qui peut être prédéfini ou personnalisé par tâche.
- Pour utiliser une image de VM spécifique à votre tâche, vous devez créer une tâche à l'aide d'un modèle d'instance.
- Vous ne pouvez pas spécifier plus d'un groupe de tâches par tâche. 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 auparavant, activez le traitement par lot 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. Découvrez comment vérifier si la facturation est activée sur un projet.
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 Pour vous assurer que le compte de service de chaque tâche dispose des autorisations nécessaires pour autoriser l'agent de service Batch à créer des ressources pour les tâches et à y accéder, demandez à votre administrateur d'attribuer les rôles IAM suivants à tous les comptes de service utilisés par votre projet pour les tâches par lot.
Le compte de service utilisé par chaque tâche est le compte de service Compute Engine par défaut. Vous pouvez toutefois personnaliser le compte de service utilisé par une tâche.
- Responsable du signalement d'agent par lot (
roles/batch.agentReporter
) sur le projet - Pour autoriser les tâches à accéder à un bucket Cloud Storage: administrateur Storage (
roles/storage.admin
) sur le bucket - Pour autoriser les tâches à générer des journaux dans Cloud Logging: l'enregistreur de journaux (
roles/logging.logWriter
) du projet
Pour en savoir plus sur l'attribution de rôles aux comptes de service, consultez Limiter les comptes de service et Gérer l'accès aux comptes de service.
- Responsable du signalement d'agent par lot (
(Aucune action n'est requise.) Notez qu'après avoir 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 avec 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 par lot se voit automatiquement attribuer le rôle IAM d'agent de service par lot Google (
roles/batch.serviceAgent
). Cette configuration est requise pour que votre projet puisse utiliser Batch.Pour en savoir plus, consultez 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 à l'utilisation de Batch, demandez à votre administrateur de vous attribuer les rôles IAM requis pour le projet. Consultez la documentation de chaque tâche pour connaître les autorisations requises.
Par exemple, si vous souhaitez apprendre à utiliser Batch en créant une tâche de base, vous pouvez demander des rôles pour les tâches suivantes:
- Pour créer des tâches :
- É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 de la tâche, qui est le compte de service Compute Engine par défaut par défaut
- Éditeur de tâches par lot (
- Pour répertorier et décrire les tâches: éditeur de tâche par lot (
roles/batch.jobsEditor
) ou lecteur de tâches par lot (roles/batch.jobsViewer
) du projet - Pour afficher les journaux des tâches: la visionneuse de journaux (
roles/logging.viewer
) du projet - Pour supprimer des tâches: é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 tâches :
Si vous souhaitez utiliser les exemples de ligne de commande pour Batch, procédez comme suit pour configurer Google Cloud CLI. En savoir plus sur l'authentification pour Google Cloud CLI
Installez Google Cloud CLI, puis initialisez-la en exécutant la commande suivante :
gcloud init
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 les bibliothèques clientes pour Batch, consultez la page S'authentifier auprès d'un lot.
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 sur Batch, utilisez les ressources suivantes:
Pour les problèmes de facturation liés à Google Cloud, contactez l'assistance à la facturation.
Si vous bénéficiez d'une formule d'assistance payante, contactez directement l'assistance Google Cloud pour tout problème lié à 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 la possibilité de contacter 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 à Batch, ou pour signaler des problèmes concernant Batch sans formule d'assistance payante, cliquez sur le bouton Envoyer des commentaires qui se trouve au début et à la fin de chaque page de la documentation Batch. Sélectionnez ensuite l'une des options suivantes:
- Pour les commentaires concernant la documentation par lot, sélectionnez "Commentaires sur la documentation".
- Pour tous les autres commentaires sur Batch, sélectionnez "Commentaires sur le produit".
Étapes suivantes
- Créez une tâche.
- Découvrez les produits Google Cloud associés :