Questa pagina descrive come iniziare a utilizzare Batch per Google Cloud.
Panoramica
Batch è un servizio completamente gestito che consente di pianificare, inserire in coda ed eseguire carichi di lavoro di elaborazione batch su Google Cloud risorse. Ad esempio, valuta la possibilità di utilizzare Batch per carichi di lavoro di computing ad alte prestazioni (HPC), machine learning (ML) ed elaborazione dei dati. Batch esegue il provisioning delle risorse e gestisce la capacità per tuo conto, consentendo l'esecuzione dei carichi di lavoro batch su larga scala.
Con Batch non devi configurare e gestire gli scheduler di job di terze parti, eseguire il provisioning e il deprovisioning delle risorse o richiedere le risorse una zona alla volta. Per eseguire un job, devi specificare i parametri per le risorse richieste dal carico di lavoro, quindi Batch ottiene le risorse e mette in coda il job per l'esecuzione. Batch fornisce l'integrazione nativa con altri Google Cloud servizi 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 i carichi di lavoro 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. Definisci il programma per il job come una sequenza di uno o più elementi eseguibili. Ogni attività 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 elementi eseguibili di un job. Quando un job ha più attività, devi specificare in che modo vuoi che ogni esecuzione vari facendo riferimento alla variabile di ambiente per l'indice di un'attività negli elementi eseguibili del job.
Elemento eseguibile: uno script o un container eseguibile che definisci come parte di un job.
Risorse: l'infrastruttura necessaria per eseguire un job. Come minimo, devi specificare solo le risorse di computing richieste per ogni attività: core CPU, memoria e (se necessario) spazio di archiviazione aggiuntivo del disco di avvio. Facoltativamente, puoi anche specificare altre opzioni di 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, ognuna delle quali si trova in una delle zone incluse. Ogni VM dispone di hardware dedicato per i core CPU e la memoria, che influiscono sulle prestazioni del job, e di un disco di avvio, che archivia un'immagine del sistema operativo (OS) e le istruzioni per l'esecuzione del job. Se specificato, un job potrebbe includere o accedere anche a risorse aggiuntive, ad esempio GPU 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 utilizzano le risorse necessarie per eseguire le attività.
Per ulteriori informazioni 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 viene addebitato solo il costo delle risorse sottostanti necessarie per eseguire i job.
Per ulteriori informazioni sui costi associati a Batch e su come filtrare i report di fatturazione Cloud per visualizzare i costi di Batch, consulta la pagina 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, N2D, N2, N1 e T2D
- Ottimizzate per il calcolo: C2, C2D e H3
- Ottimizzate per la memoria: M3, M2 e M1
- Ottimizzate per l'acceleratore: A4, A3 Ultra, A3 Mega, A3 High, A2 e G2
- Puoi specificare un solo tipo di macchina, che può essere predefinito o personalizzato, per job.
- Non puoi specificare più di un gruppo di attività per job. Tutti i job hanno un solo gruppo di attività denominato
group0.
Prerequisiti
Per iniziare a utilizzare Batch, completa i seguenti prerequisiti:
- Se il tuo progetto non ha mai utilizzato Batch, abilita Batch per il progetto.
- Configura Batch per ogni nuovo utente.
Abilitare Batch per un progetto
Per iniziare a utilizzare Batch con un progetto:
Nella Google Cloud console, nella pagina di selezione del progetto, seleziona o crea un Google Cloud progetto.
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 su 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'resourcemanager.projects.createautorizzazione. Scopri come concedere i ruoli.
Verifica che la fatturazione sia abilitata per il tuo Google Cloud progetto.
Assicurati che Batch sia abilitato per il tuo progetto:
Abilita le API Batch, Compute Engine e Cloud Logging.
Ruoli richiesti per abilitare le API
Per abilitare le API, devi disporre del ruolo IAM Amministratore utilizzo servizi (
roles/serviceusage.serviceUsageAdmin), che contiene l'autorizzazioneserviceusage.services.enable. Scopri come concedere i ruoli.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 a tutti gli utenti a cui vuoi consentire di creare ed eseguire job Batch nel tuo progetto deve essere concessa l'autorizzazione a utilizzare uno di questi service account. Pertanto, non selezionare i service account che hanno 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: Writer log (
roles/logging.logWriter) sul progetto
Il account di servizio che utilizzi per un job potrebbe richiedere anche ruoli aggiuntivi in base alle opzioni di configurazione che vuoi utilizzare per i 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 Limitare i service account e Gestire l'accesso ai service account.
- Batch Agent Reporter (
Assicurati di conoscere il service agent Batch del tuo progetto:
Dopo aver creato un job Batch, il service agent Batch viene creato automaticamente per il tuo progetto con il seguente nome:
service-PROJECT_NUMBER@gcp-sa-cloudbatch.iam.gserviceaccount.comSostituisci
PROJECT_NUMBERcon il numero del progetto.Al service agent Batch viene concesso automaticamente il ruolo IAM Service Agent Google Batch (
roles/batch.serviceAgent). Questa configurazione è necessaria per consentire al tuo progetto di utilizzare Batch.Tuttavia, alcuni casi d'uso, ad esempio, l'esecuzione di un job su una rete VPC condiviso, richiedono la concessione di autorizzazioni aggiuntive al service agent Batch del progetto.
Per ulteriori informazioni, consulta Service agent.
Configurare Batch per un nuovo utente
Per iniziare a utilizzare Batch come utente:
Per ottenere le autorizzazioni necessarie per utilizzare Batch, chiedi all'amministratore di concederti i ruoli IAM richiesti nel 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:
- Editor di job batch (
roles/batch.jobsEditor) sul progetto - Utente account di servizio (
roles/iam.serviceAccountUser) sul service account del job, che per impostazione predefinita è il service account predefinito di Compute Engine
- Editor di job batch (
- Per elencare e descrivere i job: Editor di job batch (
roles/batch.jobsEditor) o Visualizzatore di job batch (roles/batch.jobsViewer) sul progetto - Per visualizzare i log dei job: Visualizzatore log (
roles/logging.viewer) sul progetto - Per eliminare i job: Editor di job batch (
roles/batch.jobsEditor) sul progetto
Per ulteriori informazioni sulla concessione dei ruoli, consulta Gestire l'accesso.
- Per creare job:
Se vuoi utilizzare gli esempi di riga di comando per Batch, configura Google Cloud CLI nel seguente modo. Scopri di più su l'autenticazione per Google Cloud CLI.
Installa Google Cloud CLI. Dopo l'installazione, inizializza Google Cloud CLI eseguendo il comando seguente:
gcloud initSe utilizzi un provider di identità (IdP) esterno, devi prima accedere a gcloud CLI con la tua identità federata.
(Consigliato) Imposta un progetto predefinito utilizzando il
gcloud config set projectcomando:gcloud config set project PROJECT_IDSostituisci
PROJECT_IDcon l' ID progetto del tuo progetto.
Se vuoi utilizzare gli esempi di API o di libreria client per Batch, consulta Autenticarsi a Batch.
Assistenza
Puoi discutere di Batch con la community utilizzando il tag Batch nei forum del Google Developer Program.
Se riscontri problemi con Batch, consulta la documentazione per la 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 Google Cloud l'assistenza direttamente per i problemi relativi a 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 Google Cloud Assistenza di.
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. Quindi, seleziona una delle seguenti opzioni:
- Per il feedback relativo alla documentazione di Batch, seleziona "Feedback sulla documentazione".
- Per tutti gli altri feedback su Batch, seleziona "Feedback sul prodotto".
Passaggi successivi
Scopri come creare ed eseguire un job di esempio
Scopri di più sulla creazione di un job.
Scopri di più sui prodotti correlati: Google Cloud