View a markdown version of this page

Gérer les recettes dans 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.

Gérer les recettes dans Image Builder

Une recette EC2 Image Builder constitue le plan directeur pour créer une image de machine personnalisée. Une recette précise trois éléments clés :

  1. Image de base  : point de départ de votre image (une AMI, une image de conteneur ou une machine virtuelle importée).

  2. Composants  : étapes de création et de test permettant de personnaliser votre image. Les composants sont facultatifs. Cette conception prend en charge les flux de travail de test et de distribution uniquement.

  3. Configuration  : volumes de stockage, paramètres d'instance, répertoire de travail et autres paramètres de génération.

Image Builder prend en charge deux types de recettes :

  • Les recettes d'images génèrent des Amazon Machine Images (AMI) que vous pouvez utiliser pour lancer des instances Amazon EC2.

  • Les recettes de conteneurs produisent des images de Docker conteneurs stockées dans les référentiels Amazon ECR.

Les recettes sont immuables. Une fois que vous avez créé une recette, vous ne pouvez ni la modifier ni la remplacer. Pour mettre à jour des composants ou toute autre configuration, vous devez créer une nouvelle recette ou une nouvelle version de recette. Image Builder conserve toutes les versions précédentes. Cela vous permet de retracer la lignée des images jusqu'à la recette exacte qui a produit chaque sortie. Vous pouvez toujours appliquer des balises à vos recettes existantes. Pour plus d'informations sur le balisage de vos ressources à l'aide des commandes d'Image Builder AWS CLI, consultez la Balisage des ressources section de ce guide.

Astuce

Vous pouvez utiliser des composants gérés par Amazon dans vos recettes ou développer vos propres composants personnalisés. Pour de plus amples informations, veuillez consulter Développez des composants personnalisés pour votre image Image Builder. Pour les recettes d'image qui créent des AMI de sortie, vous pouvez également utiliser des produits et des composants d' AWS Marketplace image. Pour plus d'informations sur l'intégration avec AWS Marketplace les produits, consultezAWS Marketplace intégration dans Image Builder.

Utilisez les rubriques de cette section pour gérer vos recettes EC2 Image Builder, notamment pour répertorier les recettes existantes, afficher leurs détails et créer de nouvelles versions de recettes.

Comparaison des recettes avec images et des recettes en contenants

Le tableau suivant compare les caractéristiques des recettes d'images et des recettes de conteneurs.

Fonctionnalité Recette imagée Recette de contenant
Output AMI Dockerimage de conteneur dans Amazon ECR
Sources d'images de base ID AMI, ARN de l'image Image Builder, paramètre SSM, produit AWS Marketplace Docker Hubimage, image Amazon ECR, Amazon-managed image, ARN d'image Image Builder
Dockerfile Non applicable Obligatoire (modèle avec variables contextuelles)
Référentiel cible Non applicable Amazon ECR (obligatoire)
Configuration du stockage Bloquer les mappages des périphériques pour l'AMI de sortie Bloquer les mappages de périphériques pour l'instance de build
Données de l’utilisateur Pris en charge (remplace cloud-init par défaut) Non pris en charge au niveau des recettes
Contrôle des agents Systems Manager Configurable (désinstallation après la compilation) Non configurable
AWS Marketplace composants Pris en charge Non pris en charge
Remplacement de la plateforme Non applicable (détecté depuis l'AMI) Disponible pour Amazon ECR et les images Docker Hub

Versionnage des recettes

<major>Chaque recette utilise un versionnage sémantique dans le format. <minor>. <patch>. Chaque nœud de version accepte des valeurs comprises entre 0 et 1 073 741 823 (2^30 - 1).

Vous pouvez utiliser un caractère générique (x) à une position pour activer l'incrémentation automatique des versions. Lorsque vous créez une recette avec une version générique, Image Builder la remplace x par le prochain numéro disponible pour cette position.

Modèle Comportement Exemple de séquence
1.0.x Incrémente le numéro du patch 1.0.1, 1.0.2, 1.0.3,...
1.x.0 Incrémente le nombre mineur 1.1.0, 1.2.0, 1.3.0,...
x.0.0 Incrémente le nombre principal 1.0.0, 2.0.0, 3.0.0,...

Les règles suivantes s'appliquent aux versions contenant des caractères génériques :

  • Un seul x caractère générique est autorisé par chaîne de version.

  • Le caractère générique peut apparaître dans n'importe quelle position (majeure, mineure ou patch).

  • Les valeurs numériques dans les positions restantes doivent être des entiers explicites.

Astuce

Utilisez des versions génériques dans votre CI/CD automatisation afin de ne pas avoir à suivre et à incrémenter les versions des recettes à la main. Chaque fois que vous créez une recette avec le même caractère générique, Image Builder corrige la prochaine version disponible. Par exemple, une recette qui utilise toujours 1.0.x resolues to1.0.1, then1.0.2, et ainsi de suite. Pour en savoir plus sur la gestion sémantique des versions pour les ressources Image Builder, consultez. Versionnage sémantique dans Image Builder

Contraintes et limites des recettes

Avant de créer une recette, vérifiez les contraintes suivantes.

Contrainte Limite Remarques
Composants par recette 20 (par défaut) Comprend à la fois des composants de construction et de test. Vous pouvez demander une augmentation via AWS Support.
Taille maximale de la recette 25 KO Taille cumulée de toutes les configurations de composants, y compris les valeurs des paramètres.
Codes de produit par image de sortie 9 Combiné à partir de l'image de base et AWS Marketplace des composants.
Unicité des composants Un par recette Le même composant (quelle que soit la version) ne peut apparaître qu'une seule fois.
Nœud de version maximum 1 073 741 823 Par nœud (majeur, mineur ou correctif).
Nom de la formule Ne peut pas être modifié Le nom est fixé après la création. Créez une nouvelle recette pour un autre nom.

Les composants doivent également répondre aux exigences de compatibilité suivantes :

  • Les composants doivent correspondre à la plate-forme de la recette (Linux, Windows ou macOS).

  • Les composants doivent prendre en charge la version du système d'exploitation de l'image parente, lorsque les métadonnées de la version du système d'exploitation sont disponibles.

  • Les composants ayant le DISABLED statut DEPRECATED ou ne peuvent pas être ajoutés aux nouvelles recettes.

  • Les composants de durcissement CIS nécessitent une image CIS-published parent.

nettoyer des ressources ;

Pour éviter des frais imprévus, veillez à nettoyer les ressources et les pipelines que vous avez créés à partir des exemples de ce guide. Pour plus d'informations sur la suppression de ressources dans Image Builder, consultezSupprimer les ressources d'Image Builder obsolètes ou inutilisées.