Actions d'étapes prises en charge pour votre document de flux de travail - EC2 Image Builder

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

Actions d'étapes prises en charge pour votre document de flux de travail

Cette section contient des informations détaillées sur les actions d'étape prises en charge par Image Builder.

Termes utilisés dans cette section
AMI

Amazon Machine Image

ARN

Amazon Resource Name

ApplyImageConfigurations

Cette étape applique diverses configurations et intégrations au système distribué AMIs, telles que les configurations de licence, les configurations de modèles de lancement, les configurations d'exportation S3, les configurations EC2 Fast Launch et les configurations de paramètres de Systems Manager. Les configurations s'appliquent aux images distribuées uniquement dans le compte source, à l'exception des configurations de paramètres SSM qui peuvent être appliquées entre comptes.

Délai d'expiration par défaut : 360 minutes

Durée maximale : 720 minutes

Annulation : il n'y a aucune annulation pour cette action d'étape.

Entrées : Le tableau suivant inclut les entrées prises en charge pour cette action d'étape.

Nom d'entrée Description Type Obligatoire Par défaut Constaintes
region La région de l'image. Chaîne Oui
licenseConfigurationArns L'ARN de configuration de licence pour l'image. Tableau Non
launchTemplateConfigurations Tableau Non
launchTemplateConfigurations:launchTemplateId ID du modèle de lancement à appliquer à l'image. Chaîne Oui si cela launchTemplateConfigurations est spécifié
launchTemplateConfigurations: ID du compte Le compte modèle de lancement IDs à appliquer à l'image. Chaîne Non
launchTemplateConfigurations:setDefaultVersion Le paramètre de version par défaut du modèle de lancement pour l'image. Booléen Non
s3 ExportConfiguration Tableau Non
S3 ExportConfiguration : Nom du rôle Nom du rôle de configuration d'exportation S3 pour l'image. Chaîne Oui si cela s3ExportConfiguration est spécifié
s3 ExportConfiguration : diskImageFormat Le format d'image disque de configuration d'exportation S3 pour l'image. Chaîne Oui si cela s3ExportConfiguration est spécifié Valeurs autorisées - VMDK|RAW|VHD
S3 : seau S3 ExportConfiguration Nom du compartiment de configuration d'exportation S3 pour l'image. Chaîne Oui si cela s3ExportConfiguration est spécifié
S3 : préfixe S3 ExportConfiguration Le préfixe du compartiment de configuration d'exportation S3 pour l'image. Chaîne Non
fastLaunchConfigurations Configuration de lancement EC2 rapide pour l'image. Tableau Non
fastLaunchConfigurations:activé EC2 Lancement rapide enabled/disabled de l'image. Booléen Oui si cela fastLaunchConfigurations est spécifié
fastLaunchConfigurations: Configuration des instantanés EC2 Lancement rapide enabled/disabled de l'image. Map Non
fastLaunchConfigurations:Configuration de la capture instantanée : targetResourceCount EC2 Nombre de ressources cibles de Fast Launch pour l'image. Entier Non
fastLaunchConfigurations:maxParallelLaunches EC2 Fast Launch : nombre maximal de lancements parallèles pour l'image. Entier Non
fastLaunchConfigurations: Modèle de lancement Non
fastLaunchConfigurations:Modèle de lancement : launchTemplateId EC2 ID du modèle de lancement Fast Launch pour l'image. Chaîne Non
fastLaunchConfigurations:Modèle de lancement : launchTemplateName EC2 Nom du modèle de lancement Fast Launch pour l'image. Chaîne Non
fastLaunchConfigurations:Modèle de lancement : launchTemplateVersion EC2 Version du modèle de lancement rapide pour l'image. Chaîne Non
ssmParameterConfigurations Configuration du paramètre SSM pour l'image. Map Non
ssmParameterConfigurations:amiAccountId ID du compte AMI du paramètre SSM pour l'image. Chaîne Non
ssmParameterConfigurations:Nom du paramètre Nom du paramètre SSM de l'image. Chaîne Oui si cela ssmParameterConfigurations est spécifié
ssmParameterConfigurations: Type de données Type de données du paramètre SSM pour l'image. Chaîne Non Valeurs autorisées - text|aws:ec2:image)

Sorties : Le tableau suivant inclut les sorties pour cette action d'étape.

Nom de sortie Description Type
Images configurées Liste des images configurées. Tableau
Images configurées : ID du compte ID du compte de destination de l'image distribuée. Chaîne
Images configurées : nom Le nom de l'AMI. Chaîne
Images configurées : AMIid ID AMI de l'image distribuée. Chaîne
Images configurées : date de début Heure UTC du début de la distribution. Chaîne
Images configurées : date d'arrêt Heure UTC lorsque la distribution est terminée. Chaîne
Images configurées : étape Étape à laquelle la distribution s'est arrêtée. Terminé| | AssociateLicensesRunning | | UpdateLaunchTemplateRunning | PutSsmParametersRunning | UpdateFastLaunchConfiguration ExportAmiQueued ExportAmiRunning
Images configurées : région Ton AWS de l'image distribuée Chaîne
Images configurées : état État de la distribution. Terminé|Échoué|Annulé| TimedOut
Images configurées : message d'erreur Message d'erreur, le cas échéant. Chaîne

