Création d'un composant personnalisé avec Image Builder - EC2Image 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.

Création d'un composant personnalisé avec Image Builder

Une fois que vous avez terminé le document de composant, vous pouvez l'utiliser pour créer un composant personnalisé que vos recettes Image Builder peuvent utiliser. Vous pouvez créer un composant personnalisé depuis la console Image Builder, depuis API ou SDKs depuis la ligne de commande. Pour plus d'informations sur la création d'un composant personnalisé avec des paramètres d'entrée et son utilisation dans vos recettes, consultezTutoriel : Création d'un composant personnalisé avec des paramètres d'entrée.

Les sections suivantes expliquent comment créer des composants à partir de la console ou du AWS CLI.

Création d'un composant personnalisé depuis la console

Pour créer un composant d' AWSTOE application à partir de la console Image Builder, procédez comme suit :

  1. Ouvrez la console EC2 Image Builder à l'adresse https://console.aws.amazon.com/imagebuilder/.

  2. Sélectionnez Composants dans le volet de navigation. Sélectionnez ensuite Créer un composant.

  3. Sur la page Créer un composant, sous Détails du composant, entrez ce qui suit :

    1. Système d'exploitation d'image (OS). Spécifiez le système d'exploitation avec lequel le composant est compatible.

    2. Catégorie de composant. Dans le menu déroulant, sélectionnez le type de composant de construction ou de test que vous créez.

    3. Nom du composant. Entrez le nom du composant.

    4. Version du composant. Entrez le numéro de version du composant.

    5. Description. Fournissez une description facultative pour vous aider à identifier le composant.

    6. Modifier la description. Fournissez une description facultative pour vous aider à comprendre les modifications apportées à cette version du composant.

  4. Dans la section Définition du document, l'option par défaut est Définir le contenu du document. Le document du composant définit les actions qu'Image Builder exécute sur les instances de génération et de test pour créer votre image.

    Dans le champ Contenu, entrez le contenu YAML du document de votre composant. Pour commencer par un exemple de Hello World pour Linux, choisissez l'option Utiliser un exemple. Pour en savoir plus sur la création d'un document de YAML composant ou sur le copier-coller de l'exemple UpdateOS à partir de cette page, consultez. Création d'un document de YAML composant pour les composants personnalisés dans Image Builder

  5. Après avoir saisi les détails du composant, sélectionnez Créer un composant.

    Note

    Pour voir votre nouveau composant lorsque vous créez ou mettez à jour une recette, appliquez le filtre Owned by me à la liste des composants de construction ou de test. Le filtre se trouve en haut de la liste des composants, à côté du champ de recherche.

  6. Pour supprimer un composant, sur la page Composants, cochez la case à côté du composant que vous souhaitez supprimer. Dans le menu déroulant Actions, sélectionnez Supprimer le composant.

Mettre à jour un composant

Pour créer une nouvelle version de composant, procédez comme suit :

  1. Selon votre point de départ :

    • Sur la page de liste des composants : cochez la case à côté du nom du composant, puis sélectionnez Créer une nouvelle version dans le menu Actions.

    • Sur la page détaillée du composant : cliquez sur le bouton Créer une nouvelle version dans le coin supérieur droit de l'en-tête.

  2. Les informations du composant sont déjà renseignées avec les valeurs actuelles lorsque la page Créer un composant s'affiche. Suivez les étapes de création d'un composant pour le mettre à jour. Cela garantit que vous entrez une version sémantique unique dans la version du composant. Pour en savoir plus sur le versionnement sémantique des ressources Image Builder, consultez. Versionnage sémantique dans Image Builder

Créez un composant personnalisé à partir du AWS CLI

Dans cette section, vous allez apprendre à configurer et à utiliser les commandes Image Builder AWS CLI pour créer un composant d' AWSTOE application, comme suit.

  • Téléchargez le document de votre YAML composant dans un compartiment S3 auquel vous pouvez faire référence depuis la ligne de commande.

  • Créez le composant AWSTOE d'application à l'aide de la create-component commande.

  • Répertoriez les versions des composants à l'aide de la list-components commande et d'un filtre de nom pour voir quelles versions existent déjà. Vous pouvez utiliser le résultat pour déterminer quelle sera la prochaine version pour les mises à jour.

Pour créer un composant d' AWSTOE application à partir d'un YAML document d'entrée, suivez les étapes correspondant à la plate-forme de votre système d'exploitation d'image.

Linux
Stockez le document relatif aux composants de votre application dans Amazon S3

