Premiers pas avec Batch

Cette page explique 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 des Google Cloud ressources. Par exemple, vous pouvez utiliser Batch pour des charges de travail de calcul hautes performances (HPC), de machine learning (ML) et 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.

Lorsque vous utilisez Batch, vous n'avez pas besoin de configurer et 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 Google Cloud services 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.

Batch comprend les 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 ces tâches doivent s'exécuter. Vous définissez le programme du job 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 du job. 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 : une exécution de la séquence d'exécutables d'un job. Lorsqu'un job comporte plusieurs tâches, vous spécifiez comment 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 du job.

  • 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'un job. Au minimum, vous n'avez qu'à 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 le job. Batch 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 Batch s'exécute sur un groupe d'instances géré (MIG) régional, qui est un groupe d'une ou de plusieurs instances de machine virtuelle (VM) Compute Engine correspondantes, chacune étant située dans l'une des zones incluses. Chaque VM dispose de matériel dédié pour les cœurs de processeur et la mémoire (qui affectent les performances de votre job), ainsi que d'un disque de démarrage (qui stocke une image de système d'exploitation et des instructions pour exécuter votre job). 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 un job 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 jobs, consultez la page Présentation de la création et de l'exécution de jobs.

Tarifs

L'utilisation de Batch n'entraîne aucun coût supplémentaire. Vous n'êtes facturé que pour 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 Batch, consultez la section Tarifs.

Restrictions

Batch présente les restrictions suivantes :

  • Vous ne pouvez pas dépasser les quotas et limites Batch pour votre projet.
  • Les jobs ne peuvent utiliser que des types de machines des séries de machines suivantes :
    • Usage général : C4, C4A, C4D, C3, C3D, E2, N4, N2D, N2, N1 et T2D
    • Optimisé pour le calcul : C2, C2D et H3
    • Mémoire optimisée : M3, M2 et M1
    • Optimisé pour les accélérateurs : A4, A3 Ultra, A3 Mega, A3 High, A2, G4 et G2
  • Vous ne pouvez spécifier qu'un seul type de machine, prédéfini ou personnalisé, par job.
  • Vous ne pouvez pas spécifier plus d'un groupe de tâches par job. Tous les jobs ne comportent qu'un seul groupe de tâches nommé group0.

Prérequis

Pour commencer à utiliser Batch, passez en revue les conditions préalables suivantes :

  1. Si votre projet n'a jamais utilisé Batch, activez-le pour votre projet.
  2. Configurez Batch pour chaque nouvel utilisateur.

Activer Batch pour un projet

Pour commencer à utiliser Batch avec un projet, procédez comme suit :

  1. Dans la Google Cloud console, sur la page de sélection du projet, sélectionnez ou créez un Google Cloud projet.

    Rôles requis pour sélectionner ou créer un projet

    • Sélectionner un projet : la sélection d'un projet ne nécessite pas de rôle IAM spécifique Vous pouvez sélectionner n'importe quel projet pour lequel un rôle vous a été attribué.
    • Créer un projet : pour créer un projet, vous avez besoin du rôle Créateur de projet (roles/resourcemanager.projectCreator), qui contient l'autorisation resourcemanager.projects.create. Découvrez comment attribuer des rôles.

    Accéder au sélecteur de projet

  2. Vérifiez que la facturation est activée pour votre Google Cloud projet.

  3. Assurez-vous que Batch est activé pour votre projet :

    1. Activez les API Batch, Compute Engine et Cloud Logging.

      Rôles requis pour activer les API

      Pour activer les API, vous avez besoin du rôle IAM Administrateur d'utilisation du service (roles/serviceusage.serviceUsageAdmin), qui contient l'autorisation serviceusage.services.enable. Découvrez comment attribuer des rôles.

      Activer les API

    2. 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.

      Important : Tous les utilisateurs que vous souhaitez autoriser à créer et à exécuter des jobs Batch 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.

      Par défaut, le compte de service utilisé par chaque job est le compte de service Compute Engine par défaut, mais vous pouvez également personnaliser le compte de service utilisé par un job.

      Sauf si vous prévoyez d'utiliser uniquement la configuration par défaut pour les comptes de service de votre job, attribuez les rôles IAM suivants à tous les comptes de service que votre projet utilise pour les jobs Batch.

      • Responsable du signalement d'agent par lot (roles/batch.agentReporter) sur le projet
      • Pour permettre aux jobs de générer des journaux dans Cloud Logging : Rédacteur de journaux (roles/logging.logWriter) sur le projet

      Le compte de service que vous utilisez pour un job peut également nécessiter des rôles supplémentaires en fonction des options de configuration que vous souhaitez utiliser pour vos jobs. Consultez la documentation de chaque tâche pour voir si des autorisations supplémentaires sont requises. Pour en savoir plus sur l' attribution de rôles à des comptes de service, consultez les pages Restreindre les comptes de service et Gérer l'accès aux comptes de service.

    3. Assurez-vous de connaître l'agent de service Batch de votre projet :

      Une fois que vous avez créé un job par lot, l'agent de service Batch 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 projet de votre projet.

      Le rôle IAM d'agent de service Google Batch (roles/batch.serviceAgent) est automatiquement attribué à l'agent de service Batch. Cette configuration est requise pour que votre projet puisse utiliser Batch.

      Toutefois, certains cas d'utilisation, par exemple, l'exécution d'un job sur un réseau VPC partagé, nécessitent que vous accordiez des autorisations supplémentaires à l'agent de service Batch de votre projet.

      Pour plus d'informations, consultez la page Agents de service.

Configurer Batch pour un nouvel utilisateur

Pour commencer à utiliser Batch en tant qu'utilisateur, procédez comme suit :

  1. Pour obtenir les autorisations nécessaires pour utiliser Batch, demandez à votre administrateur de vous accorder les rôles IAM requis sur le projet. Consultez la documentation de chaque tâche pour voir les autorisations requises.

    Par exemple, si vous souhaitez commencer à apprendre à utiliser Batch en créant un job de base, envisagez de demander des rôles pour les tâches suivantes :

    • Pour créer des jobs :
    • 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 jobs : 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.

  2. 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.

    1. Installez la Google Cloud CLI. Une fois que la Google Cloud CLI est installée, initialisezla en exécutant la commande suivante :

      gcloud init

      Si vous utilisez un fournisseur d'identité (IdP) externe, vous devez d'abord vous connecter à la gcloud CLI avec votre identité fédérée.

    2. Recommandé : Définissez un projet par défaut à l'aide de la gcloud config set project commande :

      gcloud config set project PROJECT_ID
      

      Remplacez PROJECT_ID par l' ID du projet de votre projet.

  3. Si vous souhaitez utiliser les exemples d'API ou de bibliothèque cliente pour Batch, consultez la page S'authentifier auprès de Batch.

Obtenir de l'aide

Vous pouvez discuter de Batch avec la communauté en utilisant le tag Batch sur les forums du programme Google Developers.

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 avec Google Cloud, contactez l'assistance pour la facturation.

  • Si vous disposez d'une formule d'assistance payante, contactez Google Cloud l'assistance directement 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 en savoir plus, consultez la section Google Cloud Assistance.

  • Pour envoyer des commentaires ou des demandes de fonctionnalités pour Batch, ou pour signaler des problèmes liés à 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 documentation Batch. Sélectionnez ensuite l'une des options suivantes :

    • Pour les commentaires liés à la documentation Batch, sélectionnez "Commentaires sur la documentation".
    • Pour tous les autres commentaires sur Batch, sélectionnez "Commentaires sur le produit".

Étape suivante