Nesta página, descrevemos como começar a usar o Batch para 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, use 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.
Com o Batch, não é preciso configurar e gerenciar programadores de jobs de terceiros, provisionar e desprovisionar recursos ou solicitar recursos uma zona de cada vez. Para executar um job, especifique parâmetros para os recursos necessários para sua carga de trabalho. Em seguida, o Batch recebe os recursos e enfileira o job para execução. O Batch oferece integração nativa com 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 Batch consiste nos 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 em que essas tarefas serão executadas. Você define o programa do 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 quer que cada execução varie referenciando a variável de ambiente para o í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. Se quiser, 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 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 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, TPUs 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 que você especificar.
Em resumo, o Batch permite criar e executar jobs que provisionam e usam automaticamente os recursos necessários para executar 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ê só paga pelo custo dos recursos subjacentes necessários para executar os jobs.
Para mais informações sobre os custos associados ao Batch e como filtrar os relatórios de faturamento do Cloud Billing para conferir os custos do Batch, consulte Preços.
Restrições
O Batch tem as seguintes restrições:
- Não é possível exceder as cotas e os limites do Batch do seu projeto.
Os jobs só podem usar tipos de máquina das seguintes séries de máquinas:
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, conclua os seguintes pré-requisitos:
- Se o projeto nunca tiver usado o Batch, ative o Batch para o projeto.
- Configure 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:
No console do Google Cloud , na página do seletor de projetos, selecione ou crie um projeto do Google Cloud .
Papéis necessários para selecionar ou criar um projeto
- Selecionar um projeto: para selecionar um projeto, não é necessário ter um papel específico do IAM. É possível selecionar qualquer projeto em que você tenha um papel.
-
Criar um projeto: para criar um projeto, é preciso ter o papel de Criador de projetos
(
roles/resourcemanager.projectCreator), que contém a permissãoresourcemanager.projects.create. Saiba como conceder papéis.
Verifique se o faturamento está ativado para o projeto do Google Cloud .
Verifique se o Batch está ativado no projeto:
Ative as APIs Batch, Compute Engine e API Cloud Logging, se ainda não estiverem ativadas.
Funções necessárias para ativar APIs
Para ativar APIs, você precisa da permissão
serviceusage.services.enable. Se você criou o projeto, provavelmente já tem essa permissão pelo papel de proprietário (roles/owner). Caso contrário, é possível conseguir essa permissão pelo papel de administrador do Service Usage (roles/serviceusage.serviceUsageAdmin). Saiba como conceder papéis.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 do Batch.
É importante que todos os usuários que você quer que criem e executem jobs em lote no seu projeto tenham permissão para usar uma dessas contas de serviço. Portanto, não selecione contas de serviço que tenham mais permissões do que você quer conceder a esses usuários.
A conta de serviço que cada job usa por padrão é a conta de serviço padrão do Compute Engine, mas também é possível personalizar qual conta de serviço um job usa.
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 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 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 saber se outras permissões são necessárias. 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.
- Relator do agente em lote (
Verifique se você conhece o agente de serviço do Batch do seu projeto:
Depois que você cria um job em lote, o agente de serviço do Batch é criado automaticamente para seu projeto com o seguinte nome:
service-PROJECT_NUMBER@gcp-sa-cloudbatch.Substitua
PROJECT_NUMBERpelo número do projeto do seu projeto.O agente de serviço do Batch recebe automaticamente o papel do IAM de agente de serviço do Google Batch (
roles/batch.serviceAgent). Essa configuração é necessária para que o projeto use o Batch.No entanto, alguns casos de uso, como executar um job em uma rede VPC compartilhada, exigem que você conceda outras permissões ao agente de serviço do Batch do 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 usuário, faça o seguinte:
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 aprender a usar o Batch criando um job básico, solicite papéis para as seguintes tarefas:
- Para criar jobs:
- Editor de jobs em lote (
roles/batch.jobsEditor) no projeto - Usuário da conta de serviço (
roles/iam.serviceAccountUser) na conta de serviço do job, que, por padrão, é a conta de serviço padrão do Compute Engine.
- Editor de jobs em lote (
- 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 de 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 o acesso.
- Para criar jobs:
Se você quiser usar os exemplos de linha de comando do Batch, configure a Google Cloud CLI fazendo o seguinte. Saiba mais sobre a autenticação para a Google Cloud CLI.
Instale a Google Cloud CLI e faça login na CLI gcloud com sua identidade federada. Depois de fazer login, inicialize a Google Cloud CLI executando o seguinte comando:
gcloud initRecomendado: defina um projeto padrão usando o comando
gcloud config set project:gcloud config set project PROJECT_IDSubstitua
PROJECT_IDpelo ID do projeto.
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 a tag Batch nos fóruns do Google Developer Program.
Se você tiver problemas com o Batch, consulte a documentação de 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 problemas com o Batch.
OGoogle Cloud oferece pacotes de suporte distintos para atender a diferentes necessidades, como cobertura 24 horas, suporte por telefone e acesso a um gerente de suporte técnico. Para mais informações, consulte Suporte doGoogle Cloud .
Para enviar feedback ou solicitações de recursos para o Batch ou relatar problemas 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 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
Saiba como criar e executar um exemplo de job.
Saiba mais sobre como criar um job.
Saiba mais sobre os produtos Google Cloud relacionados: