Paramètres de définition du job pour ContainerProperties - AWS Batch

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.

Paramètres de définition du job pour ContainerProperties

Les définitions de Job utilisées ContainerPropertiessont divisées en plusieurs parties :

  • le nom de la définition de tâche

  • le type de définition du poste

  • l'espace réservé par défaut pour la substitution de paramètres

  • les propriétés du conteneur pour la tâche

  • les propriétés Amazon EKS pour la définition des tâches qui sont nécessaires pour les tâches exécutées sur les ressources Amazon EKS

  • les propriétés du nœud nécessaires pour une tâche parallèle à nœuds multiples

  • les fonctionnalités de la plateforme nécessaires pour les tâches exécutées sur les ressources Fargate

  • les détails de propagation des balises par défaut de la définition de tâche

  • la stratégie de nouvelle tentative par défaut pour la définition de la tâche

  • la priorité de planification par défaut pour la définition de la tâche

  • les balises par défaut pour la définition de la tâche

  • le délai d'expiration par défaut pour la définition de la tâche

Nom de la définition du job

jobDefinitionName

Lorsque vous enregistrez une définition de tâche, vous indiquez un nom. Le nom peut comporter jusqu'à 128 caractères. Il peut contenir des lettres majuscules et minuscules, des chiffres, des traits d'union (-) et des traits de soulignement (_). La première définition de tâche enregistrée sous ce nom reçoit une révision de 1. Toutes les définitions de tâches enregistrées avec ce nom par la suite se voient attribuer un numéro de révision incrémentiel.

Type : chaîne

Obligatoire : oui

Type

type

Lorsque vous enregistrez une définition de tâche, vous indiquez le type de tâche. Si la tâche s'exécute sur les ressources Fargate, elle n'est pas prise en chargemultinode. Pour plus d'informations sur les tâches parallèles à plusieurs nœuds, consultez Création d'une définition de tâche parallèle sur plusieurs nœuds.

Type : chaîne

Valeurs valides : container | multinode

Obligatoire : oui

Paramètres

parameters

Lorsque vous soumettez une tâche, vous pouvez spécifier des paramètres qui remplacent les espaces réservés ou remplacent les paramètres de définition de tâche par défaut. Les paramètres de demandes de soumission de tâche prévalent sur les valeurs par défaut dans une définition de tâche. Cela signifie que vous pouvez utiliser la même définition de tâche pour plusieurs tâches utilisant le même format. Vous pouvez également modifier les valeurs de la commande par programmation au moment de l'envoi.

Type : mappage chaîne/chaîne

Obligatoire : non

Lorsque vous enregistrez une définition de tâche, vous pouvez utiliser les espaces réservés de substitution de paramètres dans le champ command des propriétés de conteneur de la tâche. La syntaxe est la suivante.

"command": [ "ffmpeg", "-i", "Ref::inputfile", "-c", "Ref::codec", "-o", "Ref::outputfile" ]

Dans l'exemple ci-dessus, aucun espace réservé de substitution de paramètre Ref::inputfile, Ref::codec et Ref::outputfile n'est présent dans la commande. Vous pouvez utiliser l'parametersobjet dans la définition de tâche pour définir des valeurs par défaut pour ces espaces réservés. Par exemple, pour définir une valeur par défaut pour l'espace réservé Ref::codec, vous précisez les éléments suivants dans la définition de tâche :

"parameters" : {"codec" : "mp4"}

Lorsque cette définition de tâche est soumise pour être exécutée, l'Ref::codecargument de la commande pour le conteneur est remplacé par la valeur par défaut,mp4.

Propriétés du contenant

Lorsque vous enregistrez une définition de tâche, spécifiez une liste de propriétés de conteneur qui sont transmises au démon Docker sur une instance de conteneur lorsque la tâche est placée. Les propriétés de conteneurs suivantes sont autorisées dans une définition de tâche. Pour les tâches à nœud unique, ces propriétés de conteneur sont définies au niveau de la définition de tâche. Pour les tâches parallèles à plusieurs nœuds, les propriétés de conteneur sont définies au niveau Propriétés du nœud, pour chaque groupe de nœuds.

command