Exemple

Spécifiez l'action de l'étape dans le document de flux de travail.

- name: ApplyImageConfigurations action: ApplyImageConfigurations onFailure: Abort inputs: distributedImages.$: $.stepOutputs.DistributeImageStep.distributedImages

Utilisez le résultat de la valeur de l'action de l'étape dans le document de flux de travail.

$.stepOutputs.ApplyImageConfigurationsStep.configuredImages

BootstrapInstanceForContainer

Cette action d'étape exécute un script de service pour démarrer l'instance avec les exigences minimales requises pour exécuter des flux de travail de conteneurs. Image Builder utilise sendCommand l'API de Systems Manager pour exécuter ce script. Pour plus d'informations, consultez la section AWS Systems Manager Exécuter la commande.

Note

Le script bootstrap installe les packages Docker AWS CLI et Docker qui sont indispensables pour qu'Image Builder puisse créer des conteneurs Docker avec succès. Si vous n'incluez pas cette action, la création de l'image risque d'échouer.

Délai d'expiration par défaut : 60 minutes

Annulation : il n'y a aucune annulation pour cette action d'étape.

Entrées : Le tableau suivant inclut les entrées prises en charge pour cette action d'étape.

Nom d'entrée Description Type Obligatoire Par défaut Constaintes
instanceId L'ID de l'instance à démarrer. Chaîne Oui Il doit s'agir de l'ID d'instance de sortie de l'étape de flux de travail qui a lancé l'instance pour ce flux de travail.

Sorties : Le tableau suivant inclut les sorties pour cette action d'étape.

Nom de sortie Description Type
runCommandId ID du Systems Manager sendCommand qui a exécuté le script bootstrap sur l'instance. Chaîne
status État renvoyé par le Systems ManagersendCommand. Chaîne
output Sortie renvoyée par le Systems ManagersendCommand. Chaîne

Exemple

Spécifiez l'action de l'étape dans le document de flux de travail.

- name: ContainerBootstrapStep action: BootstrapInstanceForContainer onFailure: Abort inputs: instanceId.$: $.stepOutputs.LaunchStep.instanceId

Utilisez le résultat de la valeur de l'action de l'étape dans le document de flux de travail.

$.stepOutputs.ContainerBootstrapStep.status

CollectImageMetadata

Cette action d'étape n'est valide que pour les flux de travail de génération.

EC2 Image Builder exécute l'agent AWS Systems Manager (Systems Manager) sur les EC2 instances qu'il lance pour créer et tester votre image. Image Builder collecte des informations supplémentaires sur l'instance utilisée pendant la phase de construction avec Systems Manager Inventory. Ces informations incluent le nom et la version du système d'exploitation (OS), ainsi que la liste des packages et de leurs versions respectives tels qu'indiqués par votre système d'exploitation.

Note

Cette action de cette étape ne fonctionne que pour les images créées AMIs.

Délai d'expiration par défaut : 30 minutes

Annulation : Image Builder annule toutes les ressources Systems Manager créées au cours de cette étape.

Entrées : Le tableau suivant inclut les entrées prises en charge pour cette action d'étape.

Nom d'entrée Description Type Obligatoire Par défaut Constaintes
instanceId L'instance de build à laquelle appliquer les paramètres de métadonnées. Chaîne Oui Il doit s'agir de l'ID d'instance de sortie de l'étape de flux de travail qui a lancé l'instance de génération pour ce flux de travail.

Sorties : Le tableau suivant inclut les sorties pour cette action d'étape.

Nom de sortie Description Type
osVersion Le nom et la version du système d'exploitation collectés à partir de l'instance de build. Chaîne
Identifiant de l'association L'ID d'association Systems Manager utilisé pour la collecte de l'inventaire. Chaîne

Exemple

Spécifiez l'action de l'étape dans le document de flux de travail.

- name: CollectMetadataStep action: CollectImageMetadata onFailure: Abort inputs: instanceId: $.stepOutputs.LaunchStep.instanceId

Utilisez le résultat de l'action de l'étape dans le document de flux de travail.

$.stepOutputs.CollectMetadataStep.osVersion

CollectImageScanFindings

Si Amazon Inspector est activé pour votre compte et que la numérisation d'images est activée pour votre pipeline, cette étape collecte les résultats de numérisation d'images signalés par Amazon Inspector pour votre instance de test. Cette action d'étape n'est pas disponible pour les flux de travail de génération.

