Différer la configuration du volume à l'heure de lancement dans une définition de tâche Amazon ECS - Amazon Elastic Container Service

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

Différer la configuration du volume à l'heure de lancement dans une définition de tâche Amazon ECS

Pour configurer un volume Amazon EBS à associer à votre tâche, vous devez spécifier la configuration du point de montage dans votre définition de tâche et nommer le volume. Vous devez également configuredAtLaunch définir cette valeur, true car les volumes Amazon EBS ne peuvent pas être configurés pour être joints dans la définition de tâche. Au lieu de cela, les volumes Amazon EBS sont configurés pour être joints lors du déploiement.

Pour enregistrer la définition de tâche à l'aide de AWS Command Line Interface (AWS CLI), enregistrez le modèle sous forme de fichier JSON, puis transmettez-le comme entrée pour la register-task-definition commande.

Pour créer et enregistrer une définition de tâche à l'aide du AWS Management Console, voirCréation d'une définition de tâche Amazon ECS à l'aide de la console.

La définition de tâche suivante indique la syntaxe des volumes objets mountPoints et contenus dans la définition de tâche. Pour plus d'informations sur les paramètres de définition des tâches, consultezParamètres de définition des tâches Amazon ECS pour le type de lancement Fargate. Pour utiliser cet exemple, remplacez user input placeholders par vos propres informations.

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

Type : tableau d'objets

Obligatoire : non

Les points de montage des volumes de données de votre conteneur. Ce paramètre correspond Volumes à l'API Docker create-container et --volume à l'option docker run.

Les conteneurs Windows peuvent monter des répertoires entiers sur le même lecteur que $env:ProgramData. Les conteneurs Windows ne peuvent pas monter de répertoires sur un autre lecteur, et les points de montage ne peuvent pas être utilisés sur plusieurs lecteurs. Vous devez spécifier des points de montage pour associer un volume Amazon EBS directement à une tâche Amazon ECS.

sourceVolume

Type : String

Obligatoire : oui, lorsque des objets mountPoints sont utilisés

Nom du volume à monter.

containerPath

Type : String

Obligatoire : oui, lorsque des objets mountPoints sont utilisés

Le chemin dans le conteneur où le volume sera monté.

readOnly

Type : booléen

Obligatoire : non

Si cette valeur est true, le conteneur ne peut accéder au volume qu'en lecture. Si cette valeur est false, le conteneur peut écrire sur le volume. La valeur par défaut est false.

Pour les tâches exécutées sur EC2 des instances exécutant le système d'exploitation Windows, laissez la valeur par défaut defalse.

name

Type : chaîne

Obligatoire : non

Nom du volume. Jusqu'à 255 lettres (majuscules et minuscules), chiffres, tirets () et traits de soulignement (-) sont autorisés. _ Ce nom est référencé dans le sourceVolume paramètre de l'mountPointsobjet de définition du conteneur.

configuredAtLaunch

Type : booléen

Obligatoire : Oui, lorsque vous souhaitez associer un volume EBS directement à une tâche.

Spécifie si un volume est configurable au lancement. Lorsque ce paramètre est défini surtrue, vous pouvez configurer le volume lorsque vous exécutez une tâche autonome, ou lorsque vous créez ou mettez à jour un service. Lorsque ce paramètre est défini surfalse, vous ne pourrez pas fournir d'autre configuration de volume dans la définition de tâche. Ce paramètre doit être fourni et défini sur true pour configurer un volume Amazon EBS à associer à une tâche.