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
Définitions de poste qui utilisent ContainerProperties sont divisés 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 des 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 s'exécute sur les ressources Fargate ou Amazon ECS Managed Instances, alors
multinoden'est pas pris 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 : String
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" ]AWS Batch examine chaque élément du
commandtableau. Si un élément commence parRef::, AWS Batch supprime le préfixe et utilise le texte restant comme nom de paramètre. Par conséquent, chaque espace réservé pour la substitution de paramètres doit être distinctcommandélément de tableau. AWS Batch ne recherche ni ne remplace les espaces réservés incorporés dans une autre chaîne. Par exemple,s3://Ref::s3Bucket/Ref::objectKeyest transmis au conteneur tel quel.Pour construire cet URI S3 avec
bash -c, transmettez chaque espace réservé en tant qu'élément distinct du tableau de commandes et faites référence aux valeurs substituées en tant que paramètres de position dans la chaîne de commande. Par exemple :"command": [ "/bin/bash", "-c", "aws s3 cp \"s3://$1/$2\" ./input-file", "_", "Ref::s3Bucket", "Ref::objectKey" ]AWS Batch remplace
etRef::s3Bucketavant le démarrage du conteneur. LeRef::objectKey_fournitures de valeur$0, donc Bash reçoit le compartiment et la clé d'objet substitués sous la forme$1et$2.Dans le
ffmpegpar exemple, il y a,Ref::inputfile, etRef::codecespaces réservés pour la substitution de paramètres dans la commande. Vous pouvez utiliser leRef::outputfileparametersobjet 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é, 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, le
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 Docker CMDparamètre, voir 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 : String
Obligatoire : oui lorsque
environmentest utilisé. value-
Valeur de la variable d'environnement.
Type : String
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 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 FargatePlatformConfiguration
Obligatoire : non
platformVersion-
Le AWS Utilisation de la version de la plateforme Fargate pour les tâches, ou
LATESTpour utiliser une version récente et approuvée du AWS Plateforme Fargate.Type : String
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, ARM-based Les images Docker ne peuvent être exécutées que sur ARM-based ressources informatiques.
-
Les images contenues dans les référentiels publics Amazon ECR utilisent l'intégralité
registry/repository[:tag]ouregistry/repository[@digest]conventions de dénomination (par exemple,public.ecr.aws/).registry_alias/my-web-app:latest -
Les images des référentiels Amazon ECR utilisent l'intégralité
registry/repository:[tag]convention de dénomination. 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
READ,WRITE, 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 lemaxSwaple paramè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 de0empêche l'échange à moins que cela ne soit absolument nécessaire. 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, voir Volumes d'échange d'Instance Store dans le Guide de l'utilisateur d'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« | »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 : 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 (illustré dans LogConfiguration type de 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 permet le
awslogspilote de journaux. 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 de Fargate sont limitées à
awslogsetsplunkpilotes de journaux.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 du
ECS_AVAILABLE_LOGGING_DRIVERSvariable d'environnement. 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 l'Amazon CloudWatch Pilote de journalisation des journaux. Pour plus d'informations, voir Utiliser le pilote de journal awslogs et Amazon CloudWatch Pilote de journalisation des journaux
dans la documentation Docker. fluentd-
Spécifie le pilote de journalisation Fluentd. Pour plus d'informations, notamment sur l'utilisation et les options, voir 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, voir 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, voir 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, voir 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, voir 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, voir 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 qui est disponible sur GitHub
et personnalisez-le 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é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 dans le même Région AWS comme tâche que vous lancez, vous pouvez utiliser soit l'ARN complet, soit 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, utilisez
resourceRequirementsau lieu de cela.Nombre de Mo de mémoire réservés pour la tâche.
À titre d'exemple pour savoir comment utiliser
resourceRequirements, si votre définition de poste contient une syntaxe similaire à la suivante."containerProperties": { "memory":512}La syntaxe équivalente utilisant
resourceRequirementsest le suivant."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 : String
Obligatoire : oui lorsque
mountPointsest utilisé. containerPath-
Le chemin du conteneur sur lequel monter le volume hôte.
Type : String
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 : String
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 : String
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, consultez Gestion de la mémoire des ressources informatiques.
Pour les tâches exécutées sur les ressources Fargate, alors
valuedoit correspondre à l'une des valeurs prises en charge. De plus, leVCPUles valeurs 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
2 048 à 8192 MiB par incréments de 1 024 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 les ressources de Fargate,
valuedoit correspondre à l'une des valeurs prises en charge etMEMORYles valeurs 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 pour le Fargate On-Demand Le quota de ressources vCPU est de 6 vCPU. 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 : String
Obligatoire : oui lorsque
resourceRequirementsest utilisé.
runtimePlatform-
Un objet qui représente l'architecture de l'environnement de calcul pour AWS Batch emplois. Ce paramètre s'applique aux tâches qui s'exécutent sur AWS Ressources sur Fargate et Amazon ECS Managed Instances.
"runtimePlatform": { "cpuArchitecture": "string", "operatingSystemFamily": "string" }Type : objet RuntimePlatform
Obligatoire : non
cpuArchitecture-
L'architecture vCPU. La valeur par défaut est
X86_64.Note
Ce paramètre doit être défini sur
X86_64pour les conteneurs Windows.Type : String
Valeurs valides :
X86_64|ARM64Obligatoire : non
operatingSystemFamily-
Système d'exploitation de l'environnement informatique.
Note
Les paramètres suivants ne peuvent pas être définis pour les conteneurs Windows :
linuxParameters,privileged,user,ulimits,readonlyRootFilesystem, etefsVolumeConfiguration.Type : String
Valeurs valides :
LINUX|WINDOWS_SERVER_2019_CORE|WINDOWS_SERVER_2019_FULL|WINDOWS_SERVER_2022_CORE|WINDOWS_SERVER_2022_FULLObligatoire : non
secrets-
Les secrets de la tâche qui sont exposés sous forme de variables d'environnement. Pour plus d’informations, consultez 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 : String
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 dans le même Région AWS en tant que tâche que vous lancez, vous pouvez utiliser soit l'ARN complet, soit le nom du paramètre. Si le paramètre existe dans une autre région, l'ARN complet doit être spécifié.
Type : String
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 : String
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, utilisez
resourceRequirementsau lieu de cela.Nombre de processeurs virtuels réservés pour le conteneur.
À titre d'exemple pour savoir comment utiliser
resourceRequirements, si votre définition de poste contient des lignes similaires à celles-ci :"containerProperties": { "vcpus":2}Les lignes équivalentes utilisant
resourceRequirementsest le suivant."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 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
EFSVolumeConfigurationdoit être omis ou défini 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 AWS Batch rôle IAM de 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 plus d’informations, consultez Utiliser les points d'accès Amazon EFS.Type : String
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 spécifiez
/, cela a le même effet que d'omettre 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 : String
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 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 de Kubernetes les ressources 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 àargsmembre du Point d'entréepartie du Nacelle dans 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, voir CMDdans le Référence Dockerfile et Définir une commande et des arguments pour un pod dans le Kubernetes documentation. 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, voir POINT D'ENTRÉEdans le Référence Dockerfile et Définir une commande et des arguments pour un conteneur et Point d'entrée dans le Kubernetes documentation. 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 ensembles.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, voir Mise à jour des imagesdans le 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, voir Gestion des ressources pour les pods et les conteneursdans le 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, 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.
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, voir Configurer un contexte de sécurité pour un pod ou un conteneur
dans le 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 durootautorisations des utilisateurs. La valeur par défaut estfalse. Ce paramètre correspond àprivilegedpolitique dans le Politiques de sécurité des pods privilégiésdans le 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 àReadOnlyRootFilesystempolitique dans le Politiques de sécurité des modules de volumes et de systèmes de fichiersdans le 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 àRunAsGroupetMustRunAspolitique dans le Politiques de sécurité du module Utilisateurs et groupesdans le Kubernetes documentation. 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 àRunAsUseretMustRunAsNonRootpolitique dans le Politiques de sécurité du module Utilisateurs et groupesdans le Kubernetes documentation. 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 àRunAsUseretMustRanAspolitique dans le Politiques de sécurité du module Utilisateurs et groupesdans le Kubernetes documentation. 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 volume dans Kubernetes, voir Volumes
dans le 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ée pourdnsPolicydans le RegisterJobDefinition Fonctionnement de l'API, aucune valeur n'est renvoyée pourdnsPolicypar l'un ou l'autre DescribeJobDefinitions ou DescribeJobs Opérations d'API. Le paramètre de spécification du pod contientClusterFirstouClusterFirstWithHostNet, selon la valeur du paramètrehostNetwork. Pour plus d'informations, voir Politique DNS de Poddans le 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égler ce paramètre surfalsepermet le Kubernetes modèle de réseau pod. La plupart AWS Batch les 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, voir Espaces de noms d'hôteset Mise en réseau des pods dans le Kubernetes documentation. Type : booléen
Obligatoire : non
serviceAccountName-
Nom du compte de service utilisé pour exécuter le pod. Pour plus d'informations, voir Kubernetes comptes de service et Configurez un Kubernetes compte de service pour assumer un rôle IAM dans le Guide de l'utilisateur d'Amazon EKS et Configurer les comptes de service pour les pods
dans le 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, voir Répertoire videdans le 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 : String
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, voir HostPathdans le 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, voir Noms de sous-domaines DNS
dans le Kubernetes documentation. Type : chaîne
Obligatoire : oui
- secret
-
Spécifie la configuration d'un Kubernetes
secretvolume. Pour plus d'informations, voir secretdans le 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, voir Noms de sous-domaines DNS
dans le 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 exécutées sur les ressources de Fargate,FARGATEest spécifié. Pour les tâches exécutées sur des instances gérées Amazon ECS,MANAGED_INSTANCESest spécifié.Emplois chez
MANAGED_INSTANCESla capacité de la plate-forme doit utiliserecsProperties(pascontainerProperties) et ne prennent pas en charge les tâches parallèles multi-nœuds. Pour plus d’informations, consultez Définitions des tâches sur les instances gérées Amazon ECS.Note
Si la tâche s'exécute sur les ressources Amazon EKS, vous ne devez pas spécifier
platformCapabilities.Type : String
Valeurs valides :
EC2|FARGATE|MANAGED_INSTANCESObligatoire : 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 le
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 la tâche s'exécute sur les ressources Fargate, vous ne pouvez pas spécifier
nodeProperties. Utilisez à la placecontainerProperties. Les propriétés de nœud suivantes sont autorisées dans une définition de tâche. Pour plus d’informations, consultez 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 utiliser AWS Batch pour spécifier jusqu'à 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), puis 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, le4:5les propriétés de la plage remplacent0:10proprié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 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 lors d'une SubmitJob operation 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 plus d’informations, consultez 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'à 6 objets qui spécifient les conditions dans lesquelles AWS Batch recommence ou échoue. Si ce paramètre est spécifié, le paramètre
attemptsdoit également être spécifié. SievaluateOnExitest spécifié mais aucune des entrées ne correspond, puis 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 motif globulaire correspondant à la représentation décimale du
ExitCodequi est retourné pour un travail. 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 motif en forme de globe correspondant à
Reasonqui est retourné pour un travail. 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 motif en forme de globe correspondant à
StatusReasonqui est retourné pour un travail. 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 plus d’informations, consultez 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 met fin au travail. Pour plus d’informations, consultez 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 operation remplace la configuration du délai d'attente définie ici. Pour plus d’informations, consultez Délais d'exécution des tâches.
Type : objet JobTimeout
Obligatoire : non
attemptDurationSeconds-
La durée en secondes (mesurée à partir de la tentative de tâche)
startedAthorodatage) après AWS Batch met fin à des travaux inachevés. 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