Délai d'expiration par défaut : 120 minutes

Annulation : il n'y a aucune annulation pour cette action d'étape.

Entrées : Le tableau suivant inclut les entrées prises en charge pour cette action d'étape.

Nom d'entrée Description Type Obligatoire Par défaut Constaintes
instanceId ID de l'instance sur laquelle le scan a été exécuté. Chaîne Oui Il doit s'agir de l'ID d'instance de sortie de l'étape de flux de travail qui a lancé l'instance pour ce flux de travail.

Sorties : Le tableau suivant inclut les sorties pour cette action d'étape.

Nom de sortie Description Type
runCommandId ID du Systems Manager sendCommand qui a exécuté le script pour collecter les résultats. Chaîne
status État renvoyé par le Systems ManagersendCommand. Chaîne
output Sortie renvoyée par le Systems ManagersendCommand. Chaîne

Exemple

Spécifiez l'action de l'étape dans le document de flux de travail.

- name: CollectFindingsStep action: CollectImageScanFindings onFailure: Abort inputs: instanceId.$: $.stepOutputs.LaunchStep.instanceId

Utilisez le résultat de la valeur de l'action de l'étape dans le document de flux de travail.

$.stepOutputs.CollectFindingsStep.status

CreateImage

Cette étape crée une image à partir d'une instance en cours d'exécution avec l' EC2 CreateImageAPI Amazon. Pendant le processus de création, l'action de l'étape attend autant que nécessaire pour vérifier que les ressources ont atteint le bon état avant de continuer.

Délai d'expiration par défaut : 720 minutes

Annulation : il n'y a aucune annulation pour cette action d'étape.

Entrées : Le tableau suivant inclut les entrées prises en charge pour cette action d'étape.

Nom d'entrée Description Type Obligatoire Par défaut Constaintes
instanceId L'instance à partir de laquelle créer la nouvelle image. Chaîne Oui L'instance correspondant à l'ID d'instance fourni doit être dans un running état au début de cette étape.

Sorties : Le tableau suivant inclut les sorties pour cette action d'étape.

Nom de sortie Description Type
imageId L'ID AMI de l'image créée. Chaîne

Exemple

Spécifiez l'action de l'étape dans le document de flux de travail.

- name: CreateImageFromInstance action: CreateImage onFailure: Abort inputs: instanceId.$: "i-1234567890abcdef0"

Utilisez le résultat de la valeur de l'action de l'étape dans le document de flux de travail.

$.stepOutputs.CreateImageFromInstance.imageId

DistributeImage

Cette étape permet de distribuer une AMI à des régions et à des comptes spécifiques. Il crée des copies de l'AMI dans les régions et les comptes cibles en fonction de la configuration de distribution fournie dans les demandes CreateImage CreateImagePipeline APIs ou des paramètres de distribution personnalisés fournis dans le flux de travail pour remplacer les paramètres de la configuration de distribution.

Délai d'expiration par défaut : 360 minutes

Durée maximale : 720 minutes

Annulation : il n'y a aucune annulation pour cette action d'étape.

Entrées : Le tableau suivant inclut les entrées prises en charge pour cette action d'étape.

Nom d'entrée Description Type Obligatoire Par défaut Constaintes
region Liste des régions dans lesquelles distribuer l'image. Chaîne Oui Longueur minimale de 1. Longueur maximale de 1024.
nom Nom de la configuration de distribution. Chaîne Non
description Les distributions de la configuration de distribution. Chaîne Non
targetAccountIds Compte IDs sur lequel distribuer l'image. Tableau Non
Balises AMI Les balises de la configuration de distribution. Map Non
kmsKeyId Clés KMS à appliquer à l'image distribuée. Chaîne Non

Sorties : Le tableau suivant inclut les sorties pour cette action d'étape.

Nom de sortie Description Type
Images distribuées Une liste d'images distribuées Tableau
Images distribuées : région AWS Région de l'image distribuée. Chaîne
Images distribuées : nom Le nom de l'AMI. Chaîne
Images distribuées : Amiid ID AMI de l'image distribuée. Chaîne
Images distribuées : ID du compte ID du compte de destination de l'image distribuée. Chaîne
Images distribuées : date de début Heure UTC du début de la distribution. Chaîne
Images distribuées : date d'arrêt Heure UTC lorsque la distribution est terminée. Chaîne
Images distribuées : statut État de la distribution. Terminé|Échoué|Annulé| TimedOut
Images distribuées : étape Étape à laquelle la distribution s'est arrêtée. Terminé| CopyAmiRunning
Images distribuées : message d'erreur Message d'erreur, le cas échéant. Chaîne

Exemple

Spécifiez l'action de l'étape dans le document de flux de travail.

