

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á.

# Criar uma definição de trabalho de nó único nos recursos do Amazon EC2
<a name="create-job-definition-EC2"></a>

Conclua as etapas a seguir para criar uma definição de trabalho com um único nó nos recursos do Amazon Elastic Compute Cloud (Amazon EC2).

**Para criar uma nova definição de trabalho em recursos do Amazon EC2:**

1. Abra o AWS Batch console em [https://console.aws.amazon.com/batch/](https://console.aws.amazon.com/batch/).

1. Na barra de navegação, escolha o Região da AWS a ser usado.

1. No painel de navegação esquerdo, escolha **Definições de trabalho**.

1. Escolha **Criar**.

1. Para o **Tipo de orquestração,** escolha **Amazon Elastic Compute Cloud (Amazon EC2)**.

1. Em **Configuração da plataforma EC2**, desative o processamento de **Ativar paralelo de vários nós**.

1. Em **Nome**, insira um nome exclusivo para a sua definição de trabalho. Os nomes podem ter até 128 caracteres. Podem conter letras minúsculas, maiúsculas, números, hifens e (-) e sublinhados (\$1).

1. (Opcional) Em **Tempo Limite de Execução**, insira o valor do tempo limite (em segundos). O tempo limite de execução é o período de tempo antes que um trabalho não concluído seja encerrado. Se uma tentativa exceder o tempo limite, ela será interrompida e passada para um status `FAILED`. Para mais informações, consulte [Tempos limite de trabalho](job_timeouts.md). O valor mínimo é 60 segundos.

1. (Opcional) Ative a **Prioridade de Agendamento**. Insira um valor de prioridade de agendamento entre 0 e 100. Valores mais altos têm maior prioridade.

1. (Opcional) Para **Tentativas de Trabalho**, insira o número máximo de vezes que AWS Batch tenta mover o trabalho para um status `RUNNABLE`. Insira um número inteiro entre 1 e 10.

1. (Opcional) Em **Repetir condições da estratégia**, escolha **Adicionar avaliação na saída**. Insira pelo menos um valor de parâmetro e escolha uma **Ação**. Para cada conjunto de condições, **Ação** deve ser definida como **Tentar Novamente** ou **Sair**. Essas ações significam o seguinte:
   + **Tentar novamente** — AWS Batch tenta novamente até que o número de tentativas de trabalho que você especificou seja atingido.
   + **Sair** — AWS Batch para de tentar novamente o trabalho.
**Importante**  
Se você escolher **Adicionar avaliação na saída**, deverá configurar pelo menos um parâmetro e ou escolher uma **Ação** ou escolher **Remover avaliação na saída**.

1. (Opcional) Expanda **Tags** e então, escolha **Adicionar Tag** para adicionar tags ao recurso. Insira uma chave e um valor opcional e então escolha **Adicionar tag**.

1. (Opcional) Ative **Propagar tags** para propagar tags do trabalho e da definição de trabalho para a tarefa do Amazon ECS.

1. Escolha **Próxima página**.

1. Na seção **Configuração de Contêiner**:

   1. Para **Imagem**, escolha a imagem do Docker a ser usada em seu trabalho. Por padrão, as imagens no registro do Docker Hub estão disponíveis. Você também pode especificar outros repositórios com `repository-url/image:tag`. Os nomes podem ter até 225 caracteres. Pode conter letras maiúsculas e minúsculas, números, hifens (-), sublinhados (\$1), dois pontos (:), barras (/) e sinais de número (\$1). Esse parâmetro é mapeado para `Image` na seção [Criar um contêiner](https://docs.docker.com/engine/api/v1.38/#operation/ContainerCreate) da [Docker Remote API](https://docs.docker.com/engine/api/v1.38/) e o parâmetro `IMAGE` de [https://docs.docker.com/engine/reference/commandline/run/](https://docs.docker.com/engine/reference/commandline/run/).
**nota**  
A arquitetura da imagem do Docker deve corresponder à arquitetura do processador dos recursos de computação nos quais eles foram programados. Por exemplo, imagens do Docker baseadas em ARM só podem ser executadas em recursos computacionais baseados em ARM.
      + As imagens em repositórios públicos do Amazon ECR usam as convenções de nomenclatura `registry/repository[:tag]` ou `registry/repository[@digest]` completa (por exemplo, `public.ecr.aws/registry_alias/my-web-app:latest`).
      + As imagens em repositórios do Amazon ECR usam as convenções de nomenclatura `registry/repository[:tag]` completa (por exemplo, `aws_account_id.dkr.ecr.region.amazonaws.com``/my-web-app:latest`).
      + Imagens em repositórios oficiais em Docker Hub usam um único nome (por exemplo, `ubuntu` ou `mongo`).
      + Imagens em outros repositórios Docker Hub são qualificadas com um nome de organização (por exemplo, `amazon/amazon-ecs-agent`).
      + Imagens em outros repositórios online também são qualificadas por um nome de domínio (por exemplo, `quay.io/assemblyline/ubuntu`).

   1. Em **Comando**, insira os comandos no campo como o equivalente da matriz de string **JSON**.

      Esse parâmetro é mapeado para `Cmd` na seção [Criar um contêiner](https://docs.docker.com/engine/api/v1.38/#operation/ContainerCreate) da [Docker Remote API](https://docs.docker.com/engine/api/v1.38/) e o parâmetro `COMMAND` de [https://docs.docker.com/engine/reference/commandline/run/](https://docs.docker.com/engine/reference/commandline/run/). Para obter mais informações sobre o Docker `CMD` parâmetro, consulte [https://docs.docker.com/engine/reference/builder/ \$1cmd](https://docs.docker.com/engine/reference/builder/#cmd).
**nota**  
Você pode usar os valores padrão de substituição de parâmetros e espaços reservados no seu comando. Para obter mais informações, consulte [Parameters](job_definition_parameters.md#parameters).

   1. (Opcional) Para a **função Execution**, especifique uma função do IAM que conceda aos agentes de contêiner do Amazon ECS permissão para fazer chamadas de AWS API em seu nome. Esse atributo usa perfis do IAM do Amazon ECS para tarefas. Para obter mais informações, consulte [Perfis do IAM para execução de tarefa do Amazon ECS](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/task_execution_IAM_role.html) no *Guia do desenvolvedor do Amazon Elastic Container Service*. 

   1. Para a **configuração do Job Role**, escolha um papel do IAM que tenha permissões para AWS APIs o. Esse atributo usa perfis do IAM do Amazon ECS para tarefas. Para mais informações, consulte [Funções do IAM para Tarefas](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/task-iam-roles.html) no *Guia de Desenvolvedor Amazon Elastic Container Service*.
**nota**  
Somente funções que tenham o relacionamento de confiança **Função da tarefa do Amazon Elastic Container Service** são mostradas aqui. Para obter mais informações sobre a criação de uma função do IAM para seus AWS Batch trabalhos, consulte [Como criar uma função e uma política do IAM para suas tarefas](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/task-iam-roles.html#create_task_iam_policy_and_role) no *Amazon Elastic Container Service Developer Guide*.

1. Em **Parâmetros**, escolha **Adicionar parâmetros** para adicionar espaços reservados para substituição de parâmetros como pares de **Chave** e **Valor** opcionais.

1. Na seção **Configuração de Ambiente**:

   1. Para **v CPUs**, insira o número de v CPUs a ser reservado para o contêiner. Esse parâmetro é mapeado para `CpuShares` na seção [Criar um Contêiner](https://docs.docker.com/engine/api/v1.38/#operation/ContainerCreate) da [API remota do Docker](https://docs.docker.com/engine/api/v1.38/) e a opção `--cpu-shares` para [https://docs.docker.com/engine/reference/commandline/run/](https://docs.docker.com/engine/reference/commandline/run/). Cada vCPU equivale a 1.024 compartilhamentos de CPU. Você deve especificar pelo menos uma vCPU.

   1. Em **Memória**, insira o limite de memória disponível para o contêiner. Caso tente exceder a quantidade memória especificada aqui, o contêiner será interrompido. Esse parâmetro é mapeado para `Memory` na seção [Criar um Contêiner](https://docs.docker.com/engine/api/v1.38/#operation/ContainerCreate) da [API Remota Docker](https://docs.docker.com/engine/api/v1.38/) e para a opção `--memory` para [https://docs.docker.com/engine/reference/commandline/run/](https://docs.docker.com/engine/reference/commandline/run/). Você deve especificar pelo menos 4 MiB de memória para uma tarefa.
**nota**  
Para maximizar o uso dos recursos, priorize a memória para trabalhos de um tipo específico de instância. Para obter mais informações, consulte [Gerenciamento de memória de recursos de computação](memory-management.md).

   1. Em **Número de GPUs**, escolha o número de a GPUs ser reservado para o contêiner.

   1. (Opcional) Em **Variáveis de Ambiente**, escolha **Adicionar Variável de Ambiente** para adicionar variáveis de ambiente como pares de nome/valor. Essas variáveis serão passadas para o contêiner.

   1. (Opcional) Em **Segredos**, escolha **Adicionar segredo** para adicionar segredos como pares de nome-valor. Esses segredos são expostos no contêiner. [Para obter mais informações, consulte: LogConfiguration SecretOptions.](https://docs.aws.amazon.com/batch/latest/APIReference/API_LogConfiguration.html#Batch-Type-LogConfiguration-secretOptions)

1. Escolha **Próxima página**.

1. Na seção **Configuração do Linux**:

   1. Para **Usuário**, insira o nome do usuário a ser usado dentro do contêiner. Esse parâmetro é mapeado para `User` na seção [Criar um Contêiner](https://docs.docker.com/engine/api/v1.38/#operation/ContainerCreate) da [API remota do Docker](https://docs.docker.com/engine/api/v1.38/) e a opção `--user` para [https://docs.docker.com/engine/reference/commandline/run/](https://docs.docker.com/engine/reference/commandline/run/).

   1. (Opcional) Para oferecer ao contêiner de trabalho permissões elevadas na instância do host (semelhante ao usuário `root`), arraste o controle deslizante **Privilegiado** para a direita. Esse parâmetro é mapeado para `Privileged` na seção [Criar um Contêiner](https://docs.docker.com/engine/api/v1.38/#operation/ContainerCreate) da [API remota do Docker](https://docs.docker.com/engine/api/v1.38/) e a opção `--privileged` para [https://docs.docker.com/engine/reference/commandline/run/](https://docs.docker.com/engine/reference/commandline/run/).

   1. (Opcional) Ative **Ativar processo init** para executar um processo `init` dentro do contêiner. Este processo encaminha sinais e colhe processos.

1. (Opcional) Na seção **Configuração do sistema de arquivos**:

   1. Ative **Habilitar sistema de arquivos somente para leitura** para remover o acesso de gravação ao volume.

   1. Para **Tamanho da memória compartilhada**, insira o tamanho (em MiB) do volume `/dev/shm`.

   1. Em **Tamanho máximo de troca**, insira a quantidade total de memória de troca (em MiB) que o contêiner pode usar.

   1. Em **Swappiness**, insira um valor entre 0 e 100 para indicar o comportamento de troca de memória do contêiner. Se você não especificar um valor e a troca estiver ativada, o valor assumirá 60 como padrão. [Para obter mais informações, consulte:swappinessLinuxParameters.](https://docs.aws.amazon.com/batch/latest/APIReference/API_LinuxParameters.html#Batch-Type-LinuxParameters-swappiness)

   1. (Opcional) Expanda **Configuração adicional**.

   1. (Opcional) Para **Tmpfs**, escolha **Adicionar tmpfs** para adicionar uma montagem `tmpfs`.

   1. (Opcional) Em **Dispositivos**, escolha **Adicionar dispositivo** para adicionar um dispositivo:

      1. Em **Container path (Caminho do contêiner)**, especifique o caminho na instância de contêiner para expor o dispositivo mapeado para a instância de host. Se isso for deixado em branco, o caminho de host será usado no contêiner.

      1. Em **Host path**, especifique o caminho de um dispositivo na instância de host.

      1. Em **Permissões**, selecione uma ou mais permissões para serem aplicadas ao dispositivo. As permissões disponíveis são **LER**, **GRAVAR** e **MKNOD**.

   1. (Opcional) Para **Configuração de volumes**, escolha **Adicionar volume** para criar uma lista de volumes a serem passados para o contêiner. Insira **Nome** e **Caminho de origem** para o volume e escolha **Adicionar volume**. Você também pode optar por ativar o **Habilitar EFS**.

   1. (Opcional) Em **Pontos de montagem**, escolha **Adicionar configuração de pontos de montagem** para adicionar pontos de montagem para volumes de dados. Você deve especificar o volume de origem e o caminho do contêiner. Esses pontos de montagem são passados para o Docker daemon em uma instância de contêiner. Você também pode optar por tornar o volume **Somente para leitura**.

   1. (Opcional) Para **Configuração de ulimits**, escolha **Adicionar ulimit** para adicionar um valor de `ulimits` ao contêiner. Insira os valores de **Nome**, **Limite flexível**, e **Limite rígido** e, em seguida, escolha **Adicionar ulimit**.

1. Na seção **Propriedades da tarefa**:

   1. Em **Função de execução - condicional**, escolha uma função para permitir que os agentes do Amazon ECS façam chamadas de AWS API em seu nome. Para obter mais informações sobre criar um **Perfil de execução**, consulte [Tutorial: criar o perfil de execução do IAM](create-execution-role.md).

   1. Escolha **Habilitar o comando de execução do ECS** para permitir o acesso direto ao shell do contêiner do Amazon ECS e ignorar o sistema operacional do host. Você deve escolher uma **Função de tarefa**.
**Importante**  
O comando **Executar ECS** exige que o sistema de arquivos seja gravável. 

   1. Para a **função Task**, escolha uma função Amazon ECS Identity and Access Management (IAM) para permitir que o contêiner faça chamadas de AWS API em seu nome. Para obter mais informações, consulte [Perfil do IAM de tarefa do Amazon ECS](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/task-iam-roles.html) no *Guia do desenvolvedor do Amazon Elastic Container Service*.

1. (Opcional) Na seção **Configuração de registro**:

   1. Em **Driver de log**, escolha o driver de log a ser usado. [Para obter mais informações sobre os drivers de log disponíveis, LogConfiguration consulte:LogDriver.](https://docs.aws.amazon.com/batch/latest/APIReference/API_LogConfiguration.html#Batch-Type-LogConfiguration-logDriver)
**nota**  
Por padrão, o driver de log `awslogs` é usado.

   1. Em **Opções**, escolha **Adicionar opção** para adicionar uma opção. Insira um par nome-valor e então escolha **Adicionar opção**.

   1. Em **Segredos**, escolha **Adicionar segredo**. Insira um par nome-valor e escolha **Adicionar segredo** para adicionar um segredo.
**dica**  
[Para obter mais informações, consulte: LogConfiguration SecretOptions.](https://docs.aws.amazon.com/batch/latest/APIReference/API_LogConfiguration.html#Batch-Type-LogConfiguration-secretOptions)

1. Escolha **Próxima página**.

1. Para a **Revisão de Definição de Tarefa**, revise as etapas de configuração. Se precisar fazer alterações, escolha **Edit** (Editar). Quando terminar, escolha **Criar Definição de Trabalho**.