Configuration manuelle pour développer des composants personnalisés avec AWSTOE - EC2 Image Builder

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.

Configuration manuelle pour développer des composants personnalisés avec AWSTOE

L'application AWS Task Orchestrator and Executor (AWSTOE) est une application autonome qui crée, valide et exécute des commandes dans un cadre de définition de composants. AWS les services peuvent être utilisés AWSTOE pour orchestrer les flux de travail, installer des logiciels, modifier les configurations du système et tester les versions d'images.

Procédez comme suit pour installer manuellement l' AWSTOE application et l'utiliser en tant qu'application autonome pour développer des composants personnalisés. Image Builder s'occupe de ces étapes pour vous, si vous utilisez la console ou les AWS CLI commandes Image Builder pour créer des composants personnalisés. Pour plus d’informations, consultez Créez des composants personnalisés avec Image Builder.

Étape 1 : Installation AWSTOE

Pour développer des composants localement, téléchargez et installez l' AWSTOE application.

  1. Téléchargez l' AWSTOE application

    Pour procéder à l'installation AWSTOE, choisissez le lien de téléchargement correspondant à votre architecture et à votre plate-forme. Pour obtenir la liste complète des liens de téléchargement des applications, voir AWSTOE téléchargements

    Important

    AWS supprime progressivement le support pour les versions 1.0 et 1.1 du protocole TLS. Pour accéder au compartiment S3 à des fins de AWSTOE téléchargement, votre logiciel client doit utiliser la version 1.2 ou ultérieure du protocole TLS. Pour plus d'informations, consultez ce billet AWS de blog sur la sécurité.

  2. Vérifiez la signature

    Les étapes de vérification de votre téléchargement dépendent de la plate-forme du serveur sur lequel vous exécutez l' AWSTOE application après l'avoir installée. Pour vérifier votre téléchargement sur un serveur Linux, consultezVérifiez la signature sous Linux. Pour vérifier votre téléchargement sur un serveur Windows, consultezVérifiez la signature sous Windows.

Important

AWSTOE est invoqué directement depuis son emplacement de téléchargement. Il n'est pas nécessaire d'effectuer une étape d'installation séparée. Cela signifie également que cela AWSTOE peut apporter des modifications à l'environnement local.

Pour vous assurer d'isoler les modifications lors du développement des composants, nous vous recommandons d'utiliser une instance EC2 pour développer et tester AWSTOE les composants.

Étape 2 : définir les AWS informations d'identification

AWSTOE nécessite des AWS informations d'identification pour se connecter à d'autres sites Services AWS, tels qu'Amazon S3 et Amazon CloudWatch, lors de l'exécution de tâches telles que :

  • Téléchargement de AWSTOE documents depuis un chemin Amazon S3 fourni par l'utilisateur.

  • Modules S3Download d'exécution ou S3Upload d'action.

  • Le streaming se connecte à CloudWatch, lorsqu'il est activé.

Si vous exécutez AWSTOE sur une instance EC2, l'exécution AWSTOE utilise les mêmes autorisations que le rôle IAM attaché à l'instance EC2.

Pour plus d'informations sur les rôles IAM pour EC2, consultez la section Rôles IAM pour Amazon EC2.

Les exemples suivants montrent comment définir les AWS informations d'identification à l'aide des variables d'AWS_SECRET_ACCESS_KEYenvironnement AWS_ACCESS_KEY_ID et.

Pour définir ces variables sous Linux, macOS ou Unix, utilisezexport.

$ export AWS_ACCESS_KEY_ID=your_access_key_id
$ export AWS_SECRET_ACCESS_KEY=your_secret_access_key

Pour définir ces variables sous Windows à l'aide de PowerShell, utilisez$env.

C:\> $env:AWS_ACCESS_KEY_ID=your_access_key_id
C:\> $env:AWS_SECRET_ACCESS_KEY=your_secret_access_key

Pour définir ces variables sous Windows à l'aide de l'invite de commande, utilisezset.

C:\> set AWS_ACCESS_KEY_ID=your_access_key_id
C:\> set AWS_SECRET_ACCESS_KEY=your_secret_access_key

Étape 3 : Développement local des documents relatifs aux composants

AWSTOE les composants sont créés à partir de documents YAML en texte brut. Pour plus d'informations sur la syntaxe des documents, consultezUtiliser le cadre de documentation des AWSTOE composants pour les composants personnalisés.

