Tutoriel : Création d'une définition de tâche à nœud unique sur les ressources Amazon EC2 - AWS Batch

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

Tutoriel : Création d'une définition de tâche à nœud unique sur les ressources Amazon EC2

Procédez comme suit pour créer une définition de tâche à nœud unique sur les ressources Amazon Elastic Compute Cloud (AmazonEC2).

Pour créer une nouvelle définition de tâche sur Amazon EC2 Resources, procédez comme suit :
  1. Ouvrez la AWS Batch console à l'adresse https://console.aws.amazon.com/batch/.

  2. Dans la barre de navigation, choisissez le Région AWS à utiliser.

  3. Dans le volet de navigation de gauche, choisissez Job definitions.

  4. Sélectionnez Create (Créer).

  5. Pour le type d'orchestration, choisissez Amazon Elastic Compute Cloud (AmazonEC2).

  6. Pour la configuration de la EC2 plate-forme, désactivez l'option Activer le traitement parallèle à nœuds multiples.

  7. 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 (_).

  8. (Facultatif) Pour le délai d'exécution, entrez la valeur du délai d'expiration (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 FAILED statut. Pour de plus amples informations, veuillez consulter Expiration des délais d'exécution des tâches. La valeur minimale est 60 secondes.

  9. (Facultatif) Activez la priorité de planification. 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.

  10. (Facultatif) Pour les tentatives de tâche, entrez le nombre de AWS Batch tentatives de transfert de la tâche vers le RUNNABLE statut. Entrez un nombre compris entre 1 et 10.

  11. (Facultatif) 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.

  12. (Facultatif) Développez les balises, puis choisissez Ajouter une balise pour ajouter des balises à la ressource. Entrez une clé et une valeur facultative, puis choisissez Ajouter une étiquette.

  13. (Facultatif) Activez les balises Propagate pour propager les balises de la tâche et de la définition de la tâche vers la tâche AmazonECS.

  14. Choisissez Page suivante.

  15. Dans la section Configuration du conteneur :

    1. Pour Image, choisissez Docker image à utiliser pour votre travail. Par défaut, les images du Docker Hub les registres sont disponibles. Vous pouvez également spécifier d'autres référentiels avec repository-url/image:tag. Le nom peut comporter jusqu'à 225 caractères. Il peut contenir des lettres majuscules et minuscules, des chiffres, des traits d'union (-), des traits de soulignement (_), des deux-points (:), des barres obliques (/) et des signes numériques (#). Ce paramètre correspond Image à la section Créer un conteneur de Docker Remote API et au IMAGE paramètre de docker run.

      Note

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

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

      • Les images stockées dans ECR les référentiels Amazon 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).

      • Images dans les référentiels officiels sur Docker Hub utilisez un seul nom (par exemple, ubuntu oumongo).

      • Images dans d'autres référentiels sur Docker Hub sont qualifiés par le nom d'une 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).

    2. Pour la syntaxe des commandes, choisissez Bash ou JSON.

    3. Dans Commande, précisez la commande à transmettre au conteneur. Pour des commandes plus simples, entrez la commande comme vous le feriez pour une invite de commande. Vérifiez ensuite que JSON le résultat est correct et transmis au Docker daemon. Pour les commandes plus complexes (par exemple, avec des caractères spéciaux), utilisez JSONla syntaxe.

      Astuce

      Choisissez Info pour afficher Bash and JSON exemples de code.

      Ce paramètre correspond Cmd à la section Créer un conteneur de Docker Remote API et le COMMAND paramètre à docker run. Pour plus d'informations sur le Docker CMDparamètre, voir 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.

    4. (Facultatif) Pour le rôle d'exécution, spécifiez un IAM rôle qui accorde aux agents de ECS conteneurs Amazon l'autorisation de passer AWS API des appels en votre nom. Cette fonctionnalité utilise les ECS IAM rôles Amazon pour les tâches. Pour plus d'informations, consultez les IAMrôles d'exécution des ECS tâches Amazon dans le manuel Amazon Elastic Container Service Developer Guide.

    5. Pour la configuration du rôle Job, choisissez un IAM rôle autorisé à AWS APIs. Cette fonctionnalité utilise les ECS IAM rôles Amazon pour les tâches. Pour plus d'informations, consultez la section IAMRôles des tâches dans le manuel Amazon Elastic Container Service Developer Guide.

      Note

      Seuls les rôles dotés d'une relation de confiance avec Amazon Elastic Container Service Task Role sont présentés ici. Pour plus d'informations sur la création d'un IAM rôle pour vos AWS Batch tâches, consultez les sections Création d'un IAM rôle et d'une politique pour vos tâches dans le manuel Amazon Elastic Container Service Developer Guide.

  16. 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.

  17. Dans la section Configuration de l'environnement :

    1. Pour vCPUs, entrez le nombre de personnes vCPUs à réserver pour le conteneur. Ce paramètre correspond CpuShares à la section Créer un conteneur de Docker Remote API et à l'--cpu-sharesoption de docker run. Chaque v CPU équivaut à 1 024 CPU actions. Vous devez spécifier au moins un CPU v.

    2. Pour Mémoire, entrez la limite de mémoire disponible pour le conteneur. Si votre conteneur tente de dépasser la quantité de mémoire spécifiée ici, il est arrêté. Ce paramètre correspond Memory à la section Créer un conteneur de Docker Remote API et à l'--memoryoption de docker run. Vous devez spécifier au moins 4 Mio de mémoire pour une tâche.

      Note

      Pour optimiser l'utilisation de vos ressources, donnez la priorité à la mémoire pour les tâches d'un type d'instance spécifique. Pour de plus amples informations, veuillez consulter Gestion de la mémoire des ressources informatiques.

    3. Dans le champ Nombre de GPUs, choisissez le nombre de GPUs à réserver pour le conteneur.

    4. (Facultatif) Pour les variables d'environnement, choisissez Ajouter une variable d'environnement pour ajouter des variables d'environnement sous forme de paires nom-valeur. Ces variables sont transmises au conteneur.

    5. (Facultatif) Pour les secrets, choisissez Ajouter un secret pour ajouter des secrets sous forme de paires nom-valeur. Ces secrets sont exposés dans le contenant. Pour plus d'informations, voir LogConfiguration: secretOptions.

  18. Choisissez Page suivante.

  19. Dans la section de configuration Linux :

    1. Dans Interface, saisissez le nom d'utilisateur à utiliser à l'intérieur du conteneur. Ce paramètre correspond User à la section Créer un conteneur de Docker Remote API et à l'--useroption de docker run.

    2. (Facultatif) Pour accorder au conteneur de tâches des autorisations élevées sur l'instance hôte (comme pour l'rootutilisateur), faites glisser le curseur Privileged vers la droite. Ce paramètre correspond Privileged à la section Créer un conteneur de Docker Remote API et à l'--privilegedoption de docker run.

    3. (Facultatif) Activez Activer le processus d'initialisation pour exécuter un init processus dans le conteneur. Ce processus transmet les signaux et récolte les processus.

  20. (Facultatif) Dans la section Configuration du système de fichiers :

    1. Activez l'option Activer le système de fichiers en lecture seule pour supprimer l'accès en écriture au volume.

    2. Pour Taille de la mémoire partagée, entrez la taille (en MiB) du /dev/shm volume.

    3. Pour Taille maximale de swap, entrez la quantité totale de mémoire d'échange (en MiB) que le conteneur peut utiliser.

    4. 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 plus d'informations, consultez : LinuxParameters swappiness.

    5. (Facultatif) Développez la configuration supplémentaire.

    6. (Facultatif) Pour les fichiers Tmpfs, choisissez Ajouter des fichiers tmpfs pour ajouter un montage. tmpfs

    7. (Facultatif) Pour Appareils, choisissez Ajouter un appareil pour ajouter un appareil :

      1. 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.

      2. 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.

      3. Pour Autorisations, choisissez une ou plusieurs autorisations à appliquer à l'appareil. Les autorisations disponibles sont READWRITE, et MKNOD.

    8. (Facultatif) Pour la configuration des volumes, choisissez Ajouter un volume pour créer une liste de volumes à transmettre au conteneur. Entrez le nom et le chemin source du volume, puis choisissez Ajouter un volume. Vous pouvez également choisir d'activer l'option Activer EFS.

    9. (Facultatif) Pour les points de montage, choisissez Ajouter une configuration de 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. Ces points de montage sont transmis au Docker daemon sur une instance de conteneur. Vous pouvez également choisir de rendre le volume en lecture seule.

    10. (Facultatif) Pour la configuration Ulimits, choisissez Add ulimit pour ajouter une ulimits valeur au conteneur. Entrez les valeurs Nom, Limite souple et Limite stricte, puis choisissez Ajouter une limite.

  21. (Facultatif) Dans la section Configuration de la journalisation :

    1. Pour Log driver, choisissez le log driver à utiliser. Pour plus d'informations sur les pilotes de journal disponibles, voir LogConfiguration: logDriver.

      Note

      Par défaut, le pilote de awslogs journal est utilisé.

    2. Pour Options, choisissez Ajouter une option pour ajouter une option. Entrez une paire nom-valeur, puis choisissez Ajouter une option.

    3. Pour Secrets, choisissez Ajouter un secret. Entrez une paire nom-valeur, puis choisissez Ajouter un secret pour ajouter un secret.

      Astuce

      Pour plus d'informations, voir LogConfiguration: secretOptions.

  22. Choisissez Page suivante.

  23. Pour la révision de la définition du Job, passez en revue les étapes de configuration. Si vous devez apporter des modifications, choisissez Modifier. Lorsque vous avez terminé, choisissez Créer une définition de tâche.