View a markdown version of this page

Comment Image Builder utilise AWS Task Orchestrator and Executor application pour gérer les composants - 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.

Comment Image Builder utilise AWS Task Orchestrator and Executor application pour gérer les composants

EC2 Image Builder utilise AWS Task Orchestrator and Executor l'application AWSTOE() pour orchestrer des flux de travail complexes, modifier les configurations du système et tester vos images sans avoir besoin de scripts ou de code DevOps supplémentaires. Cette application gère et exécute les composants qui implémentent son schéma de document déclaratif.

AWSTOE est une application autonome qu'Image Builder installe sur ses instances de build et de test lorsque vous créez une image. Vous pouvez également l'installer manuellement sur des instances EC2 pour créer vos propres composants personnalisés. Il ne nécessite aucune configuration supplémentaire et peut également fonctionner sur site.

AWSTOE downloads

Pour l'installer AWSTOE, choisissez le lien de téléchargement correspondant à votre architecture et à votre plate-forme. Si vous vous connectez à un point de terminaison VPC pour votre service (Image Builder, par exemple), il doit être associé à une politique de point de terminaison personnalisée qui inclut l'accès au compartiment S3 pour AWSTOE les téléchargements. Dans le cas contraire, vos instances de build et de test ne pourront pas télécharger le script bootstrap (bootstrap.sh) et installer l' AWSTOE application. Pour de plus amples informations, veuillez consulter Création d'une politique de point de terminaison VPC pour Image Builder.

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é.

Architecture Plateforme Lien de téléchargement Exemple
386

AL 2 et 2023

RHEL 7, 8 et 9

Ubuntu 16.04, 18.04, 20.04, 22.04 et 24.04

CentOS 7 et 8

SUSE 12 et 15

https://awstoe-<region>.s3.<region>.amazonaws.com/latest/linux/386/awstoe

https://awstoe-us-east-1.s3.us-east-1.amazonaws.com/latest/linux/386/awstoe
AMD64

AL 2 et 2023

RHEL 7, 8 et 9

Ubuntu 16.04, 18.04, 20.04, 22.04 et 24.04

CentOS 7 et 8

CentOS Stream 8

SUSE 12 et 15

https://awstoe-<region>.s3.<region>.amazonaws.com/latest/linux/amd64/awstoe https://awstoe-us-east-1.s3.us-east-1.amazonaws.com/latest/linux/amd64/awstoe
AMD64

macOS 10.14.x (Mojave), 10.15.x (Catalina), 11.x (Big Sur), 12.x (Monterey)

https://awstoe-region.s3.region.amazonaws.com/latest/darwin/amd64/awstoe https://awstoe-us-east-1.s3.us-east-1.amazonaws.com/latest/darwin/amd64/awstoe

AMD64

Windows Server 2012 R2, 2016, 2019 et 2022

https://awstoe-<region>.s3.<region>.amazonaws.com/latest/windows/amd64/awstoe.exe

https://awstoe-us-east-1.s3.us-east-1.amazonaws.com/latest/windows/amd64/awstoe.exe
ARM64

AL 2 et 2023

RHEL 7, 8 et 9

Ubuntu 16.04, 18.04, 20.04, 22.04 et 24.04

CentOS 7 et 8

CentOS Stream 8

SUSE 12 et 15

https://awstoe-<region>.s3.<region>.amazonaws.com/latest/linux/arm64/awstoe https://awstoe-us-east-1.s3.us-east-1.amazonaws.com/latest/linux/arm64/awstoe

Régions prises en charge

AWSTOE est prise en charge en tant qu'application autonome dans les régions suivantes.

Région AWS nom Région AWS

USA Est (Ohio)

us-east-2

USA Est (Virginie du Nord)

us-east-1

AWS GovCloud (US-East)

us-gov-east-1

AWS GovCloud (US-West)

us-gov-west-1

USA Ouest (Californie du Nord)

us-west-1

US West (Oregon)

us-west-2

Afrique (Le Cap)

af-south-1

Asie-Pacifique (Hong Kong)

ap-east-1

Asie-Pacifique (Osaka)

ap-northeast-3

Asie-Pacifique (Séoul)

ap-northeast-2

Asie-Pacifique (Mumbai)

ap-south-1

Asie-Pacifique (Hyderabad)

ap-south-2

Asie-Pacifique (Singapour)

ap-southeast-1

Asie-Pacifique (Sydney)

ap-southeast-2

Asie-Pacifique (Jakarta)

ap-southeast-3

Asie-Pacifique (Tokyo)

ap-northeast-1

Canada (Central)

ca-central-1

Europe (Francfort)

eu-central-1

Europe (Zurich)

eu-central-2

Europe (Stockholm)

eu-north-1

Europe (Milan)

eu-south-1

Europe (Espagne)

eu-south-2

Europe (Irlande)

eu-west-1

Europe (Londres)

eu-west-2

Europe (Paris)

