Inizia a utilizzare Batch

In questa pagina viene descritto come iniziare a utilizzare Batch per Google Cloud.

Panoramica

Batch è un servizio completamente gestito che consente di pianificare, inserire in coda ed eseguire workload di elaborazione batch su risorse Google Cloud . Ad esempio, valuta la possibilità di utilizzare Batch per workload di computing ad alte prestazioni (HPC), machine learning (ML) ed elaborazione dati. Batch esegue il provisioning delle risorse e gestisce la capacità per tuo conto, consentendo l'esecuzione dei workload batch su larga scala.

Con Batch, non è necessario configurare e gestire scheduler di job di terze parti, eseguire il provisioning e il deprovisioning delle risorse o richiedere risorse una zona alla volta. Per eseguire un job, specifica i parametri per le risorse richieste per il tuo workload, quindi Batch ottiene le risorse e mette in coda il job per l'esecuzione. Batch fornisce un'integrazione nativa con altri servizi Google Cloud per facilitare la pianificazione, l'esecuzione, l'archiviazione e l'analisi dei job batch, in modo che tu possa concentrarti sull'invio di un job e sull'utilizzo dei risultati.

Batch è costituito dai seguenti componenti:

  • Job: un programma pianificato che esegue un insieme di attività fino al completamento senza alcuna interazione dell'utente, in genere per workload di calcolo. Ad esempio, un job potrebbe essere un singolo script shell o un calcolo complesso in più parti.

    In particolare, un job Batch rappresenta un array di una o più attività e l'ambiente in cui eseguirle. Il programma per il job viene definito come una sequenza di uno o più eseguibili. Ogni task esegue la sequenza di elementi eseguibili sulle risorse del job. Puoi configurare le attività di un job in modo che vengano eseguite in parallelo o in sequenza.

  • Attività: una singola esecuzione della sequenza di eseguibili di un job. Quando un job ha più attività, specifichi come vuoi che ogni esecuzione vari facendo riferimento alla variabile di ambiente per l'indice di un'attività negli elementi eseguibili del job.

  • Runnable: uno script o un container eseguibile che definisci come parte di un job.

  • Risorse: l'infrastruttura necessaria per eseguire un job. Come minimo, devi solo specificare le risorse di computing richieste per ogni task: core della CPU, memoria e (se necessario) spazio di archiviazione su disco di avvio aggiuntivo. Se vuoi, puoi anche specificare altre opzioni delle risorse per il job. Batch crea ed elimina automaticamente le risorse che soddisfano le tue specifiche durante il runtime del job.

    In particolare, ogni job Batch viene eseguito su un gruppo di istanze gestite (MIG) a livello di regione, ovvero un gruppo di una o più istanze di macchine virtuali (VM) Compute Engine corrispondenti, ciascuna situata in una delle zone incluse. Ogni VM dispone di hardware dedicato per i core della CPU e la memoria, che influiscono sulle prestazioni del job, e di un disco di avvio, che memorizza un'immagine del sistema operativo (OS) e le istruzioni per l'esecuzione del job. Se specificato, un job potrebbe anche includere o accedere a risorse aggiuntive, come GPU, TPU o volumi di archiviazione esterni. Il numero di VM di cui viene eseguito il provisioning per un job dipende dai requisiti hardware e dalle opzioni di pianificazione delle attività specificate.

In sintesi, Batch ti consente di creare ed eseguire job che eseguono automaticamente il provisioning e l'utilizzo delle risorse necessarie per l'esecuzione delle relative attività.

Per saperne di più sul comportamento e sulle opzioni dei job, consulta la pagina Panoramica della creazione e dell'esecuzione dei job.

Prezzi

Non sono previsti costi aggiuntivi per l'utilizzo di Batch. Ti vengono addebitati solo i costi delle risorse sottostanti necessarie per eseguire i job.

Per ulteriori informazioni sui costi associati a Batch e su come filtrare i report sulla fatturazione Cloud per visualizzare i costi di Batch, consulta Prezzi.

