Ambientes de computação gerenciados - 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á.

Ambientes de computação gerenciados

Você pode usar um ambiente de computação gerenciado para o AWS Batch gerenciar os tipos de capacidade e de instância dos recursos de computação do ambiente. Isso se baseia nas especificações do recurso de computação que você define ao criar o ambiente de computação. Você pode optar por usar instâncias sob demanda do Amazon EC2 e instâncias spot do Amazon EC2. Como alternativa, você pode usar a capacidade do Fargate e do Fargate Spot em seu ambiente de computação gerenciado. Ao usar instâncias spot, você pode, como opção, definir um preço máximo. Assim, as instâncias spot são iniciadas apenas quando o preço da instância spot estiver abaixo de uma porcentagem especificada do preço sob demanda.

Importante

Não há suporte para instâncias do Fargate Spot em Windows containers on AWS Fargate. Uma fila de trabalhos será bloqueada se um trabalho do FargateWindows for enviado para uma fila de trabalhos que usa somente ambientes de computação do Fargate Spot.

Ambientes de computação gerenciados iniciam instâncias do Amazon EC2 na VPC e nas sub-redes que você especifica e, em seguida, as registram em um cluster do Amazon ECS. As instâncias do Amazon EC2 precisam de acesso de rede externo para se comunicar com o endpoint de serviço do Amazon ECS. Algumas sub-redes não fornecem às instâncias do Amazon EC2 endereços IP públicos. Se suas instâncias do Amazon EC2 não tiverem um endereço IP público, elas deverão usar a conversão de endereço de rede (NAT) para obter esse acesso. Para obter mais informações, consulte Gateways NAT no Guia do usuário da Amazon VPC. Para obter mais informações sobre como criar uma VPC, consulte Criar uma nuvem privada virtual .

Por padrão, os ambientes de computação gerenciados do AWS Batch usam uma versão recente e aprovada da AMI otimizada do Amazon ECS para recursos de computação. No entanto, você pode querer criar sua própria AMI a ser usada para seus ambientes de computação gerenciados por vários motivos. Para ter mais informações, consulte Recursos de computação de AMIs.

nota

O AWS Batch não faz upgrade automático das AMIs em um ambiente de computação após ele ser criado. Por exemplo, ele não atualiza as AMIs no seu ambiente de computação quando uma versão mais recente da AMI otimizada do Amazon ECS é liberada. Você é responsável pelo gerenciamento do sistema operacional convidado. Isso inclui quaisquer atualizações e patches de segurança. Você também é responsável por quaisquer outros utilitários ou aplicativos de software que instalar nos recursos de computação. Há duas maneiras de utilizar uma nova AMI para trabalhos do AWS Batch. O método original é concluir as seguintes etapas:

  1. Crie um novo ambiente de computação com a nova AMI.

  2. Adicione o ambiente de computação a uma fila de trabalhos existente.

  3. Remova o antigo ambiente de computação da fila de trabalhos.

  4. Exclua o ambiente de computação anterior.

Em abril de 2022, o AWS Batch adicionou suporte aprimorado para a atualização de ambientes de computação. Para ter mais informações, consulte Atualização de um ambiente de computação. Para utilizar a atualização aprimorada de ambientes de computação para atualizar AMIs, siga estas regras:

  • Não defina o parâmetro de perfil de serviço (serviceRole) ou defina-o como a função vinculada ao serviço AWSServiceRoleForBatch.

  • Defina o parâmetro da estratégia de alocação (allocationStrategy) como BEST_FIT_PROGRESSIVE, SPOT_CAPACITY_OPTIMIZED ou SPOT_PRICE_CAPACITY_OPTIMIZED.

  • Defina o parâmetro de atualização para a versão mais recente da imagem (updateToLatestImageVersion) como true.

  • Não especifique uma ID de AMI em imageId, imageIdOverride (em ec2Configuration) ou no modelo de execução (launchTemplate). Nesse caso, o AWS Batch seleciona a AMI mais recente otimizada para o Amazon ECS e compatível com o AWS Batch no momento em que a atualização da infraestrutura for iniciada. Como alternativa, é possível especificar o ID da AMI os parâmetros imageId ou imageIdOverride ou o modelo de inicialização identificado pelas propriedades LaunchTemplate. A alteração de qualquer uma dessas propriedades inicia uma atualização da infraestrutura. Se a ID da AMI for especificada no modelo de execução, ela não poderá ser substituída pela especificação de uma ID da AMI nos parâmetros imageId ou imageIdOverride. Ela só pode ser substituída especificando um modelo de lançamento diferente. Ou, se a versão do modelo de lançamento estiver definida como $Default ou $Latest, definindo uma nova versão padrão para o modelo de execução (se for $Default) ou adicionando uma nova versão ao modelo de execução (se for $Latest).

Se essas regras forem seguidas, qualquer atualização que inicie uma atualização de infraestrutura fará com que o ID da AMI seja novamente selecionado. Se a configuração da version no modelo de execução (launchTemplate) for definida como $Latest ou $Default, a versão mais recente ou padrão do modelo de inicialização será avaliada no momento da atualização da infraestrutura, mesmo que o launchTemplate não tenha sido atualizado.

Consideração ao criar trabalhos paralelos de vários nós

O AWS Batch recomenda a criação de ambientes de computação dedicados para executar trabalhos paralelos de vários nós (MNP) e trabalhos não MNP. Isso se deve à forma como a capacidade de computação é criada em seu ambiente de computação gerenciado. Ao criar um novo ambiente de computação gerenciado, se você especificar um valor minvCpu maior que zero, o AWS Batch criará um pool de instâncias para uso somente com trabalhos não MNP. Se um trabalho paralelo de vários nós for enviado, o AWS Batch criará uma nova capacidade de instância para executar os trabalhos paralelos de vários nós. Nos casos em que há trabalhos paralelos de um e vários nós em execução no mesmo ambiente computacional em que um valor minvCpus ou maxvCpus for definido, se os recursos de computação necessários não estiverem disponíveis, o AWS Batch aguardará a conclusão dos trabalhos atuais antes de criar os recursos de computação necessários para executar os novos trabalhos.