Recursos de computação de AMIs - 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á.

Recursos de computação de AMIs

Por padrão, os ambientes computacionais AWS Batch gerenciados usam uma versão recente e aprovada da AMI otimizada do Amazon ECS para recursos computacionais. No entanto, você pode querer criar sua própria AMI a ser usada para seus ambientes de computação gerenciados por vários motivos. Se você precisar de alguma das opções a seguir, recomendamos que crie sua própria AMI:

  • Aumentar o tamanho do armazenamento dos volumes de dados ou raiz da AMI

  • Adicionar volumes de armazenamento de instância com suporte para tipos de instância do Amazon EC2

  • Inspecionar o agente de contêiner do Amazon ECS

  • Personalizando o Docker

  • Configurar uma AMI de workload de GPU que permite que os contêineres acessem o hardware de GPU nos tipos de instância do Amazon EC2 compatíveis

nota

Depois que um ambiente computacional é criado, AWS Batch não atualiza as AMIs no ambiente computacional. AWS Batch também não atualiza as AMIs em seu ambiente computacional quando uma versão mais recente da AMI otimizada do Amazon ECS está disponível. 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. Para usar uma nova AMI para seus AWS Batch trabalhos, faça o seguinte:

  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, AWS Batch foi adicionado suporte aprimorado para atualização de ambientes computacionais. Para ter mais informações, consulte Criaçã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 da função de serviço (serviceRole) nem o defina como a função AWSServiceRoleForBatchvinculada ao serviço.

  • 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). Quando você não especifica uma ID de AMI, AWS Batch seleciona a última AMI otimizada do Amazon ECS que AWS Batch oferece suporte no momento em que a atualização da infraestrutura é iniciada. Como alternativa, você pode especificar a ID da AMI nos parâmetros imageId ou imageIdOverride. Ou pode especificar o modelo de execução que é 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 lançamento, a ID da AMI não poderá ser substituída pela especificação de uma ID da AMI nos parâmetros imageId ou imageIdOverride. A ID da AMI só pode ser substituída pela especificação de um modelo de lançamento diferente. Se a versão do modelo de lançamento estiver definida como $Default ou $Latest, a ID da AMI poderá ser substituída definindo uma nova versão padrão para o modelo de lançamento (se $Default) ou adicionando uma nova versão ao modelo de lançamento (se $Latest).

Se essas regras forem seguidas, qualquer atualização que acione uma atualização de infraestrutura fará com que a ID da AMI seja novamente selecionada. 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.

Especificação da AMI do recurso de computação

A especificação básica da AMI de recursos AWS Batch computacionais consiste no seguinte:

Obrigatório

  • A distribuição Linux moderna executando pelo menos a versão 3.10 do Linux kernel em uma AMI de tipo de virtualização HVM. Não há suporte para contêineres do Windows.

    Importante

    Tarefas paralelas de vários nós só podem ser executadas em recursos de computação que foram iniciados em uma instância do Amazon Linux com o pacote ecs-init instalado. Recomendamos que você use a AMI otimizada para Amazon ECS ao criar o ambiente de computação. Você pode fazer isso sem especificar uma AMI personalizada. Para ter mais informações, consulte Trabalhos em paralelo de vários nós.

  • O agente de contêiner do Amazon ECS. É recomendável usar a versão mais recente. Para obter mais informações, consulte Installing the Amazon ECS Container Agent no Guia do desenvolvedor do Amazon Elastic Container Service.

  • O driver de log awslogs deve ser especificado como um driver de log disponível com a variável de ambiente ECS_AVAILABLE_LOGGING_DRIVERS quando o agente de contêiner do Amazon ECS é iniciado. Para obter mais informações, consulte Configuração do Agente de Contêineres do Amazon ECS no Guia do desenvolvedor do Amazon Elastic Container Service.

  • Um daemon do Docker em execução, pelo menos, na versão 1.9 e quaisquer dependências de execução do Docker. Para mais informações, consulte Verificar dependências do runtime na documentação do Docker.

    nota

    Recomendamos a versão do Docker que é fornecida e testada com a versão de agente de contêiner do Amazon ECS que você está usando. O Amazon ECS fornece um changelog para a variante Linux da AMI otimizada para Amazon ECS em. GitHub Para obter mais informações, consulte Log de alterações.

Recomendado

  • Um processo de inicialização e de nanny para executar e monitorar o agente do Amazon ECS. A AMI otimizada para Amazon ECS usa o processo de inicialização ecs-init e outros sistemas operacionais podem usar systemd. Para obter mais informações e exemplos, consulte Example container instance User Data Configuration Scripts no Guia do desenvolvedor do Amazon Elastic Container Service. Para obter mais informações sobreecs-init, consulte o ecs-initprojeto em GitHub. No mínimo, os ambientes de computação gerenciados exigem que o agente do Amazon ECS seja iniciado na inicialização. Se o agente do Amazon ECS não estiver em execução no seu recurso computacional, ele não poderá aceitar trabalhos do. AWS Batch

As AMIs otimizadas para Amazon ECS são pré-configuradas com esses requisitos e com essas recomendações. Recomendamos que você use a AMI otimizada para Amazon ECS ou uma AMI do Amazon Linux com o pacote ecs-init que está instalado para seus recursos de computação. Escolha outra AMI se o aplicativo precisar de um sistema operacional específico ou uma versão do Docker que ainda não está disponível nessas AMIs. Para obter mais informações, consulte Amazon ECS-Optimized AMI no Guia do desenvolvedor do Amazon Elastic Container Service.