Limitazioni

Batch presenta le seguenti limitazioni:

  • Non puoi superare le quote e i limiti di Batch per il tuo progetto.
  • I job possono utilizzare solo i tipi di macchina delle seguenti serie di macchine:

    • Per uso generico: C4, C4A, C4D, C3, C3D, E2, N4, N4A, N2D, N2, N1 e T2D
    • Ottimizzate per il calcolo: C2, C2D e H3
    • Ottimizzate per la memoria: M3, M2 e M1
    • Ottimizzato per l'acceleratore:
      • GPU: A4, A3 Ultra, A3 Mega, A3 High, A2, G4 e G2
      • TPU (solo sezioni single-host): TPU7x, v6e e v5p
  • Non puoi specificare più di un gruppo di task per job. Tutti i job hanno un solo gruppo di task denominato group0.

Prerequisiti

Per iniziare a utilizzare Batch, completa i seguenti prerequisiti:

  1. Se il tuo progetto non ha mai utilizzato Batch, attiva Batch per il progetto.
  2. Configura Batch per ogni nuovo utente.

Abilita Batch per un progetto

Per iniziare a utilizzare Batch con un progetto, segui questi passaggi:

  1. Nella console Google Cloud , nella pagina di selezione del progetto, seleziona o crea un progetto Google Cloud .

    Ruoli richiesti per selezionare o creare un progetto

    • Seleziona un progetto: la selezione di un progetto non richiede un ruolo IAM specifico. Puoi selezionare qualsiasi progetto per cui ti è stato concesso un ruolo.
    • Crea un progetto: per creare un progetto, devi disporre del ruolo Autore progetto (roles/resourcemanager.projectCreator), che contiene l'autorizzazione resourcemanager.projects.create. Scopri come concedere i ruoli.

    Vai al selettore di progetti

  2. Verifica che la fatturazione sia attivata per il tuo progetto Google Cloud .

  3. Assicurati che Batch sia abilitato per il tuo progetto:

    1. Abilita le API Batch, Compute Engine e API Cloud Logging, se non sono già abilitate.

      Ruoli richiesti per abilitare le API

      Per abilitare le API, devi disporre dell'autorizzazione serviceusage.services.enable. Se hai creato il progetto, probabilmente hai già questa autorizzazione tramite il ruolo Proprietario (roles/owner). In caso contrario, puoi ottenere questa autorizzazione tramite il ruolo Amministratore Service Usage (roles/serviceusage.serviceUsageAdmin). Scopri come concedere i ruoli.

      Abilita le API

    2. Assicurati che il tuo progetto abbia uno o più service account con le autorizzazioni necessarie per creare e accedere alle risorse per l'esecuzione dei job Batch.

      È importante sottolineare che tutti gli utenti a cui vuoi consentire di creare ed eseguire job Batch nel tuo progetto devono disporre dell'autorizzazione per utilizzare uno di questi service account. Pertanto, non selezionare service account con più autorizzazioni di quelle che vuoi concedere a questi utenti.

      Il account di servizio utilizzato per impostazione predefinita da ogni job è il service account predefinito di Compute Engine, ma puoi anche personalizzare il account di servizio utilizzato da un job.

      A meno che tu non preveda di utilizzare solo la configurazione predefinita per i service account del job, concedi i seguenti ruoli IAM a tutti i service account utilizzati dal tuo progetto per i job Batch.

      • Batch Agent Reporter (roles/batch.agentReporter) sul progetto
      • Per consentire ai job di generare log in Cloud Logging: Logs Writer (roles/logging.logWriter) sul progetto

      Il account di servizio che utilizzi per un job potrebbe anche richiedere ruoli aggiuntivi in base alle opzioni di configurazione che vuoi utilizzare per i tuoi job. Consulta la documentazione di ogni attività per verificare se sono necessarie autorizzazioni aggiuntive. Per ulteriori informazioni sulla concessione dei ruoli ai service account, consulta Limitazione dei service account e Gestione dell'accesso ai service account.

    3. Assicurati di conoscere l'agente di servizio Batch del tuo progetto:

      Dopo aver creato un job Batch, l'agente di servizio Batch viene creato automaticamente per il tuo progetto con il seguente nome:

      service-PROJECT_NUMBER@gcp-sa-cloudbatch.
      

      Sostituisci PROJECT_NUMBER con il numero di progetto del tuo progetto.

      Al service agent Batch viene concesso automaticamente il ruolo IAM Agente di servizio Google Batch (roles/batch.serviceAgent). Questa configurazione è necessaria affinché il tuo progetto possa utilizzare Batch.

      Tuttavia, alcuni casi d'uso, ad esempio l'esecuzione di un job su una VPC condiviso condivisa, richiedono la concessione di autorizzazioni aggiuntive all'agente di servizio Batch del progetto.

      Per saperne di più, consulta Agenti di servizio.

