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á.
Criação de uma definição de tarefa usando o console
Crie as definições de tarefa usando o console do Amazon ECS. Para tornar o processo de criação da definição de tarefa o mais fácil possível, o console tem seleções padrão para muitas opções, que descrevemos abaixo. Também há painéis de ajuda disponíveis para a maioria das seções do console, que fornecem mais contexto.
Você pode criar uma definição de tarefa passo a passo no console ou editando um arquivo JSON.
Validação de JSON
O editor de JSON do console do Amazon ECS valida o seguinte no arquivo JSON:
-
O arquivo é um arquivo JSON válido
-
O arquivo não contém nenhuma chave estranha
-
O arquivo contém o parâmetro
familyName
-
Há pelo menos uma entrada em
containerDefinitions
Pilhas do AWS CloudFormation
O comportamento a seguir é aplicável às definições de tarefa criadas no novo console antes de 12 de janeiro de 2023.
Quando você cria uma definição de tarefa, o console do Amazon ECS cria automaticamente uma CloudFormation pilha que tem um nome que começa com “ECS-Console-v2- -”. TaskDefinition Se tiver usado a AWS CLI ou o SDK para cancelar o registro da definição da tarefa, você deverá excluir manualmente a pilha de definições de tarefa. Para obter mais informações, consulte Excluir uma pilha no Guia do usuário do AWS CloudFormation.
As definições de tarefas criadas após 12 de janeiro de 2023 não terão uma CloudFormation pilha criada automaticamente.
- Amazon ECS console
-
Abra o console em https://console.aws.amazon.com/ecs/v2
. -
No painel de navegação, escolha Task definitions (Definições de tarefas)
-
Escolha Create new task definition (Criar nova definição de tarefa), Create new task definition (Criar nova definição de tarefa).
-
Em Task definition family (Família de definição de tarefa), especifique um nome exclusivo para a definição de tarefa.
-
Em Tipo de inicialização, escolha o ambiente do aplicativo. O padrão do console é AWS Fargate (tecnologia sem servidor). O Amazon ECS executa a validação usando esse valor para garantir que os parâmetros de definição de tarefa sejam válidos para o tipo de infraestrutura.
-
Em Operating system/Architecture (Sistema operacional/arquitetura), escolha o sistema operacional e a arquitetura da CPU para a tarefa.
Para executar sua tarefa em uma arquitetura ARM de 64 bits, selecione Linux/ARM64. Para obter mais informações, consulte Plataforma de tempo de execução.
-
Em Task size (Tamanho da tarefa), escolha os valores de CPU e memória a serem reservados para a tarefa. O valor da CPU é especificado como vCPUs e a memória é especificada como GB.
Para tarefas hospedadas no Fargate, a tabela a seguir mostra as combinações válidas de CPU e memória.
Valor de CPU
Valor de memória
Sistemas operacionais com suporte para o AWS Fargate
256 (0,25 vCPU)
512 MiB, 1 GB, 2 GB
Linux
512 (0,5 vCPU)
1 GB, 2 GB, 3 GB, 4 GB
Linux
1024 (1 vCPU)
2 GB, 3 GB, 4 GB, 5 GB, 6 GB, 7 GB, 8 GB
Linux, Windows
2048 (2 vCPU)
Entre 4 GB e 16 GB em incrementos de 1 GB
Linux, Windows
4096 (4 vCPU)
Entre 8 GB e 30 GB em incrementos de 1 GB
Linux, Windows
8192 (8 vCPU)
nota
Essa opção requer a plataforma Linux
1.4.0
ou posterior.Entre 16 GB e 60 GB em incrementos de 4 GB
Linux
16384 (16 vCPU)
nota
Essa opção requer a plataforma Linux
1.4.0
ou posterior.Entre 32 GB e 120 GB em incrementos de 8 GB
Linux
Para tarefas hospedadas no Amazon EC2, os valores de CPU da tarefa com suporte estão entre 128 unidades de CPU (0,125 vCPUs) e 10240 unidades de CPU (10 vCPUs).
nota
Os parâmetros de CPU e memória em nível de tarefa são ignorados para contêineres do Windows.
-
Em Network mode (Modo de rede), escolha o modo de rede a ser usado. O padrão é o modo awsvpc. Para obter mais informações, consulte Redes de tarefas no Amazon ECS.
Se você escolher bridge, em Mapeamentos de portas, para Porta do host, insira o número da porta na instância do contêiner a ser reservada para seu contêiner.
-
(Opcional) Expanda a seção Funções da tarefa para configurar as funções do IAM:
-
Em Task role (Perfil da tarefa), escolha um perfil do IAM para atribuir à tarefa. Uma função do IAM de tarefa fornece permissões para os contêineres em uma tarefa para chamar APIs da AWS.
-
Em Função de execução de tarefas, escolha a função.
Para obter informações sobre quando usar uma função de execução de tarefas, consulteFunção do IAM de execução de tarefas do Amazon ECS. Se você não precisar da função, escolha Nenhuma.
-
-
Para cada contêiner ser definido em sua definição de tarefa, conclua as seguintes etapas.
-
Em Name (Nome), insira um nome para o contêiner.
-
Em Image URI (URI da imagem), especifique a imagem a ser usada para iniciar um contêiner. As imagens no registro da Galeria pública do Amazon ECR podem ser especificadas usando apenas o nome do registro do Amazon ECR Public. Por exemplo, se
public.ecr.aws/ecs/amazon-ecs-agent:latest
for especificado, o contêiner Amazon Linux hospedado na Amazon ECR Public Gallery será usado. Para todos os outros repositórios, especifique o repositório usando os formatosrepository-url/image:tag
ourepository-url/image@digest
. -
Se sua imagem estiver em um registro privado fora do Amazon ECR, em Registro privado, ative a autenticação de registro privado. Em seguida, em Secrets Manager ARN ou nome, insira o Amazon Resource Name (ARN) do segredo.
-
Em Essential container (Contêiner essencial), se a definição da tarefa tiver dois ou mais contêineres definidos, você poderá especificar se o contêiner deve ser considerado essencial. Se um contêiner estiver marcado como Essencial, se esse contêiner parar, a tarefa será interrompida. Cada definição de tarefa deve conter pelo menos um contêiner essencial.
-
Um mapeamento de porta permite que o contêiner acesse portas no host para enviar ou receber tráfego. Em Port mappings (Mapeamentos de porta), siga um destes procedimentos:
-
Quando você usar o modo de rede awsvpc, em Container port (Porta do contêiner) e Protocol (Protocolo), escolha o mapeamento de porta a ser usado para o contêiner.
-
Quando você usar o modo de rede bridge, em Container port (Porta do contêiner) e Protocol (Protocolo), especifique o mapeamento de porta a ser usado para o contêiner.
Escolha Add more port mappings (Adicionar mais mapeamentos de portas) para especificar mapeamentos de porta de contêiner adicionais.
-
-
Para dar ao contêiner acesso somente de leitura ao seu sistema de arquivos raiz, em Sistema de arquivos raiz somente para leitura, selecione Somente leitura.
-
(Opcional) Para definir os limites de CPU, GPU e memória em nível de contêiner que sejam diferentes dos valores em nível de tarefa em Limites de alocação de recursos, faça o seguinte:
-
Em CPU, insira o número de unidades de CPU que o agente de contêiner do Amazon ECS reservará para o contêiner.
-
Em Limite rígido de memória, insira a quantidade de memória, em GB, a ser apresentada ao contêiner. Se o contêiner tentar exceder o limite rígido, ele será interrompido.
-
O daemon do Docker 20.10.0 reserva pelo menos 6 MiB de memória para um contêiner, de maneira que você não deve especificar menos de 6 MiB de memória para os contêineres.
O daemon do Docker 19.03.13-ce ou anterior reserva pelo menos 4 MiB de memória para um contêiner, de maneira que você não deve especificar menos de 4 MiB de memória para os contêineres.
-
Em Limite flexível de memória, insira o limite flexível (em GB) de memória a ser reservado para o contêiner.
Quando a memória do sistema estiver em contenção, o Docker tentará manter a memória do contêiner dentro desse limite flexível. Se você não especificar a memória no nível da tarefa, deverá especificar um número inteiro diferente de zero para um ou ambos os limites rígidos de memória e limite flexível de memória. Se você especificar ambos, o limite rígido de memória deverá ser maior que o limite flexível de memória.
Isso não é suportado em contêineres do Windows.
-
-
(Opcional) Expanda a seção Variáveis de ambiente para especificar variáveis de ambiente a serem injetadas no contêiner. Você pode especificar variáveis de ambiente individualmente usando pares de chave-valor ou em massa especificando um arquivo de variável de ambiente hospedado em um bucket do Amazon S3. Para obter informações sobre como formatar um arquivo de variáveis de ambiente, consulte Passar variáveis de ambiente para um contêiner.
-
(Opcional) Selecione a opção Use log collection (Usar coleção de logs) para especificar uma configuração de log. Para cada driver de log disponível, há opções de driver de log a serem especificadas. A opção padrão envia registros de contêiner para CloudWatch Logs. As outras opções do driver de log são configuradas usando AWSFireLens. Para obter mais informações, consulte Roteamento de logs personalizados.
Veja a seguir a descrição de cada destino de log de contêiner mais detalhadamente.
-
Amazon CloudWatch — Configure a tarefa para enviar registros de contêineres para CloudWatch Logs. As opções padrão do driver de log são fornecidas, o que cria um grupo de CloudWatch log em seu nome. Para especificar um nome de grupo de logs diferente, altere os valores da opção de driver.
-
Exportar registros para o Splunk — Configure a tarefa para enviar os registros do contêiner para o driver do Splunk que envia os registros para um serviço remoto. Você precisa inserir a URL do seu serviço web Splunk e o token Splunk é especificado como uma opção secreta porque pode ser tratado como dados confidenciais.
-
Exportar registros para o Amazon Kinesis Data Firehose — Configure a tarefa para enviar registros de contêiner para o Kinesis Data Firehose. São fornecidas as opções de driver de log padrão que envia logs para um fluxo de entrega do Kinesis Data Firehose. Para especificar um nome de fluxo de entrega diferente, altere os valores da opção de driver.
-
Exportar registros para o Amazon Kinesis Data Streams — Configure a tarefa para enviar registros de contêiner para o Kinesis Data Streams. São fornecidas as opções de driver de log padrão que envia logs para uma transmissão do Kinesis Data Streams. Para especificar um nome de transmissão diferente, altere os valores da opção de driver.
-
Exportar registros para o Amazon OpenSearch Service — Configure a tarefa para enviar registros de contêineres para um domínio OpenSearch de serviço. As opções de driver de log devem ser fornecidas. Para obter mais informações, consulte Encaminhando registros para um domínio do Amazon OpenSearch Service.
-
Exportar registros para o Amazon S3 — Configure a tarefa para enviar registros de contêiner para um bucket do Amazon S3. As opções de driver de log padrão são fornecidas, mas você deve especificar um nome de bucket válido do Amazon S3.
-
-
(Opcional) Configure parâmetros adicionais do contêiner.
Para configurar essa opção Faça o seguinte Verificação de saúde
Esses são os comandos que determinam se um contêiner está íntegro
Expanda e HealthCheck, em seguida, configure os seguintes itens: -
Em Command (Comando), insira uma lista de comandos separados por vírgulas. Os comandos podem ser iniciados por
CMD
para executar os argumentos de comando diretamente ou porCMD-SHELL
para executar o comando com o shell padrão do contêiner. Se nenhuma for especificado,CMD
será usada. -
Em Interval (Intervalo), insira o número de segundos entre cada verificação de integridade. Os valores válidos estão entre 5 e 30.
-
Em Timeout (Tempo limite), insira o período de espera (em segundos) para que uma verificação de integridade seja bem-sucedida antes de ser considerada uma falha. Os valores válidos estão entre 2 e 60.
-
Em Start period (Período de início), insira o período de espera (em segundos) para que um contêiner seja inicializado antes da execução dos comandos de verificação de integridade. Os valores válidos estão entre 0 e 300.
-
Em Retries (Repetições), insira o número de vezes para repetir os comandos de verificação de integridade quando houver uma falha. Os valores válidos estão entre 1 e 10.
Tempos limite do contêiner Essas opções determinam quando iniciar e parar um contêiner.
Expanda os tempos limite do contêiner e, em seguida, configure o seguinte: -
Para configurar o tempo de espera antes de desistir de resolver dependências de um contêiner, em Hora de início, insira o número de segundos.
-
Para configurar o tempo de espera até que o contêiner seja parado, caso ele não saia normalmente sozinho, em Tempo de parada, insira o número de segundos.
Configurações de rede de contêineres Essas opções determinam se a rede deve ser usada em um contêiner.
Expanda as configurações de rede do contêiner e, em seguida, defina o seguinte: -
Para desativar a rede de contêineres, selecione Desativar a rede.
-
Para configurar os endereços IP do servidor DNS que são apresentados ao contêiner, nos servidores DNS, insira o endereço IP de cada servidor em uma linha separada.
-
Para configurar domínios DNS para pesquisar non-fully-qualified nomes de host que são apresentados ao contêiner, em domínios de pesquisa de DNS, insira cada domínio em uma linha separada.
O padrão é
^[a-zA-Z0-9-.]{0,253}[a-zA-Z0-9]$
. -
Para configurar o nome do host do contêiner, em Nome do host, insira o nome da cabra do contêiner.
-
Para adicionar nomes de host e mapeamentos de endereço IP que são anexados ao
/etc/hosts
arquivo no contêiner, escolha Adicionar host extra e, em Nome do host e endereço IP, insira o nome do host e o endereço IP.
Configuração do Docker Eles substituem os valores no Dockerfile.
Expanda a configuração do Docker e, em seguida, configure os seguintes itens:
-
Em Comando, insira um comando executável para um contêiner.
Esse parâmetro é mapeado para
Cmd
na seção Criar um contêinerda API Docker Remote e a opção COMMAND
paradocker run
. Isso substituirá a instruçãoCMD
em um Dockerfile. -
Em Ponto de entrada, insira o Docker ENTRYPOINT que é transmitido para o contêiner.
Esse parâmetro é mapeado para
Entrypoint
na seção Criar um contêinerda API Docker Remote e a opção --entrypoint
paradocker run
. Isso substituirá a instruçãoENTRYPOINT
em um Dockerfile. -
Em Diretório de trabalho, insira o diretório no qual o contêiner executará qualquer ponto de entrada e instruções de comando fornecidas.
Esse parâmetro é mapeado para
WorkingDir
na seção Criar um contêinerda API Docker Remote e a opção --workdir
paradocker run
. Isso substituirá a instruçãoWORKDIR
em um Dockerfile.
Ulimites Esses valores substituem a configuração de cota de recursos padrão para o sistema operacional.
Esse parâmetro é mapeado para
Ulimits
na seção Criar um contêinerda API remota do Docker e a opção --ulimit
para docker run. Expanda Limites de recursos (ulimits) e escolha Adicionar ulimit. Em Nome do limite, escolha o limite. Em seguida, para Limite flexível e Limite rígido, insira os valores.
Para adicionar limites adicionais, escolha Adicionar limite.
Rótulos do Docker Essa opção adiciona metadados ao seu contêiner.
Esse parâmetro é mapeado para
Labels
na seção Criar um contêinerda API remota do Docker e a opção --label
para docker run. Expanda os rótulos do Docker, escolha Adicionar par de valores-chave e, em seguida, insira a Chave e o Valor.
Para adicionar outros rótulos do Docker, escolha Adicionar par de valores-chave.
Pedido de inicialização do contêiner Essa opção define dependências para inicialização e desligamento do contêiner. Um contêiner pode conter várias dependências.
Expanda a ordem das dependências de inicialização e, em seguida, configure o seguinte: -
Escolha Adicionar dependência de contêiner.
-
Em Contêiner, escolha o contêiner.
-
Em Condição, escolha a condição de dependência de inicialização.
-
-
(Opcional) Escolha Add more containers (Adicionar mais contêineres) para incluir contêineres adicionais à definição de tarefa. Escolha Avançar depois de definir todos os seus contêineres.
-
-
(Opcional) A seção Storage (Armazenamento) é usada para expandir a quantidade de armazenamento temporário para tarefas hospedadas no Fargate, bem como adicionar uma configuração de volume de dados para a tarefa.
-
Para expandir o armazenamento temporário disponível além do valor padrão de 20 GiB para as tarefas do Fargate, em Amount (Quantidade), insira um valor até 200 GiB.
-
-
(Opcional) Para adicionar uma configuração de volume de dados para a definição da tarefa, escolha Adicionar volume e configure o tipo de volume.
Tipo de volume Etapas Montagem bind
-
Em Volume type (Tipo de volume), escolha Bind mount.
-
Em Volume name (Nome do volume), insira um nome para o volume de dados. O nome do volume de dados é usado na ocasião da criação de um ponto de montagem de contêiner.
-
Escolha Add mount point (Adicionar ponto de montagem) e configure o seguinte:
-
Em Conteiner (Contêiner), escolha o contêiner para o ponto de montagem.
-
Em Source volume (Volume de origem), escolha o volume de dados a ser montado no contêiner.
-
Em Conteiner path (Caminho do contêiner), insira o caminho no contêiner no qual montar o volume.
-
Em Somente leitura, selecione se o contêiner tem acesso somente de leitura ao volume.
-
Para pontos de montagem adicionais, escolha Add mount point (Adicionar ponto de montagem).
EFS -
Em Volume type (Tipo de volume), escolha EFS.
-
Em Volume name (Nome do volume), insira um nome para o volume de dados.
-
Em File system ID (ID do sistema de arquivos), escolha o ID do sistema de arquivos do Amazon EFS.
-
(Opcional) Em Root directory (Diretório raiz), insira o diretório dentro do sistema de arquivos do Amazon EFS que deve ser montado como o diretório raiz dentro do host. Se esse parâmetro for omitido, a raiz do volume do Amazon EFS será usada.
Caso planeje usar um ponto de acesso do EFS, deixe este campo em branco.
-
(Opcional) Em Access point (Ponto de acesso), escolha o ID do ponto de acesso a ser usado.
-
(Opcional) Para criptografar os dados entre o sistema de arquivos do Amazon EFS e o host do Amazon ECS ou para usar o perfil de execução de tarefas quando montar o volume, escolha Advanced configurations (Configurações avançadas) e configure o seguinte:
-
Para criptografar os dados entre o sistema de arquivos do Amazon EFS e o host do Amazon ECS, selecione Transit encryption (Criptografia de trânsito) e, em seguida, em Port (Porta), insira a porta a ser usada quando forem enviados dados criptografados entre o host do Amazon ECS e o servidor do Amazon EFS. Se você não especificar uma porta de criptografia em trânsito, será usada a estratégia de seleção de porta usada pelo assistente de montagem do Amazon EFS. Para obter mais informações, consulte Auxiliar de montagem do EFS no Guia do usuário do Amazon Elastic File System.
-
Para usar o perfil do IAM da tarefa do Amazon ECS definido em uma definição de tarefa quando montar o sistema de arquivos do Amazon EFS, selecione IAM authorization (Autorização do IAM).
-
-
Escolha Add mount point (Adicionar ponto de montagem) e configure o seguinte:
-
Em Conteiner (Contêiner), escolha o contêiner para o ponto de montagem.
-
Em Source volume (Volume de origem), escolha o volume de dados a ser montado no contêiner.
-
Em Conteiner path (Caminho do contêiner), insira o caminho no contêiner no qual montar o volume.
-
Em Somente leitura, selecione se o contêiner tem acesso somente de leitura ao volume.
-
Para pontos de montagem adicionais, escolha Add mount point (Adicionar ponto de montagem).
-
-
Para adicionar um volume de outro contêiner, escolha Adicionar volume de e configure o seguinte:
-
Em Contêiner, escolha o contêiner.
-
Em Source, escolha o contêiner que tem o volume que você deseja montar.
-
Em Somente leitura, selecione se o contêiner tem acesso somente de leitura ao volume.
-
-
(Opcional) Para definir as configurações de rastreamento e coleta de métricas do aplicativo usando a AWS Distro para OpenTelemetry integração, expanda Monitoramento e selecione Usar coleção de métricas para coletar e enviar métricas de suas tarefas para a Amazon CloudWatch ou o Amazon Managed Service for Prometheus. Quando essa opção é selecionada, o Amazon ECS cria uma AWS distro para o sidecar de OpenTelemetry contêineres que é pré-configurada para enviar as métricas do aplicativo. Para obter mais informações, consulte Coleta de métricas de aplicações.
-
Quando a Amazon CloudWatch é selecionada, as métricas personalizadas do seu aplicativo são encaminhadas para CloudWatch métricas personalizadas. Para obter mais informações, consulte Exportação de métricas de aplicativos para a Amazon CloudWatch.
Importante
Ao exportar métricas de aplicativos para a Amazon CloudWatch, sua definição de tarefa exige uma função do IAM de tarefa com as permissões necessárias. Para obter mais informações, consulte Permissões do IAM necessárias para o AWS Distro para OpenTelemetry integração com a Amazon CloudWatch.
-
Quando Amazon Managed Service for Prometheus (Prometheus libraries instrumentation) (Amazon Managed Service for Prometheus [instrumentação das bibliotecas Prometheus]) está selecionado, as métricas de CPU, memória, rede e armazenamento no nível da tarefa e as métricas de aplicação personalizadas são roteadas para o Amazon Managed Service for Prometheus. Em Workspace remote write endpoint (Endpoint de gravação remota do espaço de trabalho), insira a URL do endpoint de gravação remota para o espaço de trabalho do Prometheus. Em Scraping target, insira o host e a porta que o AWS Distro for OpenTelemetry Collector pode usar para coletar dados de métricas. Para obter mais informações, consulte Exportação de métricas de aplicações para o Amazon Managed Service for Prometheus.
Importante
Ao exportar métricas de aplicações para o Amazon Managed Service for Prometheus, sua definição de tarefa requer uma função do IAM de tarefa com as permissões necessárias. Para obter mais informações, consulte Permissões de IAM necessárias para o AWS Distro para OpenTelemetry integração com o Amazon Managed Service for Prometheus.
-
Quando você seleciona o Amazon Managed Service for Prometheus OpenTelemetry (instrumentação), suas métricas de CPU, memória, rede e armazenamento em nível de tarefa e suas métricas personalizadas de aplicativos são roteadas para o Amazon Managed Service for Prometheus. Em Workspace remote write endpoint (Endpoint de gravação remota do espaço de trabalho), insira a URL do endpoint de gravação remota para o espaço de trabalho do Prometheus. Para obter mais informações, consulte Exportação de métricas de aplicações para o Amazon Managed Service for Prometheus.
Importante
Ao exportar métricas de aplicações para o Amazon Managed Service for Prometheus, sua definição de tarefa requer uma função do IAM de tarefa com as permissões necessárias. Para obter mais informações, consulte Permissões de IAM necessárias para o AWS Distro para OpenTelemetry integração com o Amazon Managed Service for Prometheus.
-
-
(Opcional) Expanda a seção Tags para adicionar tags à definição da tarefa, como pares de chave-valor.
-
[Adicionar uma etiqueta] Escolha Add tag (Adicionar etiqueta) e faça o seguinte:
-
Em Key (Chave), insira o nome da chave.
-
Em Value (Valor), insira o valor da chave.
-
-
[Remover uma tag] Ao lado da tag, escolha Remove tag (Remover tag).
-
-
Escolha Criar para registrar a definição da tarefa.
- Amazon ECS console JSON editor
-
Abra o console em https://console.aws.amazon.com/ecs/v2
. -
No painel de navegação, escolha Task definitions (Definições de tarefa).
-
Escolha Create new task definition (Criar nova definição de tarefa), Create new task definition with JSON (Criar nova definição de tarefa com JSON).
-
Na caixa do editor de JSON, edite o arquivo JSON.
O JSON deve ser aprovado nas verificações de validação especificadas em Validação de JSON.
-
Escolha Create (Criar).