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 :
-
Image de base : point de départ de votre image (une AMI, une image de conteneur ou une machine virtuelle importée).
-
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.
-
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.
Table des matières
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
xcaractè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
DISABLEDstatutDEPRECATEDou 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.