

# Adiar a configuração de volumes para o momento da inicialização na definição de tarefa do Amazon ECS
<a name="specify-ebs-config"></a>

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 associação 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](https://docs.aws.amazon.com/cli/latest/reference/ecs/register-task-definition.html)`. 

Para criar e registrar uma definição de tarefa usando o Console de gerenciamento da AWS, consulte [Criar uma definição de tarefa do Amazon ECS usando o console](create-task-definition.md).

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 Fargate](task_definition_parameters.md). Para usar esse exemplo, substitua os `user input placeholders` por suas próprias informações.

## Linux
<a name="linux-example"></a>

```
{
    "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"
}
```

## Windows
<a name="windows-example"></a>

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