La commande transmise au conteneur. Ce paramètre correspond à Cmd dans la section Create a container (Création d'un conteneur) de Docker Remote API (API distante Docker) et au paramètre COMMAND de docker run. Pour plus d'informations sur le paramètre Docker CMD, consultez https://docs.docker.com/engine/reference/builder/#cmd.

"command": ["string", ...]

Type : tableau de chaînes

Obligatoire : non

environment

Variables d'environnement à transmettre à un conteneur. Ce paramètre correspond à Env dans la section Create a container (Créer un conteneur) de l'API Docker à distance et l'option --env correspond à docker run.

Important

Nous vous déconseillons d'utiliser des variables d'environnement en texte clair pour les informations sensibles, comme les données d'informations d'identification.

Note

Les variables d'environnement ne doivent pas commencer parAWS_BATCH. Cette convention de dénomination est réservée aux variables définies par le AWS Batch service.

Type : tableau de paires clé-valeur

Obligatoire : non

name

Nom de la variable d'environnement.

Type : chaîne

Obligatoire : oui lorsque environment est utilisé.

value

Valeur de la variable d'environnement.

Type : chaîne

Obligatoire : oui lorsque environment est utilisé.

"environment" : [ { "name" : "envName1", "value" : "envValue1" }, { "name" : "envName2", "value" : "envValue2" } ]
executionRoleArn

Lorsque vous enregistrez une définition de tâche, vous pouvez spécifier un rôle IAM. Le rôle fournit à l'agent de conteneur Amazon ECS l'autorisation d'appeler en votre nom les actions d'API spécifiées dans ses politiques associées. Les tâches exécutées sur les ressources Fargate doivent fournir un rôle d'exécution. Pour plus d’informations, consultez AWS Batch rôle d'exécution IAM.

Type : chaîne

Obligatoire : non

fargatePlatformConfiguration

Configuration de la plate-forme pour les tâches exécutées sur les ressources Fargate. Les tâches exécutées sur des ressources EC2 ne doivent pas spécifier ce paramètre.

Type : objet FargatePlatformde configuration

Obligatoire : non

platformVersion

La version AWS de la plateforme Fargate utilisée pour les tâches, LATEST ou pour utiliser une version récente et approuvée de la AWS plateforme Fargate.

Type : chaîne

Par défaut: LATEST

Obligatoire : non

image

L'image utilisée pour démarrer une tâche. Cette chaîne est transmise directement au démon Docker. Les images dans le registre Docker Hub sont disponibles par défaut. Vous pouvez également spécifier d'autres référentiels avec repository-url/image:tag. Il peut comporter jusqu'à 255 lettres (majuscules et minuscules), des chiffres, des tirets, des traits de soulignement, deux points, des points, des barres obliques et des signes dièse. Ce paramètre se mappe à Image dans la section Create a container (Création d'un conteneur) de Docker Remote API (L'API Docker à distance) et le paramètre IMAGE de docker run.

Note

Dockerl'architecture de l'image doit correspondre à l'architecture du processeur des ressources de calcul sur lesquelles elles sont planifiées. Par exemple, les Docker images Arm basées ne peuvent être exécutées que sur Arm des ressources informatiques basées.

  • Les images contenues dans les référentiels publics Amazon ECR utilisent les conventions complètes registry/repository[:tag] ou de registry/repository[@digest] dénomination (par exemple,public.ecr.aws/registry_alias/my-web-app:latest).

  • Les images contenues dans les référentiels Amazon ECR utilisent la convention de registry/repository:[tag] dénomination complète. Par exemple, aws_account_id.dkr.ecr.region.amazonaws.com/my-web-app:latest.

  • Les images dans les référentiels officiels sur Docker Hub utilisent un nom unique (par exemple, ubuntu ou mongo).

  • Les images dans les autres référentiels sur Docker Hub sont qualifiées par un nom d'organisation (par exemple, amazon/amazon-ecs-agent).

  • Les images dans les autres référentiels en ligne sont qualifiées par un nom de domaine (par exemple, quay.io/assemblyline/ubuntu).

Type : chaîne

Obligatoire : oui

instanceType

Type d'instance à utiliser pour une tâche parallèle à plusieurs nœuds. Tous les groupes de nœuds dans une tâche parallèle à plusieurs nœuds doivent utiliser le même type d'instance. Ce paramètre n'est pas valide pour les tâches de conteneur à nœud unique ou pour les tâches exécutées sur des ressources Fargate.

Type : chaîne

Obligatoire : non

jobRoleArn

Lorsque vous enregistrez une définition de tâche, vous pouvez spécifier un rôle IAM. Le rôle autorise le conteneur de tâches à appeler les actions d'API qui sont spécifiées dans ses stratégies associées à votre place. Pour plus d'informations, consultez Rôles IAM pour les tâches dans le Guide du développeur Amazon Elastic Container Service.

Type : chaîne

Obligatoire : non

linuxParameters

Modifications spécifiques à Linux appliquées au conteneur, telles que les détails des mappages des appareils.

"linuxParameters": { "devices": [ { "hostPath": "string", "containerPath": "string", "permissions": [ "READ", "WRITE", "MKNOD" ] } ], "initProcessEnabled": true|false, "sharedMemorySize": 0, "tmpfs": [ { "containerPath": "string", "size": integer, "mountOptions": [ "string" ] } ], "maxSwap": integer, "swappiness": integer }

Type : objet LinuxParameters

Obligatoire : non

devices

Liste des appareils mappés au conteneur. Ce paramètre correspond à Devices dans la section Create a container (Créer un conteneur) de Docker Remote API et l'option --device à la commande docker run.

Note

Ce paramètre ne s'applique pas aux tâches exécutées sur les ressources Fargate.

Type : tableau d'objets Périphérique

Obligatoire : non

hostPath

Chemin où se trouve le périphérique disponible dans l'instance de conteneur hôte.

Type : chaîne

Obligatoire : oui

containerPath

Le chemin où l'appareil est exposé dans le conteneur se trouve. Si cela n'est pas spécifié, le périphérique est exposé sur le même chemin que le chemin de l'hôte.

Type : chaîne

Obligatoire : non

permissions

Autorisations pour l'appareil dans le conteneur. Si cela n'est pas spécifié, les autorisations sont définies sur READWRITE, etMKNOD.

Type : tableau de chaînes

Obligatoire : non

Valeurs valides : READ | WRITE | MKNOD

initProcessEnabled

Si ce paramètre est défini sur « true », exécutez un processus init dans le conteneur afin de transmettre des signaux et de récolter les processus. Ce paramètre est mappé à l'option --init de docker run. Ce paramètre nécessite la version 1.25 de l'API Docker à distance ou une version supérieure sur votre instance de conteneur. Pour vérifier la version de l'API Docker à distance de votre instance de conteneur, connectez-vous à votre instance de conteneur et exécutez la commande suivante : sudo docker version | grep "Server API version"

Type : booléen

Obligatoire : non

maxSwap

Quantité totale de mémoire d'échange (en MiB) qu'une tâche peut utiliser. Ce paramètre est converti en l'option --memory-swap de la commande docker run, où la valeur est la somme de la mémoire du conteneur plus la valeur maxSwap. Pour plus d'informations, veuillez consulter les détails de --memory-swap de la documentation Docker.

Si la valeur 0 est spécifiée pour maxSwap, le conteneur n'utilise pas l'échange. Les valeurs acceptées sont 0 ou n'importe quel nombre entier positif. Si le maxSwap paramètre est omis, le conteneur utilise la configuration d'échange pour l'instance de conteneur sur laquelle il s'exécute. Une valeur maxSwap doit être définie pour que le paramètre swappiness soit utilisé.

Note

Ce paramètre ne s'applique pas aux tâches exécutées sur les ressources Fargate.

Type : entier

Obligatoire : non

sharedMemorySize

Valeur correspondant à la taille (en Mio) du volume /dev/shm. Ce paramètre est mappé à l'option --shm-size de docker run.

Note

Ce paramètre ne s'applique pas aux tâches exécutées sur les ressources Fargate.

Type : entier

Obligatoire : non

swappiness

Vous pouvez utiliser ce paramètre pour régler le comportement d'échange de mémoire d'un conteneur. swappinessLa valeur de 0 empêche l'échange, sauf en cas d'absolue nécessité. Avec la valeur swappiness pour 100, l'échange de pages a lieu de manière agressive. Les valeurs acceptées sont les nombres entiers compris entre 0 et 100. Si le paramètre swappiness n'est pas spécifié, la valeur par défaut 60 est utilisée. Si aucune valeur n'est spécifiée pour maxSwap, le paramètre est ignoré. Si maxSwap est défini sur 0, le conteneur n'a pas recours à l'échange. Ce paramètre est mappé à l'option --memory-swappiness de docker run.

Tenez compte des points suivants lorsque vous utilisez une configuration d'échange par conteneur.

  • L'espace d'échange doit être activé et alloué sur l'instance de conteneur pour que les conteneurs puissent l'utiliser.

    Note

    L'échange n'est pas activé par défaut pour les AMI optimisées Amazon ECS. Vous devez activer l'échange sur l'instance pour utiliser cette fonction. Pour plus d'informations, consultez Instance Store Swap Volumes dans le guide de l'utilisateur Amazon EC2 ou Comment allouer de la mémoire pour qu'elle fonctionne comme espace de swap dans une instance Amazon EC2 à l'aide d'un fichier d'échange ? .

  • Les paramètres de l'espace d'échange sont uniquement pris en charge pour les définitions de tâches utilisant des ressources EC2.

  • Si les paramètres maxSwap et swappiness sont omis d'une définition de tâche, chaque conteneur a une valeur swappiness par défaut de 60. L'utilisation totale du swap est limitée à deux fois la réserve de mémoire du conteneur.

Note

Ce paramètre ne s'applique pas aux tâches exécutées sur les ressources Fargate.

Type : entier

Obligatoire : non

tmpfs

Chemin du conteneur, options de montage et taille du montage tmpfs.

Type : tableau d'objets Tmpfs

Note

Ce paramètre ne s'applique pas aux tâches exécutées sur les ressources Fargate.

Obligatoire : non

containerPath

Chemin d'accès absolu du fichier dans le conteneur où le volume tmpfs est monté.

Type : chaîne

Obligatoire : oui

mountOptions

Liste des options de montage du volume tmpfs.

Valeurs valides : "defaults" | ro "" | rw "" | suid "" | nosuid "" | dev "nodev" | "exec" | "noexec" | "sync" | "async" | "dirsync" | remount "" | mand "|" nomand "|atime" » | noatime "" | diratime "» | nodiratime "|bind" | "|rbind" | unbindable "|runbindable" | "|private" | rprivate "|" | shared "|rshared" "|slave" "|rslave" relatime "|norelatime" » | « strictatime » | « nostrictatime » | » mode« |" uid "|" gid "|" nr_inodes "|" nr_blocks "|" mpol »

Type : tableau de chaînes

Obligatoire : non

size

Taille (en Mio) du volume tmpfs.

Type : entier

Obligatoire : oui

logConfiguration

Spécification de configuration du journal pour la tâche.

Ce paramètre correspond à LogConfig dans la section Create a container (Créer un conteneur) de Docker Remote API et l'option --log-driver à la commande docker run. Par défaut, les conteneurs utilisent le même pilote de journalisation que celui utilisé par le démon Docker. Toutefois, le conteneur peut utiliser un pilote de journalisation différent de celui du daemon Docker en spécifiant un pilote de journal avec ce paramètre dans la définition du conteneur. Pour utiliser un pilote de journalisation différent pour un conteneur, le système de journalisation doit être configuré sur l'instance du conteneur ou sur un autre serveur de journaux afin de fournir des options de journalisation à distance. Pour plus d'informations sur les options relatives aux différents pilotes du journal pris en charge, consultez la section Configure logging drivers (Configurer les pilotes de journalisation) dans la documentation Docker.

Note

AWS Batch prend actuellement en charge un sous-ensemble des pilotes de journalisation disponibles pour le démon Docker (indiqué dans le type de LogConfigurationdonnées).

Ce paramètre nécessite la version 1.18 de l'API Docker à distance ou une version supérieure sur votre instance de conteneur. Pour vérifier la version de l'API Docker à distance de votre instance de conteneur, connectez-vous à votre instance de conteneur et exécutez la commande suivante : sudo docker version | grep "Server API version"

"logConfiguration": { "devices": [ { "logDriver": "string", "options": { "optionName1" : "optionValue1", "optionName2" : "optionValue2" } "secretOptions": [ { "name" : "secretOptionName1", "valueFrom" : "secretOptionArn1" }, { "name" : "secretOptionName2", "valueFrom" : "secretOptionArn2" } ] } ] }

Type : objet LogConfiguration

Obligatoire : non

logDriver

Le pilote de journal à utiliser pour la tâche. AWS Batch Active le pilote de awslogs journal par défaut. Les valeurs valides répertoriées pour ce paramètre sont les pilotes de journal avec lesquels l'agent de conteneur Amazon ECS peut communiquer par défaut.

Ce paramètre correspond à LogConfig dans la section Create a container (Créer un conteneur) de Docker Remote API et l'option --log-driver à la commande docker run. Par défaut, les tâches utilisent le même pilote de journalisation que celui utilisé par le démon Docker. Cependant, la tâche peut utiliser un pilote de journalisation différent de celui du démon Docker en spécifiant un pilote de journal avec ce paramètre dans la définition de la tâche. Si vous souhaitez spécifier un autre pilote de journalisation pour une tâche, le système de journalisation doit être configuré sur l'instance de conteneur dans l'environnement informatique. Vous pouvez également le configurer sur un autre serveur de journaux pour fournir des options de journalisation à distance. Pour plus d'informations sur les options relatives aux différents pilotes du journal pris en charge, consultez la section Configure logging drivers (Configurer les pilotes de journalisation) dans la documentation Docker.

Note

AWS Batch prend actuellement en charge un sous-ensemble des pilotes de journalisation disponibles pour le démon Docker. Les pilotes de journal supplémentaires qui ne sont pas pris en charge actuellement seront peut-être disponibles dans les prochaines versions de l'agent de conteneur Amazon ECS.

Les pilotes de journal pris en charge sont awslogs, fluentd, gelf, json-file, journald, logentries, syslog et splunk.

Note

Les tâches exécutées sur les ressources Fargate sont limitées aux awslogs pilotes et log. splunk

Ce paramètre nécessite la version 1.18 de l'API Docker à distance ou une version supérieure sur votre instance de conteneur. Pour vérifier la version de l'API Docker à distance de votre instance de conteneur, connectez-vous à votre instance de conteneur et exécutez la commande suivante : sudo docker version | grep "Server API version"

Note

L'agent de conteneur Amazon ECS qui s'exécute sur une instance de conteneur doit enregistrer les pilotes de journalisation disponibles sur cette instance avec la variable d'ECS_AVAILABLE_LOGGING_DRIVERSenvironnement. Dans le cas contraire, les conteneurs placés sur cette instance ne peuvent pas utiliser ces options de configuration du journal. Pour plus d'informations, consultez Configuration de l'agent du conteneur Amazon ECS dans le Manuel du développeur Amazon Elastic Container Service.

awslogs

Spécifie le pilote de CloudWatch journalisation Amazon Logs. Pour plus d'informations, consultez le pilote Utilisation du pilote du journal awslogs de journalisation Amazon CloudWatch Logs dans la documentation Docker.

fluentd

Spécifie le pilote de journalisation Fluentd. Pour plus d'informations, notamment sur l'utilisation et les options, consultez le pilote de journalisation Fluentd dans la documentation Docker.

gelf

Spécifie le pilote de journalisation GELF (Graylog Extended Format). Pour plus d'informations, notamment sur l'utilisation et les options, consultez le pilote de journalisation Graylog Extended Format dans la documentation Docker.

journald

Spécifie le pilote de journalisation journald. Pour plus d'informations, notamment sur son utilisation et ses options, consultez le pilote de journalisation Journald dans la documentation Docker.

json-file

Spécifie le pilote de journalisation du fichier JSON. Pour plus d'informations, notamment sur l'utilisation et les options, consultez le pilote de journalisation de fichiers JSON dans la documentation Docker.

splunk

Spécifie le pilote de journalisation Splunk. Pour plus d'informations, notamment sur l'utilisation et les options, consultez le pilote de journalisation Splunk dans la documentation Docker.

syslog

Spécifie le pilote de journalisation syslog. Pour plus d'informations, notamment sur l'utilisation et les options, consultez le pilote de journalisation Syslog dans la documentation Docker.

Type : chaîne

Obligatoire : oui

Valeurs valides : awslogs | fluentd | gelf | journald | json-file | splunk | syslog

Note

Si vous avez un pilote personnalisé qui n'est pas répertorié précédemment et que vous souhaitez utiliser avec l'agent de conteneur Amazon ECS, vous pouvez bifurquer le projet d'agent de conteneur Amazon ECS disponible sur GitHub et le personnaliser pour qu'il fonctionne avec ce pilote. Nous vous conseillons d'envoyer des demandes d'extraction pour les modifications que vous souhaitez inclure. Cependant, Amazon Web Services ne prend actuellement pas en charge les demandes qui exécutent des copies modifiées de ce logiciel.

options

Options de configuration du journal à envoyer à un pilote de journal pour la tâche.

Ce paramètre nécessite la version 1.19 de l'API Docker à distance ou une version supérieure sur votre instance de conteneur.

Type : mappage chaîne/chaîne

Obligatoire : non

secretOptions

Objet qui représente le secret à transmettre à la configuration de journal. Pour plus d’informations, consultez Spécification des données sensibles.

Type : tableau d’objets

Obligatoire : non

name

Nom de l'option de pilote de journal à définir dans le job.

Type : chaîne

Obligatoire : oui

valueFrom

Le nom de ressource Amazon (ARN) du secret à exposer à la configuration du journal du conteneur. Les valeurs prises en charge sont soit l'ARN complet du secret Secrets Manager, soit l'ARN complet du paramètre dans le magasin de paramètres SSM.

Note

Si le paramètre SSM Parameter Store existe au même Région AWS endroit que la tâche que vous lancez, vous pouvez utiliser l'ARN complet ou le nom du paramètre. Si le paramètre existe dans une autre région, l'ARN complet doit être spécifié.

Type : chaîne

Obligatoire : oui

memory

Ce paramètre est obsolète, resourceRequirements utilisez-le à la place.

Le nombre de MiB de mémoire réservé à la tâche.

À titre d'exemple d'utilisationresourceRequirements, si votre définition de tâche contient une syntaxe similaire à la suivante.

"containerProperties": { "memory": 512 }

La syntaxe équivalente utilisée resourceRequirements est la suivante.

"containerProperties": { "resourceRequirements": [ { "type": "MEMORY", "value": "512" } ] }

Type : entier

Obligatoire : oui

mountPoints

Points de montage des volumes de données dans votre conteneur. Ce paramètre correspond à Volumes dans la section Create a container (Créer un conteneur) de l'API Docker à distance et l'option --volume correspond à docker run.

"mountPoints": [ { "sourceVolume": "string", "containerPath": "string", "readOnly": true|false } ]

Type : tableau d'objets

Obligatoire : non

sourceVolume

Nom du volume à monter.

Type : chaîne

Obligatoire : oui lorsque mountPoints est utilisé.

containerPath

Le chemin sur le conteneur où monter le volume hôte.

Type : chaîne

Obligatoire : oui lorsque mountPoints est utilisé.

readOnly

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.

Type : booléen

Obligatoire : non

Par défaut : false

networkConfiguration

Configuration réseau pour les tâches exécutées sur les ressources Fargate. Les tâches exécutées sur des ressources EC2 ne doivent pas spécifier ce paramètre.

"networkConfiguration": { "assignPublicIp": "string" }

Type : tableau d'objets

Obligatoire : non

assignPublicIp

Indique si la tâche présene une adresse IP publique. Cela est nécessaire si la tâche nécessite un accès réseau sortant.

Type : chaîne

Valeurs valides : ENABLED | DISABLED

Obligatoire : non

Par défaut : DISABLED

privileged

Lorsque ce paramètre est défini sur true (vrai), des autorisations élevées inhérentes à l'instance de conteneur hôte sont accordées au conteneur (semblable à l'utilisateur root). Ce paramètre correspond à Privileged dans la section Create a container (Créer un conteneur) de l'API Docker à distance et l'option --privileged correspond à docker run. Ce paramètre ne s'applique pas aux tâches exécutées sur les ressources Fargate. Ne le fournissez pas et ne le spécifiez pas comme faux.

