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 des tâches pour ContainerProperties
Les définitions de poste utilisées ContainerProperties sont divisées en plusieurs parties :
Le nom de la définition du poste
Le type de définition du poste
L'espace réservé pour la substitution de paramètres est défini par défaut
Les propriétés du conteneur pour la tâche
-
Les propriétés Amazon EKS pour la définition de tâche qui sont nécessaires pour les tâches exécutées sur les ressources Amazon EKS
Les propriétés de nœud nécessaires pour une tâche parallèle à plusieurs nœuds
Les fonctionnalités de la plateforme nécessaires aux tâches exécutées sur les ressources de 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 tâche
Priorité de planification par défaut pour la définition de tâche
Les balises par défaut pour la définition du poste
Le délai d'expiration par défaut pour la définition de tâche
Table des matières
Nom de la définition du poste
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 poste 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 est exécutée sur les ressources de Fargate, elle
multinoden'est pas prise en charge. 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 à nœuds multiples.Type : Chaîne
Valeurs valides :
container|multinodeObligatoire : oui
Parameters
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 la soumission.
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
commanddes 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::inputfileetRef::codecn'est présent dans la commande. Vous pouvez utiliser l'Ref::outputfileparametersobjet de 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é, vous précisez les éléments suivants dans la définition de tâche :Ref::codec"parameters" : {"codec" : "mp4"}Lorsque cette définition de tâche est soumise pour exécution, l'
argument de la commande pour le conteneur est remplacé par la valeur par défaut,Ref::codecmp4.
Propriétés du conteneur
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 à
Cmddans la section Create a container (Création d'un conteneur)de Docker Remote API (API distante Docker) et au paramètre COMMANDde docker run. Pour plus d'informations sur le CMDparamètre Docker, 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 à
Envdans la section Create a container(Créer un conteneur) de l'API Docker à distance et l'option --envcorrespond à 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 par
AWS_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
environmentest utilisé. value-
Valeur de la variable d'environnement.
Type : Chaîne
Obligatoire : oui lorsque
environmentest 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 confère à l'agent de conteneur Amazon ECS les autorisations nécessaires pour 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 de plus amples informations, veuillez consulter 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 FargatePlatformConfiguration
Obligatoire : non
platformVersion-
La version de la plateforme AWS Fargate utilisée pour les jobs, ou
LATESTpour utiliser une version récente et approuvée de la plateforme AWS Fargate.Type : Chaîne
Par défaut:
LATESTObligatoire : non
image-
L'image utilisée pour démarrer une tâche. Cette chaîne est transmise directement au démon Docker. Les images du registre Docker Hub sont disponibles par défaut. Vous pouvez également spécifier d'autres référentiels avec
. 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 àrepository-url/image:tagImagedans la section Create a container(Création d'un conteneur) de Docker Remote API (L'API Docker à distance) et le paramètre IMAGEde docker run. Note
L'architecture des images Docker doit correspondre à l'architecture du processeur des ressources de calcul sur lesquelles elles sont planifiées. Par exemple, les images ARM-based Docker ne peuvent être exécutées que sur des ressources de ARM-based calcul.
-
Les images des référentiels publics Amazon ECR utilisent les conventions complètes
registry/repository[:tag]ou deregistry/repository[@digest]dénomination (par exemple,public.ecr.aws/).registry_alias/my-web-app:latest -
Les images des 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,
ubuntuoumongo). -
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 les 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-
Linux-specific les modifications appliquées au conteneur, telles que les détails des mappages de périphériques.
"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 à
Devicesdans 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 par lequel l'appareil est exposé dans le conteneur est. Si cela n'est pas spécifié, le périphérique est exposé sur le même chemin que le chemin 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
initdans le conteneur afin de transmettre des signaux et de récolter les processus. Ce paramètre est mappé à l'option--initde 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-swapde 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-swapde la documentation Docker. Si la valeur
0est spécifiée pourmaxSwap, le conteneur n'utilise pas l'échange. Les valeurs acceptées sont0ou n'importe quel nombre entier positif. Si lemaxSwapparamètre est omis, le conteneur utilise la configuration d'échange pour l'instance de conteneur sur laquelle il s'exécute. Une valeurmaxSwapdoit être définie pour que le paramètreswappinesssoit utilisé.Note
Ce paramètre ne s'applique pas aux tâches exécutées sur les ressources Fargate.
Type : Integer
Obligatoire : non
sharedMemorySize-
Valeur correspondant à la taille (en Mio) du volume
/dev/shm. Ce paramètre est mappé à l'option--shm-sizede docker run. Note
Ce paramètre ne s'applique pas aux tâches exécutées sur les ressources Fargate.
Type : Integer
Obligatoire : non
swappiness-
Vous pouvez utiliser ce paramètre pour régler le comportement d'échange de mémoire d'un conteneur. Une
swappinessvaleur indiquant que l'0échange n'a pas lieu sauf en cas d'absolue nécessité. Avec la valeurswappinesspour100, l'échange de pages a lieu de manière agressive. Les valeurs acceptées sont les nombres entiers compris entre0et100. Si le paramètreswappinessn'est pas spécifié, la valeur par défaut60est utilisée. Si aucune valeur n'est spécifiée pourmaxSwap, le paramètre est ignoré. SimaxSwapest défini sur 0, le conteneur n'a pas recours à l'échange. Ce paramètre est mappé à l'option--memory-swappinessde 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 d'échange 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
maxSwapetswappinesssont omis d'une définition de tâche, chaque conteneur a une valeurswappinesspar 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 : Integer
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"|" |norelatimestrictatime"» | «nostrictatime| » |mode« |uid« » |gid« » |nr_inodes«nr_blocks» | «mpol»Type : tableau de chaînes
Obligatoire : non
size-
Taille (en Mio) du volume tmpfs.
Type : Integer
Obligatoire : oui
logConfiguration-
La spécification de configuration du journal pour la tâche.
Ce paramètre correspond à
LogConfigdans 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. Cependant, le conteneur peut utiliser un pilote de journalisation différent de celui du démon Docker en spécifiant un pilote de journalisation 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 journalisation 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és dans le type de LogConfiguration données).
Ce paramètre nécessite la version 1.18 de l'API Docker Remote ou une version ulté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. Par défaut, AWS Batch active le pilote de
awslogsjournalisation. 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 à
LogConfigdans 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 jobs utilisent le même pilote de journalisation que celui utilisé par le démon Docker. Toutefois, la tâche peut utiliser un pilote de journalisation différent de celui du démon Docker en spécifiant un pilote de journalisation 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 de l'environnement informatique. Vous pouvez également le configurer sur un autre serveur de journalisation 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,syslogetsplunk.Note
Les tâches exécutées sur les ressources Fargate sont limitées aux pilotes
awslogset aux pilotes desplunkjournalisation.Ce paramètre nécessite la version 1.18 de l'API Docker Remote ou une version ulté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 auprès de la variable d'
ECS_AVAILABLE_LOGGING_DRIVERSenvironnement. Sinon, les conteneurs placés sur cette instance ne peuvent pas utiliser ces options de configuration de 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 Utiliser le pilote de journal awslogs de CloudWatch journalisation Amazon 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 l'utilisation et les 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 des 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|syslogNote
Si vous disposez d'un pilote personnalisé qui ne figure pas dans la liste précédente 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 de plus amples informations, veuillez consulter Spécifier les données sensibles.
Type : tableau d’objets
Obligatoire : non
name-
Nom de l'option du pilote de journalisation à définir dans la tâche.
Type : Chaîne
Obligatoire : oui
valueFrom-
Le nom de ressource Amazon (ARN) du secret à exposer au journal de configuration 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 en même temps Région AWS 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,
resourceRequirementsutilisez-le à la place.Nombre de Mo de mémoire réservés pour la tâche.
À titre d'exemple d'utilisation
resourceRequirements, si votre définition de tâche contient une syntaxe similaire à la suivante."containerProperties": { "memory":512}La syntaxe équivalente utilisée
resourceRequirementsest la suivante."containerProperties": { "resourceRequirements": [ { "type": "MEMORY", "value": "512" } ] }Type : Integer
Obligatoire : oui
mountPoints-
Points de montage des volumes de données dans votre conteneur. Ce paramètre correspond à
Volumesdans la section Create a container(Créer un conteneur) de l'API Docker à distance et l'option --volumecorrespond à 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
mountPointsest utilisé. containerPath-
Le chemin du conteneur sur lequel monter le volume hôte.
Type : Chaîne
Obligatoire : oui lorsque
mountPointsest utilisé. readOnly-
Si cette valeur est
true, le conteneur ne peut accéder au volume qu'en lecture. Si cette valeur estfalse, 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|DISABLEDObligatoire : non
Valeur 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 àPrivilegeddans la section Create a container(Créer un conteneur) de l'API Docker à distance et l'option --privilegedcorrespond à docker run. Ce paramètre ne s'applique pas aux tâches exécutées sur les ressources Fargate. Ne le fournissez pas ou ne le spécifiez pas comme faux. "privileged":true|falseType : 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 à
ReadonlyRootfsdans la section Create a container(Créer un conteneur) de l'API Docker à distance et l'option --read-onlycorrespond à docker run. "readonlyRootFilesystem":true|falseType : booléen
Obligatoire : non
resourceRequirements-
Type et quantité d'une ressource à attribuer à un conteneur. Les ressources prises en charge comprennent
GPU,MEMORYetVCPU."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,MEMORYetVCPU.Type : Chaîne
Obligatoire : oui lorsque
resourceRequirementsest utilisé. value-
La quantité de la ressource spécifiée à réserver pour le conteneur. Les valeurs varient en fonction du
typespé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 à
Memorydans 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 à Memorydans la section Create a container(Créer un conteneur) de Docker Remote API tandis que l'option --memorycorrespond à 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, consultezGestion de la mémoire des ressources informatiques.
Pour les tâches exécutées sur les ressources Fargate, elles
valuedoivent correspondre à l'une des valeurs prises en charge. De plus, lesVCPUvaleurs doivent être l'une des valeurs prises en charge pour cette valeur de mémoire.VCPUMEMORYprocesseur virtuel 0,25
512, 1024 et 2048 MiB
0,5 processeur virtuel
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
32 processeurs virtuels
61440, 122880 et 249856 MiB
- type="VCPU"
-
Le nombre de vCPU réservés pour la tâche. Ce paramètre correspond à
CpuSharesdans la section Create a container(Créer un conteneur) de Docker Remote API tandis que l'option --cpu-sharescorrespond à 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 processeur virtuel. Ceci 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 Fargate, elles
valuedoivent correspondre à l'une des valeurs prises en charge et lesMEMORYvaleurs doivent être 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, 16 et 32.La valeur par défaut du quota de ressources du On-Demand processeur virtuel Fargate est de 6 processeurs virtuels. Pour plus d'informations sur les quotas Fargate, voir AWS Quotas Fargate dans le. Référence générale d'Amazon Web Services
Type : Chaîne
Obligatoire : oui lorsque
resourceRequirementsest utilisé.
secrets-
Les secrets de la tâche qui sont exposés sous forme de variables d'environnement. Pour de plus amples informations, veuillez consulter Spécifier les données sensibles.
"secrets": [ { "name": "secretName1", "valueFrom": "secretArn1" }, { "name": "secretName2", "valueFrom": "secretArn2" } ... ]Type : tableau d'objets
Obligatoire : non
name-
Le nom de la variable d'environnement qui contient le secret.
Type : Chaîne
Obligatoire : oui lorsque
secretsest utilisé. valueFrom-
Secret à exposer au conteneur. Les valeurs prises en charge sont soit le nom de ressource Amazon complet (ARN) 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 en même temps Région AWS 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
secretsest utilisé.
ulimits-
Une liste de valeurs
ulimitsà définir dans le conteneur. Ce paramètre correspond àUlimitsdans la section Create a container(Créer un conteneur) de l'API Docker à distance et l'option --ulimitcorrespond à docker run. "ulimits": [ { "name":string, "softLimit":integer, "hardLimit":integer} ... ]Type : tableau d'objets
Obligatoire : non
name-
Le
typed'ulimit.Type : Chaîne
Obligatoire : oui lorsque
ulimitsest utilisé. hardLimit-
La limite stricte du type
ulimit.Type : Integer
Obligatoire : oui lorsque
ulimitsest utilisé. softLimit-
La limite flexible du type
ulimit.Type : Integer
Obligatoire : oui lorsque
ulimitsest utilisé.
user-
Le nom utilisateur à utiliser à l'intérieur du conteneur. Ce paramètre correspond à
Userdans la section Create a container(Créer un conteneur) de l'API Docker à distance et l'option --usercorrespond à docker run. "user": "string"Type : chaîne
Obligatoire : non
vcpus-
Ce paramètre est obsolète,
resourceRequirementsutilisez-le à la place.Nombre de processeurs virtuels réservés pour le conteneur.
À titre d'exemple d'utilisation
resourceRequirements, si votre définition de poste contient des lignes similaires à celles-ci :"containerProperties": { "vcpus":2}Les lignes équivalentes utilisées
resourceRequirementssont les suivantes."containerProperties": { "resourceRequirements": [ { "type": "VCPU", "value": "2" } ] }Type : Integer
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. Jusqu'à 255 lettres (majuscules et minuscules), chiffres, traits d'union et traits de soulignement sont autorisés. Ce nom est référencé dans le
sourceVolumeparamètre de définition de conteneurmountPoints.Type : chaîne
Obligatoire : non
host-
Le contenu du paramètre
hostdétermine si le volume de données persiste sur l'instance de conteneur hôte et où il est stocké. Si le paramètrehostest vide, le daemon Docker attribue un chemin hôte pour votre volume de données. Cependant, la persistance des données n'est pas garantie après l'arrêt de l'exécution du conteneur qui leur est associé.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
hostcontient un emplacement de fichiersourcePath, 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 valeursourcePathn'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 de plus amples informations, veuillez consulter 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
EFSVolumeConfigurationdoit ê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é dansEFSVolumeConfiguration. 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éfautDISABLEDest utilisée. Pour de plus amples informations, veuillez consulter Utiliser les points d'accès Amazon EFS.Type : Chaîne
Valeurs valides :
ENABLED|DISABLEDObligatoire : 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 le
authorizationConfig, 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
DISABLEDest 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|DISABLEDObligatoire : 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 : Integer
Obligatoire : non
Propriétés 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 pod 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
CMDde l'image de conteneur est utilisée. Cela correspond auargsmembre situé dans la partieEntrypoint du Pod . 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'environnementNAME1n'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'environnementVAR_NAMEexiste ou non. Pour plus d'informations, consultez CMDdans la référence Dockerfile et Définissez 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
ENTRYPOINTde 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'environnementNAME1n'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'environnementVAR_NAMEexiste ou non. Ce point d'entrée ne peut pas être mis à jour. Pour plus d'informations, consultez ENTRYPOINTdans la référence Dockerfile et Définissez une commande et des arguments pour un conteneur et https://kubernetes.io/docs/reference/kubernetes-api/workload-resources/pod-v1/#entrypoint 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 qui AWS Batch définissent.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,IfNotPresentetNever. Ce paramètre a pour valeur par défautIfNotPresent. Toutefois, si la balise:latestest spécifiée, elle prend par défaut la valeurAlways. Pour plus d'informations, consultez la section Mise à jour des imagesdans la Kubernetes documentation. 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,cpuetnvidia.com/gpu. Pour plus d'informations, consultez la section Gestion des ressources pour les pods et les conteneursdans la Kubernetes documentation. 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
namespécifié. Les ressources peuvent être demandées à l'aide des objetslimitsourequests.- 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
memorypeut être spécifiée danslimits,requestsou les deux. Simemoryest spécifié dans les deux, la valeur spécifiée danslimitsdoit être égale à la valeur spécifiée dansrequests.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, consultez Gestion de la mémoire des ressources informatiques.
- cpu
-
Nombre de processeurs réservés pour le conteneur. Les valeurs doivent correspondre à un multiple pair de
0.25. Lecpupeut être spécifié danslimits,requestsou les deux. Si lecpuest spécifié dans les deux, la valeur spécifiée danslimitsdoit être au moins égale à la valeur spécifiée dansrequests. - nvidia. com/gpu
-
Nombre de GPU réservés pour le conteneur. Les valeurs doivent correspondre à un entier.
memorypeut être spécifié danslimits,requestsou les deux. Simemoryest spécifié dans les deux, la valeur spécifiée danslimitsdoit être égale à la valeur spécifiée dansrequests.
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
namespécifié. Les ressources peuvent être demandées à l'aide des objetslimitsourequests.- 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
memorypeut être spécifiée danslimits,requestsou les deux. Simemoryest spécifié dans les deux, la valeur spécifiée danslimitsdoit être égale à la valeur spécifiée dansrequests.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, consultezGestion de la mémoire des ressources informatiques.
- cpu
-
Nombre de processeurs réservés pour le conteneur. Les valeurs doivent correspondre à un multiple pair de
0.25. Lecpupeut être spécifié danslimits,requestsou les deux. Si lecpuest spécifié dans les deux, la valeur spécifiée danslimitsdoit être au moins égale à la valeur spécifiée dansrequests. - nvidia. com/gpu
-
Nombre de GPU réservés pour le conteneur. Les valeurs doivent correspondre à un entier.
nvidia.com/gpupeut être spécifié danslimits,requestsou les deux. Sinvidia.com/gpuest spécifié dans les deux, la valeur spécifiée danslimitsdoit être égale à la valeur spécifiée dansrequests.
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 Kubernetes documentation. 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 desrootutilisateurs. La valeur par défaut estfalse. Ce paramètre correspond à laprivilegedpolitique décrite dans les politiques de sécurité du podPrivileged de la Kubernetes documentation. 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 estfalse. Ce paramètre correspond à laReadOnlyRootFilesystempolitique définie dans les politiques de sécurité du module Volumes et systèmes de fichiersde la Kubernetes documentation. 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 auxRunAsGroupMustRunAspolitiques de sécurité du module Utilisateurs et groupes de la Kubernetes documentation età leur politique. Type : Long
Obligatoire : non
runAsNonRoot-
Lorsque ce paramètre est spécifié, le conteneur est exécuté en tant qu'utilisateur avec un
uidautre que 0. Si ce paramètre n'est pas spécifié, cette règle est appliquée. Ce paramètre correspond auxRunAsUserMustRunAsNonRootpolitiques de sécurité du module Utilisateurs et groupes de la Kubernetes documentation età leur politique. 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 auxRunAsUserMustRanAspolitiques de sécurité du module Utilisateurs et groupes de la Kubernetes documentation età leur politique. 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
dans la Kubernetes documentation. 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 estfalse.Type : booléen
Obligatoire : non
dnsPolicy-
Stratégie DNS du pod. La valeur par défaut est
ClusterFirst. Si le paramètrehostNetworkn'est pas spécifié, la valeur par défaut estClusterFirstWithHostNet.ClusterFirstindique 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éednsPolicydans l'opération d'RegisterJobDefinitionAPI, aucune valeur n'est renvoyéednsPolicypar l'une DescribeJobDefinitions ou l'autre des opérations d'DescribeJobsAPI. Le paramètre de spécification du pod contientClusterFirstouClusterFirstWithHostNet, selon la valeur du paramètrehostNetwork. Pour plus d'informations, consultez la politique DNS de Poddans la Kubernetes documentation. Valeurs valides :
Default|ClusterFirst|ClusterFirstWithHostNetType : 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. Réglez cette option pourfalseactiver le modèle de mise en réseau des Kubernetes pods. La plupart AWS Batch des charges de travail sont uniquement sortantes et ne nécessitent pas la surcharge d'allocation IP pour chaque pod pour les connexions entrantes. Pour plus d'informations, consultez la section Espaces de noms des hôteset mise en réseau des pods dans la Kubernetes documentation. Type : booléen
Obligatoire : non
serviceAccountName-
Nom du compte de service utilisé pour exécuter le pod. Pour plus d'informations, consultez les sections Comptes de Kubernetes service et Configuration d'un compte de Kubernetes service pour qu'il assume un rôle IAM dans le Guide de l'utilisateur Amazon EKS et Configuration des comptes de service pour les pods
dans la Kubernetes documentation. 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
- Répertoire vide
-
Spécifie la configuration d'un Kubernetes
emptyDirvolume. Un volumeemptyDirest créé pour la première fois lorsqu'un pod est attribué à un nœud. Il existe tant que ce pod s'exécute sur ce nœud. Le volumeemptyDirest initialement vide. Tous les conteneurs du pod peuvent lire et écrire les fichiers du volumeemptyDir. Toutefois, le volumeemptyDirpeut ê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 duemptyDirsont définitivement supprimées. Pour plus d'informations, consultez EmptyDirdans 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
tmpfssoutenu 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
- HostPath
-
Spécifie la configuration d'un Kubernetes
hostPathvolume. Un volumehostPathmonte 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 HostPathdans la Kubernetes documentation. 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 Kubernetes documentation. Type : Chaîne
Obligatoire : oui
- secret
-
Spécifie la configuration d'un Kubernetes
secretvolume. Pour plus d'informations, voir secretdans la Kubernetes documentation. Type : objet EksSecret
Obligatoire : non
- facultatif
-
Spécifie si le secret ou ses clés doivent être définies.
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 Kubernetes documentation. 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 qui s'exécutent sur les ressources Fargate,FARGATEest spécifié.Note
Si la tâche s'exécute sur les ressources Amazon EKS, vous ne devez pas spécifier
platformCapabilities.Type : Chaîne
Valeurs valides :
EC2|FARGATEObligatoire : non
Propager les balises
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 de la tâche et de 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 spécifier
propagateTags.Type : booléen
Obligatoire : non
Propriétés du nœud
nodeProperties-
Lorsque vous enregistrez une définition de tâche parallèle multi-nœuds, vous devez spécifier une liste de propriétés de nœud. Ces propriétés de nœud définissent le nombre de nœuds à utiliser dans votre tâche, l'index de nœud principal et les différentes plages de nœuds à utiliser. Si le job s'exécute sur les ressources Fargate, vous ne pouvez pas le spécifier.
nodePropertiesUtilisez à la placecontainerProperties. Les propriétés de nœud suivantes sont autorisées dans une définition de tâche. Pour de plus amples informations, veuillez consulter Multi-node emplois parallèles.Note
Si la tâche s'exécute sur les ressources Amazon EKS, vous ne devez pas spécifier
nodeProperties.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 : Integer
Obligatoire : oui
numNodes-
Le nombre de nœuds associé à une tâche parallèle à plusieurs nœuds.
Type : Integer
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 constitue un groupe identique de nœuds de tâches 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 NodeRangeProperty
Obligatoire : oui
targetNodes-
La plage de nœuds, en utilisant les valeurs d'index des nœuds. Une plage de nœuds
0:3indique les nœuds dont les valeurs d'index sont comprises entre0et3. 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 exemple0:10et4:5. Dans ce cas, les propriétés4:5de la plage remplacent les0:10propriétés.Type : chaîne
Obligatoire : non
container-
Les détails du conteneur pour la plage de nœuds. Pour de plus amples informations, veuillez consulter Propriétés du conteneur.
Type : objet ContainerProperties
Obligatoire : non
Stratégie de nouvelle tentative
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 SubmitJob opé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 fait que la tâche renvoie un code de sortie différent de zéro ou que l'instance de conteneur est terminée. Pour de plus amples informations, veuillez consulter Reprises 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. Siattemptsest supérieur à un, la tâche est relancée ce nombre de fois en cas d'échec, jusqu'à ce que son statut devienneRUNNABLE."attempts":integerType : Integer
Obligatoire : non
evaluateOnExit-
Tableau contenant jusqu'à 5 objets qui spécifient les conditions dans lesquelles la tâche est réessayée ou a échoué. Si ce paramètre est spécifié, le paramètre
attemptsdoit également être spécifié. S'ilevaluateOnExitest spécifié 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,onReasonetonExitCode) sont remplies. Les valeurs ne sont pas sensibles à la casse.Type : Chaîne
Obligatoire : oui
Valeurs valides :
RETRY|EXIT onExitCode-
Contient un schéma globulaire correspondant à la représentation décimale de la valeur
ExitCoderenvoyée 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 ni 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 schéma globulaire correspondant à
Reasoncelui renvoyé pour une tâche. Le modèle peut contenir jusqu'à 512 caractères. Il peut contenir des lettres, des chiffres, des points (.), des deux-points (:) et des espaces (espaces, tabulations). 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 schéma globulaire correspondant à
StatusReasoncelui renvoyé pour une tâche. Le modèle peut contenir jusqu'à 512 caractères. Il peut contenir des lettres, des chiffres, des points (.), des deux-points (:) et des espaces (espaces, tabulations). 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 ne concerne que les emplois en attente d'emploi dans le cadre d'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 : Integer
Obligatoire : non
Étiquettes
tags-
Key-value paires de balises à associer à la définition du poste. Pour de plus amples informations, veuillez consulter Marquez vos AWS Batch ressources.
Type : mappage chaîne/chaîne
Obligatoire : non
Timeout
timeout-
Vous pouvez configurer une durée d'expiration pour vos tâches de sorte que si une tâche s'exécute plus longtemps que cela, AWS Batch elle soit terminée. Pour de plus amples informations, veuillez consulter Délais d'exécution des tâches. Si une tâche est interrompue en raison d'un délai d'attente, elle n'est pas réessayée. Toute configuration de temporisation spécifiée au cours d'une SubmitJob opération remplace la configuration de temporisation définie ici. Pour de plus amples informations, veuillez consulter 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 : Integer
Obligatoire : non