- name: DistributeImage action: DistributeImage onFailure: Abort inputs: distributions: - region.$: "$.parameters.SourceRegion" description: "AMI distribution to source region" amiTags: DistributionTest: "SourceRegion" WorkflowStep: "DistributeToSourceRegion" BuildDate: "{{imagebuilder:buildDate:yyyyMMHHss}}" BuildVersion: "{{imagebuilder:buildVersion}}"

Utilisez le résultat de la valeur de l'action de l'étape dans le document de flux de travail.

$.stepOutputs.DistributeImageStep.distributedImages

ExecuteComponents

Cette étape exécute les composants spécifiés dans la recette de l'image en cours de création. Les flux de travail de génération exécutent les composants de génération sur l'instance de génération. Les flux de travail de test exécutent uniquement les composants de test sur l'instance de test.

Image Builder utilise sendCommand l'API de Systems Manager pour exécuter les composants. Pour plus d'informations, consultez la section AWS Systems Manager Exécuter la commande.

Délai d'expiration par défaut : 720 minutes

Annulation : il n'y a aucune annulation pour cette action d'étape.

Entrées : Le tableau suivant inclut les entrées prises en charge pour cette action d'étape.

Nom d'entrée Description Type Obligatoire Par défaut Constaintes
instanceId L'ID de l'instance sur laquelle les composants doivent s'exécuter. Chaîne Oui Il doit s'agir de l'ID d'instance de sortie de l'étape de flux de travail qui a lancé l'instance pour ce flux de travail.

Sorties : Le tableau suivant inclut les sorties pour cette action d'étape.

Nom de sortie Description Type
runCommandId ID du Systems Manager sendCommand qui a exécuté les composants sur l'instance. Chaîne
status État renvoyé par le Systems ManagersendCommand. Chaîne
output Sortie renvoyée par le Systems ManagersendCommand. Chaîne

Exemple

Spécifiez l'action de l'étape dans le document de flux de travail.

- name: ExecComponentsStep action: ExecuteComponents onFailure: Abort inputs: instanceId: $.stepOutputs.LaunchStep.instanceId

Utilisez le résultat de l'action de l'étape dans le document de flux de travail.

$.stepOutputs.ExecComponentsStep.status

ExecuteStateMachine

Cette étape lance l'exécution d'une machine à AWS Step Functions états à partir d'un flux de travail Image Builder. Image Builder utilise l'StartExecutionAPI Step Functions pour lancer la machine à états et attend qu'elle soit terminée. Cela est utile pour intégrer des flux de travail complexes, des processus de validation de conformité ou de certification dans votre pipeline de création d'images.

Pour plus d'informations, consultez la section « En savoir plus sur les machines à états » dans Step Functions du manuel du AWS Step Functions développeur.

Délai d'expiration par défaut : 6 heures

Délai d'attente maximal : 24 heures

Annulation : il n'y a aucune annulation pour cette action d'étape.

Entrées : Le tableau suivant inclut les entrées prises en charge pour cette action d'étape.

Nom d'entrée Description Type Obligatoire Par défaut Constaintes
stateMachineArn L'ARN de la machine d'état Step Functions à exécuter. Chaîne Oui Il doit s'agir d'un ARN de machine à états valide.
input Données d'entrée JSON à fournir à la machine d'état. Chaîne Non {} Doit être une chaîne JSON valide, longueur maximale : 16 KiB.

Sorties : Le tableau suivant inclut les sorties pour cette action d'étape.

Nom de sortie Description Type
executionArn L'ARN de l'exécution de la machine à états. Chaîne

Autorisations IAM requises

Votre rôle d'exécution personnalisé doit disposer des autorisations suivantes pour utiliser cette action d'étape :

Autoriser les actions
  • states:StartExecution

  • states:DescribeExecution

Spécifier les ressources
  • arn:aws:states:us-west-2:111122223333:stateMachine:state-machine-name

  • arn:aws:states:us-west-2:111122223333:execution:state-machine-name:*

Exemple

Spécifiez l'action de l'étape dans le document de flux de travail.

- name: ValidateImageCompliance action: ExecuteStateMachine timeoutSeconds: 3600 onFailure: Abort inputs: stateMachineArn: arn:aws:states:us-west-2:111122223333:stateMachine:ImageComplianceValidation input: | { "imageId": "{{ $.stepOutputs.CreateImageFromInstance.imageId }}", "region": "us-west-2", "complianceLevel": "high", "requiredScans": ["cve", "benchmark", "configuration"] }

Utilisez le résultat de la valeur de l'action de l'étape dans le document de flux de travail.

$.stepOutputs.ValidateImageCompliance.executionArn

LaunchInstance