eu-west-3

Israël (Tel Aviv)

il-central-1

Moyen-Orient (EAU)

me-central-1

Moyen-Orient (Bahreïn)

me-south-1

Amérique du Sud (São Paulo)

sa-east-1

Chine (Beijing)

cn-north-1

China (Ningxia)

cn-northwest-1

AWSTOE référence des commandes

AWSTOE est une application de gestion des composants en ligne de commande qui s'exécute sur des instances Amazon EC2. Lorsqu'Image Builder lance une instance de build ou de test EC2, il s'installe AWSTOE sur l'instance. Il exécute ensuite AWSTOE des commandes dans le AWS CLI pour installer ou valider les composants spécifiés dans l'image ou la recette du conteneur.

Note

Certains modules AWSTOE d'action nécessitent des autorisations élevées pour s'exécuter sur un serveur Linux. Pour utiliser des autorisations élevées, préfixez la syntaxe de la commande par sudo ou sudo su exécutez-la une fois lorsque vous vous connectez avant d'exécuter les commandes liées ci-dessous. Pour plus d'informations sur les modules AWSTOE d'action, consultezModules d'action pris en charge par AWSTOE gestionnaire de composants.

run

Utilisez la run commande pour exécuter les scripts de document YAML pour un ou plusieurs documents de composants.

valider

Exécutez la validate commande pour valider la syntaxe du document YAML pour un ou plusieurs documents de composants.

commande awstoe run

Cette commande exécute les scripts de document du composant YAML dans l'ordre dans lequel ils sont inclus dans le fichier de configuration spécifié par le --config paramètre ou dans la liste des documents du composant spécifiée par le --documents paramètre.

Note

Vous devez spécifier exactement l'un des paramètres suivants, jamais les deux :

--configuration

--documents

Syntaxe

awstoe run [--config <file path>] [--cw-ignore-failures <?>] [--cw-log-group <?>] [--cw-log-region us-west-2] [--cw-log-stream <?>] [--document-s3-bucket-owner <owner>] [--documents <file path,file path,...>] [--execution-id <?>] [--log-directory <file path>] [--log-s3-bucket-name <name>] [--log-s3-bucket-owner <owner>] [--log-s3-key-prefix <?>] [--parameters name1=value1,name2=value2...] [--phases <phase name>] [--blocked-action-modules <module,module,...>] [--state-directory <directory path>] [--version <?>] [--help] [--trace]

Paramètres et options

Parameters
--configuration ./config-example.json

Forme abrégée : -c ./config-example.json

Le fichier de configuration (conditionnel). Ce paramètre contient l'emplacement du fichier JSON contenant les paramètres de configuration des composants exécutés par cette commande. Si vous spécifiez des paramètres de run commande dans un fichier de configuration, vous ne devez pas spécifier le --documents paramètre. Pour plus d'informations sur la configuration des entrées, consultezConfigurez l'entrée pour AWSTOE exécuter la commande.

