Adiar a configuração de volumes para o momento da inicialização na definição de tarefa do Amazon ECS - Amazon Elastic Container Service

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 user input placeholders por suas próprias informações.

{ "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 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.

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.

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 como false, não será possível fornecer outra configuração de volume na definição da tarefa. Esse parâmetro deve ser fornecido e definido como true para configurar um volume do Amazon EBS para anexar a uma tarefa.