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

Création d'un composant personnalisé avec EC2 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 l'API ou les SDK, ou depuis la ligne de commande. Pour plus d'informations sur la façon de créer un composant personnalisé avec des paramètres d'entrée et de l'utiliser dans vos recettes, consultezTutoriel : Création d'un composant personnalisé avec les paramètres d'entrée d'EC2 Image Builder.

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

Création d'un composant personnalisé à partir de la console Image Builder

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 sur 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 un nom pour le 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 du document de votre composant YAML. 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 composant YAML ou sur le copier-coller de l'exemple UpdateOS à partir de cette page, consultez. Création d'un document de composant YAML 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. En fonction de 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 composant YAML 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 document YAML 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://my-s3-bucket/my-path/update-linux-os.yaml
Création d'un composant à partir du document YAML

Pour rationaliser la create-component commande que vous utilisez dans le AWS CLI, créez un fichier JSON contenant tous les paramètres de 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 dans le fichier JSON suit le modèle spécifié pour les paramètres de demande d'action de l'API Image Builder. Pour consulter les paramètres de demande de commande d'API, consultez la CreateComponentcommande dans le manuel de référence de l'API EC2 Image Builder.

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éer un fichier JSON d'entrée CLI

    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://my-s3-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 l'option file:// au début du chemin du fichier JSON.

    • Le chemin d'accès du fichier JSON 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 fichier JSON 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 l'option file:// au début du chemin du fichier JSON.

    • Le chemin d'accès du fichier JSON 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://my-s3-bucket/my-path/update-windows-os.yaml
Création d'un composant à partir du document YAML

Pour rationaliser la create-component commande que vous utilisez dans le AWS CLI, créez un fichier JSON contenant tous les paramètres de 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 dans le fichier JSON suit le modèle spécifié pour les paramètres de demande d'action de l'API Image Builder. Pour consulter les paramètres de demande de commande d'API, consultez la CreateComponentcommande dans le manuel de référence de l'API EC2 Image Builder.

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éer un fichier JSON d'entrée CLI

    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://my-s3-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 l'option file:// au début du chemin du fichier JSON.

    • Le chemin d'accès du fichier JSON 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 fichier JSON 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 l'option file:// au début du chemin du fichier JSON.

    • Le chemin d'accès du fichier JSON 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 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 possède son propre ARN unique. 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 fichier JSON 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é versmy-s3-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://my-s3-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