Les emplacements valides incluent :

  • Un chemin de fichier local (./config-example.json)

  • Un URI S3 (s3://bucket/key)

--cw-ignore-failure

Forme abrégée : N/A

Ignorez les échecs de journalisation dans les CloudWatch journaux.

--cw-log-group

Forme abrégée : N/A

Le LogGroup nom des CloudWatch journaux.

--cw-log-region

Forme abrégée : N/A

La AWS région qui s'applique aux CloudWatch journaux.

--cw-log-stream

Forme abrégée : N/A

Le LogStream nom des CloudWatch journaux, qui indique AWSTOE où diffuser le console.log fichier.

--document-s3-bucket-owner

Forme abrégée : N/A

L'ID de compte du propriétaire du compartiment pour les URI-based documents S3.

--documents ./doc-1.yaml,./doc-n.yaml

Forme abrégée : -d, ./doc-1.yaml ./doc-n

Les documents du composant (conditionnels). Ce paramètre contient une liste d'emplacements de fichiers séparés par des virgules pour les documents du composant YAML à exécuter. Si vous spécifiez des documents YAML pour la run commande à l'aide du --documents paramètre, vous ne devez pas le --config spécifier. N'incluez pas d'espaces entre les éléments de la liste.

Les emplacements valides incluent :

  • chemins de fichiers locaux (./component-doc-example.yaml).

  • URI S3 (s3://bucket/key).

  • ARN de version de build du composant Image Builder (arn:aws:imagebuilder:us-west-:component/ /2021.12. 2:123456789012 my-example-component 02/1).

--identifiant d'exécution

Forme abrégée : -i

Il s'agit de l'identifiant unique qui s'applique à l'exécution de la run commande en cours. Cet identifiant est inclus dans les noms des fichiers de sortie et des fichiers journaux, afin d'identifier ces fichiers de manière unique et de les lier à l'exécution de la commande en cours. Si ce paramètre est omis, AWSTOE génère un GUID.

--log-directory

Forme abrégée : -l

Le répertoire de destination où sont AWSTOE stockés tous les fichiers journaux de l'exécution de cette commande. Par défaut, ce répertoire se trouve dans le répertoire parent suivant :TOE_<DATETIME>_<EXECUTIONID>. Si vous ne spécifiez pas le répertoire du journal, AWSTOE utilise le répertoire de travail actuel (.).

--log-s3-bucket-name

Forme abrégée : -b

Si les journaux des composants sont stockés dans Amazon S3 (recommandé), AWSTOE télécharge les journaux des applications des composants dans le compartiment S3 nommé dans ce paramètre.

--log-s3-bucket-owner

Forme abrégée : N/A

Si les journaux des composants sont stockés dans Amazon S3 (recommandé), il s'agit de l'ID de compte propriétaire du compartiment dans lequel AWSTOE les fichiers journaux sont écrits.

--log-s3-key-prefix

Forme abrégée : -k

Si les journaux des composants sont stockés dans Amazon S3 (recommandé), il s'agit du préfixe de clé d'objet S3 pour l'emplacement du journal dans le compartiment.

--paramètres name1 =value1, name2 =value2...

Forme abrégée : N/A

Les paramètres sont des variables mutables définies dans le document du composant, avec des paramètres que l'application appelante peut fournir lors de l'exécution.

--phases

Forme abrégée : -p

Liste séparée par des virgules qui spécifie les phases à exécuter à partir des documents du composant YAML. Si le document d'un composant inclut des phases supplémentaires, celles-ci ne seront pas exécutées.

--répertoire d'état

Forme abrégée : -s

Le chemin du fichier dans lequel les fichiers de suivi d'état sont stockés.

--modules d'action bloqués

Forme abrégée : N/A

Liste de modules d'action séparés par des virgules qui ne peuvent pas être exécutés dans le document du composant. Si un document contient un module d'action bloqué, la validation échoue avant le début de l'exécution.

--version

Forme abrégée : -v

Spécifie la version du composant de l'application.

Options
--help

Forme abrégée : -h

Affiche un manuel d'aide relatif à l'utilisation des options de l'application de gestion des composants.

--tracer

Forme abrégée : -t

Active la journalisation détaillée sur la console.

Output

La run commande produit un résumé de l'exécution au format JSON. L'exemple suivant montre le résultat d'une exécution réussie.

{ "executionId": "12345678-abcd-efgh-1234-example12345", "status": "success", "failedStepCount": 0, "executedStepCount": 3, "ignoredFailedStepCount": 0, "skippedStepCount": 0, "failureMessage": "", "logUrl": "s3://my-bucket/my-prefix/12345678-abcd-efgh-1234-example12345" }

Le status champ indique le résultat global de l'exécution :

  • success— Toutes les phases et étapes se sont déroulées avec succès.

  • failed— Une ou plusieurs étapes ont échoué car l'onFailureaction l'estAbort.

  • timedOut— Une ou plusieurs étapes ont dépassé leur timeoutSeconds valeur.

commande awstoe validate

Lorsque vous exécutez cette commande, elle valide la syntaxe du document YAML pour chacun des documents de composant spécifiés par le --documents paramètre.

Syntaxe

awstoe validate [--blocked-action-modules <module,module,...>] [--document-s3-bucket-owner <owner>] --documents <file path,file path,...> [--help] [--trace]

Paramètres et options

Parameters
--modules d'action bloqués

Forme abrégée : N/A

Liste de modules d'action séparés par des virgules qui ne peuvent pas être exécutés dans le document du composant. Si un document contient un module d'action bloqué, la validation échoue.

--document-s3-bucket-owner

Forme abrégée : N/A

ID de compte source des URI-based documents S3 fournis.

--documents ./doc-1.yaml,./doc-n.yaml

Forme abrégée : -d, ./doc-1.yaml ./doc-n

Les documents relatifs aux composants (obligatoires). Ce paramètre contient une liste d'emplacements de fichiers séparés par des virgules pour les documents du composant YAML à exécuter, sans espaces entre les éléments. Les emplacements valides incluent :

  • chemins de fichiers locaux (./component-doc-example.yaml)

  • URI S3 () s3://bucket/key

  • ARN de version de build du composant Image Builder (arn:aws:imagebuilder:us-west-:component/ /2021.12. 2:123456789012 my-example-component 02/1)

Options
--help

Forme abrégée : -h

Affiche un manuel d'aide relatif à l'utilisation des options de l'application de gestion des composants.

--tracer

Forme abrégée : -t

Active la journalisation détaillée sur la console.

Output

La validate commande produit un résultat de validation JSON. L'exemple suivant montre le résultat d'une validation réussie.

{ "validationStatus": "success", "message": "Validation successful." }

L'exemple suivant montre la sortie en cas d'échec de la validation.

{ "validationStatus": "failed", "message": "Document has 0 phases. Phases list must not be empty." }