Introdução ao Batch

Esta página descreve como começar a usar o Batch para Google Cloud.

Visão geral

O Batch é um serviço totalmente gerenciado permite programar, enfileirar e executar processamento em lote de trabalho nos recursos do Google Cloud. Por exemplo, considere usar o Batch computação de alto desempenho (HPC), machine learning (ML) e cargas de trabalho de 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, provisionar e desprovisionar recursos ou solicitar recursos de cada vez. Para executar um job, especifique os parâmetros dos recursos para sua carga de trabalho, o Batch recebe recursos e coloca o job na fila de execução. O Batch oferece integração nativa a outros serviços do Google Cloud para ajudar na programação, execução, armazenamento e análise de jobs em lote. Assim, é possível se concentrar em enviar um job e consumir os resultados.

O lote consiste nos seguintes componentes:

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

    Especificamente, um job em lote representa uma matriz de um ou mais tarefas e o ambiente onde elas serão executadas. Você define o programa para o job como uma sequência de um ou mais executáveis. Cada tarefa executa a sequência de executáveis nos recursos do job. É possível configurar 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 tem várias tarefas, você especifica como deseja que cada execução varie referenciar a variável de ambiente para o índice de uma tarefa no diretório executáveis.

  • 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 de disco de inicialização extra. Opcionalmente, você também pode especificar outras opções de recurso para o job. O lote cria e exclui automaticamente os recursos que atendem às suas especificações durante o tempo de execução do job.

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

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

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

Preços

Não há custo adicional para usar o Batch. Você é apenas são cobrados pelo custo dos recursos necessários para executar os jobs.

Para mais informações sobre os custos associados às APIs Batch como filtrar os relatórios do Cloud Billing para consultar os custos em lote consulte Preços.

Restrições

O lote tem as seguintes restrições:

  • Não é possível exceder a Cotas e limites em lote para o 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 seu projeto nunca usou o Batch antes, Ative o Batch 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. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Go to project selector

  2. Make sure that billing is enabled for your Google Cloud project.

  3. Verifique se o lote está ativado para o projeto:

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

      Console

      Enable the Batch, Compute Engine, and Cloud Logging APIs.

      Enable the APIs

      gcloud

      Enable the Batch, Compute Engine, and Cloud Logging APIs:

      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 aos quais você quer permitir a criação Os jobs em lote no projeto precisam ser receberam permissão para usar uma dessas contas de serviço. Por isso, não selecione contas de serviço com mais permissões do que a que você quer conceder a esses usuários.

      A conta de serviço que cada job usa por padrão é o Conta de serviço padrão do Compute Engine, mas você também pode 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 seu job, conceda os seguintes papéis do IAM a todas as contas de serviço que seu projeto usa 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 que você usa para um job também pode exigir outros papéis com base nas opções de configuração usar nos seus trabalhos. Consulte a documentação de cada tarefa para ver se são necessárias outras permissões. Para mais informações sobre como conceder papéis a contas de serviço, consulte Como restringir contas de serviço e Gerenciar o acesso a contas de serviço.

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

      Depois de criar um job em lote, o agente de serviço em lote é criado automaticamente para seu projeto com o seguinte nome:

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

      Substitua PROJECT_NUMBER pelo número do projeto do seu projeto.

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

      No entanto, certos casos de uso, como que executam um job em uma rede VPC compartilhada: exigem que você conceda permissões adicionais à interface Agente de serviço em lote.

      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 as permissões necessárias.

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

    • Para criar trabalhos:
    • Para listar e descrever jobs: Editor de jobs em lote (roles/batch.jobsEditor) ou Leitor de jobs em lote (roles/batch.jobsViewer) no 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 do Batch, configure a Google Cloud CLI seguindo estas etapas: Saiba mais sobre a autenticação da CLI do Google Cloud.

    1. Install the Google Cloud CLI, then initialize it by running the following command:

      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 do seu 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 usando o rótulo Batch nos fóruns do Cloud.

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

Para receber suporte ou enviar 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 para resolver problemas com o Batch.

    O Google Cloud oferece pacotes de suporte diferentes para atender a diferentes necessidades, como cobertura 24 horas por dia, 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 solicitar recursos para o Batch ou para informar problemas sem um pacote de suporte pago, clique no botão Enviar feedback, que fica no início e no fim de cada página da 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 do produto".

A seguir