Aplazamiento de la configuración del volumen a la hora de lanzamiento en la definición de la tarea de Amazon ECS
Para configurar un volumen de Amazon EBS para adjuntarlo a la tarea, debe indicar la configuración del punto de montaje en la definición de la tarea y asignar un nombre al volumen. También debe establecer configuredAtLaunch
en true
porque los volúmenes de Amazon EBS no se pueden configurar para adjuntarlos en la definición de la tarea. En su lugar, los volúmenes de Amazon EBS se configuran para que se adjunten durante la implementación.
Para registrar la definición de la tarea mediante la AWS Command Line Interface (AWS CLI), guarde la plantilla como archivo JSON y, luego, pase el archivo como entrada para el comando register-task-definition
.
Para crear y registrar una definición de tarea mediante la AWS Management Console, consulte Creación de una definición de tareas de Amazon ECS mediante la consola.
La definición de la tarea siguiente muestra la sintaxis de los objetos mountPoints
y volumes
en la definición de la tarea. Para más información acerca de los parámetros de la definición de la tarea, consulte Parámetros en la definición de tareas de Amazon ECS para el tipo de lanzamiento de Fargate. Para utilizar este ejemplo, reemplace los
con su propia información.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 objetos
Obligatorio: no
Puntos de montaje para los volúmenes de datos del contenedor. Este parámetro asigna a
Volumes
en la API create-container de Docker y la opción--volume
a docker run.Los contenedores de Windows pueden montar directorios completos en la misma unidad que
$env:ProgramData
. Los contenedores de Windows no pueden montar directorios en una unidad diferente y los puntos de montaje no se pueden utilizar entre unidades. Debe especificar los puntos de montaje para adjuntar un volumen de Amazon EBS directamente a una tarea de Amazon ECS.sourceVolume
-
Tipo: cadena
Obligatorio: sí, si se utilizan
mountPoints
.El nombre del volumen a montar.
containerPath
-
Tipo: cadena
Obligatorio: sí, si se utilizan
mountPoints
.La ruta del contenedor donde se montará el volumen.
readOnly
-
Tipo: Booleano
Obligatorio: no
Si este valor es
true
, el acceso del contenedor al volumen es de solo lectura. Si este valor esfalse
, el contenedor puede escribir en el volumen. El valor predeterminado esfalse
.Para las tareas que se ejecutan en instancias de EC2 que ejecutan el sistema operativo Windows, deje el valor predeterminado de
false
.
name
-
Tipo: cadena
Requerido: no
El nombre del volumen. Se admiten hasta 255 letras (mayúsculas y minúsculas), números, guiones (
-
) y caracteres de subrayado (_
). Se hace referencia a este nombre en el parámetrosourceVolume
del objetomountPoints
de la definición de contenedor. configuredAtLaunch
-
Tipo: Booleano
Obligatorio: sí, cuando quiera adjuntar un volumen de EBS directamente a una tarea.
Indica si un volumen se puede configurar durante el lanzamiento. Cuando se establece en
true
, puede configurarlo se ejecuta una tarea independiente o cuando se crea o actualiza un servicio. Cuando se establece enfalse
, no podrá proporcionar otra configuración de volumen en la definición de la tarea. Este parámetro debe proporcionarse y establecerse entrue
para configurar un volumen de Amazon EBS para adjuntarlo a una tarea.