"privileged": true|false

Type : booléen

Obligatoire : non

readonlyRootFilesystem

Quand ce paramètre a la valeur true, le conteneur ne dispose que d'un accès en lecture seule au système de fichiers racine. Ce paramètre correspond à ReadonlyRootfs dans la section Create a container (Créer un conteneur) de l'API Docker à distance et l'option --read-only correspond à docker run.

"readonlyRootFilesystem": true|false

Type : booléen

Obligatoire : non

resourceRequirements

Type et quantité d'une ressource à attribuer à un conteneur. Les ressources prises en charge comprennent GPU, MEMORY et VCPU.

"resourceRequirements" : [ { "type": "GPU", "value": "number" } ]

Type : tableau d'objets

Obligatoire : non

type

Type d'une ressource à attribuer à un conteneur. Les ressources prises en charge comprennent GPU, MEMORY et VCPU.

Type : chaîne

Obligatoire : oui lorsque resourceRequirements est utilisé.

value

La quantité de la ressource spécifiée à réserver pour le conteneur. Les valeurs varient en fonction du type spécifié.

type="GPU"

Nombre de GPU physiques à réserver pour le conteneur. Le nombre de GPU réservés à tous les conteneurs d'une tâche ne peut pas dépasser le nombre de GPU disponibles sur la ressource de calcul sur laquelle la tâche est lancée.

