Introdução ao Batch

Nesta página, descrevemos como começar a usar o Batch no Google Cloud.

Visão geral

O Batch é um serviço totalmente gerenciado que permite programar, enfileirar e executar cargas de trabalho de processamento em lote nos recursos do Google Cloud. Por exemplo, considere usar o Batch para cargas de trabalho de computação de alto desempenho (HPC), machine learning (ML) e processamento de dados. O Batch provisiona recursos e gerencia a capacidade em seu nome, permitindo que suas cargas de trabalho em lote sejam executadas em escala.

Ao usar o Batch, você não precisa configurar e gerenciar programadores de jobs de terceiros, provisionar e desprovisionar recursos ou solicitar recursos uma zona por vez. Para executar um job, especifique os parâmetros dos recursos necessários para sua carga de trabalho. Em seguida, o Batch vai receber recursos e colocar o job na fila para execução. O Batch fornece integração nativa com outros serviços do Google Cloud para ajudar na programação, na execução, no armazenamento e na análise de jobs em lote. Assim, você se concentra no envio de um job e no consumo dos resultados.

O Batch é formado pelos seguintes componentes:

  • Job: um programa programado que executa um conjunto de tarefas até a conclusão sem nenhuma interação do usuário, normalmente para cargas de trabalho computacionais. Por exemplo, um job pode ser um script de shell único ou um cálculo complexo de várias partes.

    Especificamente, um job em lote representa uma matriz de uma ou mais tarefas e o ambiente onde elas serão executadas. Defina o programa para o job como uma sequência de um ou mais elementos executáveis. Cada tarefa executa a sequência de executáveis nos recursos do job. Configure as tarefas de um job para serem executadas em paralelo ou sequencialmente.

  • Tarefa:uma execução da sequência de executáveis de um job. Quando um job tiver várias tarefas, especifique como você quer que cada execução varie, referenciando a variável de ambiente do índice de uma tarefa nos executáveis do job.

  • Executável:um script ou contêiner executável que você define como parte de um job.

  • Recursos: a infraestrutura necessária para executar um job. No mínimo, você só precisa especificar os recursos de computação necessários por tarefa: núcleos de CPU, memória e, se necessário, armazenamento extra em disco de inicialização. Também é possível especificar outras opções de recursos para o job. O Batch cria e exclui automaticamente os recursos que atendem às suas especificações durante o ambiente de execução do job.

    Especificamente, cada job em lote é executado em um grupo gerenciado de instâncias (MIG, na sigla em inglês) regional, que é um grupo de uma ou mais instâncias de máquina virtual (VM) do Compute Engine correspondentes, cada localizada em uma das zonas incluídas. Cada VM tem um hardware dedicado para núcleos de CPU e memória, que afetam o desempenho do job, e um disco de inicialização, que armazena uma imagem do sistema operacional (SO) e instruções para executar o job. Se especificado, um job também pode incluir ou acessar outros recursos, como GPUs ou volumes de armazenamento externo. O número de VMs provisionadas para um job depende dos requisitos de hardware e das opções de programação de tarefas especificadas.

Em resumo, o Batch permite criar e executar jobs que provisionam e utilizam automaticamente os recursos necessários para executar suas tarefas.

Para mais informações sobre o comportamento e as opções do job, consulte a página Visão geral da criação e execução do job.

Preços

Não há custo extra para usar o Batch. Você só é cobrado pelo custo dos recursos subjacentes necessários para executar seus jobs.

Para mais informações sobre os custos associados ao Batch e como filtrar os relatórios do Cloud Billing para visualizar os custos do Batch, consulte Preços.

Restrições

O lote tem as seguintes restrições:

  • Não é possível exceder as cotas e limites de lotes do projeto.
  • Só é possível especificar um tipo de máquina, que pode ser predefinido ou personalizado, por job.
  • Não é possível especificar mais de um grupo de tarefas por job. Todos os jobs têm apenas um grupo de tarefas chamado group0.

Pré-requisitos

Para começar a usar o Batch, atenda aos seguintes pré-requisitos:

  1. Se o seu projeto nunca usou o Batch antes, ative-o no seu projeto.
  2. Configurar o Batch para cada novo usuário.

Ativar o Batch para um projeto

