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 de plus amples informations, veuillez consulter Créez des composants personnalisés avec Image Builder.
Étapes de démarrage
Étape 1 : Installation AWSTOE
Pour développer des composants localement, téléchargez et installez l' AWSTOE application.
-
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 TLS versions 1.0 et 1.1. Pour accéder au compartiment S3 à des fins de AWSTOE téléchargement, votre logiciel client doit utiliser TLS la version 1.2 ou ultérieure. Pour plus d'informations, consultez ce billet AWS de blog sur la sécurité
. -
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 EC2 instance 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 ouS3Upload
d'action. -
Le streaming se connecte à CloudWatch, lorsqu'il est activé.
Si vous exécutez AWSTOE sur une EC2 instance, l'exécution AWSTOE utilise les mêmes autorisations que le IAM rôle attaché à l'EC2instance.
Pour plus d'informations sur IAM les rôles pourEC2, consultez la section IAMRôles pour Amazon EC2.
Les exemples suivants montrent comment définir les AWS informations d'identification à l'aide des variables d'AWS_SECRET_ACCESS_KEY
environnement 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évelopper les documents des composants localement
Les composants sont créés à partir de documents en texte brutYAML. 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 build
validate
, 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 dépannage, 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 Image Builder
Si aucune liste de phases n'est fournie, l' AWSTOE application exécute toutes les phases dans l'ordre indiqué dans le YAML document.
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