type="MEMORY"

La limite stricte (en Mio) de la mémoire à présenter le conteneur. Si votre conteneur tente de dépasser la mémoire spécifiée ici, il sera désactivé. Ce paramètre correspond à Memory dans la section Create a container (Créer un conteneur) de Docker Remote API et l'option --memory à la commande docker run. Vous devez spécifier au moins 4 Mio de mémoire pour une tâche. Cela est obligatoire, mais vous pouvez le spécifier en plusieurs endroits pour les tâches parallèles à plusieurs nœuds (MNP). Elle doit être spécifiée pour chaque nœud au moins une fois. Ce paramètre correspond à Memory dans la section Create a container (Créer un conteneur) de Docker Remote API tandis que l'option --memory correspond à la commande docker run.

Note

Si vous essayez de maximiser l'utilisation de vos ressources en fournissant à vos tâches autant de mémoire que possible pour un type d'instance particulier, consultezRessource de calcul Gestion de la mémoire.

Pour les tâches exécutées sur des ressources Fargate, value elles doivent correspondre à l'une des valeurs prises en charge. De plus, les VCPU valeurs doivent être l'une des valeurs prises en charge pour cette valeur de mémoire.

VCPU MEMORY

0,25 vCPU

512, 1024 et 2048 MiB

0,5 vCPU

1024 à 4096 MiB par incréments de 1024 MiB

1 vCPU

2048-8192 MiB par incréments de 1024 MiB

2 vCPU

4096-16384 MiB par incréments de 1024 MiB

4 vCPU

8192-30720 MiB par incréments de 1024 MiB

8 vCPU

16384-61440 MiB par incréments de 4096 MiB

16 vCPU

32768-122880 MiB par incréments de 8192 MiB

type="VCPU"

Le nombre de vCPU réservés pour la tâche. Ce paramètre correspond à CpuShares dans la section Create a container (Créer un conteneur) de Docker Remote API tandis que l'option --cpu-shares correspond à la commande docker run. Chaque processeur virtuel est équivalente à 1 024 parts de processeur. Pour les tâches exécutées sur des ressources EC2, vous devez spécifier au moins un vCPU. Cela est obligatoire mais peut être spécifié à plusieurs endroits. Elle doit être spécifiée pour chaque nœud au moins une fois.

Pour les tâches exécutées sur des ressources Fargatevalue, elles doivent correspondre à l'une des valeurs prises en charge et les valeurs doivent être MEMORY l'une des valeurs prises en charge pour cette valeur de processeur virtuel. Les valeurs prises en charge sont 0,25, 0,5, 1, 2, 4, 8 et 16.

La valeur par défaut du quota basé sur le nombre de ressources vCPU Fargate à la demande est de 6 vCPU. Pour plus d'informations sur les quotas de Fargate, consultez la section Quotas de AWS Fargate dans le. Référence générale d'Amazon Web Services

Type : chaîne

Obligatoire : oui lorsque resourceRequirements est utilisé.

secrets

Les secrets du travail exposés sous forme de variables d'environnement. Pour plus d’informations, consultez Spécification des données sensibles.

"secrets": [ { "name": "secretName1", "valueFrom": "secretArn1" }, { "name": "secretName2", "valueFrom": "secretArn2" } ... ]

Type : tableau d'objets

Obligatoire : non

name

Nom de la variable d'environnement contenant le secret.

Type : chaîne

Obligatoire : oui lorsque secrets est utilisé.

valueFrom

Secret à exposer au conteneur. Les valeurs prises en charge sont soit le nom Amazon Resource (ARN) complet du secret Secrets Manager, soit l'ARN complet du paramètre dans le magasin de paramètres SSM.

Note

Si le paramètre SSM Parameter Store existe au même Région AWS endroit que la tâche que vous lancez, vous pouvez utiliser l'ARN complet ou le nom du paramètre. Si le paramètre existe dans une autre région, l'ARN complet doit être spécifié.

Type : chaîne

Obligatoire : oui lorsque secrets est utilisé.

ulimits

Une liste de valeurs ulimits à définir dans le conteneur. Ce paramètre correspond à Ulimits dans la section Create a container (Créer un conteneur) de l'API Docker à distance et l'option --ulimit correspond à docker run.

