View a markdown version of this page

Componentes do AWS Batch - AWS Batch

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

Componentes do AWS Batch

AWS Batch simplifica a execução de trabalhos em lote em várias zonas de disponibilidade em uma região. Você pode criar ambientes de computação do AWS Batch em uma VPC nova ou existente. Depois que um ambiente computacional estiver ativo e associado a uma fila de trabalho, você poderá fazer as definições de trabalho que especificam quais imagens de contêineres do Docker executarão seus trabalhos. As imagens de contêiner são armazenadas em registros de contêiner e extraídas deles, que podem existir dentro ou fora de sua infraestrutura da AWS .

Mostrando os componentes AWS Batch e como eles se integraram

Ambiente computacional

Um ambiente computacional é um conjunto de recursos computacionais gerenciados ou não gerenciados que são usados para executar trabalhos. Com ambientes de computação gerenciados, você pode especificar o tipo de computação (Fargate, Amazon EC2 ou Amazon ECS Managed Instances) e o tamanho da instância. Você também pode especificar o número mínimo, desejado e máximo de vCPUs, o limite de preço da instância spot e as sub-redes VPC de destino.

Com as instâncias gerenciadas do Amazon ECS, o Amazon ECS gerencia totalmente o provisionamento, a escalabilidade e o encerramento de instâncias do Amazon EC2 em seu nome. Você especifica a capacidade máxima e as restrições opcionais da instância. AWS Batch lança, gerencia e encerra com eficiência os tipos de computação conforme necessário.

Você também pode gerenciar seus próprios ambientes de computação. Nesse caso, você é responsável por configurar e escalar as instâncias em um cluster do Amazon ECS AWS Batch criado para você. Para obter mais informações, consulte Ambientes de computação para AWS Batch.

Filas de tarefas

Ao enviar um AWS Batch trabalho, você o envia para uma fila de trabalhos específica, onde o trabalho reside até ser agendado em um ambiente computacional. Você pode associar um ou mais ambientes de computação a uma fila de trabalhos. Você também pode atribuir valores de prioridade para esses ambientes de computação e até mesmo para as próprias filas de trabalhos. Por exemplo, você pode ter uma fila de alta prioridade à qual você envia trabalhos urgentes e uma fila de baixa prioridade para trabalhos que podem ser executados a qualquer momento quando os recursos computacionais forem mais baratos. Para obter mais informações, consulte Filas de tarefas.

Definições de trabalho

As definições de trabalhos especificam como os trabalhos devem ser executados. Você pode pensar em uma definição de trabalho como um esquema para os recursos em seu trabalho. Você pode fornecer ao seu trabalho uma função do IAM para fornecer acesso a outros AWS recursos. Você também especifica os requisitos de memória e CPU. A definição de trabalho também pode controlar as propriedades do contêiner, as variáveis de ambiente e pontos de montagem para armazenamento persistente. Muitas das especificações em uma definição de trabalho podem ser substituídas especificando-se novos valores ao enviar trabalhos individuais. Para obter mais informações, consulte Definições de trabalho.

Tarefas

Uma unidade de trabalho (como um script de shell, um executável do Linux ou uma imagem de contêiner do Docker) que você envia para o AWS Batch. Ele tem um nome e é executado como um aplicativo em contêiner AWS Fargate ou em recursos do Amazon EC2 em seu ambiente de computação, usando parâmetros que você especifica em uma definição de trabalho. Os trabalhos podem fazer referência a outros trabalhos por nome ou por ID e podem ser dependentes da conclusão bem-sucedida de outros trabalhos ou da disponibilidade dos recursos que você especificar. Para obter mais informações, consulte Tarefas.

Política de agendamento

Você pode usar políticas de agendamento para configurar como os recursos de computação em uma fila de trabalhos serão alocados entre usuários ou workloads. Usando políticas de programação de compartilhamento justo, você pode atribuir diferentes identificadores de compartilhamento a workloads ou usuários. O agendador de AWS Batch tarefas usa como padrão uma estratégia FIFO (primeiro a entrar, primeiro a sair). Para obter mais informações, consulte Políticas de agendamento de compartilhamento justo.

Recursos consumíveis

Um recurso consumível é um recurso necessário para executar seus trabalhos, como um token de licença de terceiros, largura de banda de acesso ao banco de dados, a necessidade de chamadas de controle de utilização para uma API de terceiros e assim por diante. Você especifica os recursos consumíveis necessários para a execução de um trabalho e o Batch leva essas dependências de recursos em consideração ao agendar um trabalho. Você pode reduzir a subutilização dos recursos computacionais alocando somente os trabalhos que têm todos os recursos necessários disponíveis. Para obter mais informações, consulte Agendamento com reconhecimento de recurso.

Ambiente de serviço

Um ambiente de serviço define como AWS Batch se integra com SageMaker a execução do trabalho. Os ambientes de serviço permitem AWS Batch enviar e gerenciar trabalhos ao SageMaker mesmo tempo em que fornecem os recursos de enfileiramento, agendamento e gerenciamento de prioridades do. AWS Batch Os ambientes de serviço definem limites de capacidade para tipos de serviços específicos, como trabalhos SageMaker de treinamento. Os limites de capacidade controlam o máximo de recursos que podem ser usados por trabalhos de serviço no ambiente. Para obter mais informações, consulte Ambientes de serviço para AWS Batch.

Trabalhos de serviço

Uma tarefa de serviço é uma unidade de trabalho à qual você se submete AWS Batch para ser executada em um ambiente de serviço. As tarefas de serviço aproveitam AWS Batch os recursos de enfileiramento e agendamento, ao mesmo tempo em que delegam a execução real ao serviço externo. Por exemplo, trabalhos de SageMaker treinamento enviados como trabalhos de serviço são enfileirados e priorizados por AWS Batch, mas a execução do trabalho de SageMaker treinamento ocorre dentro SageMaker da infraestrutura de IA. Essa integração permite que cientistas de dados e engenheiros de ML se beneficiem do gerenciamento automatizado AWS Batch da carga de trabalho e do enfileiramento prioritário para suas cargas de trabalho de treinamento de SageMaker IA. Os trabalhos de serviço podem referenciar outros trabalhos por nome ou ID e dar suporte às dependências do trabalho. Para obter mais informações, consulte Empregos de serviços em AWS Batch.