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.
Utilisez les modèles de lancement Amazon EC2 avec AWS Batch
AWS Batch prend en charge l'utilisation des modèles de lancement Amazon EC2 avec vos environnements de calcul EC2. Les modèles de lancement vous permettent de modifier la configuration par défaut de vos ressources de AWS Batch calcul sans avoir à créer des AMI personnalisées.
Les modèles de lancement peuvent spécifier les AMI qui ont la priorité dans l'ordre de sélection des AMI. Pour de plus amples informations, veuillez consulter Ordre de sélection de l'AMI.
Note
Lorsque vous spécifiez un modèle de lancement personnalisé pour un environnement AWS Batch informatique, AWS Batch il n'associe pas directement votre modèle de lancement au groupe Auto Scaling sous-jacent. Créez plutôt AWS Batch un modèle de Batch-managed lancement distinct pour le groupe Auto Scaling et y intégrez les paramètres pertinents de votre modèle de lancement personnalisé. Par conséquent, le modèle de lancement associé au groupe Auto Scaling est différent de celui que vous avez spécifié à l'origine. Ce comportement est normal.
Note
Les modèles de lancement ne sont pas pris en charge sur les AWS ressources Fargate.
Vous devez créer un modèle de lancement avant de pouvoir l'associer à un environnement de calcul. Vous pouvez créer un modèle de lancement dans la console Amazon EC2. Vous pouvez également utiliser le AWS CLI ou un AWS SDK. Par exemple, le fichier JSON suivant représente un modèle de lancement qui redimensionne le volume de données Docker pour la ressource de AWS Batch calcul AMI par défaut et le définit également pour qu'il soit chiffré.
{ "LaunchTemplateName": "increase-container-volume-encrypt", "LaunchTemplateData": { "BlockDeviceMappings": [ { "DeviceName": "/dev/xvda", "Ebs": { "Encrypted": true, "VolumeSize": 100, "VolumeType": "gp2" } } ] } }
Vous pouvez créer le modèle de lancement précédent en enregistrant le JSON dans un fichier appelé lt-data.json et en exécutant la AWS CLI commande suivante.
aws ec2 --region<region>create-launch-template --cli-input-json file://lt-data.json
Pour plus d'informations sur les modèles de lancement, consultez la section Lancement d'une instance à partir d'un modèle de lancement dans le guide de l'utilisateur Amazon EC2.
Si vous utilisez un modèle de lancement pour créer votre environnement de calcul, vous pouvez déplacer les paramètres suivants de l'environnement de calcul existant dans votre modèle de lancement :
Note
Supposons que l'un de ces paramètres (à l'exception des balises Amazon EC2) soit spécifié à la fois dans le modèle de lancement et dans la configuration de l'environnement de calcul. Les paramètres de l'environnement de calcul sont alors prioritaires. Les balises Amazon EC2 sont fusionnées entre le modèle de lancement et la configuration de l'environnement de calcul. En cas de collision sur la clé de la balise, la valeur de la configuration de l'environnement de calcul est prioritaire.
-
Paire de clés Amazon EC2
-
ID AMI Amazon EC2
-
Identifiants des groupes de sécurité
-
balises Amazon EC2
Les paramètres du modèle de lancement suivants sont ignorés par AWS Batch :
-
Type d'instance (spécifiez vos types d'instance souhaités lorsque vous créez votre environnement de calcul)
-
Rôle d'instance (spécifiez votre rôle d'instance souhaité lorsque vous créez votre environnement de calcul)
-
Sous-réseaux d'interface réseau (spécifiez vos sous-réseaux souhaités lorsque vous créez votre environnement de calcul)
-
Options du marché des instances (AWS Batch doit contrôler la configuration de l'instance Spot)
-
Désactiver la résiliation de l'API (AWS Batch doit contrôler le cycle de vie de l'instance)
AWS Batch met à jour le modèle de lancement uniquement avec une nouvelle version du modèle de lancement lors des mises à jour de l'infrastructure. Pour de plus amples informations, veuillez consulter Mettre à jour un environnement informatique dans AWS Batch.
Modèles de lancement par défaut et remplacement
Vous pouvez définir un modèle de lancement par défaut pour l'environnement de calcul et un modèle de lancement de remplacement pour des types et des familles d'instances spécifiques. Cela peut vous être utile afin que le modèle par défaut soit utilisé pour la majorité des types d'instances dans les environnements de calcul.
Les variables $Default de substitution $Latest peuvent être utilisées au lieu de nommer une version spécifique. Si vous ne fournissez pas de modèle de lancement de remplacement, le modèle de lancement par défaut est automatiquement appliqué.
Si vous utilisez la $Latest variable $Default ou, les informations actuelles AWS Batch seront appliquées au moment de la création de l'environnement de calcul. Si la version par défaut ou la dernière version change dans le futur, vous devez mettre à jour les informations via UpdateComputeEnvironment ou via le Console de gestion AWS - AWS Batch.
Pour plus de flexibilité, vous pouvez définir des modèles de lancement de remplacement qui seront appliqués à des types ou à des familles d'instances de calcul spécifiques.
Note
Vous pouvez spécifier jusqu'à dix (10) modèles de lancement de remplacement par environnement informatique.
Utilisez le targetInstanceTypes paramètre pour sélectionner le type d'instance ou la famille qui doit utiliser ce modèle de lancement de remplacement. Le type ou la famille d'instance doit d'abord être identifié par le instanceTypes paramètre.
Si vous définissez des remplacements de modèles de lancement et décidez de les supprimer ultérieurement, vous pouvez transmettre un tableau vide pour désactiver le overrides paramètre dans l'opération d'UpdateComputeEnvironmentAPI. Vous pouvez également choisir de ne pas inclure le overrides paramètre lors de la soumission de l'opération UpdateComputeEnvironment d'API. Pour plus d'informations, voir LaunchTemplateSpecification.overrides
Pour plus d'informations, consultez LaunchTemplateSpecificationOverride.targetInstanceTypes le guide de référence des AWS Batch API.
Données utilisateur Amazon EC2 dans les modèles de lancement
Vous pouvez fournir des données utilisateur Amazon EC2 dans votre modèle de lancement qui est exécuté par cloud-init
Les données utilisateur Amazon EC2 figurant dans les modèles de lancement doivent être au format d'archive MIME en plusieurs parties.
Si vous l'utilisez AWS CloudFormation, le type AWS::CloudFormation ::Init peut être utilisé avec le script d'assistance cfn-init pour exécuter des scénarios de configuration courants.
Un fichier MIME multi-part est constitué des composants suivants :
-
Le type de contenu et la déclaration de limite :
Content-Type: multipart/mixed; boundary="==BOUNDARY==" -
La déclaration de version MIME :
MIME-Version: 1.0 -
Un ou plusieurs blocs de données utilisateur contenant les composants suivants :
-
La limite d'ouverture qui signale le début d'un bloc de données utilisateur :
--==BOUNDARY==. Vous devez laisser la ligne avant cette limite vide. -
La déclaration de type de contenu du bloc :
Content-Type:. Pour plus d'informations sur les types de contenu, consultez la Cloud-Init documentationtext/cloud-config; charset="us-ascii". Vous devez laisser la ligne qui suit la déclaration du type de contenu vide. -
Le contenu des données utilisateur, telles qu'une liste de commandes ou de
cloud-initdirectives shell.
-
-
La limite de fermeture qui signale la fin du fichier MIME en plusieurs parties :.
--==BOUNDARY==--Vous devez laisser la ligne avant la limite de fermeture vide.
Note
Si vous ajoutez des données utilisateur à un modèle de lancement dans la console Amazon EC2, vous pouvez les coller en texte brut. Vous pouvez également le télécharger à partir d'un fichier. Si vous utilisez le AWS CLI ou un AWS SDK, vous devez d'abord base64 encoder les données utilisateur et soumettre cette chaîne comme valeur du UserData paramètre lorsque vous appelez CreateLaunchTemplate, comme indiqué dans ce fichier JSON.
{ "LaunchTemplateName": "base64-user-data", "LaunchTemplateData": { "UserData": "ewogICAgIkxhdW5jaFRlbXBsYXRlTmFtZSI6ICJpbmNyZWFzZS1jb250YWluZXItdm9sdW..." } }
Valeurs de configuration réservées pour les agents Amazon ECS
AWS Batch écrit des valeurs de configuration spécifiques pour les agents Amazon ECS /etc/ecs/ecs.config lorsque des instances sont lancées dans des environnements de calcul EC2-based gérés qui utilisent Amazon ECS. AWS Batch peuvent également remplacer ces valeurs lors des mises à jour de l'environnement de calcul, de sorte que vos modifications risquent de ne pas persister.
Important
Les conflits entre vos données utilisateur et les valeurs AWS Batch gérées peuvent empêcher la planification des tâches, provoquer un comportement de dimensionnement inattendu et entraîner des coûts imprévus.
Important
Ne copiez pas les données utilisateur d'un modèle de lancement AWS Batch géré dans votre propre modèle de lancement. AWS Batch-les données utilisateur gérées contiennent des valeurs qui diffèrent selon les environnements de calcul et qui changent lorsque l'environnement de calcul est mis à jour. Si votre modèle de lancement contient des valeurs copiées, elles peuvent entrer en conflit avec les valeurs attendues pour l'environnement informatique actuel.
Ne définissez pas les valeurs suivantes dans les données utilisateur de votre modèle de lancement. Ces valeurs sont gérées par AWS Batch et les conflits peuvent entraîner des problèmes de planification et de dimensionnement :
ECS_CLUSTERECS_INSTANCE_ATTRIBUTES
Pour plus d'informations sur les paramètres répertoriés ci-dessus, consultez la section Configuration de l'agent de conteneur Amazon ECS dans le manuel Amazon Elastic Container Service Developer Guide.