"ulimits": [ { "name": string, "softLimit": integer, "hardLimit": integer } ... ]

Type : tableau d'objets

Obligatoire : non

name

Le type d'ulimit.

Type : chaîne

Obligatoire : oui lorsque ulimits est utilisé.

hardLimit

La limite stricte du type ulimit.

Type : entier

Obligatoire : oui lorsque ulimits est utilisé.

softLimit

La limite flexible du type ulimit.

Type : entier

Obligatoire : oui lorsque ulimits est utilisé.

user

Le nom utilisateur à utiliser à l'intérieur du conteneur. Ce paramètre correspond à User dans la section Create a container (Créer un conteneur) de l'API Docker à distance et l'option --user correspond à docker run.

"user": "string"

Type : chaîne

Obligatoire : non

vcpus

Ce paramètre est obsolète, resourceRequirements utilisez-le à la place.

Nombre de processeurs virtuels réservés pour le conteneur.

À titre d'exemple d'utilisationresourceRequirements, si votre définition de tâche contient des lignes similaires à celles-ci :

"containerProperties": { "vcpus": 2 }

Les lignes équivalentes utilisées resourceRequirements sont les suivantes.

"containerProperties": { "resourceRequirements": [ { "type": "VCPU", "value": "2" } ] }

Type : entier

Obligatoire : oui

volumes

Lorsque vous enregistrez une définition de tâche, vous pouvez éventuellement préciser une liste de volumes qui sont transmis au daemon Docker sur une instance de conteneur. Les paramètres suivants sont autorisés dans les propriétés du conteneur :

"volumes": [ { "name": "string", "host": { "sourcePath": "string" }, "efsVolumeConfiguration": { "authorizationConfig": { "accessPointId": "string", "iam": "string" }, "fileSystemId": "string", "rootDirectory": "string", "transitEncryption": "string", "transitEncryptionPort": number } } ]
name

Nom du volume. Il peut comporter jusqu'à 255 lettres (majuscules et minuscules), des chiffres, des tirets ou des traits de soulignement. Ce nom est référencé dans le sourceVolume paramètre de définition de conteneur mountPoints.

Type : chaîne

Obligatoire : non

host

Le contenu du paramètre host détermine si le volume de données persiste sur l'instance de conteneur hôte et où il est stocké. Si le paramètre host est vide, le daemon Docker attribue un chemin hôte pour votre volume de données. Cependant, il n'est pas garanti que les données persistent une fois que le conteneur qui leur est associé cesse de fonctionner.

Note

Ce paramètre ne s'applique pas aux tâches exécutées sur les ressources Fargate.

Type : objet

Obligatoire : non

sourcePath

Le chemin d'accès sur l'instance de conteneur hôte qui est présenté au conteneur. Si ce paramètre est vide, le démon Docker attribue un chemin hôte pour vous.

Si le paramètre host contient un emplacement de fichier sourcePath, le volume de données persiste à l'emplacement spécifié sur l'instance de conteneur hôte jusqu'à ce que vous le supprimiez manuellement. Si la valeur sourcePath n'existe pas sur l'instance de conteneur hôte, le démon Docker la crée. Si l'emplacement n'existe pas, le contenu du chemin source est exporté.

Type : chaîne

Obligatoire : non

efsVolumeConfiguration

Ce paramètre est spécifié lorsque vous utilisez un système de fichiers Amazon Elastic File System pour le stockage des tâches. Pour plus d’informations, consultez Volumes Amazon EFS.

Type : objet

Obligatoire : non

authorizationConfig

Détails de configuration des autorisations pour le système de fichiers Amazon EFS.

Type : chaîne

Obligatoire : non

accessPointId

ID de point d'accès Amazon EFS à utiliser. Si un point d'accès est spécifié, la valeur du répertoire racine spécifiée dans le EFSVolumeConfiguration doit être omise ou définie sur. / Cela applique le chemin défini sur le point d'accès EFS. Si un point d'accès est utilisé, le chiffrement de transit doit être activé dans EFSVolumeConfiguration. Pour plus d'informations, consultez Utilisation des points d'accès Amazon EFS dans le Guide de l'utilisateur Amazon Elastic File System.

Type : chaîne

Obligatoire : non

iam

Détermine s'il faut utiliser le rôle IAM de AWS Batch tâche défini dans une définition de tâche lors du montage du système de fichiers Amazon EFS. Si cette option est activée, le chiffrement en transit doit être activé dans la configuration EFSVolumeConfiguration. Si ce paramètre est omis, la valeur par défaut DISABLED est utilisée. Pour plus d’informations, consultez Utilisation des points d'accès Amazon EFS.

Type : chaîne

Valeurs valides : ENABLED | DISABLED

Obligatoire : non

fileSystemId

ID du système de fichiers Amazon EFS à utiliser.

Type : chaîne

Obligatoire : non

rootDirectory

Répertoire du système de fichiers Amazon EFS à monter en tant que répertoire racine à l'intérieur de l'hôte. Si ce paramètre est omis, la racine du volume Amazon EFS est utilisée. Si vous le spécifiez/, cela a le même effet que l'omission de ce paramètre. La longueur maximale est de 4 096 caractères.

Important

Si un point d'accès EFS est spécifié dans leauthorizationConfig, le paramètre du répertoire racine doit être omis ou défini sur. / Cela applique le chemin défini sur le point d'accès Amazon EFS.

Type : chaîne

Obligatoire : non

transitEncryption

Détermine si vous souhaitez activer ou non le chiffrement des données Amazon EFS en transit entre l'hôte Amazon ECS et le serveur Amazon EFS. Le chiffrement en transit doit être activé si l'autorisation Amazon EFS IAM est utilisée. Si ce paramètre est omis, la valeur par défaut DISABLED est utilisée. Pour plus d'informations, consultez Chiffrement des données en transit dans le Guide de l'utilisateur Amazon Elastic File System.

Type : chaîne

Valeurs valides : ENABLED | DISABLED

Obligatoire : non

transitEncryptionPort

Port à utiliser lors de l'envoi de données chiffrées entre l'hôte Amazon ECS et le serveur Amazon EFS. Si vous ne spécifiez pas de port de chiffrement en transit, il utilise la stratégie de sélection de port adoptée par l'assistant de montage Amazon EFS. La valeur doit être comprise entre 0 et 65 535. Pour plus d'informations, consultez Assistant de montage EFS dans le Guide de l'utilisateur Amazon Elastic File System User.

Type : entier

Obligatoire : non

Propriétés d'Amazon EKS

Objet ayant plusieurs propriétés spécifiques à des tâches basées sur Amazon EKS. Cela ne doit pas être spécifié pour les définitions de tâches basées sur Amazon ECS.

podProperties

Les propriétés des ressources du Kubernetes module d'une tâche.

Type : objet EksPodProperties

Obligatoire : non

containers

Propriétés du conteneur utilisé sur le pod Amazon EKS.

Type : objet EksContainer

Obligatoire : non

args

Tableau d'arguments pour le point d'entrée. Si cela n'est pas spécifié, le CMD de l'image de conteneur est utilisée. Cela correspond au args membre figurant dans la partie Entrypoint du Pod in. Kubernetes Les références aux variables d'environnement sont étendues à l'aide de l'environnement du conteneur.

Si la variable d'environnement référencée n'existe pas, la référence de la commande ne change pas. Par exemple, si la référence porte sur « $(NAME1) » et que la variable d'environnement NAME1 n'existe pas, la chaîne de commande reste « $(NAME1) ». $$ est remplacé par $, et la chaîne résultante n'est pas développée. Par exemple, $$(VAR_NAME) est transmis en tant que $(VAR_NAME), que la variable d'environnement VAR_NAME existe ou non. Pour plus d'informations, consultez CMD dans la référence Dockerfile et Définir une commande et des arguments pour un pod dans la documentation. Kubernetes

