Componentes do AWS Batch
O AWS Batch simplifica a execução de trabalhos em lote em várias zonas de disponibilidade dentro de uma região. Você pode criar ambientes computacionais 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.
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. Ela tem um nome e é executada como um aplicativo em contêineres no AWS Fargate ou em recursos do Amazon EC2 no 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 de outros trabalhos. Para ter mais informações, consulte 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 um perfil do IAM para fornecer acesso a outros recursos da AWS. 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
Filas de tarefas
Quando enviar um trabalho do AWS Batch, você o enviará para uma fila de trabalho específica, onde ele fica até que seja programado 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.
Ambiente de computação
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 desejado (Fargate ou EC2) em vários níveis de detalhe. Você pode configurar ambientes computacionais que usem um determinado tipo de instância EC2, um modelo específico, como c5.2xlarge
ou m5.10xlarge
. Ou você pode optar apenas por especificar que deseja usar os tipos de instância mais recentes. Também é possível especificar os números mínimo, desejado e máximo de vCPUs para o ambiente com a quantia que você está disposto a pagar por uma instância spot como uma porcentagem do preço da instância sob demanda e um conjunto de destino de sub-redes da VPC. O AWS Batch inicia, gerencia e encerra com eficiência os tipos de computação conforme necessário. Você também pode gerenciar seus próprios ambientes computacionais. Nesse caso, você é responsável por configurar e escalar as instâncias em um cluster do Amazon ECS que o AWS Batch cria para você. Para ter mais informações, consulte Ambientes de computação para o AWS Batch.