Cree o actualice la definición de la tarea para configurar el volumen de EBS que se configurará en el momento del lanzamiento. Utilice la opción "configuredAtLaunch" establecida en “true”. Por ejemplo:
"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
}
]
Inicie una tarea independiente. O bien, inicie una tarea como parte de un servicio con una configuración de volumen como parte del JSON.
Ejemplo de JSON de tareas independientes:
{
"cluster": "mycluster",
"taskDefinition": "mytaskdef",
"volumeConfigurations": [
{
"name": "datadir",
"managedEBSVolume": {
"volumeType": "gp3",
"sizeInGiB": 100,
"roleArn": "arn:aws:iam:1111222333:role/ecsInfrastructureRole",
"encrypted": true,
"kmsKeyId": "arn:aws:kms:region:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab"
}
}
]
}
Nota: Tal como se indicó en el ejemplo anterior, no necesita una instantánea para iniciar la tarea.
Ejemplo de JSON de servicio:
{
"cluster": "mycluster",
"taskDefinition": "mytaskdef",
"serviceName": "mysvc",
"desiredCount": 2,
"volumeConfigurations": [
{
"name": "myEbsVolume",
"managedEBSVolume": {
"roleArn":"arn:aws:iam:1111222333:role/ecsInfrastructureRole",
"snapshotId": "snap-12345"
}
}
]
}
Nota: Sustituya roleArn por su cuenta ecsInfrastructureRole. Sustituya snapshotId por el ID de instantánea a partir de la cual desea crear un volumen.