Type : tableau de chaînes

Obligatoire : non

command

Point d'entrée du conteneur. Il n'est pas exécuté dans un shell. Si cela n'est pas spécifié, le ENTRYPOINT de l'image de conteneur est utilisé. Les références aux variables d'environnement sont étendues à l'aide de l'environnement du conteneur.

Si la variable d'environnement référencée n'existe pas, la référence de la commande ne change pas. Par exemple, si la référence porte sur « $(NAME1) » et que la variable d'environnement NAME1 n'existe pas, la chaîne de commande reste « $(NAME1) ». $$ est remplacé par $, et la chaîne résultante n'est pas développée. Par exemple, $$(VAR_NAME) est transmis en tant que $(VAR_NAME), que la variable d'environnement VAR_NAME existe ou non. Ce point d'entrée ne peut pas être mis à jour. Pour plus d'informations, consultez ENTRYPOINT dans la référence Dockerfile et Définir une commande et des arguments pour un conteneur et Entrypoint dans la documentation. Kubernetes

Type : tableau de chaînes

Obligatoire : non

env

Variables d'environnement à transmettre à un conteneur.

Note

Les variables d'environnement ne peuvent pas commencer par « AWS_BATCH ». Cette convention de dénomination est réservée aux variables AWS Batch définies.

Type : tableau d’objets EksContainerEnvironmentVariable

Obligatoire : non

name

Nom de la variable d'environnement.

Type : chaîne

Obligatoire : oui

value

Valeur de la variable d'environnement.

Type : chaîne

Obligatoire : non

image

Image Docker utilisée pour démarrer le conteneur.

Type : chaîne

Obligatoire : oui

imagePullPolicy

Stratégie d'extraction d'images pour le conteneur. Les valeurs prises en charge sont Always, IfNotPresent et Never. Ce paramètre a pour valeur par défaut IfNotPresent. Toutefois, si la balise :latest est spécifiée, elle prend par défaut la valeur Always. Pour plus d'informations, consultez la section Mise à jour des images dans la Kubernetesdocumentation.

Type : chaîne

Obligatoire : non

name

Nom du conteneur. Si le nom n'est pas spécifié, le nom par défaut « Default » est utilisé. Chaque conteneur d'un pod doit porter un nom unique.

Type : chaîne

Obligatoire : non

resources

Le type et la quantité de ressources à attribuer à un conteneur. Les ressources prises en charge comprennent memory, cpu et nvidia.com/gpu. Pour plus d'informations, consultez la section Gestion des ressources pour les pods et les conteneurs dans la Kubernetesdocumentation.

Type : objet EksContainerResourceRequirements

Obligatoire : non

limits

Type et quantité de ressources spécifiés à réserver pour le conteneur. Les valeurs varient en fonction du name spécifié. Les ressources peuvent être demandées à l'aide des objets limits ou requests.

memory

Limite stricte de mémoire (en Mio) du conteneur, en entiers, avec un suffixe « Mi ». Si votre conteneur tente de dépasser la mémoire spécifiée, il est résilié. Vous devez spécifier au moins 4 Mio de mémoire pour une tâche. La memory peut être spécifiée dans limits, requests ou les deux. Si memory est spécifié dans les deux, la valeur spécifiée dans limits doit être égale à la valeur spécifiée dans requests.

Note

Pour optimiser l'utilisation de vos ressources, fournissez à vos tâches autant de mémoire que possible pour le type d'instance spécifique que vous utilisez. Pour savoir comment procéder, veuillez consulter la section Ressource de calcul Gestion de la mémoire.

cpu

Nombre de processeurs réservés pour le conteneur. Les valeurs doivent correspondre à un multiple pair de 0.25. Le cpu peut être spécifié dans limits, requests ou les deux. Si le cpu est spécifié dans les deux, la valeur spécifiée dans limits doit être au moins égale à la valeur spécifiée dans requests.

nvidia.com/gpu

Nombre de GPU réservés pour le conteneur. Les valeurs doivent correspondre à un entier. memory peut être spécifié dans limits, requests ou les deux. Si memory est spécifié dans les deux, la valeur spécifiée dans limits doit être égale à la valeur spécifiée dans requests.

Type : mappage chaîne/chaîne

Contraintes de longueur de valeur : longueur minimale de 1. Longueur maximale de 256.

Obligatoire : non

requests

Type et quantité de ressources spécifiés à demander pour le conteneur. Les valeurs varient en fonction du name spécifié. Les ressources peuvent être demandées à l'aide des objets limits ou requests.

memory

Limite stricte de mémoire (en Mio) du conteneur, en entiers, avec un suffixe « Mi ». Si votre conteneur tente de dépasser la mémoire spécifiée, il est résilié. Vous devez spécifier au moins 4 Mio de mémoire pour une tâche. La memory peut être spécifiée dans limits, requests ou les deux. Si memory est spécifié dans les deux, la valeur spécifiée dans limits doit être égale à la valeur spécifiée dans requests.

Note

Si vous essayez de maximiser l'utilisation de vos ressources en fournissant à vos tâches autant de mémoire que possible pour un type d'instance particulier, consultezRessource de calcul Gestion de la mémoire.

cpu

Nombre de processeurs réservés pour le conteneur. Les valeurs doivent correspondre à un multiple pair de 0.25. Le cpu peut être spécifié dans limits, requests ou les deux. Si le cpu est spécifié dans les deux, la valeur spécifiée dans limits doit être au moins égale à la valeur spécifiée dans requests.

nvidia.com/gpu

Nombre de GPU réservés pour le conteneur. Les valeurs doivent correspondre à un entier. nvidia.com/gpu peut être spécifié dans limits, requests ou les deux. Si nvidia.com/gpu est spécifié dans les deux, la valeur spécifiée dans limits doit être égale à la valeur spécifiée dans requests.

Type : mappage chaîne/chaîne

Contraintes de longueur de valeur : longueur minimale de 1. Longueur maximale de 256.

Obligatoire : non

securityContext

Contexte de sécurité d'une tâche. Pour plus d'informations, consultez la section Configurer un contexte de sécurité pour un pod ou un conteneur dans la Kubernetesdocumentation.

Type : objet EksContainerSecurityContext

Obligatoire : non

privileged

Lorsque ce paramètre est défini sur true true, des autorisations élevées inhérentes à l'instance de conteneur hôte sont accordées au conteneur. Le niveau des autorisations est similaire à celui des autorisations des root utilisateurs. La valeur par défaut est false. Ce paramètre correspond à la privileged politique décrite dans les politiques de sécurité du module Privileged de la Kubernetesdocumentation.

Type : booléen

Obligatoire : non

readOnlyRootFilesystem

Lorsque ce paramètre est défini sur true, le conteneur ne dispose que d'un accès en lecture seule au système de fichiers racine. La valeur par défaut est false. Ce paramètre correspond à la ReadOnlyRootFilesystem politique décrite dans les politiques de sécurité du module Volumes et systèmes de fichiers de la Kubernetesdocumentation.

Type : booléen

Obligatoire : non

runAsGroup

Lorsque ce paramètre est spécifié, le conteneur est exécuté avec l'ID de groupe spécifié (gid). Si ce paramètre n'est pas spécifié, le groupe spécifié dans les métadonnées d'image correspond au groupe par défaut. Ce paramètre correspond à RunAsGroup la MustRunAs politique décrite dans les politiques de sécurité du module Utilisateurs et groupes de la Kubernetesdocumentation.