Cette action lance une instance dans votre instance Compte AWS et attend que l'agent Systems Manager soit exécuté sur l'instance avant de passer à l'étape suivante. L'action de lancement utilise les paramètres de votre recette et les ressources de configuration de l'infrastructure associées à votre image. Par exemple, le type d'instance à lancer provient de la configuration de l'infrastructure. Le résultat est l'ID d'instance de l'instance qu'il a lancée.

L'waitForentrée configure la condition qui satisfait à l'exigence d'achèvement de l'étape.

Délai d'expiration par défaut : 60 minutes

Annulation : pour les instances de build, la restauration exécute l'action que vous avez configurée dans votre ressource de configuration d'infrastructure. Par défaut, les instances de build sont arrêtées en cas d'échec de la création de l'image. Cependant, la configuration de l'infrastructure comporte un paramètre permettant de conserver l'instance de build à des fins de dépannage.

Entrées : Le tableau suivant inclut les entrées prises en charge pour cette action d'étape.

Nom d'entrée Description Type Obligatoire Par défaut Constaintes
imageIdOverride L'image à utiliser pour lancer l'instance Chaîne Non

Étape de construction : image de base de la recette

Étape de test : sortie de l'AMI depuis la phase de construction

Il doit s'agir d'un ID AMI valide
instanceTypesOverride Image Builder essaie chaque type d'instance de la liste jusqu'à ce qu'il en trouve un qui se lance correctement Liste d'éléments String Non Types d'instances spécifiés dans la configuration de votre infrastructure Il doit s'agir de types d'instance valides
Attendre La condition à attendre avant de terminer l'étape du flux de travail et de passer à l'étape suivante Chaîne Oui Image Builder prend en chargessmAgent.

Sorties : Le tableau suivant inclut les sorties pour cette action d'étape.

Nom de sortie Description Type
instanceId ID d'instance de l'instance qui a été lancée. Chaîne

Exemple

Spécifiez l'action de l'étape dans le document de flux de travail.

- name: LaunchStep action: LaunchInstance onFailure: Abort inputs: waitFor: ssmAgent

Utilisez le résultat de l'action de l'étape dans le document de flux de travail.

$.stepOutputs.LaunchStep.instanceId

ModifyImageAttributes

Cette action d'étape modifie les attributs de distributed AMIs, tels que les autorisations de lancement et les autres attributs de l'AMI. Il fonctionne sur la AMIs base de ceux qui ont été distribués aux régions et aux comptes cibles.

Délai d'expiration par défaut : 120 minutes

Durée maximale : 180 minutes

Annulation : il n'y a aucune annulation pour cette action d'étape.

Entrées : Le tableau suivant inclut les entrées prises en charge pour cette action d'étape.

Nom d'entrée Description Type Obligatoire Par défaut Constaintes
region Région de l'image. Chaîne Oui
Autorisation de lancement Non
Autorisation de lancement : identifiants utilisateur L'utilisateur IDs à modifier dans les autorisations de lancement de l'image. Chaîne Non
Autorisation de lancement : groupes d'utilisateurs Les groupes d'utilisateurs à modifier dans les autorisations de lancement de l'image. Chaîne Non
Autorisation de lancement : OrganizationArns AWS Organisation ARNs à modifier dans les autorisations de lancement de l'image. Chaîne Non
Autorisation de lancement : organizationalUnitArns Unité AWS organisationnelle ARNs à modifier dans les autorisations de lancement de l'image. Chaîne Non

Sorties : Le tableau suivant inclut les sorties pour cette action d'étape.

Nom de sortie Description Type
Images modifiées Une liste d'images modifiées Tableau
Images modifiées : ID du compte ID du compte de destination de l'image distribuée. Chaîne
Images modifiées : nom Le nom de l'AMI. Chaîne
Images modifiées : Amiid ID AMI de l'image distribuée. Chaîne
Images modifiées : date de début Heure UTC du début de la distribution. Chaîne
Images modifiées : date d'arrêt Heure UTC lorsque la distribution est terminée. Chaîne
Images modifiées : étape Étape à laquelle la distribution s'est arrêtée. Terminé| ModifyAmiRunning
Images modifiées : région La AWS région de l'image. Chaîne
Images modifiées : statut État de la distribution. Terminé|Échoué|Annulé| TimedOut
Images modifiées : message d'erreur Message d'erreur, le cas échéant. Chaîne

Exemple

Spécifiez l'action de l'étape dans le document de flux de travail.

- name: ModifyImageAttributes action: ModifyImageAttributes onFailure: Abort inputs: distributedImages.$: $.stepOutputs.DistributeImageStep.distributedImages

Utilisez le résultat de la valeur de l'action de l'étape dans le document de flux de travail.

$.stepOutputs.ModifyImageAttributesStep.modifiedImages

RegisterImage

Cette étape permet d'enregistrer une nouvelle Amazon Machine Image (AMI) à l'aide de l' EC2 RegisterImage API Amazon. Il vous permet de créer une AMI à partir d'un instantané existant ou d'un ensemble d'instantanés, en spécifiant différents attributs d'image.