Configura Batch per un nuovo utente

Per iniziare a utilizzare Batch come utente, segui questi passaggi:

  1. Per ottenere le autorizzazioni necessarie per utilizzare Batch, chiedi all'amministratore di concederti i ruoli IAM richiesti per il progetto. Consulta la documentazione di ogni attività per visualizzare le autorizzazioni richieste.

    Ad esempio, se vuoi iniziare a imparare a utilizzare Batch creando un job di base, valuta la possibilità di richiedere i ruoli per le seguenti attività:

    • Per creare job:
    • Per elencare e descrivere i job: Batch Job Editor (roles/batch.jobsEditor) o Batch Job Viewer (roles/batch.jobsViewer) sul progetto
    • Per visualizzare i log dei job: Visualizzatore log (roles/logging.viewer) sul progetto
    • Per eliminare i job: Batch Job Editor (roles/batch.jobsEditor) sul progetto

    Per saperne di più sulla concessione dei ruoli, consulta Gestisci l'accesso.

  2. Se vuoi utilizzare gli esempi di riga di comando per Batch, configura Google Cloud CLI seguendo questi passaggi. Scopri di più sull'autenticazione per Google Cloud CLI.

    1. Installa Google Cloud CLI, quindi accedi a gcloud CLI con la tua identità federata. Dopo aver eseguito l'accesso, inizializza Google Cloud CLI eseguendo il comando seguente:

      gcloud init

    2. (Consigliato) Imposta un progetto predefinito utilizzando il comando gcloud config set project:

      gcloud config set project PROJECT_ID
      

      Sostituisci PROJECT_ID con l'ID progetto del tuo progetto.

  3. Se vuoi utilizzare gli esempi di API o di librerie client per Batch, consulta Autenticati in Batch.

Assistenza

Puoi discutere di Batch con la community utilizzando il tag Batch nei forum di Google Developer Program.

Se riscontri problemi con Batch, consulta la documentazione sulla risoluzione dei problemi.

Per ricevere assistenza o fornire feedback su Batch, utilizza le seguenti risorse:

  • Per problemi di fatturazione con Google Cloud, contatta l'assistenza per la fatturazione.

  • Se disponi di un pacchetto di assistenza a pagamento, contatta direttamente l'assistenza Google Cloud per problemi con Batch.

    Google Cloud offre diversi pacchetti di assistenza per soddisfare esigenze diverse, come servizi di copertura 24/7, assistenza telefonica e consulenza con un responsabile dell'assistenza tecnica. Per ulteriori informazioni, vedi Assistenza diGoogle Cloud .

  • Per fornire feedback o richieste di funzionalità per Batch o per segnalare problemi relativi a Batch senza un pacchetto di assistenza a pagamento, fai clic sul pulsante Invia feedback, che puoi trovare all'inizio e alla fine di ogni pagina della documentazione di Batch. Poi, seleziona una delle seguenti opzioni:

    • Per un feedback relativo alla documentazione di Batch, seleziona "Feedback sulla documentazione".
    • Per tutti gli altri feedback su Batch, seleziona "Feedback sul prodotto".

Passaggi successivi