Type : long

Obligatoire : non

runAsNonRoot

Lorsque ce paramètre est spécifié, le conteneur est exécuté en tant qu'utilisateur avec un uid autre que 0. Si ce paramètre n'est pas spécifié, cette règle est appliquée. Ce paramètre correspond à RunAsUser la MustRunAsNonRoot politique décrite dans les politiques de sécurité du module Utilisateurs et groupes de la Kubernetesdocumentation.

Type : long

Obligatoire : non

runAsUser

Lorsque ce paramètre est spécifié, le conteneur est exécuté avec l'ID utilisateur spécifié (uid). Si ce paramètre n'est pas spécifié, le groupe spécifié dans les métadonnées d'image correspond au groupe par défaut. Ce paramètre correspond à RunAsUser la MustRanAs politique décrite dans les politiques de sécurité du module Utilisateurs et groupes de la Kubernetesdocumentation.

Type : long

Obligatoire : non

volumeMounts

Montages de volumes pour un conteneur dans le cadre d'une tâche Amazon EKS. Pour plus d'informations sur les volumes et les montages de volumesKubernetes, consultez la section Volumes de la Kubernetesdocumentation.

Type : tableau d’objets EksContainerVolumeMount

Obligatoire : non

mountPath

Le chemin d'accès du conteneur, sur lequel le volume est monté.

Type : chaîne

Obligatoire : non

name

Nom du montage de volume. Ce nom doit correspondre au nom d'un des volumes du pod.

Type : chaîne

Obligatoire : non

readOnly

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

Type : booléen

Obligatoire : non

dnsPolicy

Stratégie DNS du pod. La valeur par défaut est ClusterFirst. Si le paramètre hostNetwork n'est pas spécifié, la valeur par défaut est ClusterFirstWithHostNet. ClusterFirst indique que toute requête DNS ne correspondant pas au suffixe de domaine du cluster configuré est transmise au serveur de noms en amont hérité du nœud. Si aucune valeur n'a été spécifiée dnsPolicy dans l'opération d'API de RegisterJobdéfinition, aucune valeur n'est renvoyée dnsPolicy par les DescribeJobdéfinitions ou les opérations d'DescribeJobsAPI. Le paramètre de spécification du pod contient ClusterFirst ou ClusterFirstWithHostNet, selon la valeur du paramètre hostNetwork. Pour plus d'informations, consultez la politique DNS de Pod dans la Kubernetesdocumentation.

Valeurs valides : Default | ClusterFirst | ClusterFirstWithHostNet

Type : chaîne

Obligatoire : non

hostNetwork

Indique si le pod utilise l'adresse IP réseau des hôtes. La valeur par défaut est true. Le réglage de cette option false permet d'activer le modèle de mise en réseau du Kubernetes pod. La plupart des AWS Batch charges de travail concernent uniquement les sorties et ne nécessitent pas la surcharge liée à l'allocation d'adresses IP pour chaque module pour les connexions entrantes. Pour plus d'informations, consultez les sections Espaces de noms des hôtes et Mise en réseau des pods dans la Kubernetesdocumentation.

Type : booléen

Obligatoire : non

serviceAccountName

Nom du compte de service utilisé pour exécuter le pod. Pour plus d'informations, consultez les Kubernetessections Comptes de service et Configurer un compte de Kubernetes service pour assumer un rôle IAM dans le Guide de l'utilisateur Amazon EKS et Configurer les comptes de service pour les pods dans la Kubernetesdocumentation.

Type : chaîne

Obligatoire : non

volumes

Spécifie les volumes d'une définition de tâche qui utilise des ressources Amazon EKS.

Type : tableau d’objets EksVolume

Obligatoire : non

Dir vide

Spécifie la configuration d'un Kubernetes emptyDir volume. Un volume emptyDir est créé pour la première fois lorsqu'un pod est attribué à un nœud. Il existe tant que ce pod fonctionne sur ce nœud. Le volume emptyDir est initialement vide. Tous les conteneurs du pod peuvent lire et écrire les fichiers du volume emptyDir. Toutefois, le volume emptyDir peut être monté sur des chemins identiques ou différents dans chaque conteneur. Lorsqu'un pod est supprimé d'un nœud pour quelque raison que ce soit, les données du emptyDir sont définitivement supprimées. Pour plus d'informations, consultez EmptyDir dans la Kubernetes documentation.

Type : objet EksEmptyDir

Obligatoire : non

medium

Support sur lequel stocker le volume. La valeur par défaut est une chaîne vide utilisant le stockage du nœud.

""

(Par défaut) Utilisez le stockage sur disque du nœud.

« Mémoire »

Utilisez le volume tmpfs soutenu par la mémoire vive du nœud. Le contenu du volume est perdu lorsque le nœud redémarre, et tout stockage présent sur le volume est pris en compte dans la limite de mémoire du conteneur.

Type : chaîne

Obligatoire : non

Limite de taille

Taille maximale du volume. Par défaut, aucune taille maximale n'est définie.

Type : chaîne

Contraintes de longueur : longueur minimum de 1. Longueur maximale de 256.

Obligatoire : non

Chemin de l'hôte

Spécifie la configuration d'un Kubernetes hostPath volume. Un volume hostPath monte un fichier ou un répertoire existant depuis le système de fichiers du nœud hôte dans votre pod. Pour plus d'informations, consultez HostPath dans la Kubernetesdocumentation.

Type : objet EksHostPath

Obligatoire : non

chemin

Chemin du fichier ou du répertoire sur l'hôte à monter dans les conteneurs du pod.

Type : chaîne

Obligatoire : non

name

Le nom du volume. Le nom doit être autorisé en tant que nom de sous-domaine DNS. Pour plus d'informations, consultez la section Noms de sous-domaines DNS dans la Kubernetesdocumentation.

Type : chaîne

Obligatoire : oui

secret

Spécifie la configuration d'un Kubernetes secret volume. Pour plus d'informations, voir secret dans la Kubernetesdocumentation.

Type : objet EksSecret

Obligatoire : non

facultatif

Spécifie si le secret ou les clés du secret doivent être définis.

Type : booléen

Obligatoire : non

Nom secret

Le nom du secret. Le nom doit être autorisé en tant que nom de sous-domaine DNS. Pour plus d'informations, consultez la section Noms de sous-domaines DNS dans la Kubernetesdocumentation.

Type : chaîne

Obligatoire : oui

Fonctionnalités de la plateforme

platformCapabilities

Les fonctionnalités de la plateforme requises par la définition du poste. Si aucune valeur n'est spécifiée, elle est par défaut EC2. Pour les tâches exécutées sur des ressources FARGATE Fargate, est spécifié.

Note

Si la tâche s'exécute sur les ressources Amazon EKS, vous ne devez pas le spécifierplatformCapabilities.

Type : chaîne

Valeurs valides : EC2 | FARGATE

Obligatoire : non

Propager les tags

propagateTags

Spécifie s'il faut propager les balises de tâche ou de la définition de tâche vers la tâche Amazon ECS correspondante. Si aucune valeur n'est spécifiée, les balises ne sont pas propagées. Les balises ne peuvent être propagées aux tâches que lorsque celles-ci sont créées. Pour les balises portant le même nom, les balises de tâche ont la priorité sur les balises de définition de tâche. Si le nombre total de balises combinées entre la tâche et la définition de la tâche est supérieur à 50, la tâche est déplacée vers l'FAILEDétat.

Note

Si la tâche s'exécute sur les ressources Amazon EKS, vous ne devez pas le spécifierpropagateTags.

Type : booléen