Vous pouvez utiliser un compartiment S3 comme référentiel pour le document source des composants de votre AWSTOE application. Pour enregistrer le document de votre composant, procédez comme suit :

  • Téléchargez le document sur Amazon S3

    Si la taille de votre document est inférieure à 64 Ko, vous pouvez ignorer cette étape. Les documents d'une taille supérieure ou égale à 64 Ko doivent être stockés dans Amazon S3.

    aws s3 cp update-linux-os.yaml s3://amzn-s3-demo-destination-bucket/my-path/update-linux-os.yaml
Création d'un composant à partir du YAML document

Pour rationaliser la create-component commande que vous utilisez dans le AWS CLI, créez un JSON fichier contenant tous les paramètres du composant que vous souhaitez transmettre à la commande. Indiquez l'emplacement du update-linux-os.yaml document que vous avez créé lors des étapes précédentes. La paire uri clé-valeur contient la référence du fichier.

Note

La convention de dénomination des valeurs de données du JSON fichier suit le modèle spécifié pour les paramètres de demande API d'action Image Builder. Pour consulter les paramètres de la demande de API commande, consultez la CreateComponentcommande dans le document EC2Image Builder API Reference.

Pour fournir les valeurs de données sous forme de paramètres de ligne de commande, reportez-vous aux noms de paramètres spécifiés dans la référence des AWS CLI commandes.

  1. Création d'un JSON fichier CLI d'entrée

    Utilisez un outil d'édition de fichiers pour créer un fichier nommécreate-update-linux-os-component.json. Incluez le contenu suivant :

    { "name": "update-linux-os", "semanticVersion": "1.1.2", "description": "An example component that updates the Linux operating system", "changeDescription": "Initial version.", "platform": "Linux", "uri": "s3://amzn-s3-demo-destination-bucket/my-path/update-linux-os.yaml", "kmsKeyId": "arn:aws:kms:us-west-2:123456789012:key/98765432-b123-456b-7f89-0123456f789c", "tags": { "MyTagKey-purpose": "security-updates" } }
    Note
    • Vous devez inclure la file:// notation au début du chemin du JSON fichier.

    • Le chemin du JSON fichier doit suivre la convention appropriée pour le système d'exploitation de base sur lequel vous exécutez la commande. En effet, Windows utilise la barre oblique inverse ( \) pour faire référence au chemin du répertoire, et Linux utilise la barre oblique directe (/).

  2. Création du composant

    Utilisez la commande suivante pour créer le composant, en faisant référence au nom du JSON fichier que vous avez créé à l'étape précédente :

    aws imagebuilder create-component --cli-input-json file://create-update-linux-os-component.json
    Note
    • Vous devez inclure la file:// notation au début du chemin du JSON fichier.

    • Le chemin du JSON fichier doit suivre la convention appropriée pour le système d'exploitation de base sur lequel vous exécutez la commande. En effet, Windows utilise la barre oblique inverse ( \) pour faire référence au chemin du répertoire, et Linux utilise la barre oblique directe (/).

Windows
Stockez le document relatif aux composants de votre application dans Amazon S3

Vous pouvez utiliser un compartiment S3 comme référentiel pour le document source des composants de votre AWSTOE application. Pour enregistrer le document de votre composant, procédez comme suit :

  • Téléchargez le document sur Amazon S3

    Si la taille de votre document est inférieure à 64 Ko, vous pouvez ignorer cette étape. Les documents d'une taille supérieure ou égale à 64 Ko doivent être stockés dans Amazon S3.

    aws s3 cp update-windows-os.yaml s3://amzn-s3-demo-destination-bucket/my-path/update-windows-os.yaml
Création d'un composant à partir du YAML document

Pour rationaliser la create-component commande que vous utilisez dans le AWS CLI, créez un JSON fichier contenant tous les paramètres du composant que vous souhaitez transmettre à la commande. Indiquez l'emplacement du update-windows-os.yaml document que vous avez créé lors des étapes précédentes. La paire uri clé-valeur contient la référence du fichier.

Note

La convention de dénomination des valeurs de données du JSON fichier suit le modèle spécifié pour les paramètres de demande API d'action Image Builder. Pour consulter les paramètres de la demande de API commande, consultez la CreateComponentcommande dans le document EC2Image Builder API Reference.

