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.
Créez une définition de tâche à nœud unique avec plusieurs conteneurs sur les ressources Amazon EC2
Procédez comme suit pour créer une définition de tâche à nœud unique avec plusieurs conteneurs sur les ressources Amazon Elastic Compute Cloud (Amazon EC2).
Pour créer une nouvelle définition de tâche sur Amazon EC2 Resources, procédez comme suit :
-
Ouvrez la AWS Batch console à l'adresse https://console.aws.amazon.com/batch/
. -
Dans la barre de navigation, choisissez le Région AWS à utiliser.
-
Dans le volet de navigation, choisissez Définitions de tâches.
-
Choisissez Créer.
-
Pour le type d'orchestration, choisissez Amazon Elastic Compute Cloud (Amazon EC2).
-
Pour la structure de définition du Job, désactivez le traitement de la structure Use legacy ContainerProperties.
-
Pour la configuration de la EC2 plate-forme, désactivez l'option Activer le traitement parallèle à nœuds multiples.
-
Choisissez Suivant.
Dans la section Configuration générale, entrez ce qui suit :
-
Dans Nom, entrez un nom unique pour votre définition de tâche. 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 (_).
-
Pour Execution timeout (facultatif), entrez la valeur du délai (en secondes). Le délai d'exécution est le délai avant la fin d'une tâche inachevée. Si une tentative dépasse le délai imparti, elle est arrêtée et passe à un
FAILEDstatut. Pour de plus amples informations, veuillez consulter Délais d'expiration des tâches. La valeur minimale est 60 secondes. -
Activez la priorité de planification (facultatif). Entrez une valeur de priorité de planification comprise entre 0 et 100. Les valeurs les plus élevées reçoivent une priorité plus élevée.
-
Développer les balises : facultatif, puis choisissez Ajouter une balise pour ajouter des balises à la ressource. Entrez une clé et une valeur facultative, puis choisissez Add tag (Ajouter une balise).
-
Activez les balises de propagation pour propager les balises de la tâche et de la définition de la tâche vers la tâche Amazon ECS.
-
Dans la section Stratégie de réessayer - facultatif, entrez ce qui suit :
-
Pour les tentatives de tâche, entrez le nombre de AWS Batch tentatives de transfert de la tâche vers le
RUNNABLEstatut. Entrez un nombre compris entre 1 et 10. -
Pour les conditions de la stratégie Réessayer, choisissez Ajouter une évaluation à la sortie. Entrez au moins une valeur de paramètre, puis choisissez une action. Pour chaque ensemble de conditions, l'action doit être définie sur Réessayer ou sur Quitter. Ces actions signifient ce qui suit :
-
Réessayer — AWS Batch Réessaie jusqu'à ce que le nombre de tentatives de travail que vous avez spécifié soit atteint.
-
Quitter : AWS Batch arrête de réessayer la tâche.
Important
Si vous choisissez Ajouter une évaluation à la sortie, vous devez configurer au moins un paramètre et soit choisir une action, soit choisir Supprimer l'évaluation à la sortie.
-
-
Dans la section Propriétés de la tâche, entrez les informations suivantes :
-
Pour Rôle d'exécution - conditionnel, choisissez un rôle pour autoriser les agents Amazon ECS à effectuer des appels d' AWS API en votre nom. Pour plus d'informations sur la création d'un rôle d'exécution, consultezTutoriel : Création du rôle d'exécution IAM.
-
Choisissez la commande Enable ECS execute pour permettre l'accès direct au shell du conteneur Amazon ECS et contourner le système d'exploitation hôte. Vous devez choisir un rôle de tâche.
Important
La commande ECS execute nécessite que le système de fichiers soit accessible en écriture.
-
Pour le rôle Task, choisissez un rôle Amazon ECS Identity and Access Management (IAM) pour autoriser le conteneur à effectuer des appels d' AWS API en votre nom. Pour plus d'informations, consultez le rôle IAM de la tâche Amazon ECS dans le manuel du développeur Amazon Elastic Container Service.
-
Pour le mode IPC
host, sélectionneztask, ounone. Si cette optionhostest spécifiée, tous les conteneurs inclus dans les tâches qui ont spécifié le mode IPC hôte sur la même instance de conteneur partagent les mêmes ressources IPC avec l'instance Amazon EC2 hôte. Si une tâche est spécifiée, tous les conteneurs qui se trouvent dans la tâche spécifiée partagent les mêmes ressources IPC. Si aucune n'est spécifiée, les ressources IPC présentes dans les conteneurs d'une tâche sont privées et ne sont pas partagées avec les autres conteneurs d'une tâche ou de l'instance de conteneur. Si aucune valeur n'est spécifiée, le partage de l'espace de noms de ressource IPC dépend du paramètre du démon Docker sur l'instance de conteneur. Pour le mode PID, choisissez
hostoutask. Par exemple, la surveillance des sidecars peut avoir besoin depidModepour accéder à des informations sur d'autres conteneurs exécutés dans le cadre de la même tâche. Si cettehostoption est spécifiée, tous les conteneurs des tâches qui ont spécifié le mode PID hôte sur la même instance de conteneur partagent le même espace de noms de processus avec l' EC2 instance Amazon hôte. Sitaskest spécifié, tous les conteneurs de la tâche spécifiée partagent le même espace de noms de processus. Si aucune valeur n'est spécifiée, la valeur par défaut est un espace de noms privé pour chaque conteneur.
-
Dans la section Ressources consommables, entrez ce qui suit :
-
Entrez un nom unique et la valeur demandée.
Vous pouvez ajouter d'autres ressources consommables en choisissant Ajouter une ressource consommable.
-
Dans la section Stockage, entrez les informations suivantes :
-
Entrez un nom et un chemin source pour le volume, puis choisissez Ajouter un volume. Vous pouvez également choisir d'activer Activer EFS.
Vous pouvez ajouter d'autres volumes en choisissant Ajouter un volume.
-
-
Pour Paramètres, choisissez Ajouter des paramètres pour ajouter des espaces réservés de substitution de paramètres sous forme de paires clé et valeur facultatives.
-
Choisissez Page suivante.
-
Dans la section Configuration du conteneur :
Pour Name (Nom), saisissez un nom pour le conteneur.
Pour le conteneur essentiel, activez si le contenant est essentiel.
-
Dans Image, choisissez l'Dockerimage à utiliser pour votre travail. Par défaut, les images dans le registre Docker Hub sont disponibles. Vous pouvez également spécifier d'autres référentiels avec
. Le nom peut contenir jusqu'à 225 caractères. Il peut contenir des lettres majuscules et minuscules, des chiffres, des traits d'union (-), des traits de soulignement (_), des signes deux-points (:), des barres obliques (/) et des signes numériques (#). 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, des images Docker basées sur ARM ne peuvent s'exécuter que sur des ressources de calcul basées sur ARM.
-
Les images contenues dans les 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 contenues dans les référentiels Amazon ECR utilisent la convention de
registry/repository[:tag]dénomination complète (par exemple,aws_account_id.dkr.ecr.region.amazonaws.com/).my-web-app:latest -
Les images dans les référentiels officiels sur Docker Hub utilisent un nom unique (par exemple,
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).
-
Pour les besoins en ressources, configurez chacune des options suivantes :
Pour v CPUs, choisissez le numéro de CPUs pour le conteneur.
Pour Mémoire, choisissez la quantité de mémoire pour le conteneur.
Pour le GPU, en option, choisissez le nombre de GPUs pour le conteneur.
Dans Interface, saisissez le nom d'utilisateur à utiliser à l'intérieur du conteneur.
Activez l'option Enable read only filesystem (Activer le système de fichiers en lecture seule) pour supprimer l'accès en écriture au volume.
Activez Privileged pour accorder au conteneur de tâches des autorisations élevées sur l'instance hôte, comme pour l'utilisateur root.
-
Pour Command, saisissez les commandes dans le champ comme leur équivalent sous forme de tableau de chaînes JSON.
Ce paramètre correspond à
Cmddans la section relative à la création d’un conteneurde Docker Remote API et au paramètre COMMANDde docker run. Pour plus d'informations sur le Docker CMDparamètre, consultez https://docs.docker.com/engine/reference/builder/#cmd. Note
Vous pouvez utiliser des valeurs par défaut pour la substitution de paramètres et des espaces réservés dans votre commande. Pour de plus amples informations, veuillez consulter Paramètres.
Pour les informations d'identification du référentiel (facultatif), entrez l'ARN du secret contenant vos informations d'identification.
Pour les variables d'environnement (facultatif), choisissez Ajouter des variables d'environnement pour ajouter des variables d'environnement à transmettre au conteneur.
Dans la section Paramètres Linux - facultatif :
Activez l'option Activer le processus d'initialisation pour exécuter un processus d'initialisation dans le conteneur.
Pour Taille de la mémoire partagée, entrez la taille (en MiB) du volume /dev/shm
Pour Taille maximale de swap, entrez la quantité totale de mémoire d'échange (en MiB) que le conteneur peut utiliser.
Pour Swappiness, entrez une valeur comprise entre 0 et 100 pour indiquer le comportement de swappiness du conteneur. Si vous ne spécifiez aucune valeur et que le swap est activé, la valeur par défaut est 60.
-
Pour Appareils, choisissez Ajouter un appareil pour ajouter un appareil :
-
Sous Chemin du conteneur, spécifiez le chemin d'accès de l'instance du conteneur pour exposer l'appareil mappé à l'instance de l'hôte. Si vous laissez ce champ vide, le chemin de l'hôte est utilisé dans le conteneur.
-
Sous Host path (Chemin de l'hôte), spécifiez le chemin d'accès d'un appareil dans l'instance de l'hôte.
-
Pour Autorisations, choisissez une ou plusieurs autorisations à appliquer à l'appareil. Les autorisations disponibles sont READ, WRITE et MKNOD.
-
-
Pour Tmpfs, choisissez Ajouter des tmpfs pour ajouter un montage.
tmpfs
Note
L'enregistrement de Firelens doit être effectué dans un conteneur dédié. Pour configurer la journalisation de Firelens :
Dans chaque conteneur, à l'exception de votre conteneur Firelens dédié, configurez le pilote Logging sur
awsfirelensDans votre conteneur Firelens, définissez la configuration Firelens (facultative) et la configuration de journalisation (facultative) pour la destination de journalisation.
Dans la section Configuration de Firelens - optionnelle :
Important
AWS Batch applique le mode
hostréseau aux tâches Amazon ECS autres que MNP et Fargate. L'utilisateur root est requispour Amazon ECS Firelens. Lors de l'exécution de tâches utilisant le mode hostréseau, Amazon ECS déconseille d'exécuter des conteneurs en utilisant l'utilisateur root (UID 0) pour une meilleure sécurité. Par conséquent, toutes les tâches ECS autres que MNP et Fargate avec journalisation Firelens ne respecteront pas les meilleures pratiques en matière de sécurité.-
Pour Type, choisissez
fluentdsoitfluentbit. -
Dans le champ Options, entrez la name/value paire de l'option. Vous pouvez ajouter d'autres options en utilisant l'option Ajouté.
-
Dans la section Configuration de la journalisation - facultatif :
-
Pour Log driver, choisissez le log driver à utiliser. Pour plus d'informations sur les pilotes de journal disponibles, voir : LogDriverLogConfiguration.
Note
Par défaut, le pilote de
awslogsjournal est utilisé. -
Pour Options, choisissez Ajouter une option pour ajouter une option. Entrez une paire nom-valeur, puis choisissez Ajouter une option.
-
Pour Secrets, choisissez Ajouter un secret. Entrez une paire nom-valeur, puis choisissez Ajouter un secret pour ajouter un secret.
-
Pour Points de montage (facultatif), choisissez Ajouter des points de montage pour ajouter des points de montage pour les volumes de données. Vous devez spécifier le volume source et le chemin du conteneur.
-
Pour les secrets (facultatif), choisissez Ajouter un secret pour ajouter un secret. Entrez ensuite une paire nom-valeur, puis choisissez Ajouter un secret.
Pour Ulimits (facultatif), choisissez Add ulimit pour ajouter une
ulimitsvaleur au conteneur. Entrez les valeurs Nom, Limite souple et Limite stricte, puis choisissez Ajouter une limite.Pour Dépendances (facultatif), choisissez Ajouter des dépendances de conteneur. Choisissez le nom du conteneur et son état pour déterminer quand ce conteneur démarre.
Si vous n'avez configuré qu'un seul conteneur, vous devez choisir Ajouter un conteneur et terminer la configuration du nouveau conteneur. Sinon, choisissez Next pour passer en revue.