Especificar uma montagem associada em uma definição de tarefa do Amazon ECS - Amazon Elastic Container Service

Especificar uma montagem associada em uma definição de tarefa do Amazon ECS

Em tarefas do Amazon ECS hospedadas em instâncias do Fargate ou do Amazon EC2, o trecho JSON de definição de tarefa a seguir mostra a sintaxe dos objetos volumes, mountPoints e ephemeralStorage para uma definição de tarefa.

{ "family": "", ... "containerDefinitions" : [ { "mountPoints" : [ { "containerPath" : "/path/to/mount_volume", "sourceVolume" : "string" } ], "name" : "string" } ], ... "volumes" : [ { "name" : "string" } ], "ephemeralStorage": { "sizeInGiB": integer } }

Para tarefas do Amazon ECS que são hospedadas em instâncias do Amazon EC2, é possível utilizar o parâmetro host e um sourcePath ao especificar detalhes do volume da tarefa. Quando especificado, ele associa a montagem bind ao ciclo de vida da tarefa no lugar do contêiner.

"volumes" : [ { "host" : { "sourcePath" : "string" }, "name" : "string" } ]

A seguir, é descrito em mais detalhes cada parâmetro de definição de tarefa.

name

Tipo: String

Obrigatório: Não

O nome do volume. São permitidos até 255 letras (caixa alta e baixa), números, hífens (-) e sublinhados (_). Esse nome é referenciado no parâmetro sourceVolume do objeto mountPoints de definição do contêiner.

host

Obrigatório: Não

O parâmetro host é usado para vincular o ciclo de vida da montagem bind à instância host do Amazon EC2, em vez da tarefa, e onde ela está armazenada. Caso o parâmetro host esteja vazio, o daemon do Docker atribui um caminho host para o volume de dados, mas os dados não têm garantia de persistir depois que os contêineres associados deixarem de ser executados.

Os contêineres do Windows podem montar diretórios inteiros na mesma unidade como $env:ProgramData.

nota

O parâmetro sourcePath só é compatível ao usar tarefas hospedadas em instâncias do Amazon EC2.

sourcePath

Tipo: String

Obrigatório: Não

Quando o parâmetro host é usado, especifique um sourcePath para declarar o caminho na instância host do Amazon EC2 que é apresentada ao contêiner. Caso esse parâmetro esteja vazio, o daemon do Docker atribui um caminho host para você. Caso o parâmetro host contenha um local de arquivo sourcePath, o volume de dados persistirá no local especificado na instância host do Amazon EC2 até você excluí-lo manualmente. Caso o valor sourcePath não exista na instância host do Amazon EC2, o daemon do Docker o criará. Caso o local exista, o conteúdo da pasta do caminho de origem é exportado.

mountPoints

Tipo: Matriz de objeto

Obrigatório: Não

Os pontos de montagem dos volumes de dados no contêiner. Esse parâmetro é mapeado em Volumes na API create-container do Docker na opção --volume de execução do docker.

Os contêineres do Windows podem montar diretórios inteiros na mesma unidade como $env:ProgramData. Os contêineres do Windows não podem montar diretórios em uma unidade diferente, e os pontos de montagem não podem ser usados ​​entre unidades. Você deve especificar pontos de montagem para anexar um volume do Amazon EBS diretamente a uma tarefa do Amazon ECS.

sourceVolume

Tipo: string

Exigido: Sim, quando mountPoints são usados

O nome do volume a ser montado.

containerPath

Tipo: string

Exigido: Sim, quando mountPoints são usados

O caminho no contêiner onde o volume será montado.

readOnly

Tipo: booliano

Obrigatório: Não

Caso o valor seja true, o contêiner tem acesso somente leitura ao volume. Caso esse valor seja false, o contêiner pode gravar no volume. O valor padrão é false.

Para tarefas executadas em instâncias do EC2 que executam o sistema operacional Windows, deixe o valor como o padrão de false.

ephemeralStorage

Tipo: Objeto

Obrigatório: Não

A quantidade de armazenamento temporário a ser alocada para a tarefa. Esse parâmetro é usado para expandir a quantidade total de armazenamento temporário, além da quantidade padrão, para tarefas hospedadas no AWS Fargate, usando a versão 1.4.0 ou posterior (Linux) ou 1.0.0 ou posterior (Windows) da plataforma.

É possível usar a CLI do Copilot, o CloudFormation, o AWS SDK ou a CLI para especificar o armazenamento temporário para uma montagem bind.