Pour fournir les valeurs de données sous forme de paramètres de ligne de commande, reportez-vous aux noms de paramètres spécifiés dans la référence des AWS CLI commandes.

  1. Création d'un JSON fichier CLI d'entrée

    Utilisez un outil d'édition de fichiers pour créer un fichier nommécreate-update-windows-os-component.json. Incluez le contenu suivant :

    { "name": "update-windows-os", "semanticVersion": "1.1.2", "description": "An example component that updates the Windows operating system.", "changeDescription": "Initial version.", "platform": "Windows", "uri": "s3://amzn-s3-demo-destination-bucket/my-path/update-windows-os.yaml", "kmsKeyId": "arn:aws:kms:us-west-2:123456789012:key/98765432-b123-456b-7f89-0123456f789c", "tags": { "MyTagKey-purpose": "security-updates" } }
    Note
    • Vous devez inclure la file:// notation au début du chemin du JSON fichier.

    • Le chemin du JSON fichier doit suivre la convention appropriée pour le système d'exploitation de base sur lequel vous exécutez la commande. En effet, Windows utilise la barre oblique inverse ( \) pour faire référence au chemin du répertoire, et Linux utilise la barre oblique directe (/).

  2. Création du composant

    Utilisez la commande suivante pour créer le composant, en faisant référence au nom du JSON fichier que vous avez créé à l'étape précédente :

    aws imagebuilder create-component --cli-input-json file://create-update-windows-os-component.json
    Note
    • Vous devez inclure la file:// notation au début du chemin du JSON fichier.

    • Le chemin du JSON fichier doit suivre la convention appropriée pour le système d'exploitation de base sur lequel vous exécutez la commande. En effet, Windows utilise la barre oblique inverse ( \) pour faire référence au chemin du répertoire, et Linux utilise la barre oblique directe (/).

AWSTOE gestion des versions des composants pour les mises à jour depuis le AWS CLI

AWSTOE les noms et versions des composants sont intégrés dans le nom de ressource Amazon (ARN) du composant, après le préfixe du composant. Chaque nouvelle version d'un composant est uniqueARN. Les étapes de création d'une nouvelle version sont exactement les mêmes que celles de création d'un nouveau composant, à condition que la version sémantique soit unique pour le nom de ce composant. Pour en savoir plus sur le versionnement sémantique des ressources Image Builder, consultez. Versionnage sémantique dans Image Builder

Pour être sûr d'attribuer la version logique suivante, obtenez d'abord une liste des versions existantes du composant que vous souhaitez modifier. Utilisez la list-components commande avec le AWS CLI, et filtrez sur le nom.

Dans cet exemple, vous filtrez sur le nom du composant que vous avez créé dans les exemples Linux précédents. Pour répertorier le composant que vous avez créé, utilisez la valeur du name paramètre du JSON fichier que vous avez utilisé dans la create-component commande.

aws imagebuilder list-components --filters name="name",values="update-linux-os" { "requestId": "123a4567-b890-123c-45d6-ef789ab0cd1e", "componentVersionList": [ { "arn": "arn:aws:imagebuilder:us-west-2:1234560087789012:component/update-linux-os/1.0.0", "name": "update-linux-os", "version": "1.0.0", "platform": "Linux", "type": "BUILD", "owner": "123456789012", "dateCreated": "2020-09-24T16:58:24.444Z" }, { "arn": "arn:aws:imagebuilder:us-west-2:1234560087789012:component/update-linux-os/1.0.1", "name": "update-linux-os", "version": "1.0.1", "platform": "Linux", "type": "BUILD", "owner": "123456789012", "dateCreated": "2021-07-10T03:38:46.091Z" } ] }

Sur la base de vos résultats, vous pouvez déterminer quelle devrait être la prochaine version.

Importez un script pour créer un composant à partir du AWS CLI

Dans certains scénarios, il peut être plus facile de démarrer avec un script préexistant. Pour ce scénario, vous pouvez utiliser l'exemple suivant.

Cet exemple suppose que vous disposez d'un fichier appelé import-component.json (comme indiqué). Notez que le fichier fait directement référence à un PowerShell script appelé AdminConfig.ps1 qui a déjà été téléchargé versamzn-s3-demo-source-bucket. Actuellement, SHELL est pris en charge pour le composantformat.

{ "name": "MyImportedComponent", "semanticVersion": "1.0.0", "description": "An example of how to import a component", "changeDescription": "First commit message.", "format": "SHELL", "platform": "Windows", "type": "BUILD", "uri": "s3://amzn-s3-demo-source-bucket/AdminConfig.ps1", "kmsKeyId": "arn:aws:kms:us-west-2:123456789012:key/60763706-b131-418b-8f85-3420912f020c" }

Pour créer le composant à partir d'un script importé, exécutez la commande suivante.

aws imagebuilder import-component --cli-input-json file://import-component.json