Vous trouverez ci-dessous des exemples de documents relatifs aux composants Hello World pour vous aider à démarrer.

hello-world-windows.yml.

name: Hello World description: This is Hello World testing document for Windows. schemaVersion: 1.0 phases: - name: build steps: - name: HelloWorldStep action: ExecutePowerShell inputs: commands: - Write-Host 'Hello World from the build phase.' - name: validate steps: - name: HelloWorldStep action: ExecutePowerShell inputs: commands: - Write-Host 'Hello World from the validate phase.' - name: test steps: - name: HelloWorldStep action: ExecutePowerShell inputs: commands: - Write-Host 'Hello World from the test phase.'

hello-world-linux.yml.

name: Hello World description: This is hello world testing document for Linux. schemaVersion: 1.0 phases: - name: build steps: - name: HelloWorldStep action: ExecuteBash inputs: commands: - echo 'Hello World from the build phase.' - name: validate steps: - name: HelloWorldStep action: ExecuteBash inputs: commands: - echo 'Hello World from the validate phase.' - name: test steps: - name: HelloWorldStep action: ExecuteBash inputs: commands: - echo 'Hello World from the test phase.'

Étape 4 : Valider AWSTOE les composants

Vous pouvez valider la syntaxe des AWSTOE composants localement avec l' AWSTOE application. Les exemples suivants montrent la validate commande AWSTOE d'application permettant de valider la syntaxe d'un composant sans l'exécuter.

Note

L' AWSTOE application ne peut valider que la syntaxe des composants pour le système d'exploitation actuel. Par exemple, lors de l'exécution awstoe.exe sous Windows, vous ne pouvez pas valider la syntaxe d'un document Linux qui utilise le module ExecuteBash d'action.

Windows

C:\> awstoe.exe validate --documents C:\Users\user\Documents\hello-world.yml

Linux

$ awstoe validate --documents /home/user/hello-world.yml

Étape 5 : Exécuter AWSTOE les composants

L' AWSTOE application peut exécuter une ou plusieurs phases de documents spécifiés à l'aide de l'argument de ligne de --phases commande. Les valeurs prises en charge pour --phases sont buildvalidate, ettest. Plusieurs valeurs de phase peuvent être saisies sous forme de valeurs séparées par des virgules.

Lorsque vous fournissez une liste de phases, l' AWSTOE application exécute séquentiellement les phases spécifiées pour chaque document. Par exemple, AWSTOE exécute les validate phases build et dedocument1.yaml, puis les validate phases build et dedocument2.yaml.

Pour garantir que vos journaux sont stockés en toute sécurité et conservés à des fins de résolution des problèmes, nous vous recommandons de configurer le stockage des journaux dans Amazon S3. Dans Image Builder, l'emplacement Amazon S3 pour la publication des journaux est spécifié dans la configuration de l'infrastructure. Pour plus d'informations sur la configuration de l'infrastructure, voir Gérer la configuration de l'infrastructure EC2 Image Builder

Si aucune liste de phases n'est fournie, l' AWSTOE application exécute toutes les phases dans l'ordre indiqué dans le document YAML.

Pour exécuter des phases spécifiques dans un ou plusieurs documents, utilisez les commandes suivantes.

Monophasé

awstoe run --documents hello-world.yml --phases build

Phases multiples

awstoe run --documents hello-world.yml --phases build,test
Document exécuté

Exécuter toutes les phases dans un seul document

awstoe run --documents documentName.yaml

Exécuter toutes les phases dans plusieurs documents

awstoe run --documents documentName1.yaml,documentName2.yaml

Entrez les informations Amazon S3 pour télécharger les AWSTOE journaux à partir d'un chemin local défini par l'utilisateur (recommandé)

awstoe run --documents documentName.yaml --log-s3-bucket-name <S3Bucket> --log-s3-key-prefix <S3KeyPrefix> --log-s3-bucket-owner <S3BucketOwner> --log-directory <local_path>

Exécutez toutes les phases dans un seul document et affichez tous les journaux sur la console

awstoe run --documents documentName.yaml --trace

Exemple de commande

awstoe run --documents s3://bucket/key/doc.yaml --phases build,validate

Exécuter un document avec un identifiant unique

awstoe run --documents <documentName>.yaml --execution-id <user provided id> --phases <comma separated list of phases>

Obtenez de l'aide pour AWSTOE

awstoe --help