Aplazamiento de la configuración del volumen a la hora de lanzamiento en la definición de la tarea de Amazon ECS - Amazon Elastic Container Service

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 user input placeholders con su propia información.

{ "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 es false, el contenedor puede escribir en el volumen. El valor predeterminado es false.

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ámetro sourceVolume del objeto mountPoints 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 en false, no podrá proporcionar otra configuración de volumen en la definición de la tarea. Este parámetro debe proporcionarse y establecerse en true para configurar un volumen de Amazon EBS para adjuntarlo a una tarea.