Adiar a configuração de volumes para o momento da inicialização na definição de tarefa do Amazon ECS
Para configurar um volume do Amazon EBS para anexar à tarefa, você deve especificar a configuração do ponto de montagem na definição da tarefa e nomear o volume. Você também deve definir configuredAtLaunch
como true
porque os volumes do Amazon EBS não podem ser configurados para anexação na definição da tarefa. Em vez disso, os volumes do Amazon EBS são configurados para serem anexados durante a implantação.
Para registrar a definição de tarefa usando a AWS Command Line Interface (AWS CLI), salve o modelo como arquivo JSON e passe o arquivo como entrada para o comando register-task-definition
.
Para criar e registrar uma definição de tarefa usando o AWS Management Console, consulte Criar uma definição de tarefa do Amazon ECS usando o console.
A definição de tarefa a seguir mostra a sintaxe dos objetos mountPoints
e volumes
na definição de tarefa. Para obter mais informações sobre os parâmetros de definição de tarefa, consulte Parâmetros de definição de tarefa do Amazon ECS para o tipo de inicialização do Fargate. Para usar esse exemplo, substitua os
por suas próprias informações.user input placeholders
{ "family":
"mytaskdef"
, "containerDefinitions": [ { "name": "nginx
", "image": "public.ecr.aws/nginx/nginx:latest
", "networkMode": "awsvpc", "portMappings": [ { "name": "nginx-80-tcp
", "containerPort": 80, "hostPort": 80, "protocol": "tcp", "appProtocol": "http" } ], "mountPoints": [ { "sourceVolume": "myEBSVolume
", "containerPath": "/mount/ebs
", "readOnly":true
} ] } ], "volumes": [ { "name": "myEBSVolume
", "configuredAtLaunch": true } ], "requiresCompatibilities": [ "FARGATE", "EC2" ], "cpu": "1024", "memory": "3072", "networkMode": "awsvpc" }
{ "family":
"mytaskdef"
, "memory": "4096", "cpu": "2048", "family": "windows-simple-iis-2019-core", "executionRoleArn": "arn:aws:iam::012345678910:role/ecsTaskExecutionRole", "runtimePlatform": {"operatingSystemFamily": "WINDOWS_SERVER_2019_CORE"}, "requiresCompatibilities": ["EC2"] "containerDefinitions": [ { "command": ["New-Item -Path C:\\inetpub\\wwwroot\\index.html -Type file -Value '<html> <head> <title>Amazon ECS Sample App</title> <style>body {margin-top: 40px; background-color: #333;} </style> </head><body> <div style=color:white;text-align:center> <h1>Amazon ECS Sample App</h1> <h2>Congratulations!</h2> <p>Your application is now running on a container in Amazon ECS.</p>'; C:\\ServiceMonitor.exe w3svc"], "entryPoint": [ "powershell", "-Command" ], "essential": true, "cpu": 2048, "memory": 4096, "image": "mcr.microsoft.com/windows/servercore/iis:windowsservercore-ltsc2019", "name": "sample_windows_app", "portMappings": [ { "hostPort": 443, "containerPort": 80, "protocol": "tcp" } ], "mountPoints": [ { "sourceVolume": "myEBSVolume
", "containerPath": "drive:\ebs
", "readOnly":true
} ] } ], "volumes": [ { "name": "myEBSVolume
", "configuredAtLaunch": true } ], "requiresCompatibilities": [ "FARGATE", "EC2" ], "cpu": "1024", "memory": "3072", "networkMode": "awsvpc" }
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 usadosO nome do volume a ser montado.
containerPath
-
Tipo: string
Exigido: Sim, quando
mountPoints
são usadosO 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 sejafalse
, 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
.
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âmetrosourceVolume
do objetomountPoints
de definição do contêiner. configuredAtLaunch
-
Tipo: booliano
Obrigatório: sim, quando você deseja anexar um volume do EBS diretamente a uma tarefa.
Especifica se um volume é configurável na execução. Quando definido como
true
, você pode configurar o volume ao executar uma tarefa autônoma ou ao criar ou atualizar um serviço. Quando definido comofalse
, não será possível fornecer outra configuração de volume na definição da tarefa. Esse parâmetro deve ser fornecido e definido comotrue
para configurar um volume do Amazon EBS para anexar a uma tarefa.