Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.
Création et mise à jour des configurations de distribution d'AMI
Cette section traite de la création et de la mise à jour des configurations de distribution pour une AMI Image Builder.
Table des matières
Conditions préalables à la distribution de l'AMI
Certains paramètres de distribution comportent des prérequis, comme suit :
Conditions préalables pour les paramètres de sortie SSM
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.
Important
Nous vous recommandons de ne pas transmettre le rôle AWSServiceRoleForImageBuilderlié au service en tant que rôle d'exécution. Créez plutôt un rôle IAM personnalisé et associez la politique EC2ImageBuilderExecutionPolicy AWS gérée. Cette politique accorde les mêmes autorisations que celles dont Image Builder a besoin pour appeler Services AWS en votre nom. L'utilisation d'un rôle personnalisé vous permet de contrôler totalement les autorisations utilisées par Image Builder. Cela permet également de maintenir vos politiques de contrôle des services (SCP) et vos politiques de contrôle des ressources (RCP) en vigueur pour les opérations qu'Image Builder effectue en votre nom.
-
Pour stocker l'ID AMI de sortie dans un paramètre SSM lors de la distribution, vous devez spécifier l'
ssm:PutParameteraction 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 Imagepour signaler à Systems Manager de valider la valeur du paramètre en tant qu'ID AMI, vous devez également ajouter l'ec2:DescribeImagesaction.
-
Conditions préalables au lancement rapide d'EC2
Avant de créer une nouvelle configuration de distribution pour les AMI EC2 Fast Launch pour Windows, 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.
-
Si vous n'utilisez pas de modèle de lancement personnalisé pour configurer vos paramètres, vous devez associer la EC2FastLaunchFullAccesspolitique 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.
Cette fonctionnalité nécessite des autorisations supplémentaires en plus de celles prévues dans la politique d'exécution de base. Vous devez donc utiliser un rôle personnalisé. Nous vous recommandons de créer un rôle personnalisé auquel est attachée la politique EC2ImageBuilderExecutionPolicy AWS gérée, puis d'ajouter la EC2FastLaunchFullAccess politique à ce rôle.
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 des 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
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 (UO) 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 AMI Windows de sortie. 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
Mettre à jour la configuration de distribution d'une AMI
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.
Exemple : activer EC2 Fast Launch avec un modèle de lancement pour les AMI de sortie
L'exemple suivant montre comment utiliser la create-distribution-configuration
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 avant de créer votre configuration de distribution.
-
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.jsondans 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
launchTemplateNameau lieu delaunchTemplateIddans lalaunchTemplatesection, mais vous ne pouvez pas spécifier à la fois le nom et l'identifiant. -
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.jsonNote
-
Vous devez inclure l'option
file://au début du chemin du fichier JSON. -
Le chemin d'accès du fichier JSON doit suivre la convention appropriée pour le système d'exploitation de base sur lequel vous exécutez la commande. Par exemple, Windows utilise la barre oblique inverse (\) pour faire référence au chemin du répertoire, tandis que Linux et macOS utilisent la barre oblique (/).
Pour des informations plus détaillées, reportez-vous create-distribution-configuration
à 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
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.
-
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 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
s3ExportConfigurationJSON 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.
-
disk ImageFormat (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 Hyper-V virtualisation Citrix Xen et Microsoft.
-
Stream-optimized Disque de machine virtuelle ESX (VMDK) : compatible avec les versions 4, 5 et 6 de VMware ESX et 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" } -
-
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.jsonNote
-
Vous devez inclure l'option
file://au début du chemin du fichier JSON. -
Le chemin d'accès du fichier JSON doit suivre la convention appropriée pour le système d'exploitation de base sur lequel vous exécutez la commande. Par exemple, Windows utilise la barre oblique inverse (\) pour faire référence au chemin du répertoire, tandis que Linux et macOS utilisent la barre oblique (/).
Pour des informations plus détaillées, reportez-vous create-distribution-configuration
à la référence des AWS CLI commandes. -