

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.

# Configurer des images personnalisées avec Image Builder
<a name="manage-resources"></a>

Les ressources de configuration sont les éléments constitutifs des pipelines d'images, ainsi que les images produites par ces pipelines. Ce chapitre traite de la création, de la maintenance et du partage des ressources Image Builder, notamment des composants, des recettes et des images, ainsi que de la configuration de l'infrastructure et des paramètres de distribution.

**Note**  
Pour vous aider à gérer vos ressources Image Builder, vous pouvez attribuer vos propres métadonnées à chaque ressource sous forme de balises. Vous utilisez des balises pour classer vos AWS ressources de différentes manières, par exemple par objectif, propriétaire ou environnement. Cela est utile lorsque vous avez de nombreuses ressources du même type. Vous pouvez identifier plus facilement une ressource spécifique en fonction des balises que vous lui avez attribuées.  
Pour plus d'informations sur le balisage de vos ressources à l'aide des commandes Image Builder dans le AWS CLI, consultez la [Balisage des ressources](tag-resources.md) section de ce guide.

**Topics**
+ [Gérez les recettes dans Image Builder](manage-recipes.md)
+ [Gérer la configuration de l'infrastructure Image Builder](manage-infra-config.md)
+ [Gérer les paramètres de distribution d'Image Builder](manage-distribution-settings.md)

# Gérez les recettes dans Image Builder
<a name="manage-recipes"></a>

Une recette EC2 Image Builder définit l'image de base à utiliser comme point de départ pour créer une nouvelle image, ainsi que l'ensemble des composants que vous ajoutez pour personnaliser votre image et vérifier que tout fonctionne comme prévu. Image Builder propose des choix de version automatiques pour chaque composant. Par défaut, vous pouvez appliquer jusqu'à 20 composants à une recette. Cela inclut à la fois les composants de construction et de test.

Une fois que vous avez créé une recette, vous ne pouvez ni la modifier ni la remplacer. Pour mettre à jour les composants après avoir créé une recette, vous devez créer une nouvelle recette ou une nouvelle version de recette. Vous pouvez toujours appliquer des balises à vos recettes existantes. Pour plus d'informations sur le balisage de vos ressources à l'aide des commandes Image Builder dans le AWS CLI, consultez la [Balisage des ressources](tag-resources.md) 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](create-custom-components.md). Pour les recettes d'image qui créent une sortie AMIs, vous pouvez également utiliser des produits et des composants d' AWS Marketplace image. Pour plus d'informations sur l'intégration aux AWS Marketplace produits, consultez[AWS Marketplace intégration dans Image Builder](integ-marketplace.md).

Cette section explique comment répertorier, afficher et créer des recettes.

**Topics**
+ [Répertorier et afficher les détails de la recette en image](image-recipe-details.md)
+ [Répertorier et afficher les détails des recettes du contenant](container-recipe-details.md)
+ [Création d'une nouvelle version d'une recette d'image](create-image-recipes.md)
+ [Création d'une nouvelle version d'une recette de conteneur](create-container-recipes.md)
+ [Nettoyage des ressources](#recipes-cleanup)

# Répertorier et afficher les détails de la recette en image
<a name="image-recipe-details"></a>

Cette section décrit les différentes manières de trouver des informations et d'afficher les détails de vos recettes d'images EC2 Image Builder.

**Topics**
+ [Répertorier les recettes d'images depuis la console](#list-image-recipes-console)
+ [Répertoriez les recettes illustrées du AWS CLI](#cli-list-image-recipes)
+ [Afficher les détails de la recette sous forme d'image depuis la console](#view-image-recipe-details-console)
+ [Obtenez des informations détaillées sur les recettes en images à partir du AWS CLI](#cli-get-image-recipe)
+ [Pour obtenir les détails de la politique relative aux recettes illustrées, consultez le AWS CLI](#cli-get-image-recipe-policy)

## Répertorier les recettes d'images depuis la console
<a name="list-image-recipes-console"></a>

Pour consulter la liste des recettes d'images créées sous votre compte dans la console Image Builder, procédez comme suit :

1. Ouvrez la console [https://console.aws.amazon.com/imagebuilder/](https://console.aws.amazon.com/imagebuilder/)EC2 Image Builder à l'adresse.

1. Choisissez **Image recipes** dans le volet de navigation. Cela affiche la liste des recettes d'images créées sous votre compte.

1. Pour afficher les détails ou créer une nouvelle version de recette, cliquez sur le lien **Nom de la recette**. Cela ouvre la vue détaillée de la recette.
**Note**  
Vous pouvez également cocher la case à côté du **nom de la recette**, puis choisir **Afficher les détails**.

## Répertoriez les recettes illustrées du AWS CLI
<a name="cli-list-image-recipes"></a>

L'exemple suivant montre comment répertorier toutes vos recettes d'images à l'aide du AWS CLI.

```
aws imagebuilder list-image-recipes
```

## Afficher les détails de la recette sous forme d'image depuis la console
<a name="view-image-recipe-details-console"></a>

Pour afficher les détails d'une recette d'image spécifique à l'aide de la console Image Builder, sélectionnez la recette d'image à consulter, en suivant les étapes décrites dans[Répertorier les recettes d'images depuis la console](#list-image-recipes-console).

Sur la page détaillée de la recette, vous pouvez :
+ Supprimez la recette. Pour plus d'informations sur la suppression de ressources dans Image Builder, consultez[Supprimer les ressources d'Image Builder obsolètes ou inutilisées](delete-resources.md).
+ Créez une nouvelle version.
+ Créez un pipeline à partir de la recette. Après avoir sélectionné **Créer un pipeline à partir de cette recette**, vous êtes redirigé vers l'assistant de pipeline. Pour plus d'informations sur la création d'un pipeline Image Builder à l'aide de l'assistant de pipeline, voir [Tutoriel : Création d'un pipeline d'images avec une AMI de sortie à partir de l'assistant de console Image Builder](start-build-image-pipeline.md)
**Note**  
Lorsque vous créez un pipeline à partir d'une recette existante, l'option permettant de créer une nouvelle recette n'est pas disponible.

## Obtenez des informations détaillées sur les recettes en images à partir du AWS CLI
<a name="cli-get-image-recipe"></a>

L'exemple suivant montre comment utiliser une commande **imagebuilder** CLI pour obtenir les détails d'une recette d'image en spécifiant son Amazon Resource Name (ARN).

```
aws imagebuilder get-image-recipe --image-recipe-arn arn:aws:imagebuilder:us-west-2:123456789012:image-recipe/my-example-recipe/2020.12.03
```

## Pour obtenir les détails de la politique relative aux recettes illustrées, consultez le AWS CLI
<a name="cli-get-image-recipe-policy"></a>

L'exemple suivant montre comment utiliser une commande **imagebuilder** CLI pour obtenir les détails d'une politique de recette d'image en spécifiant son ARN.

```
aws imagebuilder get-image-recipe-policy --image-recipe-arn arn:aws:imagebuilder:us-west-2:123456789012:image-recipe/my-example-recipe/2020.12.03
```

# Répertorier et afficher les détails des recettes du contenant
<a name="container-recipe-details"></a>

Cette section décrit les méthodes permettant de trouver des informations et d'afficher les détails de vos recettes de conteneurs EC2 Image Builder.

**Topics**
+ [Répertorier les recettes de conteneurs dans la console](#list-container-recipes-console)
+ [Répertoriez les recettes de contenants avec le AWS CLI](#cli-list-container-recipes)
+ [Afficher les détails de la recette du conteneur dans la console](#view-container-recipe-details-console)
+ [Obtenez les détails de la recette du contenant avec le AWS CLI](#cli-get-container-recipe)
+ [Obtenez les détails de la politique en matière de recettes en contenants avec le AWS CLI](#cli-get-container-recipe-policy)

## Répertorier les recettes de conteneurs dans la console
<a name="list-container-recipes-console"></a>

Pour consulter la liste des recettes de conteneurs créées sous votre compte dans la console Image Builder, procédez comme suit :

1. Ouvrez la console [https://console.aws.amazon.com/imagebuilder/](https://console.aws.amazon.com/imagebuilder/)EC2 Image Builder à l'adresse.

1. Choisissez **Container recipes** dans le volet de navigation. Cela affiche la liste des recettes de conteneurs créées sous votre compte.

1. Pour afficher les détails ou créer une nouvelle version de recette, cliquez sur le lien **Nom de la recette**. Cela ouvre la vue détaillée de la recette.
**Note**  
Vous pouvez également cocher la case à côté du **nom de la recette**, puis choisir **Afficher les détails**.

## Répertoriez les recettes de contenants avec le AWS CLI
<a name="cli-list-container-recipes"></a>

L'exemple suivant montre comment répertorier toutes vos recettes de contenants à l'aide du AWS CLI.

```
aws imagebuilder list-container-recipes
```

## Afficher les détails de la recette du conteneur dans la console
<a name="view-container-recipe-details-console"></a>

Pour afficher les détails d'une recette de conteneur spécifique à l'aide de la console Image Builder, sélectionnez la recette de conteneur à consulter et suivez les étapes décrites dans[Répertorier les recettes de conteneurs dans la console](#list-container-recipes-console).

Sur la page détaillée de la recette, vous pouvez effectuer les opérations suivantes :
+ Supprimez la recette. Pour plus d'informations sur la suppression de ressources dans Image Builder, consultez[Supprimer les ressources d'Image Builder obsolètes ou inutilisées](delete-resources.md).
+ Créez une nouvelle version.
+ Créez un pipeline à partir de la recette. Après avoir sélectionné **Créer un pipeline à partir de cette recette**, vous êtes redirigé vers l'assistant de pipeline. Pour plus d'informations sur la création d'un pipeline Image Builder à l'aide de l'assistant de pipeline, voir [Tutoriel : Création d'un pipeline d'images avec une AMI de sortie à partir de l'assistant de console Image Builder](start-build-image-pipeline.md)
**Note**  
Lorsque vous créez un pipeline à partir d'une recette existante, l'option permettant de créer une nouvelle recette n'est pas disponible.

## Obtenez les détails de la recette du contenant avec le AWS CLI
<a name="cli-get-container-recipe"></a>

L'exemple suivant montre comment utiliser une commande **imagebuilder** CLI pour obtenir les détails d'une recette de conteneur en spécifiant son ARN.

```
aws imagebuilder get-container-recipe --container-recipe-arn arn:aws:imagebuilder:us-west-2:123456789012:container-recipe/my-example-recipe/2020.12.03
```

## Obtenez les détails de la politique en matière de recettes en contenants avec le AWS CLI
<a name="cli-get-container-recipe-policy"></a>

L'exemple suivant montre comment utiliser une commande **imagebuilder** CLI pour obtenir les détails d'une politique de recette de conteneur en spécifiant son ARN.

```
aws imagebuilder get-container-recipe-policy --container-recipe-arn arn:aws:imagebuilder:us-west-2:123456789012:container-recipe/my-example-recipe/2020.12.03
```

# Création d'une nouvelle version d'une recette d'image
<a name="create-image-recipes"></a>

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

**Topics**
+ [Création d'une nouvelle version de recette imagée à partir de la console](#create-image-recipe-version-console)
+ [Créez une recette imagée à l'aide du AWS CLI](#create-image-recipe-cli)
+ [Importer une machine virtuelle comme image de base dans la console](#import-vm-recipes)

## Création d'une nouvelle version de recette imagée à partir de la console
<a name="create-image-recipe-version-console"></a>

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**
+ **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 modèles génériques dans vos versions de recettes. Lorsque vous créez une recette avec une version générique telle que `1.0.x` 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** : 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](ibhow-semantic-versioning.md)

------
#### [ 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](https://docs.aws.amazon.com/marketplace/latest/buyerguide/buyer-subscribing-to-products.html) dans le *Guide d'AWS Marketplace achat*.

------
#### [ 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 d'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 entrée 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. 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 votre AMI.
  + **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.

    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 sur l'instance :`var/log/cloud-init.log`.
**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, consultez[Bonnes pratiques de sécurité pour Image Builder](security-best-practices.md).
+ **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.

  Les composants de durcissement CIS ne respectent pas les règles de classement des composants standard des recettes 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 génération 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électionnez`AWS 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électionnez`Third party managed`.

  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 ?](https://docs.aws.amazon.com/secretsmanager/latest/userguide/intro.html) 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](https://docs.aws.amazon.com/systems-manager/latest/userguide/systems-manager-parameter-store.html) 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**, le **snapshot** et les sélections **IOPS** 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 :**

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

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

   Votre image finale peut contenir jusqu'à quatre codes de produits issus de AWS Marketplace l'image de produits et de composants. Si l'image de base et les composants que vous avez sélectionnés contiennent plus de quatre codes produit, Image Builder renvoie une erreur lorsque vous essayez de créer la recette.

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](start-build-image-pipeline.md#start-build-image-step2) la section **Démarrage** de ce guide.

## Créez une recette imagée à l'aide du AWS CLI
<a name="create-image-recipe-cli"></a>

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 du AWS CLI, vous pouvez éventuellement créer les composants utilisés par la recette. L'exemple de recette illustré à l'étape suivante fait référence à des exemples de composants créés dans la [Créez un composant personnalisé à partir du AWS CLI](create-component.md#create-component-ib-cli) section de ce guide.

Si vous souhaitez inclure des composants dans votre recette, notez ARNs ceux que vous souhaitez inclure. Vous pouvez également créer des recettes sans aucun composant pour tester des flux de travail existants AMIs ou 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 intégrés. Cependant, la commande qui en résulte peut être assez longue. Pour rationaliser la commande, vous pouvez à la place fournir un fichier JSON contenant tous les paramètres de la recette.
**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'opération de l'API Image Builder. Pour consulter les paramètres de demande d'opération d'API, consultez la [CreateImageRecipe](https://docs.aws.amazon.com/imagebuilder/latest/APIReference/API_CreateImageRecipe.html)commande dans le manuel *EC2 Image 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. Vous pouvez spécifier l'image parent à l'aide de l'une des options suivantes :
     + ID d’AMI
     + ARN de la ressource d'image Image Builder
     + AWS Systems Manager (SSM) Paramètre Store, préfixé par`ssm:`, suivi du nom du paramètre ou de l'ARN.
     + AWS Marketplace ID du produit
**Note**  
Les exemples Linux et macOS utilisent une AMI Image Builder, tandis que l'exemple Windows utilise un ARN.
   + **SemanticVersion** *<major>(chaîne, obligatoire) — Entrez le numéro de version que vous souhaitez créer dans le format. <minor>. *<patch>. Image Builder prend en charge l'incrémentation automatique des versions pour les recettes, ce qui vous permet d'utiliser des modèles génériques dans vos versions de recettes. Lorsque vous créez une recette avec une version générique telle que `1.0.x` 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 le versionnement sémantique des ressources Image Builder, consultez. [Versionnage sémantique dans Image Builder](ibhow-semantic-versioning.md)
   + **components** (tableau, facultatif) — Contient un tableau d'`ComponentConfiguration`objets. 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 dans lequel vous les avez spécifiés dans la recette. Cependant, les composants de renforcement CIS s'exécutent toujours en dernier pour garantir que les tests de référence s'exécutent par rapport à votre image de sortie.
     + **componentArn** (string, obligatoire) — L'ARN du composant.
**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'`ComponentParameter`objets. 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 ?](https://docs.aws.amazon.com/secretsmanager/latest/userguide/intro.html) 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](https://docs.aws.amazon.com/systems-manager/latest/userguide/systems-manager-parameter-store.html) dans le *guide de AWS Systems Manager l'utilisateur*.
       + **name** (chaîne, obligatoire) — 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**(Boolean) — 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 sur`true`, l'agent est supprimé de l'image finale. Si l'option est définie sur`false`, l'agent reste actif afin qu'il soit inclus dans la nouvelle AMI. La valeur par défaut est `false`.
**Note**  
Si l'`uninstallAfterBuild`attribut 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` est vide ou a été omis dans le fichier JSON.
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 (`parentImage`propriété) de l'exemple suivant est une AMI. Lorsque vous utilisez une AMI, vous devez avoir accès à l'AMI, et l'AMI 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 le versionnement sémantique des ressources Image Builder, consultez. [Versionnage sémantique dans Image Builder](ibhow-semantic-versioning.md)

------
#### [ macOS ]

   L'image de base (`parentImage`propriété) de l'exemple suivant est une AMI. Lorsque vous utilisez une AMI, vous devez avoir accès à l'AMI, et l'AMI 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 des flux de travail existants AMIs ou 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
   		}
   	}
   }
   ```

1. 

**Créez la recette**

   Utilisez la commande suivante pour créer la recette. Indiquez 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 (\$1) 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'à quatre codes de produits issus de AWS Marketplace l'image de produits et de composants. Si l'image de base et les composants que vous avez sélectionnés contiennent plus de quatre codes produit, Image Builder renvoie une erreur lors de l'exécution de la `create-image-recipe` commande.

## Importer une machine virtuelle comme image de base dans la console
<a name="import-vm-recipes"></a>

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, consultez[Assistant de pipeline : création d'une AMI](start-build-image-pipeline.md). Pour connaître les étapes supplémentaires permettant de créer une nouvelle recette sous forme d'image ou une nouvelle version de recette, voir[Création d'une nouvelle version d'une recette d'image](#create-image-recipes).

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

1. 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
<a name="import-vm-recipe-console-config"></a>

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](vm-import-export.md)

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 instantané EBS.

1. **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**.

1. Pour ajouter un conteneur de disques, choisissez **Ajouter un conteneur de disques**.

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

#### Réglages avancés — *optionnel*
<a name="import-vm-recipe-console-opt"></a>

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 n'entrez aucune valeur, l'image de base hérite du nom de la recette.

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

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

**Architecture d'image de base**  
Pour spécifier l'architecture de votre source d'importation de 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 (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 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 les licences BYOL.

**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 balise, choisissez **Ajouter une balise**. Pour supprimer une balise, choisissez **Remove tag (Supprimer une balise)**.

# Création d'une nouvelle version d'une recette de conteneur
<a name="create-container-recipes"></a>

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

**Topics**
+ [Créez une nouvelle version de recette de conteneur avec la console](#create-container-recipe-version)
+ [Créez une recette en pot avec le AWS CLI](#create-container-recipe-cli)

## Créez une nouvelle version de recette de conteneur avec la console
<a name="create-container-recipe-version"></a>

La création d'une nouvelle version d'une recette contenant est pratiquement identique à la création d'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**
+ **Nom** : *non modifiable.*
+ **Version** — Obligatoire. Ce détail 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 au format *major.minor.patch.* Si la version existe déjà, vous rencontrez une erreur.

**Image de base**
+ **Sélectionnez l'option d'image** : présélectionnée, mais modifiable. 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 les images de conteneur Docker, vous pouvez choisir entre des images publiques hébergées sur DockerHub, des images de conteneur existantes dans Amazon ECR ou des images de conteneur gérées par Amazon. Pour voir les détails associés à votre sélection d'images de base, choisissez l'onglet correspondant à votre sélection.

------
#### [ Managed images ]
  + **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. Les options de gestion automatique des versions sont définies par défaut sur 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](ibhow-semantic-versioning.md)

------
#### [ ECR image ]
  + **Système d'exploitation d'image (OS)** : présélectionné, mais modifiable.
  + **Version du système d'exploitation** : présélectionnée, mais modifiable.
  + **ID d'image ECR** : prérempli, mais modifiable.

------
#### [ Docker Hub image ]
  + **Système d'exploitation d'image (OS)** : *non modifiable.*
  + **Version du système d'exploitation** : présélectionnée, mais modifiable.
  + **ID d'image Docker** : prérempli, mais modifiable.

------

**Configuration de l'instance**
+ **Source de l'AMI** (obligatoire) — Identifiez une AMI personnalisée à utiliser comme image de base pour votre instance de création et de test de conteneur. Il peut s'agir d'un ID d'AMI ou d'un paramètre de magasin de paramètres AWS Systems Manager (SSM) contenant un ID d'AMI.
  + **ID AMI** — Ce paramètre n'est pas prérempli avec votre entrée 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`.
+ 

**Stockage (volumes)**  
**EBS volume 1 (racine AMI)** — Prérempli. Vous ne pouvez pas modifier le **nom du périphérique** du volume racine, le **snapshot** ou les sélections d'**IOPS**. Cependant, vous pouvez modifier tous les autres paramètres, tels que la **taille**. Vous pouvez également ajouter de nouveaux volumes.
**Note**  
Si vous avez spécifié une AMI de base qui a été partagée avec vous depuis un autre compte, les instantanés de tous les volumes secondaires spécifiés doivent également être partagés avec votre compte.

**Répertoire de travail**
+ **Chemin du répertoire de travail** : pré-rempli, mais modifiable.

**Éléments**
+ **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 durcissement CIS ne respectent pas les règles de classement des composants standard des recettes 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 génération 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électionnez`AWS 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électionnez`Third party managed`.

  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 ?](https://docs.aws.amazon.com/secretsmanager/latest/userguide/intro.html) 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](https://docs.aws.amazon.com/systems-manager/latest/userguide/systems-manager-parameter-store.html) 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**.

**Modèle Dockerfile**
+ **Modèle Dockerfile** : pré-rempli, mais modifiable. Vous pouvez spécifier n'importe laquelle des variables contextuelles suivantes, qu'Image Builder remplace par des informations de build au moment de l'exécution.

     
**ParentImage (obligatoire)**  
Au moment de la création, cette variable devient l'image de base de votre recette.  
Exemple :  

  ```
  FROM
  {{{ imagebuilder:parentImage }}}
  ```  
**environnements (obligatoire si des composants sont spécifiés)**  
Cette variable sera convertie en un script qui exécute des composants.  
Exemple :  

  ```
  {{{ imagebuilder:environments }}}
  ```  
**composants (facultatif)**  
Image Builder résout les scripts de création et de test des composants pour les composants inclus dans la recette du conteneur. Cette variable peut être placée n'importe où dans le Dockerfile, après la variable d'environnement.  
Exemple :  

  ```
  {{{ imagebuilder:components }}}
  ```

**Référentiel cible**
+ **Nom du référentiel cible** : le référentiel Amazon ECR dans lequel votre image de sortie est stockée si aucun autre référentiel n'est spécifié dans la configuration de distribution de votre pipeline pour la région où le pipeline s'exécute (région 1).

**Pour créer une nouvelle version de recette de conteneur :**

1. En haut de la page des détails de la recette du conteneur, choisissez **Créer une nouvelle version**. Vous êtes redirigé vers la page **Créer une recette** pour les recettes par conteneur.

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

Pour plus d'informations sur la création d'une recette de conteneur lorsque vous créez un pipeline d'images, consultez la section **Mise [Étape 2 : Choisissez la recette](start-build-container-pipeline.md#start-build-container-step2)** en route de ce guide.

## Créez une recette en pot avec le AWS CLI
<a name="create-container-recipe-cli"></a>

Pour créer une recette de conteneur Image Builder à l'aide de la `imagebuilder create-container-recipe` commande 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 de conteneur avec le AWS CLI, vous devez créer les composants que la recette utilisera. L'exemple de recette de conteneur 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](create-component.md#create-component-ib-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éer un fichier JSON d'entrée CLI**

   Vous pouvez fournir toutes les entrées de la **create-container-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 fichier JSON contenant tous les paramètres des recettes du conteneur
**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'opération de l'API Image Builder. Pour consulter les paramètres de demande d'opération d'API, consultez la [CreateContainerRecipe](https://docs.aws.amazon.com/imagebuilder/latest/APIReference/API_CreateContainerRecipe.html)commande 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*.

   Voici un résumé des paramètres de cet exemple :
   + **composants** (tableau d'objets, obligatoire) — Contient un tableau d'`ComponentConfiguration`objets. 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 de renforcement CIS s'exécutent toujours en dernier pour garantir que les tests de référence s'exécutent par rapport à votre image de sortie.
     + **componentArn** (string, obligatoire) — L'ARN du composant.
**Astuce**  
Pour utiliser cet exemple afin de créer votre propre recette de conteneur, remplacez-le ARNs par le ARNs pour les composants que vous utilisez pour votre recette,. Il s'agit Région AWS notamment du nom et du numéro de version de chacun.
     + **paramètres** (tableau d'objets) — Contient un tableau d'`ComponentParameter`objets. 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 ?](https://docs.aws.amazon.com/secretsmanager/latest/userguide/intro.html) 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](https://docs.aws.amazon.com/systems-manager/latest/userguide/systems-manager-parameter-store.html) 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.
   + **containerType** (chaîne, obligatoire) — Type de conteneur à créer. Les valeurs valides incluent`DOCKER`.
   + **dockerfileTemplateData**(string) — Le modèle Dockerfile utilisé pour créer votre image, exprimé sous la forme d'un blob de données intégré.
   + **name** (chaîne, obligatoire) — Le nom de la recette du conteneur.
   + **description** (chaîne) — Description de la recette du conteneur.
   + **parentImage** (chaîne, obligatoire) — L'image du conteneur Docker à utiliser dans la recette du conteneur comme référence pour votre image personnalisée.
     + Images publiques hébergées sur DockerHub
     + Images de conteneurs existantes dans Amazon ECR
     + Images de conteneurs gérées par Amazon
   + **PlatforMoverride** (chaîne) — Spécifie la plate-forme du système d'exploitation lorsque vous utilisez une image de base personnalisée.
   + **SemanticVersion** *<major>(chaîne, obligatoire) — La version sémantique de la recette de conteneur spécifiée au format suivant, avec des valeurs numériques à chaque position pour indiquer une version spécifique :. <minor>. *<patch>. Un exemple serait `1.0.0`. Pour en savoir plus sur le versionnement sémantique des ressources Image Builder, consultez. [Versionnage sémantique dans Image Builder](ibhow-semantic-versioning.md)
   + **tags** (string map) — Tags attachés à la recette du conteneur.
   + **InstanceConfiguration** (object) — Groupe d'options qui peuvent être utilisées pour configurer une instance afin de créer et de tester des images de conteneurs.
     + **image** (string) — L'image de base pour une instance de construction et de test de conteneur. Il peut contenir un ID AMI ou spécifier un paramètre de magasin de paramètres AWS Systems Manager (SSM), préfixé par`ssm:`, suivi du nom du paramètre ou de l'ARN. Si vous utilisez un paramètre SSM, la valeur du paramètre doit contenir un ID d'AMI. Si vous ne spécifiez pas d'image de base, Image Builder utilise l'AMI optimisée Amazon ECS appropriée comme image de base.
     + **blockDeviceMappings**(ensemble d'objets) — Définit les périphériques en mode bloc à associer pour créer une instance à partir de l'AMI Image Builder spécifiée dans le **image** paramètre.
       + **DeviceName** (chaîne) : périphérique auquel ces mappages s'appliquent.
       + **ebs** (object) — Utilisé pour gérer la configuration spécifique d'Amazon EBS pour ce mappage.
         + **deleteOnTermination**(Booléen) — Utilisé pour configurer la suppression à la fin de l'appareil associé.
         + **crypté** (booléen) — Utilisé pour configurer le chiffrement de l'appareil.
         + **VolumeSize** (entier) — Utilisé pour remplacer la taille du volume de l'appareil.
         + **VolumeType** (string) — Utilisé pour remplacer le type de volume du périphérique.
   + **TargetRepository** (objet, obligatoire) — Le référentiel de destination pour l'image du conteneur si aucun autre référentiel n'est spécifié dans la configuration de distribution de votre pipeline pour la région où le pipeline s'exécute (Région 1).
     + **RepositoryName** (chaîne, obligatoire) — Nom du référentiel de conteneurs dans lequel l'image de conteneur de sortie est stockée. Ce nom est doté du préfixe de l'emplacement du référentiel.
     + **service** (chaîne, obligatoire) — Spécifie le service dans lequel cette image a été enregistrée.
   + **WorkingDirectory** (string) — Le répertoire de travail à utiliser lors des workflows de génération et de test.

   ```
   {
   	"components": [ 
   	  { 
   		 "componentArn": "arn:aws:imagebuilder:us-west-2:111122223333:component/helloworldal2/x.x.x"
   	  }
   	],
   	"containerType": "DOCKER",
   	"description": "My Linux Docker container image",
   	"dockerfileTemplateData": "FROM {{{ imagebuilder:parentImage }}}\n{{{ imagebuilder:environments }}}\n{{{ imagebuilder:components }}}",
   	"name": "amazonlinux-container-recipe",
   	"parentImage": "amazonlinux:latest",
   	"platformOverride": "Linux",
   	"semanticVersion": "1.0.2",
   	"tags": { 
   	  "sometag" : "Tag detail" 
   	},
   	"instanceConfiguration": {
   	  "image": "ami-1234567890abcdef1",
   	  "blockDeviceMappings": [
   		 {
   			"deviceName": "/dev/xvda",
   			"ebs": {
   				"deleteOnTermination": true,
   				"encrypted": false,
   				"volumeSize": 8,
   				"volumeType": "gp2"
   			 }
   		  }			
   	  ]
   	},
   	"targetRepository": { 
   	  "repositoryName": "myrepo",
   	  "service": "ECR"
   	},
   	"workingDirectory": "/tmp"
   }
   ```

1. 

**Créez la recette**

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

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

## Nettoyage des ressources
<a name="recipes-cleanup"></a>

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, consultez[Supprimer les ressources d'Image Builder obsolètes ou inutilisées](delete-resources.md).

# Gérer la configuration de l'infrastructure Image Builder
<a name="manage-infra-config"></a>

Vous pouvez utiliser les configurations d'infrastructure pour spécifier l'infrastructure Amazon EC2 qu'Image Builder utilise pour créer et tester votre image EC2 Image Builder. Les paramètres de l'infrastructure incluent :
+ Types d'instances pour votre infrastructure de création et de test. Nous vous recommandons de spécifier plusieurs types d'instance, car cela permet à Image Builder de lancer une instance à partir d'un pool doté d'une capacité suffisante. Cela peut réduire vos échecs de compilation transitoires.

  Pour les images Mac, vous pouvez choisir des types d'instances compatibles nativement avec le système d'exploitation macOS. Pour plus d'informations, consultez les [instances Mac Amazon EC2](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-mac-instances.html) dans le guide de l'utilisateur *Amazon EC2*.
+ Paramètres de placement d'instance dans lesquels vous pouvez spécifier l'hôte, le groupe de placement d'hôtes ou la zone de disponibilité où doivent être placées les instances lancées depuis votre image.
+ Un profil d'instance qui fournit à vos instances de création et de test les autorisations nécessaires pour effectuer des activités de personnalisation. Par exemple, si vous avez un composant qui récupère des ressources depuis Amazon S3, le profil d'instance nécessite des autorisations pour accéder à ces fichiers. Le profil d'instance nécessite également un ensemble minimal d'autorisations pour qu'EC2 Image Builder puisse communiquer correctement avec l'instance. Pour de plus amples informations, veuillez consulter [Préparez-vous à créer des images personnalisées avec Image Builder](set-up-ib-env.md).
+ Le VPC, le sous-réseau et les groupes de sécurité pour les instances de création et de test de votre pipeline.
+ L'emplacement Amazon S3 où Image Builder stocke les journaux d'applications de votre compilation et de vos tests. Si vous configurez la journalisation, le profil d'instance spécifié dans la configuration de votre infrastructure doit disposer d'`s3:PutObject`autorisations pour le compartiment cible (`arn:aws:s3:::BucketName/*`).
+ Une paire de clés Amazon EC2 qui vous permet de vous connecter à votre instance pour résoudre les problèmes si votre build échoue et que vous le configurez. `terminateInstanceOnFailure` `false`
+ Rubrique SNS dans laquelle Image Builder envoie des notifications d'événements. Pour plus d'informations sur la façon dont Image Builder s'intègre à Amazon SNS, consultez. [Intégration d'Amazon SNS dans Image Builder](integ-sns.md)
**Note**  
Si votre rubrique SNS est chiffrée, la clé qui chiffre cette rubrique doit résider dans le compte sur lequel le service Image Builder est exécuté. Image Builder ne peut pas envoyer de notifications aux rubriques SNS chiffrées à l'aide de clés provenant d'autres comptes.

Vous pouvez créer et gérer des configurations d'infrastructure à l'aide de la console Image Builder, via l'API Image Builder ou à l'aide de **imagebuilder** commandes dans le AWS CLI.

**Topics**
+ [Répertorier et afficher les détails de configuration de l'infrastructure](infra-config-details.md)
+ [Créer une configuration d'infrastructure](create-infra-config.md)
+ [Mettre à jour une configuration d'infrastructure](update-infra-config.md)
+ [Image Builder et points de AWS PrivateLink terminaison VPC d'interface](vpc-interface-endpoints.md)

**Astuce**  
Lorsque vous disposez de plusieurs ressources du même type, le balisage vous aide à identifier une ressource spécifique en fonction des balises que vous lui avez attribuées. Pour plus d'informations sur le balisage de vos ressources à l'aide des commandes Image Builder dans le AWS CLI, consultez la [Balisage des ressources](tag-resources.md) section de ce guide.

# Répertorier et afficher les détails de configuration de l'infrastructure
<a name="infra-config-details"></a>

Cette section décrit les différentes manières de trouver des informations et d'afficher les détails de vos configurations d'infrastructure EC2 Image Builder.

**Topics**
+ [Répertoriez les configurations d'infrastructure à partir du AWS CLI](#cli-list-infrastructure-configurations)
+ [Obtenez des informations détaillées sur la configuration de l'infrastructure auprès du AWS CLI](#cli-get-infrastructure-configuration-details)

## Répertoriez les configurations d'infrastructure à partir du AWS CLI
<a name="cli-list-infrastructure-configurations"></a>

L'exemple suivant montre comment répertorier toutes les configurations de votre infrastructure à l'aide de la **[list-infrastructure-configurations](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/imagebuilder/list-infrastructure-configurations.html)** commande du AWS CLI.

```
aws imagebuilder list-infrastructure-configurations
```

## Obtenez des informations détaillées sur la configuration de l'infrastructure auprès du AWS CLI
<a name="cli-get-infrastructure-configuration-details"></a>

L'exemple suivant montre comment utiliser la **[get-infrastructure-configuration](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/imagebuilder/get-infrastructure-configuration.html)** commande du AWS CLI pour obtenir les détails d'une configuration d'infrastructure en spécifiant son Amazon Resource Name (ARN).

```
aws imagebuilder get-infrastructure-configuration --infrastructure-configuration-arn arn:aws:imagebuilder:us-west-2:123456789012:infrastructure-configuration/my-example-infrastructure-configuration
```

# Créer une configuration d'infrastructure
<a name="create-infra-config"></a>

Cette section décrit comment utiliser la console Image Builder ou **imagebuilder** les commandes du AWS CLI pour créer une configuration d'infrastructure,

------
#### [ Console ]

Pour créer une ressource de configuration d'infrastructure à partir de la console Image Builder, procédez comme suit :

1. Ouvrez la console [https://console.aws.amazon.com/imagebuilder/](https://console.aws.amazon.com/imagebuilder/)EC2 Image Builder à l'adresse.

1. Dans le volet de navigation, choisissez **Configuration de l'infrastructure**.

1. Choisissez **Créer une configuration d'infrastructure**.

1. Dans la section **Général**, entrez les informations obligatoires suivantes :
   + Entrez le **nom** de votre ressource de configuration d'infrastructure.
   + Sélectionnez un **rôle IAM** que vous souhaitez associer au profil d'instance pour obtenir des autorisations de composant sur vos instances de génération et de test. Image Builder utilise ces autorisations pour télécharger et exécuter vos composants CloudWatch, télécharger des journaux et effectuer toute action supplémentaire spécifiée par les composants de votre recette.

1. Dans le panneau **AWS d'infrastructure**, vous pouvez configurer les paramètres d'infrastructure restants disponibles. Saisissez les informations requises suivantes :
   + **Type d'instance** : vous pouvez spécifier un ou plusieurs types d'instance à utiliser pour cette version. Le service choisira l'un de ces types d'instances en fonction de sa disponibilité.
**Note**  
Les instances Mac s'exécutent sur des types d'`.metal`instances sur un hôte dédié. Le type de votre instance doit correspondre à l'un des types définis pour l'hôte sur lequel elle s'exécute. Pour plus d'informations sur les instances Mac et une liste des types d'instances compatibles nativement avec le système d'exploitation macOS, consultez la section Instances [Mac Amazon EC2](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-mac-instances.html) dans le guide de l'utilisateur *Amazon EC2*.
   + **Rubrique SNS (facultatif)** : sélectionnez une rubrique SNS pour recevoir des notifications et des alertes d'EC2 Image Builder.

   Si vous ne fournissez pas de valeurs pour les paramètres suivants, ils utilisent des valeurs par défaut spécifiques au service, le cas échéant.
   + **VPC, sous-réseau et groupes de sécurité** : Image Builder utilise votre VPC et votre sous-réseau par défaut. Pour plus d'informations sur la configuration des points de terminaison de l'interface VPC, consultez. [Image Builder et points de AWS PrivateLink terminaison VPC d'interface](vpc-interface-endpoints.md)
   + Dans la section **Paramètres de résolution** des problèmes, vous pouvez configurer les valeurs suivantes :
     + Par défaut, la case à cocher **Terminer l'instance en cas d'échec** est cochée. Toutefois, lorsqu'une compilation échoue, vous pouvez vous connecter à l'instance EC2 pour résoudre les problèmes. Si vous souhaitez que votre instance continue de s'exécuter après un échec de compilation, décochez la case.
     + **Paire de clés** : si votre instance EC2 continue de fonctionner après un échec de compilation, vous pouvez créer une paire de clés ou utiliser une paire de clés existante pour vous connecter à l'instance et résoudre les problèmes.
     + **Journaux** : vous pouvez spécifier un compartiment S3 dans lequel Image Builder peut écrire des journaux d'application pour vous aider à résoudre les problèmes liés à votre build et à vos tests. Si vous ne spécifiez pas de compartiment S3, Image Builder écrit les journaux de l'application sur l'instance.
   + Dans la section **Paramètres des métadonnées de l'instance**, vous pouvez configurer les valeurs suivantes à appliquer aux instances EC2 utilisées par Image Builder pour créer et tester votre image :
     + Sélectionnez la **version des métadonnées** pour déterminer si EC2 nécessite un en-tête de jeton signé pour les demandes de récupération de métadonnées d'instance.
       + **V1 et V2 (jeton facultatif)** : valeur par défaut si vous ne sélectionnez rien.
       + **V2 (jeton requis)**
**Note**  
Nous vous recommandons de configurer toutes les instances EC2 qu'Image Builder lance à partir d'une version de pipeline IMDSv2 afin que les demandes de récupération des métadonnées des instances nécessitent un en-tête de jeton signé.
     + **Limite de sauts de réponse du jeton de métadonnées** : nombre de sauts réseau que le jeton de métadonnées peut effectuer. Nombre minimum de sauts : 1, nombre maximum de sauts : 64, avec un saut par défaut.
   + Dans la section **Paramètres de placement des instances**, vous pouvez configurer les valeurs suivantes à appliquer aux instances EC2 utilisées par Image Builder pour créer et tester votre image :
     + Vous pouvez sélectionner la **zone de disponibilité** dans laquelle Image Builder lance les instances lors de la création de l'image.
     + Sélectionnez éventuellement **Tenancy** pour les serveurs qui exécutent les instances que vous lancez. Par défaut, les instances EC2 s’exécutent sur un matériel de location partagé. Cela signifie que plusieurs Comptes AWS peuvent partager le même matériel physique. Une instance avec `dedicated` location s'exécute sur du matériel à locataire unique. Une instance `host` louée s'exécute sur un hôte dédié.

       Les instances Mac nécessitent la création d'un hôte dédié comme condition préalable à la création d'une image personnalisée. Sélectionnez `host` pour votre image macOS. Vous pouvez ensuite sélectionner un hôte cible ou un groupe de ressources d'hôtes pour lancer les instances, mais cela n'est pas obligatoire si le placement automatique est activé sur votre hôte dédié. Pour plus d'informations, consultez la section [Placement automatique](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/dedicated-hosts-understanding.html#dedicated-hosts-auto-placement) dans le guide de l'*utilisateur Amazon EC2.*
       + **ID d'hôte locataire : ID** de l'hôte dédié sur lequel les instances s'exécutent.
       + **Groupe de ressources hôte locataire** : nom de ressource Amazon (ARN) du groupe de ressources hôte dans lequel les instances doivent être lancées.

1. Dans la section **Balises d'infrastructure** (facultatif), vous pouvez attribuer des balises de métadonnées à l'instance Amazon EC2 lancée par Image Builder pendant le processus de création. Les balises sont saisies sous forme de paires clé-valeur.

1. Dans la section **Tags** (facultatif), vous pouvez attribuer des balises de métadonnées à la ressource de configuration d'infrastructure créée par Image Builder en sortie. Les balises sont saisies sous forme de paires clé-valeur.

------
#### [ AWS CLI ]

La procédure suivante montre comment configurer l'infrastructure de votre image à l'aide de la **[create-infrastructure-configuration](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/imagebuilder/create-infrastructure-configuration.html)** commande Image Builder dans le AWS CLI. La commande de l'étape 2 prend en compte le fichier que vous avez créé à l'étape 1. Pour ces exemples, le fichier de l'étape 1 est appelé`create-infrastructure-configuration.json`.

1. 

**Créer un fichier JSON d'entrée CLI**

   Les exemples suivants montrent des variantes du fichier JSON que vous pouvez créer pour la configuration de l'infrastructure. Utilisez un outil d'édition de fichiers pour créer votre propre fichier JSON.

   **Exemple 1 : Configuration pour conserver une instance issue d'un échec de compilation**

   Cet exemple spécifie deux types d'instances, `m5.large` et`m5.xlarge`. Nous vous recommandons de spécifier plusieurs types d'instance, car cela permet à Image Builder de lancer une instance à partir d'un pool doté d'une capacité suffisante. Cela peut réduire vos échecs de compilation transitoires.

   `instanceProfileName`Spécifie le profil d'instance qui fournit à l'instance les autorisations dont le profil a besoin pour effectuer des activités de personnalisation. Par exemple, si vous avez un composant qui récupère des ressources depuis Amazon S3, le profil d'instance nécessite des autorisations pour accéder à ces fichiers. Le profil d'instance nécessite également un ensemble minimal d'autorisations pour qu'EC2 Image Builder puisse communiquer correctement avec l'instance. Pour de plus amples informations, veuillez consulter [Préparez-vous à créer des images personnalisées avec Image Builder](set-up-ib-env.md).

   ```
   {
       "name": "ExampleInfraConfigDontTerminate",
       "description": "An example that will retain instances of failed builds",
       "instanceTypes": [
           "m5.large", "m5.xlarge"
       ],
       "instanceProfileName": "myIAMInstanceProfileName",
       "securityGroupIds": [
           "sg-12345678"
       ],
       "subnetId": "sub-12345678",
       "logging": {
           "s3Logs": {
               "s3BucketName": "my-logging-bucket",
               "s3KeyPrefix": "my-path"
           }
       },
       "keyPair": "myKeyPairName",
       "terminateInstanceOnFailure": false,
       "snsTopicArn": "arn:aws:sns:us-west-2:123456789012:MyTopic"
   }
   ```

**Exemple 2 : configuration de macOS avec positionnement automatique**  
Cet exemple indique les types d'instances et leur emplacement pour une instance Mac sur laquelle le placement automatique est activé sur l'hôte dédié.

   ```
   {
      "name": "macOSInfraConfigAutoPlacement",
      "description": "An example infrastructure configuration for macOS.",
      "instanceProfileName": "EC2InstanceProfileForImageBuilder",
      "instanceTypes": ["mac1.metal, mac2.metal"],
      "terminateInstanceOnFailure": false,
      "placement": {
         "tenancy": "host"
      }
   }
   ```

**Exemple 3 : configuration de macOS avec ID d'hôte spécifié**  
Cet exemple indique le type et l'emplacement d'une instance Mac qui cible un hôte dédié spécifique.

   ```
   {
      "name": "macOSInfraConfigHostPlacement",
      "description": "An example infrastructure configuration for macOS.",
      "instanceProfileName": "EC2InstanceProfileForImageBuilder",
      "instanceTypes": ["mac2-m1ultra.metal"],
      "terminateInstanceOnFailure": false,
      "placement": {
         "tenancy": "host",
         "hostId" : "h-1234567890abcdef0"
      }
   }
   ```

1. 

**Utilisez le fichier que vous avez créé comme entrée lorsque vous exécutez la commande suivante.**

   ```
   aws imagebuilder create-infrastructure-configuration --cli-input-json file://create-infrastructure-configuration.json
   ```

------

# Mettre à jour une configuration d'infrastructure
<a name="update-infra-config"></a>

Cette section explique comment utiliser la console Image Builder ou **imagebuilder** les commandes du AWS CLI pour mettre à jour une ressource de configuration d'infrastructure. Pour suivre vos ressources, vous pouvez appliquer des balises comme suit. Les balises sont saisies sous forme de paires clé-valeur.
+ Les *balises de ressources* attribuent des balises de métadonnées à l'instance Amazon EC2 qu'Image Builder lance pendant le processus de création.
+ Les *balises* attribuent des balises de métadonnées à la ressource de configuration de l'infrastructure créée par Image Builder en sortie.

------
#### [ Console ]

Vous pouvez modifier les détails de configuration de l'infrastructure suivants depuis la console Image Builder :
+ **Description** de la configuration de votre infrastructure.
+ Le **rôle IAM** à associer au profil d'instance.
+ **AWS infrastructure**, y compris le **type d'instance** et une **rubrique SNS** pour les notifications.
+ **VPC, sous-réseau et groupes de sécurité**.
+ **Paramètres de résolution** des problèmes, **notamment l'arrêt de l'instance en cas de défaillance**, la **paire de clés** pour la connexion et un emplacement du compartiment S3 facultatif pour les journaux d'instance.

Pour mettre à jour une ressource de configuration d'infrastructure depuis la console Image Builder, procédez comme suit :

**Choisissez une configuration d'infrastructure Image Builder existante**

1. Ouvrez la console [https://console.aws.amazon.com/imagebuilder/](https://console.aws.amazon.com/imagebuilder/)EC2 Image Builder à l'adresse.

1. Pour voir la liste des ressources de configuration de l'infrastructure sous votre compte, choisissez **Configuration de l'infrastructure** dans le volet de navigation.

1. Pour afficher les détails ou modifier une configuration d'infrastructure, cliquez sur le lien **Nom de la configuration**. Cela ouvre la vue détaillée de la configuration de l'infrastructure.
**Note**  
Vous pouvez également cocher la case à côté du **nom de la configuration**, puis choisir **Afficher les détails**.

1. Dans le coin supérieur droit du panneau des **détails de l'infrastructure**, choisissez **Modifier**.

1. Lorsque vous êtes prêt à enregistrer les mises à jour que vous avez apportées à la configuration de votre infrastructure, choisissez **Enregistrer les modifications**.

------
#### [ AWS CLI ]

L'exemple suivant montre comment mettre à jour la configuration de l'infrastructure de votre image à l'aide de la **[update-infrastructure-configuration](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/imagebuilder/update-infrastructure-configuration.html)** commande Image Builder dans le AWS CLI.

1. 

**Créer un fichier JSON d'entrée CLI**

   Cet exemple de configuration d'infrastructure utilise les mêmes paramètres que l'exemple de création, sauf que nous avons mis à jour le `terminateInstanceOnFailure` paramètre sur`false`. Une fois la **update-infrastructure-configuration** commande exécutée, les pipelines qui utilisent cette configuration d'infrastructure mettent fin à la construction et testent les instances en cas d'échec de la construction.

   Utilisez un outil d'édition de fichier pour créer un fichier JSON avec les clés illustrées dans l'exemple suivant, auxquelles s'ajoutent des valeurs valides pour votre environnement. Cet exemple utilise un fichier nommé`update-infrastructure-configuration.json` :

   ```
   {
   "infrastructureConfigurationArn": "arn:aws:imagebuilder:us-west-2:123456789012:infrastructure-configuration/my-example-infrastructure-configuration",
   "description": "An example that will terminate instances of failed builds",
   "instanceTypes": [
       "m5.large", "m5.2xlarge"
   ],
   "instanceProfileName": "myIAMInstanceProfileName",
   "securityGroupIds": [
       "sg-12345678"
   ],
   "subnetId": "sub-12345678",
   "logging": {
       "s3Logs": {
           "s3BucketName": "my-logging-bucket",
           "s3KeyPrefix": "my-path"
       }
   },
   "terminateInstanceOnFailure": true,
   "snsTopicArn": "arn:aws:sns:us-west-2:123456789012:MyTopic"
   }
   ```

1. 

**Utilisez le fichier que vous avez créé comme entrée lorsque vous exécutez la commande suivante.**

   ```
   aws imagebuilder update-infrastructure-configuration --cli-input-json file://update-infrastructure-configuration.json
   ```

------

# Image Builder et points de AWS PrivateLink terminaison VPC d'interface
<a name="vpc-interface-endpoints"></a>

*Vous pouvez établir une connexion privée entre votre VPC et EC2 Image Builder en créant un point de terminaison VPC d'interface.* Les points de terminaison de l'interface sont alimentés par [AWS PrivateLink](https://aws.amazon.com/privatelink/)une technologie qui vous permet d'accéder en privé à Image Builder APIs sans passerelle Internet, appareil NAT, connexion VPN ou Direct Connect connexion. Les instances de votre VPC n'ont pas besoin d'adresses IP publiques pour communiquer avec Image Builder. APIs Le trafic entre votre VPC et Image Builder ne quitte pas le réseau Amazon.

Chaque point de terminaison d’interface est représenté par une ou plusieurs [interfaces réseau Elastic](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using-eni.html) dans vos sous-réseaux. Lorsque vous créez une nouvelle image, vous pouvez spécifier l'identifiant de sous-réseau VPC dans la configuration de votre infrastructure.

**Note**  
Chaque service auquel vous accédez depuis un VPC possède son propre point de terminaison d'interface, avec sa propre politique de point de terminaison. Image Builder télécharge l'application de gestion des AWSTOE composants et accède aux ressources gérées à partir de compartiments S3 pour créer des images personnalisées. Pour accorder l'accès à ces compartiments, vous devez mettre à jour la politique du point de terminaison S3 afin de l'autoriser. Pour de plus amples informations, veuillez consulter [Politiques personnalisées pour l'accès au compartiment S3](#vpc-endpoint-policy-s3).

Pour plus d'informations sur les points de terminaison d'un VPC, consultez [Points de terminaison de VPC d'interface (AWS PrivateLink)](https://docs.aws.amazon.com/vpc/latest/privatelink/create-interface-endpoint.html) dans le *Guide de l'utilisateur Amazon VPC*.

## Considérations relatives aux points de terminaison VPC Image Builder
<a name="vpc-endpoint-considerations"></a>

Avant de configurer un point de terminaison VPC d'interface pour Image Builder, assurez-vous de consulter les [propriétés et les limites du point de terminaison d'interface](https://docs.aws.amazon.com/vpc/latest/privatelink/create-interface-endpoint.html#vpce-interface-limitations) dans le guide de l'utilisateur Amazon *VPC*.

Image Builder permet d'appeler toutes ses actions d'API depuis votre VPC. 

## Création d'un point de terminaison VPC d'interface pour Image Builder
<a name="vpc-endpoint-create"></a>

Pour créer un point de terminaison VPC pour le service Image Builder, vous pouvez utiliser la console Amazon VPC ou le (). AWS Command Line Interface AWS CLI Pour plus d’informations, consultez [Création d’un point de terminaison d’interface](https://docs.aws.amazon.com/vpc/latest/privatelink/create-interface-endpoint.html#create-interface-endpoint) dans le *Guide de l’utilisateur Amazon VPC*.

Créez un point de terminaison VPC pour Image Builder en utilisant le nom de service suivant : 
+ com.amazonaws. *region*.générateur d'images

Si vous activez le DNS privé pour le point de terminaison, vous pouvez envoyer des demandes d'API à Image Builder en utilisant son nom DNS par défaut pour la région, par exemple :`imagebuilder.us-east-1.amazonaws.com`. Pour rechercher le point de terminaison qui s'applique à votre région cible, consultez la section [Points de terminaison et quotas d'EC2 Image Builder](https://docs.aws.amazon.com/general/latest/gr/imagebuilder.html#imagebuilder_region) dans le. *Référence générale d'Amazon Web Services*

Pour plus d’informations, consultez [Accès à un service via un point de terminaison d’interface](https://docs.aws.amazon.com/vpc/latest/privatelink/create-interface-endpoint.html#access-service-though-endpoint) dans le *Guide de l’utilisateur Amazon VPC*.

## Création d'une politique de point de terminaison VPC pour Image Builder
<a name="vpc-endpoint-policy"></a>

Vous pouvez associer une politique de point de terminaison à votre point de terminaison VPC qui contrôle l'accès à Image Builder. La politique spécifie les informations suivantes :
+ Le principal qui peut exécuter des actions.
+ Les actions qui peuvent être effectuées.
+ Les ressources sur lesquelles les actions peuvent être exécutées.

Si vous utilisez des composants gérés par Amazon dans votre recette, le point de terminaison VPC pour Image Builder doit autoriser l'accès à la bibliothèque de composants appartenant au service suivante :

`arn:aws:imagebuilder:region:aws:component/*`

**Important**  
Lorsqu'une politique autre que celle par défaut est appliquée à un point de terminaison VPC d'interface pour EC2 Image Builder, certaines demandes d'API ayant échoué, telles que celles provenant de, peuvent `RequestLimitExceeded` ne pas être enregistrées AWS CloudTrail sur Amazon ou sur Amazon. CloudWatch

Pour plus d’informations, consultez [Contrôle de l’accès aux services avec points de terminaison d’un VPC](https://docs.aws.amazon.com/vpc/latest/privatelink/vpc-endpoints-access.html) dans le *Guide de l’utilisateur Amazon VPC*.

### Politiques personnalisées pour l'accès au compartiment S3
<a name="vpc-endpoint-policy-s3"></a>

Image Builder utilise un compartiment S3 accessible au public pour stocker et accéder aux ressources gérées, telles que les composants. Il télécharge également l'application de gestion des AWSTOE composants à partir d'un compartiment S3 distinct. Si vous utilisez un point de terminaison VPC pour Amazon S3 dans votre environnement, vous devez vous assurer que votre politique de point de terminaison VPC S3 autorise Image Builder à accéder aux compartiments S3 suivants. Les noms des compartiments sont uniques par AWS région (*region*) et par environnement d'application (*environment*). Image Builder AWSTOE prend en charge les environnements d'applications suivants : `prod``preprod`, et`beta`.
+ Le bucket AWSTOE du gestionnaire de composants :

  ```
  s3://ec2imagebuilder-toe-region-environment
  ```

  **Exemple :** s3://ec2 imagebuilder-toe-us-west -2-prod/\$1
+ Le bucket de ressources gérées par Image Builder :

  ```
  s3://ec2imagebuilder-managed-resources-region-environment/components
  ```

  **Exemple :** s3://ec2 imagebuilder-managed-resources-us -west-2-prod/components/\$1

### Exemples de politique de point de terminaison de VPC
<a name="vpc-endpoint-policy-examples"></a>

Cette section inclut des exemples de politiques de point de terminaison VPC personnalisées.

**Politique générale des points de terminaison VPC pour les actions Image Builder**  
L'exemple de politique de point de terminaison suivant pour Image Builder refuse l'autorisation de supprimer des images et des composants d'Image Builder. L'exemple de politique accorde également l'autorisation d'effectuer toutes les autres actions d'EC2 Image Builder.

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Action": "imagebuilder:*",
            "Effect": "Allow",
            "Resource": "*"
        },
        {
            "Action": "imagebuilder:DeleteImage",
            "Effect": "Deny",
            "Resource": "*"
        },
        {
            "Action": "imagebuilder:DeleteComponent",
            "Effect": "Deny",
            "Resource": "*"
        }
    ]
}
```

------

**Restreindre l'accès par organisation, autoriser l'accès aux composants gérés**  
L'exemple de politique de point de terminaison suivant montre comment restreindre l'accès aux identités et aux ressources appartenant à votre organisation et fournir un accès aux composants Image Builder gérés par Amazon. Remplacez *region**principal-org-id*, et *resource-org-id* par les valeurs de votre organisation.

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "AllowRequestsByOrgsIdentitiesToOrgsResources",
            "Effect": "Allow",
            "Principal": {
                "AWS": "*"
            },
            "Action": "*",
            "Resource": "*",
            "Condition": {
                "StringEquals": {
                    "aws:PrincipalOrgID": "principal-org-id",
                    "aws:ResourceOrgID": "resource-org-id"
                }
            }
        },
        {
            "Sid": "AllowAccessToEC2ImageBuilderComponents",
            "Effect": "Allow",
            "Principal": {
                "AWS": "*"
            },
            "Action": [
                "imagebuilder:GetComponent"
            ],
            "Resource": [
                "arn:aws:imagebuilder:us-east-1:aws:component/*"
            ]
        }
    ]
}
```

------

**Politique de point de terminaison VPC pour l'accès au compartiment Amazon S3**  
L'exemple de politique de point de terminaison S3 suivant montre comment fournir un accès aux compartiments S3 utilisés par Image Builder pour créer des images personnalisées. Remplacez *region* et *environment* par les valeurs de votre organisation. Ajoutez toute autre autorisation requise à la politique en fonction des exigences de votre application.

**Note**  
Pour les images Linux, si vous ne spécifiez pas de données utilisateur dans votre recette d'image, Image Builder ajoute un script pour télécharger et installer l'agent Systems Manager sur les instances de compilation et de test de votre image. Pour télécharger l'agent, Image Builder accède au compartiment S3 de votre région de construction.  
Pour garantir qu'Image Builder puisse démarrer les instances de génération et de test, ajoutez la ressource supplémentaire suivante à votre politique de point de terminaison S3 :  
"`arn:aws:s3:::amazon-ssm-region/*`"

------
#### [ JSON ]

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Sid": "AllowImageBuilderAccessToAppAndComponentBuckets",
      "Effect": "Allow",
      "Principal": {
        "AWS": "*"
      },
      "Action": [
        "s3:GetObject"
      ],
      "Resource": [
        "arn:aws:s3:::ec2imagebuilder-toe-region-environment/*",
        "arn:aws:s3:::ec2imagebuilder-managed-resources-region-environment/components/*"
      ]
    }
  ]
}
```

------

# Gérer les paramètres de distribution d'Image Builder
<a name="manage-distribution-settings"></a>

Avant de configurer les paramètres de distribution pour vos images de sortie, nous vous recommandons de vérifier la disponibilité de toute infrastructure sous-jacente ou d'autres exigences pour les instances lancées à partir de votre image de sortie dans les régions cibles de distribution. Par exemple, toutes les régions ne prennent pas en charge les hôtes dédiés EC2 pour Mac, qui sont nécessaires pour lancer des instances à partir d'une image macOS. Pour plus d'informations sur les types d'instances et les tarifs des hôtes dédiés, consultez la section Tarification des [hôtes dédiés Amazon EC2](https://aws.amazon.com/ec2/dedicated-hosts/pricing/).

Après avoir créé les paramètres de distribution avec Image Builder, vous pouvez les gérer à l'aide de la console Image Builder, de l'API Image Builder ou des **imagebuilder** commandes du AWS CLI. Les paramètres de distribution vous permettent d'effectuer les actions suivantes :

**Diffusion d'AMI**
+ Spécifiez le nom et la description de votre AMI de sortie.
+ Autorisez Comptes AWS d'autres organisations et OUs lancez l'AMI depuis le compte du propriétaire. Le compte du propriétaire est facturé pour les frais associés à l'AMI.
**Note**  
Pour rendre une AMI publique, définissez les comptes autorisés pour l'autorisation de lancement sur `all`. Pour plus d'informations et des exemples, consultez **[ModifyImageAttribute](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_ModifyImageAttribute.html)** le manuel *Amazon EC2 API Reference*.
+ Créez une copie de l'AMI de sortie pour chacun des comptes cibles, des organisations et de la OUs région de destination spécifiés. Les comptes cibles, les organisations et les OUs propriétaires de leurs copies d'AMI sont facturés pour tous les frais associés. Pour plus d'informations sur la distribution de votre AMI à AWS Organizations et OUs, voir [Partager une AMI avec des organisations ou OUs](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/share-amis-with-organizations-and-OUs.html).
+ Copiez l'AMI sur le compte du propriétaire dans un autre compte Régions AWS.
+ Exportez des disques d'images de machine virtuelle vers Amazon Simple Storage Service (Amazon S3). Pour de plus amples informations, veuillez consulter [Exemple : créer des paramètres de distribution pour les disques de machine virtuelle de sortie à partir du AWS CLI](cr-upd-ami-distribution-settings.md#cli-create-vm-dist-config).

**Distribution d'images de conteneurs**
+ Spécifiez le référentiel ECR dans lequel Image Builder stocke l'image de sortie dans la région de distribution.

Vous pouvez utiliser vos paramètres de distribution des manières suivantes pour envoyer des images aux régions, comptes AWS Organizations et unités organisationnelles cibles (OUs) une seule fois, ou à chaque création de pipeline :
+ Pour fournir automatiquement des images mises à jour à des régions, des comptes, des organisations spécifiques et OUs utiliser les paramètres de distribution avec un pipeline Image Builder qui s'exécute selon un calendrier.
+ Pour créer une nouvelle image et la diffuser aux régions, comptes et organisations spécifiés OUs, utilisez les paramètres de distribution avec un pipeline Image Builder que vous exécutez une fois depuis la console Image Builder, en utilisant **Run pipeline** dans le menu **Actions**.
+ Pour créer une nouvelle image et la diffuser aux régions, comptes et organisations spécifiés OUs, utilisez les paramètres de distribution avec l'action d'API ou la commande Image Builder suivante dans le AWS CLI :
  + L'**[CreateImage](https://docs.aws.amazon.com/imagebuilder/latest/APIReference/API_CreateImage.html)**action dans l'API Image Builder.
  + La **[create-image](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/imagebuilder/create-image.html)** commande contenue dans le AWS CLI.
+ Exporter des disques d'image de machine virtuelle (VM) vers des compartiments S3 dans les régions cibles dans le cadre de votre processus de création d'image habituel.

**Astuce**  
Lorsque vous disposez de plusieurs ressources du même type, le balisage vous aide à identifier une ressource spécifique en fonction des balises que vous lui avez attribuées. Pour plus d'informations sur le balisage de vos ressources à l'aide des commandes Image Builder dans le AWS CLI, consultez la [Balisage des ressources](tag-resources.md) section de ce guide.

**Topics**
+ [Répertorier et afficher le détail de la configuration de distribution](distribution-settings-detail.md)
+ [Création et mise à jour des configurations de distribution d'AMI](cr-upd-ami-distribution-settings.md)
+ [Création et mise à jour des paramètres de distribution pour les images de conteneurs](cr-upd-container-distribution-settings.md)
+ [Configurer la distribution d'AMI entre comptes avec Image Builder](cross-account-dist.md)
+ [Configuration de la distribution d'AMI avec un modèle de lancement EC2](dist-using-launch-template.md)
+ [Utilisez des fonctionnalités de distribution d'AMI améliorées](distribution-enhanced_functionality.md)

# Répertorier et afficher le détail de la configuration de distribution
<a name="distribution-settings-detail"></a>

Cette section décrit les différentes manières de trouver des informations et d'afficher les détails relatifs à la configuration de votre distribution EC2 Image Builder.

**Topics**
+ [Répertorier les configurations de distribution depuis la console](#list-distribution-config-console)
+ [Afficher les détails de configuration de distribution depuis la console](#view-distribution-config-details-console)
+ [Répertoriez les distributions issues du AWS CLI](#cli-list-distributions)
+ [Pour obtenir des informations détaillées sur la configuration de distribution, consultez le AWS CLI](#cli-get-distribution-configuration)

## Répertorier les configurations de distribution depuis la console
<a name="list-distribution-config-console"></a>

Pour consulter la liste des configurations de distribution créées sous votre compte dans la console Image Builder, procédez comme suit :

1. Ouvrez la console [https://console.aws.amazon.com/imagebuilder/](https://console.aws.amazon.com/imagebuilder/)EC2 Image Builder à l'adresse.

1. Choisissez **Paramètres de distribution** dans le volet de navigation. Cela affiche la liste des configurations de distribution créées sous votre compte.

1. Pour afficher les détails ou créer une nouvelle configuration de distribution, cliquez sur le lien **Nom de la configuration**. Cela ouvre la vue détaillée des paramètres de distribution.
**Note**  
Vous pouvez également cocher la case à côté du **nom de la configuration**, puis choisir **Afficher les détails**.

## Afficher les détails de configuration de distribution depuis la console
<a name="view-distribution-config-details-console"></a>

Pour afficher les détails d'une configuration de distribution spécifique à l'aide de la console Image Builder, sélectionnez la configuration à examiner en suivant les étapes décrites dans[Répertorier les configurations de distribution depuis la console](#list-distribution-config-console).

Sur la page détaillée de distribution, vous pouvez :
+ **Supprimez** la configuration de distribution. Pour plus d'informations sur la suppression de ressources dans Image Builder, consultez[Supprimer les ressources d'Image Builder obsolètes ou inutilisées](delete-resources.md).
+ **Modifiez les** informations de distribution.

## Répertoriez les distributions issues du AWS CLI
<a name="cli-list-distributions"></a>

L'exemple suivant montre comment utiliser la **[list-distribution-configurations](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/imagebuilder/list-distribution-configurations.html)** commande AWS CLI pour répertorier toutes vos distributions.

```
aws imagebuilder list-distribution-configurations
```

## Pour obtenir des informations détaillées sur la configuration de distribution, consultez le AWS CLI
<a name="cli-get-distribution-configuration"></a>

L'exemple suivant montre comment utiliser la **[get-distribution-configuration](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/imagebuilder/get-distribution-configuration.html)** commande du AWS CLI pour obtenir les détails d'une configuration de distribution en spécifiant son Amazon Resource Name (ARN).

```
aws imagebuilder get-distribution-configuration --distribution-configuration-arn arn:aws:imagebuilder:us-west-2:123456789012:distribution-configuration/my-example-distribution-configuration
```

# Création et mise à jour des configurations de distribution d'AMI
<a name="cr-upd-ami-distribution-settings"></a>

Cette section traite de la création et de la mise à jour des configurations de distribution pour une AMI Image Builder.

**Topics**
+ [Conditions préalables à la distribution de l'AMI](#ami-distribution-config-prereqs)
+ [Création d'une configuration de distribution AMI](#create-ami-distribution-config)
+ [Mettre à jour la configuration de distribution d'une AMI](#update-ami-distribution-config)
+ [Exemple : activer EC2 Fast Launch avec un modèle de lancement pour la sortie AMIs](#create-ami-dist-win-fast-launch)
+ [Exemple : créer des paramètres de distribution pour les disques de machine virtuelle de sortie à partir du AWS CLI](#cli-create-vm-dist-config)

## Conditions préalables à la distribution de l'AMI
<a name="ami-distribution-config-prereqs"></a>

Certains paramètres de distribution comportent des prérequis, comme suit :

**Topics**
+ [Prérequis pour les paramètres de sortie SSM](#ami-distribution-prereqs-ssm-param)
+ [Conditions préalables au lancement rapide d’EC2](#ami-distribution-prereqs-fast-launch)

### Conditions préalables pour les paramètres de sortie SSM
<a name="ami-distribution-prereqs-ssm-param"></a>

Avant de créer une nouvelle configuration de distribution AMI qui définit un AWS Systems Manager paramètre de magasin de paramètres (paramètre SSM), assurez-vous de respecter les conditions préalables suivantes.

**Rôle d'exécution**  
Lorsque vous créez un pipeline ou que vous utilisez la commande create-image dans le AWS CLI, vous ne pouvez spécifier qu'un seul rôle d'exécution d'Image Builder. Si vous avez défini un rôle d'exécution du flux de travail Image Builder, vous devez ajouter des autorisations de fonctionnalité supplémentaires à ce rôle. Dans le cas contraire, vous devez créer un nouveau rôle personnalisé incluant les autorisations requises.  
+ Pour stocker l'ID AMI de sortie dans un paramètre SSM lors de la distribution, vous devez spécifier l'`ssm:PutParameter`action dans votre rôle d'exécution Image Builder, le paramètre étant répertorié en tant que ressource.
+ Lorsque vous définissez le type de données de paramètre sur `AWS EC2 Image` pour signaler à Systems Manager de valider la valeur du paramètre en tant qu'ID AMI, vous devez également ajouter l'`ec2:DescribeImages`action.

### Conditions préalables au lancement rapide d'EC2
<a name="ami-distribution-prereqs-fast-launch"></a>

Avant de créer une nouvelle configuration de distribution pour EC2 Fast Launch pour Windows AMIs, assurez-vous de remplir les conditions préalables suivantes.
+ Si vous fournissez un modèle de lancement personnalisé lorsque vous configurez EC2 Fast Launch, le service utilise le VPC et les autres paramètres de configuration que vous avez définis dans le modèle de lancement. Pour plus d'informations, voir [Utiliser un modèle de lancement lors de la configuration d'EC2 Fast Launch](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/win-fast-launch-configure.html#win-fast-launch-with-template).
+ Si vous n'utilisez pas de modèle de lancement personnalisé pour configurer vos paramètres, vous devez associer la [https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/security-iam-awsmanpol-EC2FastLaunchFullAccess.html](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/security-iam-awsmanpol-EC2FastLaunchFullAccess.html)politique au rôle IAM qu'Image Builder utilise pour créer votre image. Lorsque vous créez un pipeline ou que vous utilisez la commande create-image dans le AWS CLI, vous ne pouvez spécifier qu'un seul rôle d'exécution d'Image Builder. Si vous avez défini un rôle d'exécution du flux de travail Image Builder, vous devez ajouter des autorisations de fonctionnalité supplémentaires à ce rôle. Dans le cas contraire, vous devez créer un nouveau rôle personnalisé incluant les autorisations requises.

  Ensuite, lorsque Image Builder copie votre image, EC2 Fast Launch crée automatiquement une CloudFormation pile contenant les ressources suivantes dans votre Compte AWS.
  + Un cloud privé virtuel (VPC)
  + Des sous-réseaux privés sur plusieurs zones de disponibilité
  + Un modèle de lancement configuré avec le service de métadonnées d'instance version 2 (IMDSv2)
  + Un groupe de sécurité sans règles entrantes ou sortantes

**Note**  
Image Builder ne prend pas en charge la distribution entre comptes pour les AMI avec EC2 Fast Launch préactivé. Le lancement rapide d'EC2 doit être activé depuis le compte de destination.

## Création d'une configuration de distribution AMI
<a name="create-ami-distribution-config"></a>

Les configurations de distribution incluent le nom de l'AMI de sortie, les paramètres régionaux spécifiques pour le chiffrement, les autorisations de lancement Comptes AWS, les organisations et unités organisationnelles (OUs) qui peuvent lancer l'AMI de sortie, ainsi que les configurations de licence.

Une configuration de distribution vous permet de spécifier le nom et la description de votre AMI de sortie, d'autoriser d'autres utilisateurs Comptes AWS à lancer l'AMI, de copier l'AMI sur d'autres comptes et de répliquer l'AMI dans d'autres AWS régions. Il vous permet également d'exporter l'AMI vers Amazon Simple Storage Service (Amazon S3) ou de configurer EC2 Fast Launch pour les fenêtres de sortie. AMIs Pour rendre une AMI publique, définissez les comptes autorisés pour l'autorisation de lancement sur `all`. Consultez les exemples de publication d'une AMI sur EC2. **[ModifyImageAttribute](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_ModifyImageAttribute.html)**

------
#### [ Console ]

Procédez comme suit pour créer une nouvelle configuration de distribution d'AMI dans AWS Management Console :

1. Ouvrez la console [https://console.aws.amazon.com/imagebuilder/](https://console.aws.amazon.com/imagebuilder/)EC2 Image Builder à l'adresse.

1. Choisissez **Paramètres de distribution** dans le volet de navigation. Cela affiche la liste des configurations de distribution créées sous votre compte.

1. Choisissez **Créer des paramètres de distribution** en haut du panneau des **paramètres de distribution**.

1. Dans la section **Type d'image**, choisissez le type de sortie **Amazon Machine Image (AMI)**.

1. Dans la section **Général**, entrez un **nom** pour votre configuration de distribution et une description facultative.

1. Dans la section **Paramètres** régionaux, entrez les informations suivantes pour chaque région dans laquelle vous distribuez votre AMI :

   1. L'AMI est distribuée à la région actuelle (**région 1**), par défaut. La **région 1** est la source de la distribution. Certains paramètres de **la région 1** ne peuvent pas être modifiés. Pour toutes les régions que vous ajoutez, vous pouvez choisir une région dans la liste déroulante des **régions**.

      La **clé Kms** identifie celle AWS KMS key qui est utilisée pour chiffrer les volumes EBS de votre image dans la région cible. Il est important de noter que cela ne s'applique pas à l'AMI d'origine créée par le build sous votre compte dans la région source (**région 1**). Le chiffrement exécuté pendant la phase de distribution de la compilation concerne uniquement les images distribuées à d'autres comptes ou régions.

      Pour chiffrer les volumes EBS pour l'AMI créée dans la région source de votre compte, vous devez définir la clé KMS dans le mappage des périphériques par blocs de recettes d'image (**stockage (volumes)** dans la console).

      Image Builder copie l'AMI sur les **comptes cibles** que vous spécifiez pour la région.
**Prérequis**  
Pour copier une image entre comptes, vous devez créer le `EC2ImageBuilderDistributionCrossAccountRole` rôle dans tous les comptes cibles de distribution et associer la politique [Stratégie Ec2ImageBuilderCrossAccountDistributionAccess](security-iam-awsmanpol.md#sec-iam-manpol-Ec2ImageBuilderCrossAccountDistributionAccess) gérée au rôle.

      Le **nom de l'AMI de sortie** est facultatif. Si vous fournissez un nom, le nom final de l'AMI de sortie inclut un horodatage indiquant la date de création de l'AMI. Si vous ne spécifiez aucun nom, Image Builder ajoute l'horodatage de construction au nom de la recette. Cela garantit des noms d'AMI uniques pour chaque build.

      1. Grâce au partage d'AMI, vous pouvez accorder l'accès à des entités AWS principales spécifiques afin de lancer des instances depuis votre AMI. Si vous développez la section de **partage d'AMI**, vous pouvez saisir les informations suivantes :
         + **Autorisations de lancement** : sélectionnez **Privé** si vous souhaitez conserver la confidentialité de votre AMI et autoriser l'accès à des AWS principaux spécifiques pour lancer une instance depuis votre AMI privée. Sélectionnez **Public** si vous souhaitez rendre votre AMI publique. N'importe quel AWS principal peut lancer une instance depuis votre AMI publique.
         + **Principaux** : vous pouvez accorder l'accès aux types de AWS principaux suivants pour lancer des instances :
           + **AWS compte** — Accorder l'accès à un AWS compte spécifique
           + **Unité organisationnelle (UO)** : accordez l'accès à une UO et à toutes ses entités enfants. Les entités enfants incluent OUs les AWS comptes et.
           + **Organisation** : accordez l'accès à votre AWS Organizations entité et à toutes ses entités enfants. Les entités enfants incluent OUs les AWS comptes et.

             Sélectionnez d'abord le type principal. Entrez ensuite l'ID du AWS principal auquel vous souhaitez accorder l'accès dans la case à droite de la liste déroulante. Vous pouvez saisir plusieurs IDs types différents.

      1. Vous pouvez développer la section **Configuration des licences** pour joindre les configurations de licence créées avec AWS License Manager à vos images Image Builder. Les configurations de licence contiennent des règles de licence basées sur les termes de vos contrats d'entreprise. Image Builder inclut automatiquement les configurations de licence associées à votre AMI de base.

      1. Vous pouvez développer la section de **configuration du modèle de lancement** pour spécifier un modèle de lancement EC2 à utiliser pour lancer des instances à partir de l'AMI que vous créez.

         Si vous utilisez un modèle de lancement EC2, vous pouvez demander à Image Builder de créer une nouvelle version de votre modèle de lancement qui inclut le dernier ID AMI une fois la compilation terminée. Pour mettre à jour le modèle de lancement, configurez les paramètres comme suit :
         + **Nom du modèle de lancement** : sélectionnez le nom du modèle de lancement que vous souhaitez qu'Image Builder mette à jour.
         + **Définir la version par défaut** : cochez cette case pour mettre à jour la version par défaut du modèle de lancement vers la nouvelle version.

         Pour ajouter une autre configuration de modèle de lancement, choisissez **Ajouter une configuration de modèle de lancement**. Vous pouvez avoir jusqu'à cinq configurations de modèles de lancement par région.

      1. Vous pouvez développer la section de **configuration des paramètres SSM** pour configurer un paramètre SSM qui stockera l'ID AMI de sortie pour l'image distribuée dans la région de destination. Vous pouvez éventuellement spécifier un compte de distribution dans la région.

         **Nom du paramètre** — Entrez le nom de votre paramètre. Par exemple `/output/image/param`.

         **Type de données** — Conservez la valeur par défaut (`AWS EC2 Image`). Cela indique à Systems Manager de valider la valeur du paramètre pour s'assurer qu'il s'agit d'un ID AMI valide.

   1. Pour ajouter des paramètres de distribution pour une autre région, choisissez **Ajouter une région**.

1. Choisissez **Créer des paramètres** lorsque vous avez terminé.

------
#### [ AWS CLI ]

L'exemple suivant montre comment utiliser la **create-distribution-configuration** commande pour créer une nouvelle configuration de distribution pour votre AMI, en utilisant le AWS CLI.

1. 

**Créer un fichier JSON d'entrée CLI**

   Utilisez un outil d'édition de fichiers pour créer un fichier JSON avec les clés illustrées dans l'un des exemples suivants et des valeurs valides pour votre environnement. Ces exemples définissent quelles Comptes AWS unités organisationnelles (OUs) sont autorisées à lancer l'AMI que vous distribuez dans les régions spécifiées. AWS Organizations Nommez le fichier`create-ami-distribution-configuration.json`, à utiliser à l'étape suivante :

**Exemple 1 : distribuer à Comptes AWS**  
Cet exemple distribue une AMI à deux régions et indique celles Comptes AWS qui disposent d'autorisations de lancement dans chaque région.

   ```
   {
   	"name": "MyExampleAccountDistribution",
   	"description": "Copies AMI to eu-west-1, and specifies accounts that can launch instances in each Region.",
   	"distributions": [
   		{
   			"region": "us-west-2",
   			"amiDistributionConfiguration": {
   				"name": "Name {{imagebuilder:buildDate}}",
   				"description": "An example image name with parameter references",
   				"amiTags": {
   					"KeyName": "Some Value"
   				},
   				"launchPermission": {
   					"userIds": [
   						"987654321012"
   					]
   				}
   			}
   		},
   		{
   			"region": "eu-west-1",
   			"amiDistributionConfiguration": {
   				"name": "My {{imagebuilder:buildVersion}} image {{imagebuilder:buildDate}}",
   				"amiTags": {
   					"KeyName": "Some value"
   				},
   				"launchPermission": {
   					"userIds": [
   						"100000000001"
   					]
   				}
   			}
   		}
   	]
   }
   ```

**Exemple 2 : distribuer aux Organisations et OUs**  
Cet exemple distribue une AMI à la région source et spécifie les autorisations de lancement de l'organisation et de l'unité d'organisation.

   ```
   {
   	"name": "MyExampleAWSOrganizationDistribution",
   	"description": "Shares AMI with the Organization and OU",
   	"distributions": [
   		{
   			"region": "us-west-2",
   			"amiDistributionConfiguration": {
   				"name": "Name {{ imagebuilder:buildDate }}",
   				"launchPermission": {
   					"organizationArns": [
   						"arn:aws:organizations::123456789012:organization/o-myorganization123"
   					],
   					"organizationalUnitArns": [
   						"arn:aws:organizations::123456789012:ou/o-123example/ou-1234-myorganizationalunit"
   					]
   				}
   			}
   		}
   	]
   }
   ```

**Exemple 3 : Stocker l'ID de l'AMI de sortie dans un paramètre SSM**  
Cet exemple enregistre l'ID de l'AMI en sortie dans un AWS Systems Manager paramètre Parameter Store de la région de distribution.

   ```
   {
   	"name": "SSMParameterOutputAMI",
   	"description": "Updates an SSM parameter with the output AMI ID for the distribution.",
   	"distributions": [
   		{
   			"region": "us-west-2",
   			"amiDistributionConfiguration": {
   				"name": "Name {{ imagebuilder:buildDate }}"
   			},
   			"ssmParameterConfigurations": [
   				{
   					"amiAccountId": "111122223333",
   					"parameterName": "/output/image/param",
   					"dataType": "aws:ec2:image"
   				}
   			]
   		}
   	]
   }
   ```

1. 

**Exécutez la commande suivante en utilisant le fichier que vous avez créé en entrée.**

   ```
   aws imagebuilder create-distribution-configuration --cli-input-json file://create-ami-distribution-configuration.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 (\$1) pour faire référence au chemin du répertoire, tandis que Linux et macOS utilisent la barre oblique (/).

   Pour des informations plus détaillées, reportez-vous **[create-distribution-configuration](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/imagebuilder/create-distribution-configuration.html)** à la *référence des AWS CLI commandes*.

------

## Mettre à jour la configuration de distribution d'une AMI
<a name="update-ami-distribution-config"></a>

Vous pouvez modifier la configuration de distribution de votre AMI. Toutefois, les modifications que vous apportez ne s'appliquent pas aux ressources déjà distribuées par Image Builder. Par exemple, si vous avez distribué une AMI dans une région que vous supprimez ultérieurement de votre distribution, l'AMI déjà distribuée reste dans cette région jusqu'à ce que vous la supprimiez manuellement.

------
#### [ AWS Management Console ]

Procédez comme suit pour configurer une distribution d'AMI dans AWS Management Console :

1. Ouvrez la console [https://console.aws.amazon.com/imagebuilder/](https://console.aws.amazon.com/imagebuilder/)EC2 Image Builder à l'adresse.

1. Choisissez **Paramètres de distribution** dans le volet de navigation. Cela affiche la liste des configurations de distribution créées sous votre compte.

1. Pour afficher les détails ou mettre à jour une configuration de distribution, cliquez sur le lien **Nom de la configuration**. Cela ouvre la vue détaillée des paramètres de distribution.
**Note**  
Vous pouvez également cocher la case à côté du **nom de la configuration**, puis choisir **Afficher les détails**.

1. Pour modifier la configuration de distribution, choisissez **Modifier** dans le coin supérieur droit de la section **Détails de distribution**. Certains champs sont verrouillés, tels que le **nom** de la configuration de distribution et la **région** par défaut affichée sous **la forme Région 1**. Pour plus d'informations sur les paramètres de configuration de distribution, consultez[Création d'une configuration de distribution AMI](#create-ami-distribution-config).

1. Lorsque vous avez terminé, choisissez **Save changes** (Enregistrer les modifications).

------
#### [ AWS CLI ]

L'exemple suivant montre comment utiliser la **[update-distribution-configuration](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/imagebuilder/update-distribution-configuration.html)** commande pour mettre à jour les paramètres de distribution de votre AMI à l'aide du AWS CLI.

1. 

**Créer un fichier JSON d'entrée CLI**

   Utilisez un outil d'édition de fichiers pour créer un fichier JSON avec les clés illustrées dans l'exemple suivant et des valeurs valides pour votre environnement. Cet exemple utilise un fichier nommé`update-ami-distribution-configuration.json`.

   ```
   {
   	"distributionConfigurationArn": "arn:aws:imagebuilder:us-west-2:123456789012:distribution-configuration/update-ami-distribution-configuration.json",
   	"description": "Copies AMI to eu-west-2, and specifies accounts that can launch instances in each Region.",
   	"distributions": [
   	  {
   			"region": "us-west-2",
   			"amiDistributionConfiguration": {
   				"name": "Name {{imagebuilder:buildDate}}",
   				"description": "An example image name with parameter references",
   				"launchPermissions": {
   					"userIds": [
   						"987654321012"
   					]
   				}
   			}
   		},
   		{
   			"region": "eu-west-2",
   			"amiDistributionConfiguration": {
   				"name": "My {{imagebuilder:buildVersion}} image {{imagebuilder:buildDate}}",
   				"tags": {
   					"KeyName": "Some value"
   				},
   				"launchPermissions": {
   					"userIds": [
   						"100000000001"
   					]
   				}
   			}
   		}
   	]
   }
   ```

1. 

**Exécutez la commande suivante en utilisant le fichier que vous avez créé en entrée.**

   ```
   aws imagebuilder update-distribution-configuration --cli-input-json file://update-ami-distribution-configuration.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 (\$1) pour faire référence au chemin du répertoire, tandis que Linux et macOS utilisent la barre oblique (/).

   Pour des informations plus détaillées, reportez-vous **[update-distribution-configuration](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/imagebuilder/update-distribution-configuration.html)** à la *référence des AWS CLI commandes*. Pour mettre à jour les balises de votre ressource de configuration de distribution, consultez la [Balisage des ressources](tag-resources.md) section.

------

## Exemple : activer EC2 Fast Launch avec un modèle de lancement pour la sortie AMIs
<a name="create-ami-dist-win-fast-launch"></a>

L'exemple suivant montre comment utiliser la **[create-distribution-configuration](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/imagebuilder/create-distribution-configuration.html)** commande avec un modèle de lancement pour créer des paramètres de distribution dans lesquels EC2 Fast Launch est configuré pour votre AMI, à partir du AWS CLI.

Pour configurer les paramètres de lancement rapide d'EC2 sans modèle de lancement, assurez-vous de respecter toutes les conditions [Conditions préalables au lancement rapide d’EC2](#ami-distribution-prereqs-fast-launch) avant de créer votre configuration de distribution.

1. 

**Créer un fichier JSON d'entrée CLI**

   Utilisez un outil d'édition de fichiers pour créer un fichier JSON avec des clés, comme indiqué dans l'exemple suivant, ainsi que des valeurs valides pour votre environnement.

   Cet exemple lance des instances pour toutes ses ressources cibles simultanément, car le nombre maximum de lancements parallèles est supérieur au nombre de ressources cibles. Ce fichier est nommé `ami-dist-config-win-fast-launch.json` dans l'exemple de commande présenté à l'étape suivante.

   ```
   {
   "name": "WinFastLaunchDistribution",
   "description": "An example of Windows AMI EC2 Fast Launch settings in the distribution configuration.",
   "distributions": [
   	{
   		"region": "us-west-2",
   		"amiDistributionConfiguration": {
   			"name": "Name {{imagebuilder:buildDate}}",
   			"description": "Includes Windows AMI EC2 Fast Launch settings.",
   			"amiTags": {
   				"KeyName": "Some Value"
   			}
   		},
   		"fastLaunchConfigurations": [{
   			"enabled": true,
   			"snapshotConfiguration": {
   				"targetResourceCount": 5
   			},
   			"maxParallelLaunches": 6,
   			"launchTemplate": {
   				"launchTemplateId": "lt-0ab1234c56d789012",
   				"launchTemplateVersion": "1"
   			 }
   		}],
   		"launchTemplateConfigurations": [{
   				   "launchTemplateId": "lt-0ab1234c56d789012",
   				   "setDefaultVersion": true
   		  }]
   	}]
   }
   ```
**Note**  
Vous pouvez spécifier le `launchTemplateName` au lieu de `launchTemplateId` dans la `launchTemplate` section, mais vous ne pouvez pas spécifier à la fois le nom et l'identifiant.

1. 

**Exécutez la commande suivante en utilisant le fichier que vous avez créé en entrée.**

   ```
   aws imagebuilder create-distribution-configuration --cli-input-json file://ami-dist-config-win-fast-launch.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 (\$1) pour faire référence au chemin du répertoire, tandis que Linux et macOS utilisent la barre oblique (/).

   Pour des informations plus détaillées, reportez-vous **[create-distribution-configuration](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/imagebuilder/create-distribution-configuration.html)** à la *référence des AWS CLI commandes*.

## Exemple : créer des paramètres de distribution pour les disques de machine virtuelle de sortie à partir du AWS CLI
<a name="cli-create-vm-dist-config"></a>

L'exemple suivant montre comment utiliser la **create-distribution-configuration** commande pour créer des paramètres de distribution qui exporteront les disques d'images de machine virtuelle vers Amazon S3 à chaque création d'image.

1. 

**Créer un fichier JSON d'entrée CLI**

   Vous pouvez rationaliser la **create-distribution-configuration** commande que vous utilisez dans le AWS CLI. Pour ce faire, créez un fichier JSON contenant l'ensemble de la configuration d'exportation que vous souhaitez transmettre à la commande.
**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'opération de l'API Image Builder. Pour consulter les paramètres de demande d'opération d'API, consultez la **[CreateDistributionConfiguration](https://docs.aws.amazon.com/imagebuilder/latest/APIReference/API_CreateDistributionConfiguration.html)** commande 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 de AWS CLI commande*. À la **create-distribution-configuration** commande sous forme d'options.

   Voici un résumé des paramètres que nous avons spécifiés dans l'objet `s3ExportConfiguration` JSON pour cet exemple :
   + **RoleName** (chaîne, obligatoire) : nom du rôle qui autorise la machine virtuelle Import/Export à exporter des images vers votre compartiment S3.
   + **diskImageFormat**(chaîne, obligatoire) — Exportez l'image disque mise à jour vers l'un des formats pris en charge suivants :
     + **Disque dur virtuel (VHD)** : compatible avec les produits de virtualisation Citrix Xen et Microsoft Hyper-V.
     + **Disque de machine virtuelle ESX (VMDK) optimisé pour les flux** : compatible avec les versions 4, 5 et 6 d'ESX VMware et de VMware vSphere.
     + **Raw** — Format brut.
   + **S3bucket** (chaîne, obligatoire) — Le compartiment S3 dans lequel stocker les images de disque de sortie pour votre machine virtuelle.

   Enregistrez le fichier sous le nom `export-vm-disks.json`. Utilisez le nom du fichier dans la **create-distribution-configuration** commande.

   ```
   {
   	"name": "example-distribution-configuration-with-vm-export",
   	"description": "example",
   	"distributions": [
   		{
   			"region": "us-west-2",
   			"amiDistributionConfiguration": {
   				"description": "example-with-vm-export"
   
   			},
   			"s3ExportConfiguration": {
   				"roleName": "vmimport",
   				"diskImageFormat": "RAW",
   				"s3Bucket": "vm-bucket-export"
   			}
   		}],
   	"clientToken": "abc123def4567ab"
   }
   ```

1. 

**Exécutez la commande suivante en utilisant le fichier que vous avez créé en entrée.**

   ```
   aws imagebuilder create-distribution-configuration --cli-input-json file://export-vm-disks.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 (\$1) pour faire référence au chemin du répertoire, tandis que Linux et macOS utilisent la barre oblique (/).

   Pour des informations plus détaillées, reportez-vous **[create-distribution-configuration](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/imagebuilder/create-distribution-configuration.html)** à la *référence des AWS CLI commandes*.

# Création et mise à jour des paramètres de distribution pour les images de conteneurs
<a name="cr-upd-container-distribution-settings"></a>

Cette section traite de la création et de la mise à jour des paramètres de distribution pour les images de conteneur Image Builder.

**Topics**
+ [Créez des paramètres de distribution pour les images de conteneur Image Builder à partir du AWS CLI](#cli-create-container-distribution-configuration)
+ [Mettez à jour les paramètres de distribution de votre image de conteneur à partir du AWS CLI](#cli-update-container-distribution-configuration)

## Créez des paramètres de distribution pour les images de conteneur Image Builder à partir du AWS CLI
<a name="cli-create-container-distribution-configuration"></a>

Une configuration de distribution vous permet de spécifier le nom et la description de votre image de conteneur de sortie et de répliquer l'image de conteneur dans d'autres AWS régions. Vous pouvez également appliquer des balises distinctes à la ressource de configuration de distribution et aux images de conteneur au sein de chaque région.

1. 

**Créer un fichier JSON d'entrée CLI**

   Utilisez votre outil d'édition de fichiers préféré pour créer un fichier JSON avec les clés illustrées dans l'exemple suivant, auxquelles s'ajoutent des valeurs valides pour votre environnement. Cet exemple utilise un fichier nommé`create-container-distribution-configuration.json` :

   ```
   {
   	"name": "distribution-configuration-name",
   	"description": "Distributes container image to Amazon ECR repository in two regions.",
   	"distributions": [
   		{
   			"region": "us-west-2",
   			"containerDistributionConfiguration": {
   				"description": "My test image.",
   				"targetRepository": {
   					"service": "ECR",
   					"repositoryName": "testrepo"
   				},
   				"containerTags": ["west2", "image1"]
   			}
   		},
   		{
   			"region": "us-east-1",
   			"containerDistributionConfiguration": {
   				"description": "My test image.",
   				"targetRepository": {
   					"service": "ECR",
   					"repositoryName": "testrepo"
   				},
   			   "containerTags": ["east1", "imagedist"]
   			}
   		}
   	],
   	"tags": {
   	   "DistributionConfigurationTestTagKey1": "DistributionConfigurationTestTagValue1",
   	   "DistributionConfigurationTestTagKey2": "DistributionConfigurationTestTagValue2"
   	}
   }
   ```

1. 

**Exécutez la commande suivante en utilisant le fichier que vous avez créé en entrée.**

   ```
   aws imagebuilder create-distribution-configuration --cli-input-json file://create-container-distribution-configuration.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 (\$1) pour faire référence au chemin du répertoire, tandis que Linux et macOS utilisent la barre oblique (/).

   Pour des informations plus détaillées, reportez-vous **[create-distribution-configuration](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/imagebuilder/create-distribution-configuration.html)** à la *référence des AWS CLI commandes*.

## Mettez à jour les paramètres de distribution de votre image de conteneur à partir du AWS CLI
<a name="cli-update-container-distribution-configuration"></a>

L'exemple suivant montre comment utiliser la **[update-distribution-configuration](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/imagebuilder/update-distribution-configuration.html)** commande pour mettre à jour les paramètres de distribution de votre image de conteneur, à l'aide du AWS CLI. Vous pouvez également mettre à jour les balises pour les images des conteneurs dans chaque région.

1. 

**Créer un fichier JSON d'entrée CLI**

   Utilisez votre outil d'édition de fichiers préféré pour créer un fichier JSON avec les clés illustrées dans l'exemple suivant, auxquelles s'ajoutent des valeurs valides pour votre environnement. Cet exemple utilise un fichier nommé`update-container-distribution-configuration.json` :

   ```
   {
   	"distributionConfigurationArn": "arn:aws:imagebuilder:us-west-2:123456789012:distribution-configuration/update-container-distribution-configuration.json",
   	"description": "Distributes container image to Amazon ECR repository in two regions.",
   	"distributions": [
   		{
   			"region": "us-west-2",
   			"containerDistributionConfiguration": {
   				"description": "My test image.",
   				"targetRepository": {
   					"service": "ECR",
   					"repositoryName": "testrepo"
   				},
   				"containerTags": ["west2", "image1"]
   			}
   		},
   		{
   			"region": "us-east-2",
   			"containerDistributionConfiguration": {
   				"description": "My test image.",
   				"targetRepository": {
   					"service": "ECR",
   					"repositoryName": "testrepo"
   				},
   			   "containerTags": ["east2", "imagedist"]
   			}
   		}
   	]
   }
   ```

1. 

**Exécutez la commande suivante en utilisant le fichier que vous avez créé comme entrée :**

   ```
   aws imagebuilder update-distribution-configuration --cli-input-json file://update-container-distribution-configuration.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 (\$1) pour faire référence au chemin du répertoire, tandis que Linux et macOS utilisent la barre oblique (/).

   Pour des informations plus détaillées, reportez-vous **[update-distribution-configuration](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/imagebuilder/update-distribution-configuration.html)** à la *référence des AWS CLI commandes*. Pour mettre à jour les balises de votre ressource de configuration de distribution, consultez la [Balisage des ressources](tag-resources.md) section.

# Configurer la distribution d'AMI entre comptes avec Image Builder
<a name="cross-account-dist"></a>

Cette section décrit comment configurer les paramètres de distribution pour fournir une AMI Image Builder aux autres comptes que vous spécifiez.

Le compte de destination peut ensuite lancer ou modifier l'AMI, selon les besoins.

**Note**  
AWS CLI les exemples de commandes présentés dans cette section supposent que vous avez déjà créé des fichiers JSON de recette d'image et de configuration d'infrastructure. Pour créer le fichier JSON pour une recette d'image, consultez[Créez une recette imagée à l'aide du AWS CLI](create-image-recipes.md#create-image-recipe-cli). Pour créer le fichier JSON pour une configuration d'infrastructure, consultez[Créer une configuration d'infrastructure](create-infra-config.md).

## Conditions préalables à la distribution d'AMI entre comptes
<a name="cross-account-dist-prereqs"></a>

Pour que les comptes cibles puissent lancer correctement des instances à partir de votre image Image Builder, vous devez configurer les autorisations appropriées pour tous les comptes de destination dans toutes les régions.

Si vous chiffrez votre AMI à l'aide de AWS Key Management Service (AWS KMS), vous devez configurer un AWS KMS key pour votre compte qui sera utilisé pour chiffrer la nouvelle image.

Lorsque Image Builder effectue une distribution entre comptes chiffrée AMIs, l'image du compte source est déchiffrée et envoyée vers la région cible, où elle est rechiffrée à l'aide de la clé désignée pour cette région. Image Builder agissant pour le compte cible et utilise un rôle IAM que vous créez dans la région de destination, ce compte doit avoir accès aux clés dans les régions source et de destination.

### Clés de chiffrement
<a name="cross-account-prereqs-encryption"></a>

Les conditions préalables suivantes sont requises si votre image est cryptée à l'aide AWS KMS de. Les prérequis IAM sont abordés dans la section suivante.

**Exigences relatives au compte source**
+ Créez une clé KMS dans votre compte dans toutes les régions où vous créez et distribuez votre AMI. Vous pouvez également utiliser une clé existante.
+ Mettez à jour la politique clé pour toutes ces clés afin de permettre aux comptes de destination d'utiliser votre clé.

**Exigences relatives au compte de destination**
+ Ajoutez une politique en ligne `EC2ImageBuilderDistributionCrossAccountRole` qui permet au rôle d'effectuer les actions requises pour distribuer une AMI chiffrée. Pour les étapes de configuration IAM, consultez la section sur les [politiques IAM](#cross-account-prereqs-iam) conditions préalables.

Pour plus d'informations sur l'utilisation de l'accès entre comptes AWS KMS, voir [Autoriser les utilisateurs d'autres comptes à utiliser une clé KMS](https://docs.aws.amazon.com/kms/latest/developerguide/key-policy-modifying-external-accounts.html) dans le *Guide du AWS Key Management Service développeur*.

Spécifiez votre clé de chiffrement dans la recette de l'image, comme suit :
+ Si vous utilisez la console Image Builder, choisissez votre clé de chiffrement dans la liste déroulante **Encryption (alias KMS)** de la section **Stockage (volumes)** de votre recette.
+ Si vous utilisez l'action **CreateImageRecipe** API ou la **create-image-recipe** commande contenue dans le AWS CLI, configurez votre clé dans la `ebs` section `blockDeviceMappings` ci-dessous de votre entrée JSON.

  L'extrait de code JSON suivant indique les paramètres de chiffrement d'une recette d'image. En plus de fournir votre clé de chiffrement, vous devez également définir l'`encrypted`indicateur sur`true`.

  ```
  {
  	...
  	"blockDeviceMappings": [
  	{
  		"deviceName": "Example root volume",
  		"ebs": { 
  			"deleteOnTermination": true,
  			"encrypted": true,
  			"iops": 100,
  			"kmsKeyId": "image-owner-key-id",
  			...
  		},
  		...
  	}],
  	...
  }
  ```

### politiques IAM
<a name="cross-account-prereqs-iam"></a>

Pour configurer les autorisations de distribution entre comptes dans Gestion des identités et des accès AWS (IAM), procédez comme suit :

1. Pour utiliser Image Builder AMIs qui sont distribués sur plusieurs comptes, le propriétaire du compte de destination doit créer un nouveau rôle IAM dans son compte appelé`EC2ImageBuilderDistributionCrossAccountRole`.

1. Ils doivent associer le [Stratégie Ec2ImageBuilderCrossAccountDistributionAccess](security-iam-awsmanpol.md#sec-iam-manpol-Ec2ImageBuilderCrossAccountDistributionAccess) au rôle pour permettre la distribution entre comptes. Pour plus d'informations sur les politiques gérées, voir [Politiques gérées et politiques intégrées](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_managed-vs-inline.html#aws-managed-policies) dans le *guide de l'Gestion des identités et des accès AWS utilisateur*.

1. Vérifiez que l'ID du compte source est ajouté à la politique de confiance attachée au rôle IAM du compte de destination. L'exemple suivant montre une politique de confiance dans le compte de destination qui spécifie l'ID du compte source.

------
#### [ JSON ]

****  

   ```
   {
       "Version":"2012-10-17",		 	 	 
       "Statement": [{
           "Effect": "Allow",
           "Principal": {
               "AWS": "arn:aws:iam::444455556666:root"
           },
           "Action": "sts:AssumeRole"
       }]
   }
   ```

------

   Pour plus d'informations sur les politiques de confiance, consultez la section Politiques [basées sur les ressources](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies.html#policies_resource-based) dans le guide de l'*Gestion des identités et des accès AWS utilisateur*.

1. Si l'AMI que vous distribuez est cryptée, le propriétaire du compte de destination doit ajouter la politique `EC2ImageBuilderDistributionCrossAccountRole` en ligne suivante à son compte afin de pouvoir utiliser vos clés KMS. La `Principal` section contient leur numéro de compte. Image Builder peut ainsi agir en leur nom lorsqu'il AWS KMS crypte et déchiffre l'AMI avec les clés appropriées pour chaque région.

------
#### [ JSON ]

****  

   ```
   {
   	"Version":"2012-10-17",		 	 	 
   	"Statement": [
   		{
   			"Sid": "AllowRoleToPerformKMSOperationsOnBehalfOfTheDestinationAccount",
   			"Effect": "Allow",
   			"Action": [
   				"kms:Encrypt",
   				"kms:Decrypt",
   				"kms:ReEncrypt*",
   				"kms:GenerateDataKey*",
   				"kms:DescribeKey",
   				"kms:CreateGrant",
   				"kms:ListGrants",
   				"kms:RevokeGrant"
   			],
   			"Resource": "*"
   		}
   	]
   }
   ```

------

   Pour plus d'informations sur les politiques intégrées, consultez la section [Politiques intégrées dans](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_managed-vs-inline.html#inline-policies) le guide de l'*Gestion des identités et des accès AWS utilisateur*.

1. Si vous utilisez `launchTemplateConfigurations` pour spécifier un modèle de lancement Amazon EC2, vous devez également ajouter la politique suivante `EC2ImageBuilderDistributionCrossAccountRole` à votre compte de destination.

------
#### [ JSON ]

****  

   ```
   {
       "Version":"2012-10-17",		 	 	 
       "Statement": [
           {
               "Effect": "Allow",
               "Action": [
                   "ec2:CreateLaunchTemplateVersion",
                   "ec2:ModifyLaunchTemplate"
               ],
               "Resource": "*",
               "Condition": {
                   "StringEquals": {
                       "aws:ResourceTag/CreatedBy": "EC2 Image Builder"
                   }
               }
           },
           {
               "Effect": "Allow",
               "Action": [
                   "ec2:DescribeLaunchTemplates"
               ],
               "Resource": "*"
           },
           {
               "Effect": "Allow",
               "Action": [
                   "ec2:CreateTags"
               ],
               "Resource": "arn:aws:ec2:*:*:launch-template/*",
               "Condition": {
                   "StringEquals": {
                       "aws:RequestTag/CreatedBy": "EC2 Image Builder"
                   }
               }
           }
       ]
   }
   ```

------

1. Si vous utilisez un AWS Systems Manager paramètre Parameter Store pour stocker l'ID de l'AMI de sortie pour le compte de distribution et la région, vous devez ajouter la politique suivante à votre compte de destination `EC2ImageBuilderDistributionCrossAccountRole` dans chaque compte de destination.

------
#### [ JSON ]

****  

   ```
   {
       "Version":"2012-10-17",		 	 	 
       "Statement": [
           {
               "Effect": "Allow",
               "Action": [
                   "ssm:PutParameter"
               ],
               "Resource": "arn:aws:ssm:*:111122223333:parameter/ImageBuilder-*"
           },
           {
               "Effect": "Allow",
               "Action": [
                   "ec2:DescribeImages"
               ],
               "Resource": "*"
           }
       ]
   }
   ```

------

## Limites de distribution entre comptes
<a name="cross-account-dist-limits"></a>

La distribution d'images Image Builder sur plusieurs comptes comporte certaines limites :
+ Le compte de destination est limité à 50 copies simultanées de l'AMI pour chaque région de destination.
+ Si vous souhaitez copier une AMI de virtualisation paravirtuelle (PV) vers une autre région, la région de destination doit prendre en charge la virtualisation PV. AMIs Pour plus d'informations, consultez [Types de virtualisations AMI Linux](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/virtualization_types.html).
+ Vous ne pouvez pas créer de copie non chiffrée d'un instantané chiffré. Si vous ne spécifiez pas de clé gérée par le client AWS Key Management Service (AWS KMS) pour le `KmsKeyId` paramètre, Image Builder utilise la clé par défaut pour Amazon Elastic Block Store (Amazon EBS). Pour de plus amples informations, veuillez consulter [Chiffrement Amazon EBS](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSEncryption.html) dans le *Guide de l'utilisateur Amazon Elastic Compute Cloud*.

Pour plus d'informations, consultez le manuel [CreateDistributionConfiguration](https://docs.aws.amazon.com/imagebuilder/latest/APIReference/API_CreateDistributionConfiguration.html)de référence de l'*API EC2 Image Builder*.

## Configurer la distribution entre comptes pour une AMI Image Builder depuis la console
<a name="cross-account-dist-console-create-ami"></a>

Cette section explique comment créer et configurer les paramètres de distribution pour la distribution entre comptes de votre Image Builder à l' AMIs aide du AWS Management Console. La configuration de la distribution entre comptes nécessite des autorisations IAM spécifiques. Vous devez remplir le formulaire [Conditions préalables à la distribution d'AMI entre comptes](#cross-account-dist-prereqs) correspondant à cette section avant de continuer.

Pour créer des paramètres de distribution dans la console Image Builder, procédez comme suit :

1. Ouvrez la console [https://console.aws.amazon.com/imagebuilder/](https://console.aws.amazon.com/imagebuilder/)EC2 Image Builder à l'adresse.

1. Choisissez **Paramètres de distribution** dans le volet de navigation. Cela affiche la liste des paramètres de distribution créés sous votre compte.

1. En haut de la page des **paramètres de distribution**, choisissez **Créer des paramètres de distribution**. Cela vous amène à la page **Créer des paramètres de distribution**.

1. Dans la section **Type d'image**, choisissez **Amazon Machine Image (AMI)** comme **type de sortie**. Il s’agit du paramètre par défaut.

1. Dans la section **Général**, entrez le **nom** de la ressource de paramètres de distribution que vous souhaitez créer (*obligatoire*).

1. Dans la section **Paramètres régionaux**, entrez un identifiant de compte à 12 chiffres auquel vous souhaitez distribuer votre AMI dans les **comptes Target** de la région sélectionnée, puis appuyez sur **Entrée**. Cela vérifie le bon formatage, puis affiche l'ID de compte que vous avez saisi sous la case. Répétez le processus pour ajouter d'autres comptes.

   Pour supprimer un compte que vous avez saisi, choisissez le **X** affiché à droite de l'identifiant du compte.

   Entrez le **nom de l'AMI de sortie** pour chaque région.

1. Continuez à spécifier les paramètres supplémentaires dont vous avez besoin, puis choisissez **Créer des paramètres** pour créer votre nouvelle ressource de paramètres de distribution.

## Configurez la distribution entre comptes pour une AMI Image Builder à partir du AWS CLI
<a name="cross-account-dist-cli-ami-create"></a>

Cette section décrit comment configurer un fichier de paramètres de distribution et utiliser la **create-image** commande contenue dans le AWS CLI pour créer et distribuer une AMI Image Builder sur plusieurs comptes.

La configuration de la distribution entre comptes nécessite des autorisations IAM spécifiques. Vous devez compléter cette section avant d'exécuter la **create-image** commande. [Conditions préalables à la distribution d'AMI entre comptes](#cross-account-dist-prereqs)

1. 

**Configuration d'un fichier de paramètres de distribution**

   Avant d'utiliser la **create-image** commande AWS CLI pour créer une AMI Image Builder distribuée à un autre compte, vous devez créer une structure `DistributionConfiguration` JSON qui spécifie le compte cible IDs dans les `AmiDistributionConfiguration` paramètres. Vous devez en spécifier au moins un `AmiDistributionConfiguration` dans la région source.

   Le fichier d'exemple suivant, nommé`create-distribution-configuration.json`, montre la configuration pour la distribution d'images entre comptes dans la région source.

   ```
   {
   	"name": "cross-account-distribution-example",
   	"description": "Cross Account Distribution Configuration Example",
   	"distributions": [
   		{
   			"amiDistributionConfiguration": {
   				"targetAccountIds": ["123456789012", "987654321098"],
   				"name": "Name {{ imagebuilder:buildDate }}", 
   				"description": "ImageCopy Ami Copy Configuration"
   			}, 
   			"region": "us-west-2"
   		}
   	]
   }
   ```

1. 

**Création des paramètres de distribution**

   Pour créer une ressource de paramètres de distribution Image Builder à l'aide de la [create-distribution-configuration](https://docs.aws.amazon.com/cli/latest/reference/imagebuilder/create-distribution-configuration.html)commande AWS CLI, entrez les paramètres suivants dans la commande :
   + Entrez le nom de la distribution dans le `--name` paramètre.
   + Joignez le fichier JSON de configuration de distribution que vous avez créé dans le `--cli-input-json` paramètre.

   ```
   aws imagebuilder create-distribution-configuration --name my distribution name --cli-input-json file://create-distribution-configuration.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 (\$1) pour faire référence au chemin du répertoire, tandis que Linux et macOS utilisent la barre oblique (/).

*Vous pouvez également fournir du JSON directement dans la commande, à l'aide du `--distributions` paramètre.*

# Configuration de la distribution d'AMI avec un modèle de lancement EC2
<a name="dist-using-launch-template"></a>

Pour garantir une expérience de lancement cohérente pour votre AMI Image Builder dans les comptes cibles et les régions, vous pouvez spécifier un modèle de lancement Amazon EC2 dans vos paramètres de distribution, en utilisant. `launchTemplateConfigurations` Lorsqu'ils `launchTemplateConfigurations` sont présents pendant le processus de distribution, Image Builder crée une nouvelle version du modèle de lancement qui inclut tous les paramètres d'origine du modèle et le nouvel ID d'AMI issu de la compilation. Pour plus d'informations sur le lancement d'une instance EC2 à l'aide d'un modèle de lancement, consultez l'un des liens suivants, en fonction de votre système d'exploitation cible.
+ [Lancer une instance Linux à partir d'un modèle de lancement](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-launch-templates.html)
+ [Lancer une instance Windows à partir d'un modèle de lancement](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-launch-templates.html)

**Note**  
Lorsque vous incluez un modèle de lancement pour activer Windows Fast Launch dans votre image, le modèle de lancement doit inclure la balise suivante afin qu'Image Builder puisse activer Windows Fast Launch en votre nom.  
`CreatedBy: EC2 Image Builder`

## Ajouter un modèle de lancement EC2 aux paramètres de distribution de l'AMI depuis la console
<a name="dist-using-launch-template-console"></a>

Pour fournir un modèle de lancement avec votre AMI de sortie, procédez comme suit dans la console :

1. Ouvrez la console [https://console.aws.amazon.com/imagebuilder/](https://console.aws.amazon.com/imagebuilder/)EC2 Image Builder à l'adresse.

1. Choisissez **Paramètres de distribution** dans le volet de navigation. Cela affiche la liste des paramètres de distribution créés sous votre compte.

1. En haut de la page des **paramètres de distribution**, choisissez **Créer des paramètres de distribution**. Cela ouvre la page **Créer des paramètres de distribution**.

1. Dans la section **Type d'image**, choisissez le **type de sortie** **Amazon Machine Image (AMI)**. Il s’agit du paramètre par défaut.

1. Dans la section **Général**, entrez le **nom** de la ressource de paramètres de distribution que vous souhaitez créer (*obligatoire*).

1. Dans la section **Paramètres régionaux**, sélectionnez le nom d'un modèle de lancement EC2 dans la liste. Si votre compte ne contient aucun modèle de lancement, choisissez **Créer un nouveau modèle de lancement**, qui ouvre les **modèles de lancement** dans le tableau de **bord EC2**.

   Cochez la case **Définir la version par défaut** pour mettre à jour la version par défaut du modèle de lancement vers la nouvelle version créée par Image Builder avec votre AMI de sortie.

   Pour ajouter un autre modèle de lancement à la région sélectionnée, choisissez **Ajouter une configuration de modèle de lancement**.

   Pour supprimer un modèle de lancement, choisissez **Supprimer**.

1. Continuez à spécifier les paramètres supplémentaires dont vous avez besoin, puis choisissez **Créer des paramètres** pour créer votre nouvelle ressource de paramètres de distribution.

## Ajoutez un modèle de lancement EC2 aux paramètres de distribution de l'AMI à partir du AWS CLI
<a name="dist-using-launch-template-cli"></a>

Cette section décrit comment configurer un fichier de paramètres de distribution avec un modèle de lancement et utiliser la **create-image** commande contenue dans le AWS CLI pour créer et distribuer une AMI Image Builder et une nouvelle version du modèle de lancement qui l'utilise.

1. 

**Configuration d'un fichier de paramètres de distribution**

   Avant de créer une AMI Image Builder avec un modèle de lancement AWS CLI, vous devez créer une structure JSON de configuration de distribution qui spécifie les `launchTemplateConfigurations` paramètres. Vous devez spécifier au moins une `launchTemplateConfigurations` entrée dans la région source.

   Le fichier d'exemple suivant, nommé`create-distribution-config-launch-template.json`, montre quelques scénarios possibles pour la configuration du modèle de lancement dans la région source.

   ```
   {
       "name": "NewDistributionConfiguration",
       "description": "This is just a test",
       "distributions": [
           {
               "region": "us-west-2",
               "amiDistributionConfiguration": {
                   "name": "test-{{imagebuilder:buildDate}}-{{imagebuilder:buildVersion}}",
                   "description": "description"
               },
               "launchTemplateConfigurations": [
                   {
                       "launchTemplateId": "lt-0a1bcde2fgh34567",
                       "accountId": "935302948087",
                       "setDefaultVersion": true
                   },
                   {
                       "launchTemplateId": "lt-0aaa1bcde2ff3456"
                   },
                   {
                       "launchTemplateId": "lt-12345678901234567",
                       "accountId": "123456789012"
                   }
               ]
           }
       ],
       "clientToken": "clientToken1"
   }
   ```

1. 

**Création des paramètres de distribution**

   Pour créer une ressource de paramètres de distribution Image Builder à l'aide de la [create-distribution-configuration](https://docs.aws.amazon.com/cli/latest/reference/imagebuilder/create-distribution-configuration.html)commande AWS CLI, entrez les paramètres suivants dans la commande :
   + Entrez le nom de la distribution dans le `--name` paramètre.
   + Joignez le fichier JSON de configuration de distribution que vous avez créé dans le `--cli-input-json` paramètre.

   ```
   aws imagebuilder create-distribution-configuration --name my distribution name--cli-input-json file://create-distribution-config-launch-template.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 (\$1) pour faire référence au chemin du répertoire, tandis que Linux et macOS utilisent la barre oblique (/).

*Vous pouvez également fournir du JSON directement dans la commande, à l'aide du `--distributions` paramètre.*

# Utilisez des fonctionnalités de distribution d'AMI améliorées
<a name="distribution-enhanced_functionality"></a>

Image Builder propose des fonctionnalités de distribution avancées qui vous offrent flexibilité et contrôle sur la manière dont vous AMIs êtes distribué entre les régions et les comptes. Ces fonctionnalités séparent la distribution du processus de création, ce qui vous permet de distribuer des images existantes à la demande, de remédier efficacement aux défaillances de distribution et de mettre en œuvre des stratégies de distribution contrôlées en plusieurs étapes grâce à des flux de travail personnalisables. 

Vous pouvez utiliser les fonctionnalités de distribution d'AMI améliorées d'Image Builder pour effectuer directement des activités de distribution sans avoir à réexécuter une génération d'image complète. 

## Distribution découplée
<a name="decoupled-distribution"></a>

L' DistributeImage API accepte trois types de références d'image source : 
+ **ID AMI** : identifiant d'AMI standard (par exemple,`ami-0abcdef1234567890`)
+ Paramètre **SSM : paramètre** SSM qui stocke un ID d'AMI (par exemple,) `ssm:/my/ami/parameter`
+ **Image Builder version ARN** — Une image Image Builder version ARN

## Nouvelle tentative de distribution
<a name="distribution-retry"></a>

Si la distribution d'une image échoue, utilisez l'`RetryImage`API pour réessayer la distribution. Cela permet de réduire le temps nécessaire pour résoudre la cause de la panne en évitant une reconstruction complète de l'image. À utiliser `RetryImage` après avoir résolu la cause sous-jacente de l'échec de distribution. 

L' RetryImage API accepte une version ARN de génération d'image (par exemple,`arn:aws:imagebuilder:us-west-2:123456789012:image/my-image/1.0.0/1`). Lorsque vous appelez l'API, Image Builder reprend automatiquement le processus de distribution à partir du point d'échec en utilisant la configuration et les paramètres de distribution d'origine. L'`RetryImage`API peut réessayer les distributions qui ont échoué pendant la phase de distribution, la phase de test ou la phase d'intégration. Il fonctionne AMIs dans les états suivants : en attente, en échec, supprimé ou disponible. 

**Conditions préalables** 

Avant de réessayer une distribution, vérifiez les points suivants : 
+ Vous avez identifié et résolu la cause première de l'échec. Consultez les journaux de distribution dans CloudWatch Logs pour obtenir des informations détaillées sur les erreurs.
+ Vous disposez des autorisations IAM nécessaires pour réessayer de créer l'image.
+ En cas d'échec de distribution entre comptes, vérifiez que `EC2ImageBuilderDistributionCrossAccountRole` la `Ec2ImageBuilderCrossAccountDistributionAccess` politique est attachée au compte de destination.

**Important :** Toute nouvelle tentative sans résoudre le problème sous-jacent entraînera des échecs répétés. 

## Flux de travail de distribution
<a name="distribution-workflows"></a>

Les flux de travail de distribution sont un nouveau type de flux de travail qui complète les flux de travail de création et de test, vous permettant de définir et de contrôler le processus de distribution à l'aide d'étapes séquentielles. Les flux de travail de distribution vous permettent de créer des processus de distribution personnalisés qui incluent des opérations de copie d'AMI, des wait-for-action points de contrôle, des modifications d'attributs d'image et d'autres étapes liées à la distribution. Cela permet un contrôle structuré de la manière dont vous AMIs êtes distribué, avec une visibilité par étapes, des fonctionnalités de distribution parallèle et des rapports d'erreurs détaillés. 

Pour en savoir plus sur la création et la personnalisation des flux de travail, voir [Gérer les flux de travail liés aux images](manage-image-workflows.html). 