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

Cette section explique comment créer une nouvelle version d'une recette d'image.

Création d'une nouvelle version de recette imagée à partir de la console

Lorsque vous créez une nouvelle version de recette, cela revient pratiquement à 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
  • NomNon modifiable.

  • Version — Obligatoire. Ce détail de base n'est pas prérempli avec la version actuelle ni avec aucun type de séquence. Entrez le numéro de version que vous souhaitez créer dans le format <major>. <minor>. <patch>. Si la version existe déjà, vous rencontrez une erreur.

  • L'option Sélectionner une image : présélectionnée, mais vous pouvez la modifier. Si vous modifiez votre choix de source pour 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 d'image (OS) : non modifiable.

    • Nom de l'image : présélectionné, 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é.

    • Options de gestion automatique des versions : ne correspondent pas à votre recette de base. Cette option d'image prend par défaut l'option Utiliser la version du système d'exploitation sélectionnée.

      Important

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

    AWS Marketplace image
    • Abonnements — Cet onglet doit être ouvert et l'image à partir de 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
    • AMIID — Obligatoire. Toutefois, ce paramètre n'est pas prérempli avec votre saisie d'origine. Vous devez saisir l'AMIID de votre image de base.

  • 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. La case est décochée par défaut pour inclure l'agent Systems Manager dans votre nouvelle image. Pour supprimer l'agent Systems Manager de l'image finale, cochez la case afin que l'agent ne soit pas inclus dans votreAMI.

    • 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 garantir l'installation de Systems Manager. Ces commandes incluent le script de nettoyage qu'Image Builder exécute normalement pour les images Linux avant de créer la nouvelle image.

      Note
      • Si vous entrez 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 permettant de 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, consultezBonnes pratiques de sécurité pour Image Builder.

  • Répertoire de travail : présélectionné, 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.

    CISles composants durcis ne suivent pas les règles de classement standard des composants dans les recettes d'Image Builder. Les composants de CIS durcissement s'exécutent toujours 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 génération et de test affichent les composants disponibles en fonction du type de propriétaire du composant. Pour ajouter ou mettre à jour des composants pour votre recette, sélectionnez le type de propriétaire du composant que vous recherchez. Par exemple, si vous souhaitez ajouter un composant associé à une image de base à laquelle vous vous êtes abonné AWS Marketplace, sélectionnez-le dans la liste des types Third party managed de propriétaire située à côté de la barre de recherche.

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

    • Options de gestion des versions : présélectionnées, mais vous pouvez les modifier. Nous vous recommandons de choisir l'option Utiliser la dernière version de composant disponible pour vous assurer que vos compilations d'images reprennent 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 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 AWS Systems Manager Parameter Store, voir 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 cliquer sur 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 ou désactiver le bouton Tout étendre.

  • Stockage (volumes) — sont préremplis. Le nom du périphérique, l'instantané et les IOPSsélections du volume racine ne sont pas modifiables. Cependant, vous pouvez modifier tous les autres paramètres, 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 des volumes de stockage dans la recette d'image. Le chiffrement exécuté pendant la phase de distribution de la compilation concerne uniquement les images distribuées à 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 s'il s'agit de la même clé que celle utilisée pour le volume racine.

Pour créer une nouvelle version de recette imagée, procédez comme suit :
  1. En haut de la page des détails de la recette, choisissez Créer une nouvelle version. Cela vous amène à la page Créer une recette d'image.

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

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 :

Prérequis

Avant d'exécuter les commandes Image Builder de cette section pour créer une recette d'image à partir de AWS CLI, vous devez créer les composants utilisés par la recette. 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.

