View a markdown version of this page

Étape 3 : créer un modèle de lancement et l'associer à un environnement informatique - 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.

Étape 3 : créer un modèle de lancement et l'associer à un environnement informatique

Lorsque l'instance démarre, le user-data script s'installe automatiquementFluent Bit, récupère l'ID de l'instance depuis IMDSv2, synchronise la configuration depuis Amazon S3 et démarre le service. Fluent Bit Pour en savoir plus sur l’utilisation des modèles de lancement, consultez Utilisez les modèles de lancement Amazon EC2 avec AWS Batch. Pour plus d'informations sur la configuration de l'IMDS, consultezConfiguration du service de métadonnées d'instance (IMDS).

Pour un exemple de user-data script, consultez le GitHub référentiel associé. Utilisez le launch-template-userdata-minimal.txt fichier comme modèle de lancement. Ce fichier exclut les commentaires afin de réduire user-data la taille. Le launch-template-userdata.txt fichier est une version commentée à titre de référence. Remplacez les espaces réservés suivants dans le modèle avant de les utiliser :

  • <BUCKET_NAME>— Le nom de votre compartiment Amazon S3.

  • <FLUENT_BIT_VERSION>— Fluent Bit Version à installer. Laissez ce champ vide pour installer la dernière version disponible.

Conditions préalables
AWS Console

Créez le modèle de lancement :

  1. Ouvrez la console Amazon EC2 à l’adresse https://console.aws.amazon.com/ec2/.

  2. Dans le panneau de navigation, choisissez Modèles de lancement.

  3. Choisissez Créer un modèle de lancement.

  4. Pour le nom du modèle de lancement, entrez un nom tel quebatch-host-logs.

  5. Développez Advanced Details (Détails avancés).

  6. Pour Choisir une version des métadonnées, sélectionnez V2 (jeton obligatoire).

  7. Pour Limite de sauts de réponse aux métadonnées, entrez2.

  8. Accédez à Données utilisateur et collez le user-data script depuis le GitHub référentiel associé. <BUCKET_NAME>Remplacez-le par le nom de votre compartiment. <FLUENT_BIT_VERSION>Remplacez-le par la Fluent Bit version de votre choix ou laissez ce champ vide pour la dernière version.

  9. Choisissez Créer un modèle de lancement.

Créez l'environnement de calcul :

  1. Ouvrez la AWS Batch console à l'adresse https://console.aws.amazon.com/batch/.

  2. Dans le panneau de navigation, choisissez Environnements de calcul.

  3. Choisissez Créer.

  4. Pour la configuration de l'environnement de calcul, choisissez Amazon Elastic Compute Cloud (Amazon EC2).

  5. Pour le type d'orchestration, choisissez Managed.

  6. Dans Nom, entrez un nom tel quemy-host-logs-ce.

  7. Pour Rôle d'instance, choisissez le rôle d'instance que vous avez mis à jour ou créé à l'étape 2, par exempleecsInstanceRole.

  8. Choisissez Suivant.

  9. Sous Configuration de l'instance, développez les modèles de lancement et sélectionnez le modèle que vous avez créé.

  10. Complétez les champs restants et choisissez Créer un environnement de calcul.

AWS CLI

Créez le modèle de lancement. Enregistrez le user-data script du GitHub référentiel compagnon dans un fichier et encodez-le avec base64 :

aws ec2 create-launch-template \ --launch-template-name batch-host-logs \ --launch-template-data '{ "MetadataOptions": { "HttpTokens": "required", "HttpPutResponseHopLimit": 2 }, "UserData": "BASE64_ENCODED_USER_DATA" }'

Créez l'environnement de calcul à l'aide du modèle de lancement :

aws batch create-compute-environment \ --compute-environment-name my-host-logs-ce \ --type MANAGED \ --compute-resources '{ "type": "EC2", "minvCpus": 0, "maxvCpus": 256, "instanceTypes": ["optimal"], "subnets": ["subnet-12345678"], "securityGroupIds": ["sg-12345678"], "instanceRole": "arn:aws:iam::111122223333:instance-profile/ecsInstanceRole", "launchTemplate": { "launchTemplateName": "batch-host-logs", "version": "$Latest" } }'
Note

La limite de sauts de réponse aux métadonnées est définie 2 dans le modèle de lancement, car les applications exécutées dans des conteneurs de tâches nécessitent un saut réseau supplémentaire pour atteindre le point de terminaison IMDSv2. Sans ce paramètre, les requêtes IMDSv2 provenant des conteneurs échouent.