AMI de ressources de calcul - 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.

AMI de ressources de calcul

Par défaut, les environnements informatiques AWS Batch gérés utilisent une version récente et approuvée de l'AMI optimisée Amazon ECS pour les ressources de calcul. Toutefois, vous souhaiterez peut-être créer votre propre AMI à utiliser pour vos environnements informatiques gérés et non gérés. Si vous avez besoin de l'un des éléments suivants, nous vous recommandons de créer votre propre AMI :

  • Augmenter la taille de stockage de la racine ou des volumes de données de votre AMI

  • Ajout de volumes de stockage d'instance pour les types d'instances Amazon EC2 pris en charge

  • Personnalisation de l'agent de conteneur Amazon ECS

  • Personnalisation de Docker

  • Configuration d'une AMI de charge de travail GPU pour permettre aux conteneurs d'accéder au matériel GPU sur les types d'instances Amazon EC2 pris en charge

Note

Une fois qu'un environnement de calcul est créé, les AMI AWS Batch ne sont pas mises à niveau dans l'environnement de calcul. AWS Batch ne met pas non plus à jour les AMI de votre environnement informatique lorsqu'une version plus récente de l'AMI optimisée pour Amazon ECS est disponible. Vous êtes responsable de la gestion du système d'exploitation client. Cela inclut les mises à jour et les correctifs de sécurité. Vous êtes également responsable de tout logiciel d'application ou utilitaire supplémentaire que vous installez sur les ressources informatiques. Pour utiliser une nouvelle AMI pour vos AWS Batch tâches, procédez comme suit :

  1. Créez un nouvel environnement de calcul avec la nouvelle AMI.

  2. Ajoutez l'environnement de calcul à une file d'attente de tâches existante.

  3. Supprimez l'environnement de calcul antérieur de votre file d'attente de tâches.

  4. Supprimez l'environnement de calcul antérieur.

En avril 2022, AWS Batch ajout d'un support amélioré pour la mise à jour des environnements informatiques. Pour plus d’informations, consultez Mise à jour des environnements informatiques. Pour utiliser la mise à jour améliorée des environnements de calcul afin de mettre à jour les AMI, suivez les règles ci-dessous :

  • Ne définissez pas le paramètre du rôle de service (serviceRole) ou définissez-le sur le rôle AWSServiceRoleForBatchlié au service.

  • Définissez le paramètre de stratégie d'allocation (allocationStrategy) sur BEST_FIT_PROGRESSIVESPOT_CAPACITY_OPTIMIZED, ouSPOT_PRICE_CAPACITY_OPTIMIZED.

  • Définissez le paramètre de mise à jour vers la dernière version de l'image (updateToLatestImageVersion) surtrue.

  • Ne spécifiez pas d'ID d'AMI dans imageId, imageIdOverride(in ec2Configuration) ou dans le modèle de lancement (launchTemplate). Lorsque vous ne spécifiez pas d'ID d'AMI, sélectionnez AWS Batch l'AMI optimisée Amazon ECS la plus récente qui est prise AWS Batch en charge au moment du lancement de la mise à jour de l'infrastructure. Vous pouvez également spécifier l'ID de l'AMI dans les imageIdOverride paramètres imageId ou. Vous pouvez également spécifier le modèle de lancement identifié par les LaunchTemplate propriétés. La modification de l'une de ces propriétés déclenche une mise à jour de l'infrastructure. Si l'ID d'AMI est spécifié dans le modèle de lancement, il n'est pas possible de le remplacer en spécifiant un ID d'AMI dans les imageIdOverride paramètres imageId ou. L'ID AMI ne peut être remplacé qu'en spécifiant un modèle de lancement différent. Si la version du modèle de lancement est définie sur $Default ou$Latest, l'ID AMI peut être remplacé en définissant une nouvelle version par défaut pour le modèle de lancement (if$Default) ou en ajoutant une nouvelle version au modèle de lancement (if$Latest).

Si ces règles sont respectées, toute mise à jour qui lance une mise à jour de l'infrastructure entraîne une nouvelle sélection de l'ID AMI. Si le versionparamètre du modèle de lancement (launchTemplate) est défini sur $Latest ou$Default, la version la plus récente ou par défaut du modèle de lancement est évaluée au moment de la mise à jour de l'infrastructure, même si elle launchTemplaten'a pas été mise à jour.

Spécification de l'AMI des ressources de calcul

La spécification de base de l'AMI pour les ressources de AWS Batch calcul comprend les éléments suivants :

Obligatoire

  • Une distribution Linux moderne qui exécute au moins la version 3.10 du noyau Linux sur une AMI de type virtualisation HVM. Les conteneurs Windows ne sont pas pris en charge.

    Important

    Les tâches parallèles à nœuds multiples ne peuvent être exécutées que sur des ressources de calcul lancées sur une instance Amazon Linux avec le ecs-init package installé. Nous vous recommandons d'utiliser l'AMI optimisée par défaut pour Amazon ECS lorsque vous créez votre environnement informatique. Vous pouvez le faire en ne spécifiant pas d'AMI personnalisée. Pour plus d’informations, consultez Tâches parallèles sur plusieurs nœuds.

  • L'agent de conteneur Amazon ECS. Nous vous recommandons de choisir la dernière version . Pour plus d'informations, consultez la section Installation de l'agent de conteneur Amazon ECS dans le manuel du développeur Amazon Elastic Container Service.

  • Le pilote de awslogs journal doit être spécifié en tant que pilote de journal disponible avec la variable d'ECS_AVAILABLE_LOGGING_DRIVERSenvironnement lorsque l'agent de conteneur Amazon ECS est démarré. Pour plus d'informations, consultez Configuration de l'agent du conteneur Amazon ECS dans le Manuel du développeur Amazon Elastic Container Service.

  • Un démon Docker qui exécute au moins la version 1.9 et toutes les dépendances d'exécution de Docker. Pour plus d'informations, consultez la section Check runtime dependencies dans la documentation Docker.

    Note

    Nous recommandons la version Docker fournie avec et testée avec la version de l'agent Amazon ECS correspondante que vous utilisez. Amazon ECS fournit un journal des modifications pour la variante Linux de l'AMI optimisée pour Amazon ECS sur. GitHub Pour plus d'informations, consultez Journal des modifications.

Recommandée

  • Un processus d'initialisation et de nounou pour exécuter et surveiller l'agent Amazon ECS. L'AMI optimisée Amazon ECS utilise le processus de ecs-init démarrage, et d'autres systèmes d'exploitation peuvent l'utilisersystemd. Pour plus d'informations et des exemples, consultez la section Exemples de scripts de configuration des données utilisateur d'une instance de conteneur dans le manuel Amazon Elastic Container Service Developer Guide. Pour plus d'informationsecs-init, consultez le ecs-initprojet sur GitHub. Au minimum, les environnements informatiques gérés nécessitent que l'agent Amazon ECS démarre au démarrage. Si l'agent Amazon ECS ne s'exécute pas sur votre ressource de calcul, il ne peut pas accepter de tâches provenant de AWS Batch.

L'AMI optimisée pour Amazon ECS est préconfigurée conformément à ces exigences et recommandations. Nous vous recommandons d'utiliser l'AMI optimisée Amazon ECS ou une AMI Amazon Linux avec le ecs-init package installé pour vos ressources de calcul. Choisissez une autre AMI si votre application nécessite un système d'exploitation spécifique ou une version de Docker qui n'est pas encore disponible dans ces AMI. Pour plus d'informations, consultez l'AMI optimisée pour Amazon ECS dans le manuel Amazon Elastic Container Service Developer Guide.