Délai d'expiration par défaut : 720 minutes

Annulation : il n'y a aucune annulation pour cette action d'étape.

Entrées : Le tableau suivant inclut les entrées prises en charge pour cette action d'étape.

Nom d'entrée Description Type Obligatoire Par défaut Constaintes
application L'architecture de l'AMI. Chaîne Non Valeurs valides : i386, x86_64, arm64, x86_64_mac, arm64_mac
blockDeviceMapping Bloquer les entrées de mappage des périphériques pour l'AMI. Tableau Non
Mode de démarrage Mode de démarrage de l'AMI. Chaîne Non Valeurs valides : legacy-bios, uefi, uefi-preferred
description Description de l'AMI. Chaîne Non
enaSupport Si la mise en réseau améliorée avec ENA est activée. Booléen Non
Emplacement de l'image Emplacement du manifeste de l'AMI. Chaîne Non Nécessaire pour les versions basées sur S3 AMIs
Assistance IMDS Le niveau de IMDSv2 support. Chaîne Non Valeurs valides : v2.0
includeSnapshotTags S'il faut inclure les balises du premier instantané défini dans le mappage des périphériques en mode bloc. Booléen Non FALSE

Lorsque ce paramètre est défini sur true, les balises sont incluses comme suit :

  • Les balises SnapshotId du premier volume EBS de la blockDeviceMapping liste contenant un SnapshotId sont fusionnées avec les balises d'enregistrement AMI.

  • Les balises d'enregistrement AMI ont priorité sur les balises de capture d'écran avec la même clé.

  • AWS les balises réservées (celles dont les touches commencent paraws:) sont automatiquement exclues.

  • Si plusieurs volumes EBS avec SnapshotId sont définis, seules les balises du premier volume EBS de la liste contenant un SnapshotId sont incluses.

Identifiant du noyau L'ID du noyau à utiliser. Chaîne Non
RamdisKid ID du disque RAM à utiliser. Chaîne Non
rootDeviceName Le nom du périphérique racine. Chaîne Non Exemple : /dev/sda1
sriovNetSupport Mise en réseau améliorée avec l'interface Intel 82599 VF. Chaîne Non
Assistance TPM Support des versions TPM. Chaîne Non Valeurs valides : v2.0
Données UEFI Données UEFI codées en Base64. Chaîne Non
Type de virtualisation Type de virtualisation. Chaîne Non Valeurs valides : hvm, paravirtual

Sorties : Le tableau suivant inclut les sorties pour cette action d'étape.

Nom de sortie Description Type
imageId L'ID AMI de l'image enregistrée. Chaîne

Exemple

Spécifiez l'action de l'étape dans le document de flux de travail.

- name: RegisterNewImage action: RegisterImage onFailure: Abort inputs: architecture: "x86_64" bootMode: "uefi" blockDeviceMapping: - DeviceName: "/dev/sda1" Ebs: SnapshotId: "snap-1234567890abcdef0" VolumeSize: 100 VolumeType: "gp3" rootDeviceName: "/dev/sda1" virtualizationType: "hvm"

Utilisez le résultat de la valeur de l'action de l'étape dans le document de flux de travail.

$.stepOutputs.RegisterNewImage.imageId

Exemple avec un SnapshotId extrait d'une autre étape et des balises de capture d'écran incluses dans l'AMI générée

- name: CreateSnapshot action: RunCommand onFailure: Abort inputs: instanceId: "i-1234567890abcdef0" documentName: "AWS-RunShellScript" parameters: commands: - "aws ec2 create-snapshot --volume-id vol-1234567890abcdef0 --description 'Snapshot for AMI' --query 'SnapshotId' --output text" - name: RegisterImageFromSnapshot action: RegisterImage onFailure: Abort inputs: architecture: "x86_64" bootMode: "uefi" blockDeviceMapping: - DeviceName: "/dev/sda1" Ebs: SnapshotId.$: "$.stepOutputs.CreateSnapshot.output[0]" VolumeSize: 100 VolumeType: "gp3" includeSnapshotTags: true rootDeviceName: "/dev/sda1" virtualizationType: "hvm"

RunCommand

Cette étape exécute un document de commande pour votre flux de travail. Image Builder utilise sendCommand l'API de Systems Manager pour l'exécuter pour vous. Pour plus d'informations, consultez la section AWS Systems Manager Exécuter la commande.

Délai d'expiration par défaut : 12 heures

Annulation : il n'y a aucune annulation pour cette action d'étape.

Entrées : Le tableau suivant inclut les entrées prises en charge pour cette action d'étape.

