Use os modelos de lançamento do Amazon EC2 com 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á.

Use os modelos de lançamento do Amazon EC2 com AWS Batch

AWS Batch suporta o uso de modelos de lançamento do Amazon EC2 com seus ambientes computacionais do EC2. Com os modelos de lançamento, você pode modificar a configuração padrão dos seus recursos AWS Batch computacionais sem precisar criar modelos personalizados. AMIs

nota

Os modelos de lançamento não são compatíveis com os recursos do AWS Fargate.

Você deve criar um modelo de execução antes de associá-lo a um ambiente de computação. É possível criar um modelo de execução usando o console Amazon EC2. Ou você pode usar o AWS CLI ou um AWS SDK. Por exemplo, o arquivo JSON a seguir representa um modelo de execução que redimensiona o volume de dados do Docker para o recurso de AWS Batch computação padrão AMI e também o define para ser criptografado.

{ "LaunchTemplateName": "increase-container-volume-encrypt", "LaunchTemplateData": { "BlockDeviceMappings": [ { "DeviceName": "/dev/xvda", "Ebs": { "Encrypted": true, "VolumeSize": 100, "VolumeType": "gp2" } } ] } }

Você pode criar o modelo de execução anterior salvando o JSON em um arquivo chamado lt-data.json e executando o AWS CLI comando a seguir.

aws ec2 --region <region> create-launch-template --cli-input-json file://lt-data.json

Para obter mais informações sobre modelos de execução, consulte Executar uma instância de um modelo de execução, no Guia do usuário do Amazon EC2.

Se você usar um modelo de execução para criar seu ambiente de computação, poderá mover os seguintes parâmetros de ambiente de computação existentes para o seu modelo de execução:

nota

Suponha que qualquer um desses parâmetros (exceto as tags do Amazon EC2) seja especificado no modelo de execução e na configuração do ambiente de computação. Então, os parâmetros do ambiente de computação têm precedência. As tags do Amazon EC2 são mescladas entre o modelo de lançamento e a configuração do ambiente de computação. Se houver uma colisão na chave de tag, o valor na configuração do ambiente de computação tem precedência.

  • Pares de chaves do Amazon EC2

  • ID da AMI do Amazon EC2

  • Grupo de segurança IDs

  • Etiquetas do Amazon EC2

Os seguintes parâmetros do modelo de lançamento são ignorados por AWS Batch:

  • Tipo de instância (especifique os tipos de instâncias desejados ao criar o ambiente de computação)

  • Função de instância (especifique a função de instância desejada ao criar o ambiente de computação)

  • Sub-redes de interface de rede (especifique as sub-redes desejadas ao criar seu ambiente de computação)

  • Opções de mercado de instâncias (AWS Batch deve controlar a configuração da instância spot)

  • Desativar o encerramento da API (AWS Batch deve controlar o ciclo de vida da instância)

AWS Batch somente atualiza o modelo de lançamento com uma nova versão do modelo de lançamento durante as atualizações da infraestrutura. Para obter mais informações, consulte Atualizar um ambiente computacional no AWS Batch.

Modelos de execução padrão e substituídos

Você pode definir um modelo de execução padrão para o ambiente computacional e um modelo de execução substituto para tipos e famílias de instâncias específicos. Isso pode ser útil para que o modelo padrão seja usado para a maioria dos tipos de instância nos ambientes de computação.

As variáveis de substituição $Default e $Latest podem ser usadas em vez de nomear uma versão específica. Se você não fornecer um modelo de execução substituto, o modelo de execução padrão será aplicado automaticamente.

Se você usar a $Latest variável $Default ou, AWS Batch aplicará as informações atuais no momento em que o ambiente computacional for criado. Se a versão padrão ou mais recente mudar no futuro, você deverá atualizar as informações por meio do - UpdateComputeEnvironmentou por meio do Console de gerenciamento da AWS - AWS Batch.

Para fornecer flexibilidade adicional, você pode definir modelos de execução substitutivos aplicados a tipos ou famílias de instâncias computacionais específicos.

nota

Você pode especificar até dez (10) modelos de substituições de execução para cada ambiente computacional.

Use o parâmetro targetInstanceTypes para selecionar o tipo de instância ou a família que deve usar esse modelo de execução substituto. O tipo de instância ou família deve ser identificado primeiro pelo parâmetro instanceTypes.

Se você definir substituições do modelo de execução e decidir removê-las posteriormente, poderá passar uma matriz vazia para cancelar a definição do parâmetro overrides na operação da API UpdateComputeEnvironment. Você também pode optar por não incluir o parâmetro overrides ao enviar a operação da API UpdateComputeEnvironment. Para obter mais informações, consulte LaunchTemplateSpecification.overrides

Para obter mais informações, consulte LaunchTemplateSpecificationOverride.targetInstanceTypeso Guia de referência AWS Batch da API.

Dados de usuário do Amazon EC2 em modelos de execução

Você pode fornecer os dados de usuário do Amazon EC2 em seu modelo de execução que é executado por cloud-init quando suas instâncias são iniciadas. Seus dados de usuário podem executar cenários de configuração comuns, incluindo, dentre outros:

Os dados do usuário do Amazon EC2 em modelos de execução devem estar no formato MIME multi-part archive. Isso ocorre porque seus dados de usuário são mesclados com outros dados de AWS Batch usuário necessários para configurar seus recursos computacionais. Você pode combinar vários blocos de dados de usuário em um único arquivo MIME de várias partes. Por exemplo, convém combinar um boothook de nuvem que configure o daemon do Docker com um script do shell de dados do usuário que grave informações do atendente de contêiner do Amazon ECS.

Se você estiver usando AWS CloudFormation, o AWS::CloudFormation::Inittipo pode ser usado com o script auxiliar cfn-init para realizar cenários de configuração comuns.

Um arquivo em várias partes MIME consiste nos seguintes componentes:

  • O tipo de conteúdo e a declaração de limite da parte: Content-Type: multipart/mixed; boundary="==BOUNDARY=="

  • A declaração da versão MIME: MIME-Version: 1.0

  • Um ou mais blocos de dados do usuário que contêm os seguintes componentes:

    • O limite de abertura, que sinaliza o início de um bloco de dados do usuário: --==BOUNDARY==. Você deve manter a linha antes desse limite em branco.

    • A declaração de tipo de conteúdo para o bloco: Content-Type: text/cloud-config; charset="us-ascii". Para mais informações sobre tipos de conteúdo, consulte a documentação do Cloud-Init. Você deve manter a linha após o branco da declaração do tipo de conteúdo.

    • O conteúdo de dados do usuário, por exemplo, uma lista de comandos de shell ou diretivas do cloud-init.

  • O limite de fechamento que sinaliza o fim do arquivo MIME de várias partes: --==BOUNDARY==--. Você deve manter a linha antes do branco do limite de fechamento.

nota

Se você adicionar dados de usuário a um modelo de execução no console do Amazon EC2, você pode colá-los como texto simples ou fazer upload de um arquivo. Ou você pode fazer o upload de um arquivo. Se você usa o AWS CLI ou um AWS SDK, deve primeiro base64 codificar os dados do usuário e enviar essa string como o valor do UserData parâmetro ao chamar CreateLaunchTemplate, conforme mostrado neste arquivo JSON.

{ "LaunchTemplateName": "base64-user-data", "LaunchTemplateData": { "UserData": "ewogICAgIkxhdW5jaFRlbXBsYXRlTmFtZSI6ICJpbmNyZWFzZS1jb250YWluZXItdm9sdW..." } }