Après avoir créé vos composants, ou si vous utilisez des composants existants, notez ARNs ceux que vous souhaitez inclure dans la recette.

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

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

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

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

    • name (chaîne, obligatoire) — Le nom de la recette d'image.

    • description (chaîne) — Description de la recette d'image.

    • parentImage(chaîne, obligatoire) — L'image que la recette d'image utilise comme base pour votre image personnalisée. La valeur peut être l'image de base ARN ou un AMI identifiant.

      Note

      L'exemple Linux utilise un Image BuilderAMI, tandis que l'exemple Windows utilise unARN.

    • semanticVersion<major>(chaîne, obligatoire) — La version sémantique de la recette d'image, exprimée dans le format suivant, avec des valeurs numériques à chaque position pour indiquer une version spécifique :. <minor>. <patch>. Par exemple, une valeur peut être1.0.0. Pour en savoir plus sur le versionnement sémantique des ressources Image Builder, consultez. Versionnage sémantique dans Image Builder

    • components (tableau, obligatoire) — Contient un tableau d'ComponentConfigurationobjets. Au moins un composant de construction doit être spécifié :

      Note

      Image Builder installe les composants dans l'ordre dans lequel vous les avez spécifiés dans la recette. Cependant, les composants CIS de renforcement 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.

      • component ARN (chaîne, obligatoire) — Le composantARN.

        Astuce

        Pour utiliser l'un des exemples afin de créer votre propre recette d'image, vous devez le remplacer par ARNs celui correspondant ARNs aux 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 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 AWS Systems Manager Parameter Store, voir AWS Systems Manager Parameter Store dans le guide de AWS Systems Manager l'utilisateur.

        • name (chaîne, obligatoire) — Le nom du paramètre du 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.

    • additionalInstanceConfiguration(objet) — Spécifiez des paramètres supplémentaires et lancez des scripts pour vos instances de build.

      • systemsManagerAgent(objet) — Contient les paramètres de l'agent Systems Manager sur votre instance de build.

        • uninstallAfterBuild(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 est laissé en place afin qu'il soit inclus dans le nouveauAMI. La valeur par défaut est false.

          Note

          Si l'uninstallAfterBuildattribut n'est pas inclus dans le JSON fichier 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 le AMI :

          • Le userDataOverride est vide ou a été omis du JSON fichier.

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

      • userDataOverride(string) — 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 uneAMI. Lorsque vous utilisez unAMI, vous devez avoir accès à la AMI région source et vous AMI devez vous 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-0a01b234c5de6fabc", "semanticVersion": "1.0.0", "components": [ { "componentArn": "arn:aws:imagebuilder:us-west-2:123456789012: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. ARNDans cet exemple, la dernière image du est SKU référencée sur la base 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:123456789012:component/my-example-component/2019.12.02/1" }, { "componentArn": "arn:aws:imagebuilder:us-west-2:123456789012:component/my-imported-component/1.0.0/1" } ] }
    Note

    Pour en savoir plus sur le versionnement sémantique des ressources Image Builder, consultez. Versionnage sémantique dans Image Builder

  2. Créez la recette

    Utilisez la commande suivante pour créer la recette. Indiquez le nom du JSON fichier 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 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 (/).

Importer une machine virtuelle comme image de base dans la console

Dans cette section, nous nous concentrons sur la façon d'importer une machine virtuelle (VM) comme image de base pour votre recette d'image. Nous ne couvrons pas les autres étapes liées à la création d'une recette ou d'une version de recette ici. Pour connaître les é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 console : créer AMI. Pour connaître les étapes supplémentaires permettant de créer une nouvelle recette sous forme d'image ou une nouvelle version de recette, voirCréation d'une nouvelle version d'une recette d'image.

Pour importer une machine virtuelle comme image de base pour votre recette d'image dans la console Image Builder, suivez ces étapes, ainsi que toute autre étape requise, pour créer votre recette ou 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 des images (OS) 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 plusieurs fichiers de conteneur 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 VMs dans Image Builder, voir 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 d'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 EBS instantané.

  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 disques, choisissez Ajouter un conteneur de disques.

IAMrôle

Pour associer un IAM rôle à la configuration d'importation de votre machine virtuelle, sélectionnez-le IAMdans la liste déroulante des rôles 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 Rôles s'ouvre dans un onglet distinct.

Réglages avancés — optionnel

Les paramètres suivants sont facultatifs. Avec ces paramètres, vous pouvez 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 n'entrez 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 n'entrez 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 un AWS KMS key pour l'importation, sélectionnez une valeur dans la liste Chiffrement (KMSclé). La liste contient KMS les clés 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 licence 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 associer 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 Working with AWS 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 BYOL les licences.

Balises (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 cases Clé et Valeur.

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