Obligatoire : non

Propriétés du nœud

nodeProperties

Lorsque vous enregistrez une définition de tâche parallèle à nœuds multiples, vous devez spécifier une liste de propriétés de nœuds. Ces propriétés de nœud définissent le nombre de nœuds à utiliser dans votre tâche, l'index des nœuds principaux et les différentes plages de nœuds à utiliser. Si la tâche s'exécute sur les ressources Fargate, vous ne pouvez pas le spécifier. nodeProperties Utilisez à la place containerProperties. Les propriétés de nœud suivantes sont autorisées dans une définition de tâche. Pour plus d’informations, consultez Tâches parallèles sur plusieurs nœuds.

Note

Si la tâche s'exécute sur les ressources Amazon EKS, vous ne devez pas le spécifiernodeProperties.

Type : objet NodeProperties

Obligatoire : non

mainNode

Spécifie l'index de nœud pour le nœud principal d'une tâche parallèle à plusieurs nœuds. Cette valeur d'index de nœud doit être inférieure au nombre de nœuds.

Type : entier

Obligatoire : oui

numNodes

Le nombre de nœuds associé à une tâche parallèle à plusieurs nœuds.

Type : entier

Obligatoire : oui

nodeRangeProperties

Une liste des plages de nœuds et leurs propriétés associées avec une tâche parallèle à plusieurs nœuds.

Note

Un groupe de nœuds est un groupe identique de nœuds de travail qui partagent tous les mêmes propriétés de conteneur. Vous pouvez spécifier jusqu' AWS Batch à cinq groupes de nœuds distincts pour chaque tâche.

Type : Tableau d'objets de NodeRangepropriété

Obligatoire : oui

targetNodes

La plage de nœuds en utilisant les valeurs d'index de nœud. Une plage de nœuds 0:3 indique les nœuds dont les valeurs d'index sont comprises entre 0 et 3. Si la valeur de la plage de départ est omise (:n), 0 est utilisé pour démarrer la plage. Si la valeur de fin de la plage n'est pas spécifiée (n:), l'index de nœud le plus élevé possible est utilisé pour terminer la plage. Vos plages de nœuds cumulatives doivent tenir compte de tous les nœuds (0:n). Vous pouvez imbriquer des plages de nœuds, par exemple 0:10 et4:5. Dans ce cas, les propriétés 4:5 de la plage remplacent les 0:10 propriétés.

Type : chaîne

Obligatoire : non

container

Les détails du conteneur pour la plage de nœuds. Pour plus d’informations, consultez Propriétés du contenant.

Type : objet ContainerProperties

Obligatoire : non

Réessayer la stratégie

retryStrategy

Lorsque vous enregistrez une définition de tâche, vous pouvez, si vous le souhaitez, définir une stratégie de nouvelle tentative à adopter pour les tâches en échec qui sont soumises avec cette définition de tâche. Toute stratégie de nouvelle tentative spécifiée au cours d'une SubmitJobopération remplace la stratégie de nouvelle tentative définie ici. Par défaut, chaque tâche est lancée une seule fois. Si vous spécifiez plusieurs tentatives, la tâche est réessayée en cas d'échec. Parmi les exemples de tentative d'échec, citons le renvoi d'un code de sortie différent de zéro par la tâche ou l'arrêt de l'instance de conteneur. Pour plus d’informations, consultez Nouvelles tentatives de travail automatisées.

Type : objet RetryStrategy

Obligatoire : non

attempts

Nombre de fois où une tâche est passée en statut RUNNABLE. Vous pouvez indiquer entre 1 et 10 tentatives. Si attempts est supérieur à un, la tâche est relancée ce nombre de fois en cas d'échec, jusqu'à ce que son statut devienne RUNNABLE.

"attempts": integer

Type : entier

Obligatoire : non

evaluateOnExit

Tableau contenant jusqu'à 5 objets qui spécifient les conditions dans lesquelles la tâche est réessayée ou échoue. Si ce paramètre est spécifié, le paramètre attempts doit également être spécifié. Si elle evaluateOnExit est spécifiée mais qu'aucune des entrées ne correspond, la tâche est réessayée.

"evaluateOnExit": [ { "action": "string", "onExitCode": "string", "onReason": "string", "onStatusReason": "string" } ]

Type : Tableau d'objets EvaluateOnExit

Obligatoire : non

action

Spécifie l'action à exécuter si toutes les conditions spécifiées (onStatusReason, onReason et onExitCode) sont remplies. Les valeurs ne sont pas sensibles à la casse.

Type : chaîne

Obligatoire : oui

Valeurs valides : RETRY | EXIT

onExitCode

Contient un motif global à faire correspondre à la représentation décimale du résultat ExitCode renvoyé pour une tâche. Le modèle peut contenir jusqu'à 512 caractères. Il ne peut contenir que des chiffres. Il ne peut pas contenir de lettres ou de caractères spéciaux. Il peut éventuellement se terminer par un astérisque (*) ; seul le début de la chaîne doit constituer une correspondance exacte.

Type : chaîne

Obligatoire : non

onReason

Contient un motif global correspondant à Reason celui renvoyé pour une tâche. Le modèle peut contenir jusqu'à 512 caractères. Il peut contenir des lettres, des chiffres, des points (.), des points (:) et des espaces blancs (espaces, onglets). Il peut éventuellement se terminer par un astérisque (*) ; seul le début de la chaîne doit constituer une correspondance exacte.

Type : chaîne

Obligatoire : non

onStatusReason

Contient un motif global correspondant à StatusReason celui renvoyé pour une tâche. Le modèle peut contenir jusqu'à 512 caractères. Il peut contenir des lettres, des chiffres, des points (.), des points (:) et des espaces blancs (espaces, onglets). Il peut éventuellement se terminer par un astérisque (*) ; seul le début de la chaîne doit constituer une correspondance exacte.

Type : chaîne

Obligatoire : non

Priorité de planification

schedulingPriority

Priorité de planification pour les tâches soumises avec cette définition de tâche. Cela n'affecte que les tâches dans les files d'attente de tâches avec une politique de partage équitable. Les tâches avec une priorité de planification plus élevée sont planifiées avant celles dont la priorité de planification est inférieure.

La valeur minimale prise en charge est 0 et la valeur maximale prise en charge est 9999.

Type : entier

Obligatoire : non

Balises

tags

Balises de paire clé-valeur à associer à la définition de la tâche. Pour plus d’informations, consultez Balisage de vos ressources AWS Batch.

Type : mappage chaîne/chaîne

Obligatoire : non

Timeout

timeout

Vous pouvez configurer un délai d'expiration pour vos tâches de telle sorte que si une tâche dure plus longtemps, AWS Batch elle soit interrompue. Pour plus d’informations, consultez Expiration des délais d'exécution des tâches. Si une tâche est interrompue en raison d'un délai d'attente, aucune nouvelle tentative n'est faite. Toute configuration de temporisation spécifiée au cours d'une SubmitJobopération remplace la configuration de temporisation définie ici. Pour plus d’informations, consultez Expiration des délais d'exécution des tâches.

Type : objet JobTimeout

Obligatoire : non

attemptDurationSeconds

Durée en secondes (mesurée à partir de l'startedAthorodatage de la tentative de tâche) après la AWS Batch fin des tâches inachevées. La valeur minimale pour le délai d'expiration est 60 secondes.

Pour les tâches de tableau, le délai s'applique aux tâches enfants, et non à la tâche de tableau parent.

Pour les tâches parallèles à plusieurs nœuds (MNP), le délai s'applique à l'ensemble de la tâche, et non aux nœuds individuels.

Type : entier

Obligatoire : non