Nom d'entrée Description Type Obligatoire Par défaut Constaintes
instanceId ID de l'instance sur laquelle exécuter le document de commande. Chaîne Oui Il doit s'agir de l'ID d'instance de sortie de l'étape de flux de travail qui a lancé l'instance pour ce flux de travail.
documentName Nom du document de commande Systems Manager à exécuter. Chaîne Oui
parameters Une liste de paires clé-valeur pour tous les paramètres requis par le document de commande. <string>dictionnaire<chaîne, liste > Conditionnel
Version du document Version du document de commande à exécuter. Chaîne Non $DEFAULT

Sorties : Le tableau suivant inclut les sorties pour cette action d'étape.

Nom de sortie Description Type
runCommandId ID du Systems Manager sendCommand qui a exécuté le document de commande sur l'instance. Chaîne
status État renvoyé par le Systems ManagersendCommand. Chaîne
output Sortie renvoyée par le Systems ManagersendCommand. Liste de chaînes

Exemple

Spécifiez l'action de l'étape dans le document de flux de travail.

- name: RunCommandDoc action: RunCommand onFailure: Abort inputs: documentName: SampleDocument parameters: osPlatform: - "linux" instanceId.$: $.stepOutputs.LaunchStep.instanceId

Utilisez le résultat de la valeur de l'action de l'étape dans le document de flux de travail.

$.stepOutputs.RunCommandDoc.status

RunSysPrep

Cette action utilise l'API sendCommand in the Systems Manager pour exécuter le AWSEC2-RunSysprep document pour les instances Windows avant que l'instance de build ne s'arrête pour le snapshot. Ces actions suivent les AWS meilleures pratiques en matière de renforcement et de nettoyage de l'image.

Délai d'expiration par défaut : 60 minutes

Annulation : il n'y a aucune annulation pour cette action d'étape.

Entrées : Le tableau suivant inclut les entrées prises en charge pour cette action d'étape.

Nom d'entrée Description Type Obligatoire Par défaut Constaintes
instanceId ID de l'instance sur laquelle exécuter le AWSEC2-RunSysprep document. Chaîne Oui Il doit s'agir de l'ID d'instance de sortie de l'étape de flux de travail qui a lancé l'instance pour ce flux de travail.

Sorties : Le tableau suivant inclut les sorties pour cette action d'étape.

Nom de sortie Description Type
runCommandId ID du Systems Manager sendCommand qui a exécuté le AWSEC2-RunSysprep document sur l'instance. Chaîne
status État renvoyé par le Systems ManagersendCommand. Chaîne
output Sortie renvoyée par le Systems ManagersendCommand. Chaîne

Exemple

Spécifiez l'action de l'étape dans le document de flux de travail.

- name: RunSysprep action: RunSysPrep onFailure: Abort inputs: instanceId.$: $.stepOutputs.LaunchStep.instanceId

Utilisez le résultat de la valeur de l'action de l'étape dans le document de flux de travail.

$.stepOutputs.RunSysprep.status

SanitizeInstance

Cette étape exécute le script de nettoyage recommandé pour les instances Linux avant que l'instance de build ne s'arrête pour le snapshot. Le script de désinfection permet de garantir que l'image finale respecte les meilleures pratiques de sécurité et que les artefacts ou paramètres de build qui ne devraient pas être répercutés sur votre instantané sont supprimés. Pour plus d'informations sur le script, consultezNettoyage requis après la construction. Cette action de cette étape ne s'applique pas aux images du conteneur.

Image Builder utilise sendCommand l'API de Systems Manager pour exécuter ce script. Pour plus d'informations, consultez la section AWS Systems Manager Exécuter la commande.

Délai d'expiration par défaut : 60 minutes

Annulation : il n'y a aucune annulation pour cette action d'étape.

Entrées : Le tableau suivant inclut les entrées prises en charge pour cette action d'étape.

Nom d'entrée Description Type Obligatoire Par défaut Constaintes
instanceId ID de l'instance à désinfecter. Chaîne Oui Il doit s'agir de l'ID d'instance de sortie de l'étape de flux de travail qui a lancé l'instance pour ce flux de travail.

Sorties : Le tableau suivant inclut les sorties pour cette action d'étape.

Nom de sortie Description Type
runCommandId ID du Systems Manager sendCommand qui a exécuté le script de nettoyage sur l'instance. Chaîne
status État renvoyé par le Systems ManagersendCommand. Chaîne
output Sortie renvoyée par le Systems ManagersendCommand. Chaîne

Exemple

Spécifiez l'action de l'étape dans le document de flux de travail.

- name: SanitizeStep action: SanitizeInstance onFailure: Abort inputs: instanceId: $.stepOutputs.LaunchStep.instanceId

Utilisez le résultat de la valeur de l'action de l'étape dans le document de flux de travail.

$.stepOutputs.SanitizeStep.status

TerminateInstance

