View a markdown version of this page

Création d'une nouvelle version d'une recette imagée - 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'une nouvelle version d'une recette imagée

Cette section explique comment créer une recette imagée ou une nouvelle version d'une recette existante. Une recette d'image définit l'AMI de base, les composants de construction et la configuration. Utilisez cette recette pour créer des Amazon Machine Images (AMI) avec Image Builder. Vous pouvez créer des recettes d'images à partir de la console Image Builder ou à l'aide du AWS CLI.

Créez une nouvelle version d'image de la recette depuis la console

Lorsque vous créez une nouvelle version de recette, c'est pratiquement la même chose que de créer une nouvelle recette. La différence est que certains détails sont présélectionnés pour correspondre à la recette de base, dans la plupart des cas. La liste suivante décrit les différences entre la création d'une nouvelle recette et la création d'une nouvelle version d'une recette existante.

Détails de la recette de base dans la nouvelle version
  • Nom  : non modifiable.

  • Version  : obligatoire. Entrez le numéro de version que vous souhaitez créer dans le format <major>. <minor>. <patch>. Image Builder prend en charge l'incrémentation automatique des versions pour les recettes, ce qui vous permet d'utiliser des caractères génériques dans les versions de vos recettes. Lorsque vous créez une recette avec une version générique1.0.x, telle que Image Builder incrémente automatiquement la version (par exemple,1.0.1,1.0.2,1.0.3, etc.). Il n'est donc plus nécessaire de suivre et d'incrémenter manuellement les versions des recettes.

  • L'option Sélectionner une image — Pre-selected, mais vous pouvez la modifier. Si vous modifiez le choix de la source de votre image de base, vous risquez de perdre d'autres détails qui dépendent de l'option d'origine que vous avez choisie.

    Pour voir les détails associés à votre sélection d'images de base, choisissez l'onglet correspondant à votre sélection.

    Managed image
    • Système d'exploitation (OS) d'image  : non modifiable.

    • Nom de l'image — Pre-selected, en fonction de la combinaison des choix d'images de base que vous avez effectués pour la recette existante. Toutefois, si vous modifiez l'option Sélectionner une image, vous perdez le nom de l'image présélectionnée.

    • Auto-versioning options — Ne correspond pas à votre recette de base. Cette option d'image est définie par défaut sur l'option Utiliser la version du système d'exploitation sélectionnée.

      Important

      Si vous utilisez le versionnage sémantique pour lancer la création de pipelines, assurez-vous de modifier cette valeur pour Utiliser la dernière version du système d'exploitation disponible. Pour en savoir plus sur la gestion sémantique des versions pour les ressources Image Builder, consultez. Versionnage sémantique dans Image Builder

    AWS Marketplace image
    • Abonnements — Cet onglet doit être ouvert et l'image à laquelle vous êtes abonné AWS Marketplace doit être présélectionnée pour correspondre à votre recette de base. Si vous modifiez l'image que votre recette utilise comme image de base, vous risquez de perdre d'autres détails qui dépendent de l'image d'origine que vous avez choisie.

    Pour plus d'informations sur les AWS Marketplace produits, consultez la section Acheter des produits dans le Guide de AWS Marketplace l'acheteur.

    Custom AMI

    Source AMI (obligatoire) - Entrez l'ID AMI ou un paramètre de magasin de paramètres AWS Systems Manager (SSM) contenant un ID AMI à utiliser comme image de base. L'agent SSM doit être préinstallé dans l'AMI sélectionnée.

    • ID AMI — Ce paramètre n'est pas prérempli avec votre saisie d'origine. Entrez l'ID AMI de votre image de base. Exemple: ami-1234567890abcdef1.

    • Paramètre SSM — Entrez le nom ou l'ARN du paramètre SSM Parameter Store qui contient l'ID AMI de votre image de base. Exemple : /ib/test/param ou arn:aws:ssm:us-east-1:111122223333:parameter/ib/test/param.

  • Configuration de l'instance  : les paramètres sont présélectionnés, mais vous pouvez les modifier.

    • Agent Systems Manager  : vous pouvez activer ou désactiver cette case à cocher pour contrôler l'installation de l'agent Systems Manager sur la nouvelle image. Par défaut, cette case à cocher reste désactivée et Image Builder conserve l'agent Systems Manager dans votre AMI finale. Pour supprimer l'agent Systems Manager de l'image finale, cochez la case.

    • Données utilisateur  : vous pouvez utiliser cette zone pour fournir des commandes, ou un script de commande à exécuter, lorsque vous lancez votre instance de build. Toutefois, cette valeur remplace toutes les commandes qu'Image Builder aurait pu ajouter pour s'assurer que Systems Manager est installé. Ces commandes incluent le script de nettoyage qu'Image Builder exécute normalement pour les images Linux avant de créer la nouvelle image.

      Lorsqu'Image Builder lance une instance, les scripts de données utilisateur s'exécutent pendant la phase d'initialisation du cloud, avant le début de l'exécution des composants. Cette étape est enregistrée dans le fichier suivant de l'instance :var/log/cloud-init.log.

      Note
      • Si vous saisissez des données utilisateur, assurez-vous que l'agent Systems Manager est préinstallé sur votre image de base ou que vous incluez l'installation dans vos données utilisateur.

      • Pour les images Linux, assurez-vous que les étapes de nettoyage sont exécutées en incluant une commande pour créer un fichier vide nommé perform_cleanup dans votre script de données utilisateur. Image Builder détecte ce fichier et exécute le script de nettoyage avant de créer la nouvelle image. Pour plus d'informations et un exemple de script, consultezMeilleures pratiques de sécurité pour Image Builder.

  • Répertoire de travail — Pre-selected, mais vous pouvez le modifier.

  • Composants  : les composants déjà inclus dans la recette sont affichés dans la section Composants sélectionnés à la fin de chacune des listes de composants (construction et test). Vous pouvez supprimer ou réorganiser les composants sélectionnés en fonction de vos besoins.

    Les composants de renforcement CIS ne suivent pas les règles d'ordre standard des composants dans les recettes d'Image Builder. Les composants de renforcement CIS sont toujours exécutés en dernier pour garantir que les tests de référence s'exécutent par rapport à votre image de sortie.

    Note

    Les listes de composants de création et de test affichent les composants disponibles en fonction du type de propriétaire du composant. Pour ajouter un composant, choisissez Ajouter des composants de construction, puis sélectionnez le filtre de propriété qui s'applique. Par exemple, pour ajouter un composant de construction associé à un AWS Marketplace produit, sélectionnezAWS Marketplace. Cela ouvre un panneau de sélection sur le côté droit de l'interface de la console qui répertorie les AWS Marketplace composants.

    Pour le composant CIS, sélectionnezThird party managed.

    Vous pouvez configurer les paramètres suivants pour le composant que vous avez sélectionné :

    • Options de gestion des versions — Pre-selected, mais vous pouvez les modifier. Nous vous recommandons de choisir l'option Utiliser la dernière version disponible du composant pour vous assurer que les builds de votre image utilisent toujours la dernière version du composant. Si vous devez utiliser une version de composant spécifique dans votre recette, vous pouvez choisir Spécifier la version du composant et saisir la version dans la zone Version du composant qui apparaît.

    • Paramètres d'entrée  : affiche les paramètres d'entrée acceptés par le composant. La valeur est pré-remplie avec la valeur de la version précédente de la recette. Si vous utilisez ce composant pour la première fois dans cette recette et qu'une valeur par défaut a été définie pour le paramètre d'entrée, la valeur par défaut apparaît dans la zone Valeur avec du texte grisé. Si aucune autre valeur n'est saisie, Image Builder utilise la valeur par défaut.

      Si un paramètre d'entrée est obligatoire, mais qu'aucune valeur par défaut n'est définie dans le composant, vous devez fournir une valeur. Image Builder ne créera pas la version de la recette s'il manque des paramètres requis et si aucune valeur par défaut n'est définie.

      Important

      Les paramètres des composants sont des valeurs en texte brut et sont connectés AWS CloudTrail. Nous vous recommandons d'utiliser AWS Secrets Manager ou le AWS Systems Manager Parameter Store pour stocker vos secrets. Pour plus d'informations sur Secrets Manager, voir Qu'est-ce que Secrets Manager ? dans le Guide de AWS Secrets Manager l'utilisateur. Pour plus d'informations sur le stockage des AWS Systems Manager paramètres, consultez la section AWS Systems Manager Parameter Store dans le Guide de AWS Systems Manager l'utilisateur.

    Pour développer les paramètres des options de version ou des paramètres d'entrée, vous pouvez choisir la flèche à côté du nom du paramètre. Pour étendre tous les paramètres de tous les composants sélectionnés, vous pouvez activer et désactiver le bouton Tout étendre.

  • Stockage (volumes) — sont préremplis. Le nom de l'appareil, le snapshot et les sélections IOPS du volume racine ne sont pas modifiables. Vous pouvez toutefois modifier tous les paramètres restants, tels que la taille. Vous pouvez également ajouter de nouveaux volumes et chiffrer des volumes nouveaux ou existants.

    Pour chiffrer les volumes des images créées par Image Builder sous votre compte dans la région source (où s'exécute la génération), vous devez utiliser le chiffrement du volume de stockage dans la recette d'image. Le cryptage qui s'exécute pendant la phase de distribution de la version concerne uniquement les images distribuées vers d'autres comptes ou régions.

    Note

    Si vous utilisez le chiffrement pour vos volumes, vous devez sélectionner la clé pour chaque volume séparément, même si la clé est la même que celle utilisée pour le volume racine.

Note

Si vous n'avez pas de recette existante, utilisez l'assistant de pipeline Image Builder ou choisissez Recettes d'images dans le volet de navigation, puis choisissez Créer une recette d'image. Les champs décrits dans cette section s'appliquent à la fois aux nouvelles recettes et aux nouvelles versions.

Pour créer une nouvelle version d'une recette imagée :
  1. En haut de la page des détails de la recette, choisissez Créer une nouvelle version. Cela ouvre la page Créer une recette avec une image.

  2. Pour créer la nouvelle version, apportez vos modifications, puis choisissez Créer une recette.

    Votre image finale peut contenir jusqu'à neuf codes de produits issus de produits et de composants AWS Marketplace d'image. Image Builder renvoie une erreur lors de la création de la recette si votre image de base et ses composants dépassent cette limite.

Vérifiez les contraintes suivantes avant de créer une recette d'image :

  • Votre image finale peut contenir au maximum neuf codes de AWS Marketplace produit, combinés à partir de l'image de base et des composants. Un code produit est un identifiant associé à une AMI payante ou prise en charge à des fins de facturation et de licence. AWS Marketplace

  • Vous pouvez inclure jusqu'à 20 composants (build et test combinés). Il s'agit de la limite par défaut, que vous pouvez demander à augmenter AWS Support.

  • Le même composant ne peut pas apparaître plus d'une fois dans une recette.

  • Tous les composants doivent correspondre à la plate-forme (Linux, Windows ou macOS) de votre image de base. Les composants doivent également prendre en charge la version du système d'exploitation lorsque ces métadonnées sont disponibles.

Pour plus d'informations sur la création d'une recette d'image lorsque vous créez un pipeline d'images, consultez Étape 2 : Choisissez la recette la section Démarrage de ce guide.

Créez une recette imagée à l'aide du AWS CLI

Pour créer une recette d'image à l'aide de la create-image-recipe commande Image Builder dans le AWS CLI, procédez comme suit :

Conditions préalables

Avant d'exécuter les commandes Image Builder de cette section pour créer une recette d'image à partir de AWS CLI, vous pouvez éventuellement créer des composants que la recette utilise. L'exemple de recette d'image présenté à l'étape suivante fait référence à des exemples de composants créés dans la Créez un composant personnalisé à partir du AWS CLI section de ce guide.

Si vous souhaitez inclure des composants dans votre recette, notez les ARN que vous souhaitez inclure. Vous pouvez également créer des recettes sans aucun composant pour tester les AMI existantes ou les flux de travail réservés à la distribution.

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

    Vous pouvez fournir toutes les entrées de la create-image-recipe commande avec des paramètres de commande en ligne. Cependant, la commande qui en résulte peut être assez longue. Pour rationaliser la commande, vous pouvez plutôt fournir un fichier JSON contenant tous les paramètres de la recette.

    Note

    La convention de dénomination des valeurs de données du fichier JSON suit le modèle spécifié pour les paramètres de demande d'opération de l'API Image Builder. Pour passer en revue les paramètres de demande de fonctionnement de l'API, consultez la CreateImageRecipe commande dans le document 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.

    Voici un résumé des paramètres spécifiés dans ces exemples :

    • name (chaîne, obligatoire) — Le nom de la recette imagée.

    • description (chaîne) — Description de la recette imagée.

    • parentImage (chaîne, obligatoire) : image que la recette d'image utilise comme base pour votre image personnalisée. Vous pouvez spécifier l'image parente à l'aide de l'une des options suivantes :

      • ID AMI  : à utiliser lorsque vous avez une AMI spécifique (par exempleami-1234567890abcdef1) que vous souhaitez personnaliser. Comme un ID AMI est statique, nous vous recommandons plutôt d'utiliser un ARN d'image Image Builder ou un paramètre SSM si vous souhaitez que votre recette récupère automatiquement les nouvelles images de base.

      • ARN de la ressource image Image Builder  : à utiliser lorsque vous souhaitez créer à partir d'une image Image Builder. Cela inclut Amazon-managed les images fournies par Image Builder pour les systèmes d'exploitation les plus courants, ainsi que les images que vous avez créées précédemment. Spécifiez l'ARN de l'image avec une version sémantique ou utilisez un caractère générique de version pour toujours obtenir la dernière version.

      • AWS Systems Manager Paramètre de stockage des paramètres (SSM)  : à utiliser lorsque vous souhaitez que votre recette récupère automatiquement de nouveaux ID AMI sans créer de nouvelle version de recette. Préfixez le paramètre avecssm:, suivi du nom du paramètre ou de l'ARN. C'est idéal pour les pipelines qui doivent toujours utiliser la dernière image de base Amazon Linux ou Windows.

      • AWS Marketplace ID de produit  : à utiliser lorsque vous vous abonnez à un produit AMI AWS Marketplace et que vous souhaitez le personnaliser davantage.

      Note
      • Lorsque vous utilisez un ID AMI ou un paramètre SSM qui se résout en AMI, vous devez avoir accès à cette AMI dans votre compte. L'AMI doit également exister dans la région où Image Builder exécute la génération.

      • Les exemples Linux et macOS spécifient un ID AMI, tandis que l'exemple Windows utilise un ARN d'image Image Builder.

    • <major>SemanticVersion (chaîne, obligatoire) — Entrez le numéro de version que vous souhaitez créer au format. <minor>. <patch>. Image Builder prend en charge l'incrémentation automatique des versions pour les recettes, ce qui vous permet d'utiliser des caractères génériques dans vos versions de recettes. Lorsque vous créez une recette avec une version générique1.0.x, telle que Image Builder incrémente automatiquement la version (par exemple,1.0.1,1.0.2,1.0.3, etc.). Il n'est donc plus nécessaire de suivre et d'incrémenter manuellement les versions des recettes. Pour en savoir plus sur la gestion sémantique des versions pour les ressources Image Builder, consultez. Versionnage sémantique dans Image Builder

    • components (tableau, facultatif) — Contient un tableau d'ComponentConfigurationobjets. Les composants sont facultatifs : vous pouvez créer des recettes sans aucun composant pour les flux de test ou de distribution :

      Note

      Image Builder installe les composants dans l'ordre que vous avez indiqué dans la recette. Cependant, les composants de renforcement CIS sont toujours exécutés en dernier pour garantir que les tests de référence s'exécutent par rapport à votre image de sortie.

      • componentArn (chaîne, obligatoire) — L'ARN du composant.

        Astuce

        Pour utiliser l'un des exemples afin de créer votre propre recette d'image, vous devez remplacer les exemples d'ARN par les ARN des composants que vous utilisez pour votre recette.

      • paramètres (tableau d'objets) — Contient un tableau d'ComponentParameterobjets. Si un paramètre d'entrée est obligatoire, mais qu'aucune valeur par défaut n'est définie dans le composant, vous devez fournir une valeur. Image Builder ne créera pas la version de la recette s'il manque des paramètres requis et si aucune valeur par défaut n'est définie.

        Important

        Les paramètres des composants sont des valeurs en texte brut et sont connectés AWS CloudTrail. Nous vous recommandons d'utiliser AWS Secrets Manager ou le AWS Systems Manager Parameter Store pour stocker vos secrets. Pour plus d'informations sur Secrets Manager, voir Qu'est-ce que Secrets Manager ? dans le Guide de AWS Secrets Manager l'utilisateur. Pour plus d'informations sur le stockage des AWS Systems Manager paramètres, consultez la section AWS Systems Manager Parameter Store dans le Guide de AWS Systems Manager l'utilisateur.

        • name (chaîne, obligatoire) — Nom du paramètre de composant à définir.

        • valeur (tableau de chaînes, obligatoire) — Contient un tableau de chaînes pour définir la valeur du paramètre de composant nommé. Si une valeur par défaut est définie pour le composant et qu'aucune autre valeur n'est fournie, AWSTOE utilise la valeur par défaut.

    • AMIWatermarks (tableau de chaînes, facultatif) : liste de noms de filigranes à associer aux AMI de sortie créées à partir de cette recette. Les filigranes sont des marqueurs de lignée qui vous permettent de retracer l'histoire de vos images. Spécifiez de 1 à 5 noms. Chaque nom doit comporter de 3 à 128 caractères et peut inclure des lettres, des chiffres, des espaces et les caractères spéciaux suivants :( ) [ ] . / - ' @ _. Pour de plus amples informations, veuillez consulter Suivez la lignée des AMI à l'aide de filigranes.

    • supplémentaire InstanceConfiguration (objet) : spécifiez des paramètres supplémentaires et lancez des scripts pour vos instances de build.

      • systems ManagerAgent (objet) : contient les paramètres de l'agent Systems Manager sur votre instance de build.

        Note

        Les recettes Windows ne prennent pas en charge systemsManagerAgent cette configuration. Si vous l'incluez avec une image parent Windows, la demande échoue.

        • uninstall AfterBuild (booléen) : contrôle si l'agent Systems Manager est supprimé de votre image de build finale avant de créer la nouvelle AMI. Si cette option est définie surtrue, l'agent est supprimé de l'image finale. Si l'option est définie surfalse, l'agent reste actif afin qu'il soit inclus dans la nouvelle AMI. La valeur par défaut est false.

          Note

          Si l'uninstallAfterBuildattribut n'est pas inclus dans le fichier JSON et que les conditions suivantes sont remplies, Image Builder supprime l'agent Systems Manager de l'image finale afin qu'il ne soit pas disponible dans l'AMI :

          • Le userDataOverride champ est vide ou a été omis dans le fichier JSON.

          • Image Builder a automatiquement installé l'agent Systems Manager sur l'instance de génération pour un système d'exploitation sur lequel l'agent n'était pas préinstallé sur l'image de base.

      • user DataOverride (chaîne) — Fournissez des commandes ou un script de commande à exécuter lorsque vous lancez votre instance de build.

        Note

        Les données utilisateur sont toujours codées en base 64. Par exemple, les commandes suivantes sont codées comme IyEvYmluL2Jhc2gKbWtkaXIgLXAgL3Zhci9iYi8KdG91Y2ggL3Zhcg== :

        #!/bin/bash mkdir -p /var/bb/ touch /var

        L'exemple Linux utilise cette valeur codée.

    Linux

    L'image de base (parentImagepropriété) de l'exemple suivant est une AMI. Lorsque vous utilisez une AMI, vous devez avoir accès à l'AMI et celle-ci doit se trouver dans la région source (la même région où Image Builder exécute la commande). Enregistrez le fichier sous create-image-recipe.json et utilisez-le dans la create-image-recipe commande.

    { "name": "BB Ubuntu Image recipe", "description": "Hello World image recipe for Linux.", "parentImage": "ami-1234567890abcdef1", "semanticVersion": "1.0.0", "components": [ { "componentArn": "arn:aws:imagebuilder:us-west-2:111122223333:component/bb$" } ], "additionalInstanceConfiguration": { "systemsManagerAgent": { "uninstallAfterBuild": true }, "userDataOverride": "IyEvYmluL2Jhc2gKbWtkaXIgLXAgL3Zhci9iYi8KdG91Y2ggL3Zhcg==" } }
    Windows

    L'exemple suivant fait référence à la dernière version de l'image de base complète en anglais de Windows Server 2016. Dans cet exemple, l'ARN fait référence à la dernière image en fonction des filtres de version sémantiques que vous avez spécifiés :arn:aws:imagebuilder:us-west-2:aws:image/windows-server-2016-english-full-base-x86/x.x.x.

    { "name": "MyBasicRecipe", "description": "This example image recipe creates a Windows 2016 image.", "parentImage": "arn:aws:imagebuilder:us-west-2:aws:image/windows-server-2016-english-full-base-x86/x.x.x", "semanticVersion": "1.0.0", "components": [ { "componentArn": "arn:aws:imagebuilder:us-west-2:111122223333:component/my-example-component/2019.12.02/1" }, { "componentArn": "arn:aws:imagebuilder:us-west-2:111122223333:component/my-imported-component/1.0.0/1" } ] }
    Note

    Pour en savoir plus sur la gestion sémantique des versions pour les ressources Image Builder, consultez. Versionnage sémantique dans Image Builder

    macOS

    L'image de base (parentImagepropriété) de l'exemple suivant est une AMI. Lorsque vous utilisez une AMI, vous devez avoir accès à l'AMI et celle-ci doit se trouver dans la région source (la même région où Image Builder exécute la commande). Enregistrez le fichier sous create-image-recipe.json et utilisez-le dans la create-image-recipe commande.

    { "name": "macOS Catalina Image recipe", "description": "Hello World image recipe for macOS.", "parentImage": "ami-1234567890abcdef1", "semanticVersion": "1.0.0", "components": [ { "componentArn": "arn:aws:imagebuilder:us-west-2:111122223333:component/catalina$" } ], "additionalInstanceConfiguration": { "systemsManagerAgent": { "uninstallAfterBuild": true }, "userDataOverride": "IyEvYmluL2Jhc2gKbWtkaXIgLXAgL3Zhci9iYi8KdG91Y2ggL3Zhcg==" } }

    Exemple : recette sans composants

    Vous pouvez créer des recettes sans aucun composant pour tester les AMI existantes ou les flux de travail réservés à la distribution. L'exemple suivant montre une recette qui utilise une AMI existante sans appliquer de composants supplémentaires :

    { "name": "Test Distribution Recipe", "description": "Recipe for testing and distributing existing AMI without modifications.", "parentImage": "ami-1234567890abcdef1", "semanticVersion": "1.0.0", "additionalInstanceConfiguration": { "systemsManagerAgent": { "uninstallAfterBuild": true } } }
  2. Créez la recette

    Utilisez la commande suivante pour créer la recette. Entrez le nom du fichier JSON que vous avez créé à l'étape précédente dans le --cli-input-json paramètre :

    aws imagebuilder create-image-recipe --cli-input-json file://create-image-recipe.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. Par exemple, Windows utilise la barre oblique inverse (\) pour faire référence au chemin du répertoire, tandis que Linux et macOS utilisent la barre oblique (/).

    Votre image finale peut contenir jusqu'à neuf codes de produits issus de produits et de composants AWS Marketplace d'image. Image Builder renvoie une erreur lors de la création de la recette si votre image de base et ses composants dépassent cette limite lorsque vous exécutez la create-image-recipe commande.

    La commande renvoie l'ARN de la nouvelle recette d'image, comme indiqué dans l'exemple de sortie suivant.

    { "requestId": "a1b2c3d4-5678-90ab-cdef-EXAMPLE11111", "clientToken": "a1b2c3d4-5678-90ab-cdef-EXAMPLE22222", "imageRecipeArn": "arn:aws:imagebuilder:us-west-2:123456789012:image-recipe/my-recipe/1.0.1" }
  3. Vérifiez votre recette

    Pour vérifier qu'Image Builder a créé votre recette comme prévu, exécutez la get-image-recipe commande avec l'ARN renvoyé à l'étape précédente.

    aws imagebuilder get-image-recipe --image-recipe-arn arn:aws:imagebuilder:us-west-2:123456789012:image-recipe/my-recipe/1.0.1

Répertoire de travail

Le répertoire de travail spécifie le chemin du système de fichiers sur l'instance de génération où Image Builder exécute les opérations de génération et de test. Image Builder transmet ce chemin en AWS Systems Manager tant que répertoire de travail pour l'exécution des commandes.

Si vous ne spécifiez pas de répertoire de travail, Image Builder utilise les valeurs par défaut suivantes :

  • Linux : /tmp

  • macOS : /tmp

  • Windows: C:/

Pour Windows, le chemin ne peut pas contenir de guillemets doubles (").

Astuce

Définissez le répertoire de travail sur un chemin situé sur un volume attaché plus important lorsque vos composants ont besoin d'un espace disque temporaire supérieur à celui fourni par le répertoire par défaut lors de l'installation.

balises AMI

Vous pouvez appliquer des balises à l'AMI créée par Image Builder pendant la phase de création, avant la distribution de l'image. Image Builder applique ces balises à l'AMI, séparément des balises de ressources figurant sur la recette elle-même. Spécifiez les balises AMI à l'aide du amiTags paramètre de votre fichier d'entrée JSON.

Note

Vous ne pouvez pas utiliser les clés de tag réservées CreatedBy ouEc2ImageBuilderArn. Image Builder gère ces clés automatiquement.

{ "name": "tagged-recipe", "semanticVersion": "1.0.0", "parentImage": "arn:aws:imagebuilder:us-west-2:aws:image/amazon-linux-2023-x86/x.x.x", "components": [ { "componentArn": "arn:aws:imagebuilder:us-west-2:aws:component/update-linux/x.x.x" } ], "amiTags": { "Environment": "Production", "Team": "Platform", "CostCenter": "12345" } }

Erreurs courantes et résolution des problèmes

Le tableau suivant répertorie les erreurs courantes que vous pouvez rencontrer lors de la création d'une recette d'image, ainsi que la manière de les résoudre.

Erreur Cause Résolution
« Un composant peut être spécifié dans une recette d'image au plus une fois » Un composant dupliqué (même avec une version différente). Supprimez le doublon. N'utilisez qu'une seule version de chaque composant.
« L'ARN du composant ne correspond pas à la plate-forme d'image parent » Une inadéquation de plateforme. Vérifiez votre plateforme d'image de base. Utilisez des composants Linux avec des AMI Linux, etc.
« L'ARN du composant ne prend pas en charge la version du système d'exploitation de l'image parent » Une incompatibilité entre les versions du système d'exploitation. Vérifiez les versions du système d'exploitation prises en charge par le composant. Utilisez une version de composant compatible.
« Image Builder ne prend pas en charge la configuration de l'agent SSM sous Windows » Vous avez spécifié systemsManagerAgent avec une image parent Windows. Supprimez le additionalInstanceConfiguration.systemsManagerAgent bloc.
« Vous avez dépassé la taille cumulée maximale des composants de 25 Ko » Paramètres trop nombreux ou trop grands. Réduisez le nombre de paramètres ou raccourcissez les valeurs des paramètres.
« La recette peut contenir au maximum 9 produits du marché » Trop de codes AWS Marketplace produits. Réduisez le nombre de AWS Marketplace composants ou utilisez une image de base contenant moins de codes produits.
« La version sémantique fournie ne suit pas le format requis » Chaîne de version non valide. Utilisez le format major.minor.patch avec un caractère générique facultatif. x
« Le composant ARN... est obsolète et ne peut pas être inclus dans les nouvelles recettes » (ou « est désactivé ») Un composant référencé possède un DISABLED statut DEPRECATED ou. Effectuez une mise à jour vers la version actuelle du composant.

Importez une machine virtuelle comme image de base dans la console

Cette section explique comment importer une machine virtuelle (VM) comme image de base pour votre recette d'image. Les autres étapes liées à la création d'une recette ou d'une version de recette ne sont pas abordées ici. Pour des étapes supplémentaires permettant de créer une nouvelle recette d'image à l'aide de l'assistant de création de pipeline de la console Image Builder, consultezAssistant de pipeline : création d'une AMI. Pour plus d'informations sur la création d'une nouvelle recette imagée ou d'une nouvelle version de recette, consultezCréation d'une nouvelle version d'une recette imagée.

Pour importer une machine virtuelle en tant qu'image de base de votre recette d'image dans la console Image Builder, procédez comme suit, ainsi que toutes les autres étapes requises, pour créer votre recette ou votre version de recette.

  1. Dans la section Sélectionner une image pour l'image de base, sélectionnez l'option Importer l'image de base.

  2. Choisissez le système d'exploitation (OS) d'image et la version du système d'exploitation comme vous le feriez normalement.

Configuration de l'importation de machines virtuelles

Lorsque vous exportez votre machine virtuelle depuis son environnement de virtualisation, ce processus crée un ensemble d'un ou de plusieurs fichiers conteneurs de disque qui agissent comme des instantanés de l'environnement, des paramètres et des données de votre machine virtuelle. Vous pouvez utiliser ces fichiers pour importer votre machine virtuelle en tant qu'image de base pour votre recette d'image. Pour plus d'informations sur l'importation de machines virtuelles dans Image Builder, consultez Importation et exportation d'images de machines virtuelles

Pour spécifier l'emplacement de votre source d'importation, procédez comme suit :

Source d'importation

Spécifiez la source du premier conteneur de disque ou du premier instantané d'image de machine virtuelle à importer dans la section Conteneur de disque 1.

  1. Source  : il peut s'agir d'un compartiment S3 ou d'un instantané EBS.

  2. Sélectionnez l'emplacement S3 du disque — Entrez l'emplacement dans Amazon S3 où vos images de disque sont stockées. Pour rechercher l'emplacement, choisissez Parcourir S3.

  3. Pour ajouter un conteneur de disque, choisissez Ajouter un conteneur de disque.

Rôle IAM

Pour associer un rôle IAM à la configuration d'importation de votre machine virtuelle, sélectionnez le rôle dans la liste déroulante des rôles IAM ou choisissez Créer un nouveau rôle pour en créer un nouveau. Si vous créez un nouveau rôle, la page de console IAM Roles s'ouvre dans un onglet distinct.

Paramètres avancés — facultatif

Les paramètres suivants sont facultatifs. Ces paramètres vous permettent de configurer le chiffrement, les licences, les balises, etc. pour l'image de base créée par l'importation.

Général
  1. Spécifiez un nom unique pour l'image de base. Si vous ne saisissez aucune valeur, l'image de base hérite du nom de la recette.

  2. Spécifiez une version pour l'image de base. Utilisez le format suivant : <major>.<minor>.<patch>. Si vous ne saisissez aucune valeur, l'image de base hérite de la version de la recette.

  3. Vous pouvez également saisir une description pour l'image de base.

Architecture d'image de base

Pour spécifier l'architecture de la source d'importation de votre machine virtuelle, sélectionnez une valeur dans la liste Architecture.

Chiffrement

Si les images de disque de votre machine virtuelle sont chiffrées, vous devez fournir une clé à utiliser pour le processus d'importation. Pour spécifier et AWS KMS key pour l'importation, sélectionnez une valeur dans la liste Chiffrement (clé KMS). La liste contient les clés KMS auxquelles votre compte a accès dans la région actuelle.

Gestion des licences

Lorsque vous importez une machine virtuelle, le processus d'importation détecte automatiquement le système d'exploitation de la machine virtuelle et applique la licence appropriée à l'image de base. Selon la plate-forme de votre système d'exploitation, les types de licences sont les suivants :

  • Licence incluse — Une AWS licence adaptée à votre plateforme est appliquée à votre image de base.

  • Apportez votre propre licence (BYOL)  : conserve la licence de votre machine virtuelle, le cas échéant.

Pour joindre des configurations de licence créées avec AWS License Manager à votre image de base, sélectionnez-les dans la liste des noms de configuration de licence. Pour plus d'informations sur License Manager, consultez la section Utilisation des configurations de licence dans le Guide de l'utilisateur du License Manager.

Note
  • Les configurations de licence contiennent des règles de licence basées sur les termes de vos contrats d'entreprise.

  • Linux ne prend en charge que les licences BYOL.

Tags (image de base)

Les balises utilisent des paires clé-valeur pour attribuer du texte consultable à votre ressource Image Builder. Pour spécifier des balises pour l'image de base importée, entrez des paires clé-valeur dans les zones Clé et Valeur.

Pour ajouter une balise, choisissez Ajouter une balise. Pour supprimer une balise, choisissez Remove tag (Supprimer une balise).