Para começar a usar o Batch com um projeto, faça o seguinte:

  1. No console do Google Cloud, na página do seletor de projetos, selecione ou crie um projeto do Google Cloud.

    Acessar o seletor de projetos

  2. Verifique se a cobrança está ativada para o seu projeto do Google Cloud.

  3. Verifique se o Batch está ativado no projeto:

    1. Ative as APIs do Batch usando o console do Google Cloud ou a Google Cloud CLI.

      Console

      Ative as APIs Batch, Compute Engine, and Cloud Logging.

      Ative as APIs

      gcloud

      Ative as APIs Batch, Compute Engine, and Cloud Logging:

      gcloud services enable batch.googleapis.com compute.googleapis.com logging.googleapis.com

    2. Verifique se o projeto tem uma ou mais contas de serviço com as permissões necessárias para criar e acessar os recursos para executar jobs em lote.

      É importante ressaltar que todos os usuários que você quer permitir que criem e executem jobs em lote no projeto precisam receber permissão para usar uma dessas contas de serviço. Portanto, não selecione contas de serviço com mais permissões do que você quer conceder a esses usuários.

      A conta de serviço usada por cada job por padrão é a conta de serviço padrão do Compute Engine, mas também é possível personalizar a conta de serviço usada por um job.

      A menos que você planeje usar apenas a configuração padrão para as contas de serviço do job, conceda os seguintes papéis do IAM a qualquer conta de serviço usada pelo projeto para jobs em lote.

      • Relator do agente em lote (roles/batch.agentReporter) no projeto
      • Para permitir que os jobs gerem registros no Cloud Logging: gravador de registros (roles/logging.logWriter) no projeto

      A conta de serviço usada para um job também pode exigir outros papéis com base nas opções de configuração que você quer usar para os jobs. Consulte a documentação de cada tarefa para ver se outras permissões são necessárias. Para mais informações sobre a concessão de papéis a contas de serviço, consulte Como restringir contas de serviço e Gerenciar o acesso a contas de serviço.

    3. Verifique se você conhece o agente de serviço em lote do seu projeto:

      Depois de criar um job do Batch, o agente de serviço será criado automaticamente para o projeto com o seguinte nome:

      service-PROJECT_NUMBER@gcp-sa-cloudbatch.iam.gserviceaccount.com
      

      Substitua PROJECT_NUMBER pelo número do projeto.

      O agente de serviço do Batch recebe automaticamente o papel do IAM do Agente de serviço do Batch (roles/batch.serviceAgent). Essa configuração é necessária para que o projeto use o Batch.

      No entanto, determinados casos de uso, como a execução de um job em uma rede VPC compartilhada, exigem que você conceda mais permissões ao agente de serviço do Batch do seu projeto.

      Para mais informações, consulte Agentes de serviço.

Configurar o Batch para um novo usuário

Para começar a usar o Batch como um usuário, faça o seguinte:

  1. Para receber as permissões necessárias para usar o Batch, peça ao administrador para conceder a você os papéis do IAM necessários no projeto. Consulte a documentação de cada tarefa para ver as permissões necessárias.

    Por exemplo, se você quiser começar a aprender a usar o Batch criando um job básico, considere solicitar papéis para as seguintes tarefas:

    • Para criar jobs:
    • Para listar e descrever jobs: Editor de jobs em lote (roles/batch.jobsEditor) ou Leitor de jobs em lote (roles/batch.jobsViewer) do projeto
    • Para ver os registros dos jobs: visualizador de registros (roles/logging.viewer) no projeto
    • Para excluir jobs: editor de jobs em lote (roles/batch.jobsEditor) no projeto

    Para mais informações sobre como conceder papéis, consulte Gerenciar acesso.

  2. Se você quiser usar os exemplos de linha de comando para o Batch, configure a Google Cloud CLI seguindo os passos abaixo. Saiba mais sobre a autenticação para a Google Cloud CLI.

    1. Instale a Google Cloud CLI e inicialize-a executando o seguinte comando:

      gcloud init

    2. Recomendado: defina um projeto padrão usando o comando gcloud config set project:

      gcloud config set project PROJECT_ID
      

      Substitua PROJECT_ID pelo ID do projeto.

  3. Se você quiser usar os exemplos de API ou de biblioteca de cliente para o Batch, consulte Autenticar no Batch.

Receber suporte

Você pode conversar sobre o Batch com a comunidade nos Fóruns do Cloud.

Se você tiver problemas com o Batch, consulte a documentação de solução de problemas.

Para receber suporte ou fornecer feedback sobre o Batch, use os seguintes recursos:

  • Em caso de problemas de faturamento com o Google Cloud, entre em contato com o suporte de faturamento.

  • Se você tiver um pacote de suporte pago, entre em contato diretamente com o suporte do Google Cloud em caso de problemas com o Batch.

    O Google Cloud oferece pacotes de suporte diferentes para atender a diversas necessidades, como cobertura 24 horas, suporte por telefone e acesso a um gerente de suporte técnico. Para mais informações, consulte Suporte do Google Cloud.

  • Para enviar feedback ou solicitações de recursos do Batch ou informar problemas no Batch sem um pacote de suporte pago, clique no botão Enviar feedback, que pode ser encontrado no início e no final de cada página de documentação do Batch. Em seguida, selecione uma das seguintes opções:

    • Para feedback relacionado à documentação do Batch, selecione "Feedback sobre a documentação".
    • Para todos os outros feedbacks sobre o Batch, selecione "Feedback sobre o produto".

A seguir