Cette étape met fin à l'instance avec l'identifiant d'instance transmis en entrée.

Délai d'expiration par défaut : 30 minutes

Annulation : il n'y a aucune annulation pour cette action d'étape.

Entrées : Le tableau suivant inclut les entrées prises en charge pour cette action d'étape.

Nom d'entrée Description Type Obligatoire Par défaut Constaintes
instanceId L'ID de l'instance à terminer. Chaîne Oui

Sorties : Il n'y a aucune sortie pour cette action d'étape.

Exemple

Spécifiez l'action de l'étape dans le document de flux de travail.

- name: TerminateInstance action: TerminateInstance onFailure: Continue inputs: instanceId.$: i-1234567890abcdef0

WaitForAction

Cette étape interrompt le flux de travail en cours d'exécution et attend de recevoir une action externe de la part de l'action d'SendWorkflowStepActionAPI Image Builder. Cette étape publie un EventBridge événement sur votre bus d' EventBridge événements par défaut avec un type de détailEC2 Image Builder Workflow Step Waiting. L'étape peut également envoyer une notification SNS si vous fournissez un ARN de rubrique SNS, ou invoquer une fonction Lambda de manière asynchrone si vous fournissez un nom de fonction Lambda.

Délai d'expiration par défaut : 3 jours

Annulation : il n'y a aucune annulation pour cette action d'étape.

Entrées : Le tableau suivant inclut les entrées prises en charge pour cette action d'étape.

Nom d'entrée Description Type Obligatoire Par défaut Constaintes
snsTopicArn Un ARN de rubrique SNS facultatif auquel envoyer une notification lorsque l'étape du flux de travail est en attente. Chaîne Non
lambdaFunctionName Nom ou ARN facultatif de la fonction Lambda à invoquer de manière asynchrone lorsque l'étape du flux de travail est en attente. Chaîne Non
payload Chaîne JSON utilisée comme message pour SNS et charge utile pour Lambda. Si elle est fournie, une charge utile personnalisée est encapsulée par défautmessage/payload, used for SNS and Lambda respectively. If not provided, generates default message/payload. Chaîne Non Doit être une chaîne JSON valide, 16 KIB au maximum

Sorties : Le tableau suivant inclut les sorties pour cette action d'étape.

Nom de sortie Description Type
action Action renvoyée par l'action d'SendWorkflowStepActionAPI. Chaîne (RESUMEouSTOP)
raison Motif de l'action renvoyée. Chaîne

Exemple

Spécifiez l'action de l'étape dans le document de flux de travail avec notification SNS.

- name: SendEventAndWait action: WaitForAction onFailure: Abort inputs: snsTopicArn: arn:aws:sns:us-west-2:111122223333:ExampleTopic

Spécifiez l'action de l'étape dans le document de flux de travail avec l'invocation de la fonction Lambda.

- name: SendEventAndWaitWithLambda action: WaitForAction onFailure: Abort inputs: lambdaFunctionName: ExampleFunction payload: | { "imageId": "{{ $.stepOutputs.CreateImageFromInstance.imageId }}", "region": "us-west-2" }

Utilisez le résultat de la valeur de l'action de l'étape dans le document de flux de travail.

$.stepOutputs.SendEventAndWait.reason

WaitForSSMAgent

Cette action d'étape attend qu'une EC2 instance devienne gérable AWS Systems Manager après les périodes attendues d'absence de réponse. Cela est particulièrement utile pour les flux de travail présentant des interruptions d'instance connues, tels que les redémarrages du système, les mises à niveau du système d'exploitation ou les opérations spécifiques à la plate-forme qui déconnectent temporairement l'instance de SSM. Image Builder surveille l'instance jusqu'à ce qu'elle retrouve sa connectivité SSM ou qu'elle expire.

Délai d'expiration par défaut : 60 minutes

Durée maximale : 180 minutes

Annulation : il n'y a aucune annulation pour cette action d'étape.

Entrées : Le tableau suivant inclut les entrées prises en charge pour cette action d'étape.

Nom d'entrée Description Type Obligatoire Par défaut Constaintes
instanceId ID de l'instance à surveiller pour la connectivité SSM. Chaîne Oui Il doit s'agir d'un ID d' EC2 instance valide

Sorties : Le tableau suivant inclut les sorties pour cette action d'étape.

Nom de sortie Description Type
Status État de connexion de l'agent SSM. Chaîne

Exemple

Spécifiez l'action de l'étape dans le document de flux de travail.

- name: WaitForInstanceAfterReboot action: WaitForSSMAgent onFailure: Abort timeoutInSeconds: 900 # 15 minutes inputs: instanceId.$: $.stepOutputs.LaunchStep.instanceId

Utilisez le résultat de la valeur de l'action de l'étape dans le document de flux de travail.

$.stepOutputs.WaitForInstanceAfterReboot.Status