View a markdown version of this page

Actions par é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 par étapes prises en charge pour votre document de flux de travail

Cette section détaille les actions par étapes prises en charge par Image Builder.

Termes utilisés dans cette section
AMI

Amazon Machine Image

ARN

Amazon Resource Name

Le tableau suivant indique quelles étapes du flux de travail prennent en charge chaque action d'étape. Une coche (X) indique que vous pouvez utiliser l'action de l'étape à cette étape. Image Builder limite certaines actions à des étapes spécifiques : ExecuteComponents aux étapes de création et de test, CollectImageScanFindings à la phase de test DistributeImage ModifyImageAttributesApplyImageConfigurations, et DistributeContainerImage à la phase de distribution. Vous pouvez utiliser toutes les autres actions à n'importe quel stade.

Action par étapes Génération test Distribution Remarques
LaunchInstance X X X Lance une instance Amazon EC2.
BootstrapInstanceForContainer X X X Installe Docker et les versions AWS CLI de conteneurs pour.
ExecuteComponents X X Exécute les composants sur l'instance. Limité aux étapes de construction et de test.
CollectImageMetadata X X X AMI construit uniquement.
RunSysPrep X X X Windows se construit.
SanitizeInstance X X X Les versions de l'AMI Linux ne sont pas destinées aux conteneurs.
CreateImage X X X Crée une AMI à partir de l'instance de génération.
CreateImageFromIso X X X Crée une AMI à partir d'une image disque ISO.
RegisterImage X X X Enregistre une AMI à partir de captures instantanées.
DistributeContainerImage X Distribue une image de conteneur. Limité à la phase de distribution.
CollectImageScanFindings X Collecte les résultats de la numérisation d'images. Limité à la phase de test. Nécessite Amazon Inspector et la numérisation d'images.
RunCommand X X X Exécute un document de commande AWS Systems Manager (Systems Manager).
WaitForSSMAgent X X X Attend la connectivité de Systems Manager après un redémarrage.
WaitForAction X X X Des pauses pour une action extérieure.
ExecuteStateMachine X X X Exécute une machine d'état Step Functions.
TerminateInstance X X X Met fin à une instance. Par exemple, un flux de travail de distribution de conteneurs met fin à l'instance de génération après avoir envoyé l'image.
DistributeImage X Copie une AMI dans les régions et les comptes. Limité à la phase de distribution.
ModifyImageAttributes X Modifie les autorisations de lancement de l'AMI. Limité à la phase de distribution.
ApplyImageConfigurations X Applique les modèles de lancement, les licences, les exportations, le lancement rapide et les paramètres de Systems Manager. Limité à la phase de distribution.
Important

Un seul flux de travail distribue des AMI ou des images de conteneurs, et non les deux. Si un flux de travail inclutDistributeContainerImage, il ne peut pas également inclure DistributeImageModifyImageAttributes, ouApplyImageConfigurations. Ces actions de distribution d'AMI fonctionnent sur les AMI Amazon EC2, tout en DistributeContainerImage agissant sur les images de conteneurs dans Amazon Elastic Container Registry (Amazon ECR).

ApplyImageConfigurations

Utilisez cette étape pour appliquer diverses configurations et intégrations aux AMI distribuées, telles que les configurations de licence, les configurations de modèles de lancement, les configurations d'exportation S3, les configurations de lancement rapide EC2 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.

Note

La configurations saisie est facultative. Si vous le fournissez, Image Builder utilise les entrées de votre flux de travail et ignore la configuration de distribution jointe. Si vous l'omettez, Image Builder revient à la configuration de distribution associée au pipeline ou à l'image.

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

Délai maximum : 720 minutes (12 heures)

Vous pouvez remplacer la valeur par défaut partimeoutSeconds, jusqu'à la valeur maximale affichée. Une valeur supérieure à la valeur maximale échoue à la validation.

Annulation : aucune annulation n'est possible pour cette action d'étape.

Entrées : le tableau suivant répertorie les entrées prises en charge pour cette action d'étape. La distributedImages.$ saisie est obligatoire. Les lignes restantes décrivent les champs de chaque élément du configurations tableau.

Nom de l'entrée Description Type Obligatoire Par défaut Contraintes
Images distribuées. $ La liste des images distribuées à configurer. Référencez le distributedImages résultat d'une DistributeImage étape du même flux de travail. Chaîne Oui Une référence JSONPath qui commence par $.stepOutputs.
configurations Les configurations à appliquer aux AMI distribuées, sous forme de liste. Chaque objet cible une AWS région. Tableau Non
configurations : région AWS Région de l'AMI distribuée à configurer. Chaîne Oui Obligatoire pour chaque article deconfigurations.
configurations : licence ConfigurationArns L'ARN de configuration de licence pour l'image. Tableau Non
configurations : lancement TemplateConfigurations Les configurations du modèle de lancement à appliquer aux AMI distribuées. Tableau Non
configurations : lancement TemplateConfigurations:launchTemplateId L'ID du modèle de lancement à appliquer à l'image. Chaîne Oui si cela launchTemplateConfigurations est spécifié
configurations : lancement TemplateConfigurations:accountId Les identifiants de compte du modèle de lancement à appliquer à l'image. Chaîne Non
configurations : lancement TemplateConfigurations:setDefaultVersion Paramètre de version par défaut du modèle de lancement pour l'image. Booléen Non
configurations : s3 ExportConfiguration Configuration d'exportation Amazon S3 pour les AMI distribuées. Tableau Non
configurations : s3 ExportConfiguration:roleName Le nom du rôle de configuration d'exportation Amazon S3 pour l'image. Chaîne Oui si cela s3ExportConfiguration est spécifié
configurations : s3 ExportConfiguration:diskImageFormat Format d'image disque de configuration d'exportation Amazon S3 pour l'image. Chaîne Oui si cela s3ExportConfiguration est spécifié Valeurs autorisées - VMDK|RAW|VHD
configurations : s3 ExportConfiguration:s3Bucket Le nom du compartiment de configuration d'exportation Amazon S3 pour l'image. Chaîne Oui si cela s3ExportConfiguration est spécifié
configurations : s3 ExportConfiguration:s3Prefix Le préfixe du compartiment de configuration d'exportation Amazon S3 pour l'image. Chaîne Non
configurations : rapides LaunchConfigurations Configuration Amazon EC2 Fast Launch pour l'image. Tableau Non
configurations : rapides LaunchConfigurations:enabled Indique si Amazon EC2 Fast Launch est activé pour l'image. Booléen Oui si cela fastLaunchConfigurations est spécifié
configurations : rapides LaunchConfigurations:snapshotConfiguration Configuration des instantanés pour le pré-provisionnement des instantanés Amazon EC2 Fast Launch. Map Non
configurations : rapides LaunchConfigurations:snapshotConfiguration:targetResourceCount Le nombre de ressources cibles d'Amazon EC2 Fast Launch pour l'image. Entier Non
configurations : rapides LaunchConfigurations:maxParallelLaunches Le nombre maximal de lancements parallèles d'Amazon EC2 Fast Launch pour l'image. Entier Non
configurations : rapides LaunchConfigurations:launchTemplate Le modèle de lancement qu'Amazon EC2 Fast Launch utilise pour préparer des instantanés préprovisionnés. Map Non
configurations : rapides LaunchConfigurations:launchTemplate:launchTemplateId L'ID du modèle de lancement Amazon EC2 Fast Launch pour l'image. Chaîne Non
configurations : rapides LaunchConfigurations:launchTemplate:launchTemplateName Le nom du modèle de lancement Amazon EC2 Fast Launch pour l'image. Chaîne Non
configurations : rapides LaunchConfigurations:launchTemplate:launchTemplateVersion La version du modèle de lancement Amazon EC2 Fast Launch pour l'image. Chaîne Non
configurations : SSM ParameterConfigurations Configuration des paramètres de Systems Manager pour l'image. Map Non
configurations : SSM ParameterConfigurations:amiAccountId ID du compte AMI du paramètre Systems Manager pour l'image. Chaîne Non
configurations : SSM ParameterConfigurations:parameterName Nom du paramètre Systems Manager pour l'image. Chaîne Oui si cela ssmParameterConfigurations est spécifié
configurations : SSM ParameterConfigurations:dataType Type de données de paramètre Systems Manager 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
configuré Images:accountId L'ID du compte de destination de l'image distribuée. Chaîne
configuré Images:name Le nom de l'AMI. Chaîne
configuré Images:amiId ID AMI de l'image distribuée. Chaîne
configuré Images:dateStarted Heure UTC à laquelle la distribution a commencé. Chaîne
configuré Images:dateStopped Heure UTC à laquelle la distribution est terminée. Chaîne
configuré Images:step Étape à laquelle la distribution s'est arrêtée. Terminé | | AssociateLicensesRunning | UpdateLaunchTemplateRunning | PutSsmParametersRunning | UpdateFastLaunchConfiguration ExportAmiQueued ExportAmiRunning
configuré Images:region AWS Région de l'image distribuée. Chaîne
configuré Images:status État de distribution. Terminé | Échoué | Annulé | TimedOut
configuré Images:errorMessage 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 configurations: - region: us-west-2 licenseConfigurationArns: - arn:aws:license-manager:us-west-2:111122223333:license-configuration:lic-example

Utilisez la sortie 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 la configuration minimale requise pour exécuter des flux de travail de conteneur. Image Builder utilise sendCommand l'API Systems Manager pour exécuter ce script. Pour plus d'informations, voir AWS Systems Manager Exécuter la commande.

Note

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

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

Délai d'attente maximum : 720 minutes (12 heures)

Vous pouvez remplacer la valeur par défaut partimeoutSeconds, jusqu'à la valeur maximale affichée. Une valeur supérieure au maximum échoue à la validation.

Annulation : aucune annulation n'est possible pour cette action d'étape.

Entrées : le tableau suivant répertorie les entrées prises en charge pour cette action d'étape.

Nom de l'entrée Description Type Obligatoire Par défaut Contraintes
instanceId L'ID de l'instance à amorcer. Chaîne Oui Il doit s'agir de l'ID d'instance en sortie de l'étape du 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
courir CommandId L'ID du gestionnaire de systèmes sendCommand qui a exécuté le script d'amorçage sur l'instance. Chaîne
status L'état a été renvoyé par le gestionnaire de systèmessendCommand. Chaîne
output Sortie renvoyée par le gestionnaire de systèmessendCommand. 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 la sortie 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 création.

EC2 Image Builder exécute l'agent AWS Systems Manager (Systems Manager) sur les instances EC2 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 génération 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 leurs versions respectives, telles que signalées par votre système d'exploitation.

Note

Cette action d'étape ne fonctionne que pour les images qui créent des AMI.

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

Délai d'attente maximum : 720 minutes (12 heures)

Vous pouvez remplacer la valeur par défaut partimeoutSeconds, jusqu'à la valeur maximale affichée. Une valeur supérieure au maximum échoue à la validation.

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

Entrées : le tableau suivant répertorie les entrées prises en charge pour cette action d'étape.

Nom de l'entrée Description Type Obligatoire Par défaut Contraintes
instanceId L'instance de génération à laquelle appliquer les paramètres de métadonnées. Chaîne Oui Il doit s'agir de l'ID d'instance en sortie de l'étape du 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 compilation. 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 création.

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

Délai d'attente maximum : 720 minutes (12 heures)

Vous pouvez remplacer la valeur par défaut partimeoutSeconds, jusqu'à la valeur maximale affichée. Une valeur supérieure au maximum échoue à la validation.

Annulation : aucune annulation n'est possible pour cette action d'étape.

Entrées : le tableau suivant répertorie les entrées prises en charge pour cette action d'étape.

Nom de l'entrée Description Type Obligatoire Par défaut Contraintes
instanceId L'ID de l'instance sur laquelle le scan a été exécuté. Chaîne Oui Il doit s'agir de l'ID d'instance en sortie de l'étape du 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
courir CommandId ID du responsable des systèmes sendCommand qui a exécuté le script pour collecter les résultats. Chaîne
status L'état a été renvoyé par le gestionnaire de systèmessendCommand. Chaîne
output Sortie renvoyée par le gestionnaire de systèmessendCommand. 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 la sortie 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'CreateImageAPI Amazon EC2. Pendant le processus de création, l'étape d'action attend si nécessaire pour vérifier que les ressources ont atteint l'état correct avant de continuer.

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

Délai maximum : 3 jours (259 200 secondes)

Vous pouvez remplacer la valeur par défaut partimeoutSeconds, jusqu'à la valeur maximale affichée. Une valeur supérieure à la valeur maximale échoue à la validation.

Annulation : aucune annulation n'est possible pour cette action d'étape.

Entrées : le tableau suivant répertorie les entrées prises en charge pour cette action d'étape.

Nom de l'entrée Description Type Obligatoire Par défaut Contraintes
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émarrage de cette étape.

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

Nom de sortie Description Type
imageId 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 la sortie de la valeur de l'action de l'étape dans le document de flux de travail.

$.stepOutputs.CreateImageFromInstance.imageId

CreateImageFromIso

Utilisez cette action pour créer une Amazon Machine Image (AMI) à partir d'une image disque ISO sur l'instance de génération. Utilisez-le dans un flux de création lorsque votre source est un fichier ISO plutôt qu'une AMI de base. Image Builder convertit l'ISO en AMI et attend que les ressources atteignent l'état requis avant de continuer.

Note

Cette action présente les mêmes exigences que l'importation d'une image disque ISO. Pour de plus amples informations, veuillez consulter Importez des images de disque ISO Windows vérifiées avec Image Builder.

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

Délai maximum : 720 minutes (12 heures)

Vous pouvez remplacer la valeur par défaut partimeoutSeconds, jusqu'à la valeur maximale affichée. Une valeur supérieure à la valeur maximale échoue à la validation.

Annulation : aucune annulation n'est possible pour cette action d'étape.

Entrées : le tableau suivant répertorie les entrées prises en charge pour cette action d'étape.

Nom de l'entrée Description Type Obligatoire Par défaut Contraintes
instanceId L'ID de l'instance de compilation qui contient l'image disque ISO. Chaîne Oui Il doit s'agir de l'ID d'instance en sortie de l'étape du 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
Nom de l'ami Nom de l'AMI créée par l'étape. Chaîne
SnapshotID L'ID du snapshot qui sauvegarde l'AMI. Chaîne
application L'architecture de l'AMI (x86_64ouarm64). Chaîne

Exemple

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

- name: CreateImageFromIsoStep action: CreateImageFromIso onFailure: Abort inputs: instanceId.$: $.stepOutputs.LaunchStep.instanceId

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

$.stepOutputs.CreateImageFromIsoStep.amiName

DistributeContainerImage

Utilisez cette action pour distribuer une image de conteneur créée par l'étape de création dans les référentiels Amazon ECR dans les régions cibles définies pour l'image. Utilisez cette action dans un flux de distribution pour les images de conteneur (DOCKER). Il fonctionne comme l'équivalent de l'image de conteneur de. DistributeImage

Cette étape exécute une commande Systems Manager sur l'instance de génération pour envoyer l'image du conteneur. Docker doit être AWS CLI installé sur l'instance. Pour de plus amples informations, veuillez consulter BootstrapInstanceForContainer.

Important

Un flux de travail qui inclut DistributeContainerImage ne peut pas également inclure DistributeImageModifyImageAttributes, ouApplyImageConfigurations. Un seul flux de travail distribue des images de conteneurs ou des AMI, et non les deux.

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

Délai maximum : 720 minutes (12 heures)

Vous pouvez remplacer la valeur par défaut partimeoutSeconds, jusqu'à la valeur maximale affichée. Une valeur supérieure à la valeur maximale échoue à la validation.

Annulation : aucune annulation n'est possible pour cette action d'étape.

Entrées : le tableau suivant répertorie les entrées prises en charge pour cette action d'étape.

Nom de l'entrée Description Type Obligatoire Par défaut Contraintes
instanceId L'ID de l'instance de génération qui contient l'image du conteneur. Chaîne Oui Il doit s'agir de l'ID d'instance en sortie de l'étape du 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
status L'état a été renvoyé par le gestionnaire de systèmessendCommand. Chaîne
Régions succédées Les régions où la distribution a réussi. Tableau
Régions défaillantes Les régions où la distribution a échoué. Tableau

Exemple

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

- name: DistributeContainer action: DistributeContainerImage onFailure: Abort inputs: instanceId.$: $.stepOutputs.LaunchStep.instanceId

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

$.stepOutputs.DistributeContainer.status

DistributeImage

Cette étape distribue une AMI aux régions et comptes cibles que vous spécifiez. Il utilise la configuration de distribution que vous avez CreateImage CreateImagePipeline demandée ou des paramètres de distribution personnalisés dans le flux de travail qui remplacent la configuration par défaut.

Note

La distributions saisie est facultative. Si vous le fournissez, Image Builder utilise les entrées de votre flux de travail et ignore la configuration de distribution jointe. Si vous l'omettez, Image Builder revient à la configuration de distribution associée au pipeline ou à l'image.

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

Délai maximum : 720 minutes (12 heures)

Vous pouvez remplacer la valeur par défaut partimeoutSeconds, jusqu'à la valeur maximale affichée. Une valeur supérieure à la valeur maximale échoue à la validation.

Annulation : aucune annulation n'est possible pour cette action d'étape.

Entrées : le tableau suivant répertorie les entrées prises en charge pour cette action d'étape.

Nom de l'entrée Description Type Obligatoire Par défaut Contraintes
distributions Les paramètres de distribution de l'AMI, sous forme de liste. Chaque objet cible une AWS région. Si vous omettez cette entrée, Image Builder utilise la configuration de distribution associée au pipeline ou à l'image. Tableau Non
distributions:région La AWS région à laquelle distribuer l'AMI. Chaîne Oui Longueur minimale de 1. Longueur maximale de 1024.
distributions:nom Nom à appliquer à l'AMI distribuée. Chaîne Non
distributions:description Description à appliquer à l'AMI distribuée. Chaîne Non
distributions:cible AccountIds Les identifiants de compte auxquels distribuer l'AMI. Tableau Non
Distributions : Ami Tags Les balises à appliquer à l'AMI distribuée. Map Non Maximum de 50 étiquettes.
distributions:km KeyId La clé KMS à utiliser pour chiffrer l'AMI 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 Liste des images distribuées Tableau
distribué Images:region AWS Région de l'image distribuée. Chaîne
distribué Images:name Le nom de l'AMI. Chaîne
distribué Images:amiId ID AMI de l'image distribuée. Chaîne
distribué Images:accountId L'ID du compte de destination de l'image distribuée. Chaîne
distribué Images:dateStarted Heure UTC à laquelle la distribution a commencé. Chaîne
distribué Images:dateStopped Heure UTC à laquelle la distribution est terminée. Chaîne
distribué Images:status État de distribution. Terminé | Échoué | Annulé | TimedOut
distribué Images:step Étape à laquelle la distribution s'est arrêtée. Terminé| CopyAmiRunning
distribué Images:errorMessage 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 la sortie de la valeur de l'action de l'étape dans le document de flux de travail.

$.stepOutputs.DistributeImageStep.distributedImages

ExecuteComponents

Cette action d'étape exécute les composants spécifiés dans la recette pour 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 des composants de test sur l'instance de test.

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

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

Délai d'attente maximum : 1 jour (24 heures)

Vous pouvez remplacer la valeur par défaut partimeoutSeconds, jusqu'à la valeur maximale affichée. Une valeur supérieure au maximum échoue à la validation.

Annulation : aucune annulation n'est possible pour cette action d'étape.

Entrées : le tableau suivant répertorie les entrées prises en charge pour cette action d'étape.

Nom de l'entrée Description Type Obligatoire Par défaut Contraintes
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 en sortie de l'étape du 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
courir CommandId L'ID du gestionnaire de systèmes sendCommand qui a exécuté les composants sur l'instance. Chaîne
status L'état a été renvoyé par le gestionnaire de systèmessendCommand. Chaîne
output Sortie renvoyée par le gestionnaire de systèmessendCommand. 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 action d'é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, voir En savoir plus sur les machines à états dans Step Functions du Guide du AWS Step Functions développeur.

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

Délai d'attente maximum : 24 heures

Vous pouvez remplacer la valeur par défaut partimeoutSeconds, jusqu'à la valeur maximale affichée. Une valeur supérieure au maximum échoue à la validation.

Annulation : aucune annulation n'est possible pour cette action d'étape.

Entrées : le tableau suivant répertorie les entrées prises en charge pour cette action d'étape.

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

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 d'état. Chaîne
output Le résultat de l'exécution de la machine d'état. 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écifiez 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 la sortie de la valeur de l'action de l'étape dans le document de flux de travail.

$.stepOutputs.ValidateImageCompliance.executionArn

LaunchInstance

Utilisez cette action pour lancer une instance dans votre Compte AWS. L'action attend que l'instance réponde à la condition de contrôle de santé spécifiée et que l'agent Systems Manager soit en cours d'exécution avant de passer à l'étape suivante. L'action de lancement utilise les paramètres de votre recette et des ressources de configuration de l'infrastructure. Par exemple, le type d'instance à lancer provient de la configuration de l'infrastructure. La sortie est l'ID de l'instance qui a été lancée.

L'waitForentrée configure la condition qui satisfait à l'exigence d'achèvement de l'étape. L'healthCheckentrée spécifie le niveau de validation de l'état de santé de l'instance EC2 qui doit réussir avant que l'étape ne se poursuive.

Délai d'attente par défaut : 75 minutes

Délai maximum : 720 minutes (12 heures)

Vous pouvez remplacer la valeur par défaut partimeoutSeconds, jusqu'à la valeur maximale affichée. Une valeur supérieure au maximum échoue à la validation.

Annulation : pour les instances de build, la restauration exécute l'action que vous avez configurée dans la ressource de configuration de votre infrastructure. Par défaut, les instances de génération sont interrompues en cas d'échec de la création de l'image. Cependant, il existe un paramètre dans la configuration de l'infrastructure pour conserver l'instance de compilation à des fins de dépannage.

Entrées : le tableau suivant répertorie les entrées prises en charge pour cette action d'étape.

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

Étape de construction : image, image de base de la recette

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

Doit être un identifiant AMI valide
instance TypesOverride 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 votre configuration d'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 Aucune Compatible avec Image BuilderssmAgent.
Bilan de santé Le niveau de validation de l'état EC2 requis avant de passer à l'étape du flux de travail. Spécifiez RUNNING pour des compilations plus rapides avec un minimum de validation, ou STATUS_CHECK_PASSED pour attendre que les contrôles d'état EC2 soient réussis. Chaîne Non STATUS_CHECK_PASSED Valeurs valides : RUNNING | STATUS_CHECK_PASSED.

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

Nom de sortie Description Type
instanceId L'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: healthCheck: "RUNNING" waitFor: ssmAgent

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

$.stepOutputs.LaunchStep.instanceId

ModifyImageAttributes

Utilisez cette action pour modifier les attributs des AMI distribuées, tels que les autorisations de lancement et d'autres attributs d'AMI. Il fonctionne sur des AMI qui ont été distribuées aux régions et aux comptes cibles.

Note

La attributes saisie est facultative. Si vous le fournissez, Image Builder utilise les entrées de votre flux de travail et ignore la configuration de distribution jointe. Si vous l'omettez, Image Builder revient à la configuration de distribution associée au pipeline ou à l'image.

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

Délai maximum : 180 minutes (3 heures)

Vous pouvez remplacer la valeur par défaut partimeoutSeconds, jusqu'à la valeur maximale affichée. Une valeur supérieure au maximum échoue à la validation.

Annulation : aucune annulation n'est possible pour cette action d'étape.

Entrées : le tableau suivant répertorie les entrées prises en charge pour cette action d'étape.

Nom de l'entrée Description Type Obligatoire Par défaut Contraintes
Images distribuées. $ La liste des images distribuées à modifier. Référencez le distributedImages résultat d'une DistributeImage étape du même flux de travail. Chaîne Oui Une référence JSONPath qui commence par $.stepOutputs.
attributs Les attributs de l'image à modifier, sous forme de liste. Chaque objet cible une AWS région. Tableau Non
attributs : région La AWS région de l'AMI distribuée à modifier. Chaîne Oui Obligatoire pour chaque article deattributes.
Attributs : LaunchPermission Les paramètres d'autorisation de lancement à appliquer à l'AMI distribuée. Map Non
attributs:lancement Permission:userIds Les identifiants de compte à ajouter ou à supprimer des autorisations de lancement de l'AMI. Tableau Non
attributs:lancement Permission:userGroups Les groupes d'utilisateurs à ajouter ou à supprimer des autorisations de lancement pour l'AMI. Tableau Non
attributs:lancement Permission:organizationArns Les AWS organisations ARN doivent ajouter ou supprimer des autorisations de lancement pour l'AMI. Tableau Non
attributs:lancement Permission:organizationalUnitArns L'unité organisationnelle (OU) doit ajouter ou supprimer des autorisations de lancement pour l'AMI. Tableau Non

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

Nom de sortie Description Type
Images modifiées Liste des images modifiées Tableau
modifié Images:accountId L'ID du compte de destination de l'image distribuée. Chaîne
modifié Images:name Le nom de l'AMI. Chaîne
modifié Images:amiId ID AMI de l'image distribuée. Chaîne
modifié Images:dateStarted Heure UTC à laquelle la distribution a commencé. Chaîne
modifié Images:dateStopped Heure UTC à laquelle la distribution est terminée. Chaîne
modifié Images:step Étape à laquelle la distribution s'est arrêtée. Terminé| ModifyAmiRunning
modifié Images:region La AWS région de l'image. Chaîne
modifié Images:status État de la distribution. Terminé | Échoué | Annulé | TimedOut
modifié Images:errorMessage 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 attributes: - region: us-west-2 launchPermission: userIds: - "111122223333"

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

$.stepOutputs.ModifyImageAttributesStep.modifiedImages

RegisterImage

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

Délai d'attente par défaut : 540 minutes

Délai maximum : 720 minutes (12 heures)

Vous pouvez remplacer la valeur par défaut partimeoutSeconds, jusqu'à la valeur maximale affichée. Une valeur supérieure au maximum échoue à la validation.

Annulation : aucune annulation n'est possible pour cette action d'étape.

Entrées : le tableau suivant répertorie les entrées prises en charge pour cette action d'étape.

Nom de l'entrée Description Type Obligatoire Par défaut Contraintes
application L'architecture de l'AMI. Chaîne Non Valeurs valides : i386, x86_64, arm64, x86_64_mac, arm64_mac
bloquer DeviceMapping Les entrées de mappage des périphériques de bloc 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
Assistance ENA Si la mise en réseau améliorée avec ENA est activée. Booléen Non
Emplacement de l'image Emplacement du manifeste AMI. Chaîne Non Obligatoire pour les S3-backed AMI
Assistance IMDS Le niveau de support IMDSv2. Chaîne Non Valeurs valides : v2.0
inclure SnapshotTags 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 a SnapshotId sont fusionnées avec les balises AMI de sortie.

  • Les balises AMI de sortie ont priorité sur les balises de capture instantanée dotées de la même clé.

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

  • Si plusieurs volumes EBS 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
ID de disque RAM L'ID du disque RAM à utiliser. Chaîne Non
racine DeviceName Le nom de l'appareil racine. Chaîne Non Exemple :/dev/sda1
sriov NetSupport Mise en réseau améliorée grâce à l'interface Intel 82599 VF. Chaîne Non
Assistance TPM Prise en charge de la version TPM. Chaîne Non Valeurs valides : v2.0
Données UEFI Base64-encoded Données UEFI. 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 ID AMI de l'image enregistrée. 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
  • ec2:DescribeSnapshots

  • ec2:CreateTags

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 la sortie de la valeur de l'action de l'étape dans le document de flux de travail.

$.stepOutputs.RegisterNewImage.imageId

Exemple avec une étape SnapshotId issue d'une autre étape et des balises de capture instantanée 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, voir AWS Systems Manager Exécuter la commande.

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

Délai maximum : 720 minutes (12 heures)

Vous pouvez remplacer la valeur par défaut partimeoutSeconds, jusqu'à la valeur maximale affichée. Une valeur supérieure au maximum échoue à la validation.

Annulation : aucune annulation n'est possible pour cette action d'étape.

Entrées : le tableau suivant répertorie les entrées prises en charge pour cette action d'étape.

Nom de l'entrée Description Type Obligatoire Par défaut Contraintes
instanceId L'ID de l'instance sur laquelle exécuter le document de commande. Chaîne Oui Il doit s'agir de l'ID d'instance en sortie de l'étape du 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 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
courir CommandId L'ID du gestionnaire de systèmes sendCommand qui a exécuté le document de commande sur l'instance. Chaîne
status L'état a été renvoyé par le gestionnaire de systèmessendCommand. Chaîne
output Sortie renvoyée par le gestionnaire de systèmessendCommand. 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 la sortie de la valeur de l'action de l'étape dans le document de flux de travail.

$.stepOutputs.RunCommandDoc.status

RunSysPrep

Cette étape utilise l'sendCommandAPI Systems Manager pour exécuter le AWSEC2-RunSysprep document pour les instances Windows avant que l'instance de génération ne s'arrête pour la capture d'écran. Ces actions suivent les AWS meilleures pratiques en matière de durcissement et de nettoyage de l'image .

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

Délai d'attente maximum : 720 minutes (12 heures)

Vous pouvez remplacer la valeur par défaut partimeoutSeconds, jusqu'à la valeur maximale affichée. Une valeur supérieure au maximum échoue à la validation.

Annulation : aucune annulation n'est possible pour cette action d'étape.

Entrées : le tableau suivant répertorie les entrées prises en charge pour cette action d'étape.

Nom de l'entrée Description Type Obligatoire Par défaut Contraintes
instanceId L'ID de l'instance sur laquelle exécuter le AWSEC2-RunSysprep document. Chaîne Oui Il doit s'agir de l'ID d'instance en sortie de l'étape du 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
courir CommandId L'ID du gestionnaire de systèmes sendCommand qui a exécuté le AWSEC2-RunSysprep document sur l'instance. Chaîne
status L'état a été renvoyé par le gestionnaire de systèmessendCommand. Chaîne
output Sortie renvoyée par le gestionnaire de systèmessendCommand. 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 la sortie 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 l'arrêt de l'instance de génération pour le snapshot. Le script de nettoyage permet de s'assurer que l'image finale respecte les meilleures pratiques de sécurité et que les artefacts de création ou les paramètres qui ne devraient pas être transférés sur votre instantané sont supprimés. Pour plus d'informations sur le script, consultezNettoyage requis après la construction. Cette action d'étape ne s'applique pas aux images de conteneurs.

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

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

Délai d'attente maximum : 720 minutes (12 heures)

Vous pouvez remplacer la valeur par défaut partimeoutSeconds, jusqu'à la valeur maximale affichée. Une valeur supérieure au maximum échoue à la validation.

Annulation : aucune annulation n'est possible pour cette action d'étape.

Entrées : le tableau suivant répertorie les entrées prises en charge pour cette action d'étape.

Nom de l'entrée Description Type Obligatoire Par défaut Contraintes
instanceId L'ID de l'instance à assainir. Chaîne Oui Il doit s'agir de l'ID d'instance en sortie de l'étape du 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
courir CommandId L'ID du gestionnaire de systèmes sendCommand qui a exécuté le script de nettoyage sur l'instance. Chaîne
status L'état a été renvoyé par le gestionnaire de systèmessendCommand. Chaîne
output Sortie renvoyée par le gestionnaire de systèmessendCommand. 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 la sortie de la valeur de l'action de l'étape dans le document de flux de travail.

$.stepOutputs.SanitizeStep.status

TerminateInstance

Cette action met fin à l'instance que vous spécifiez avec l'instanceIdentrée. Par défaut, il déclenche la résiliation et passe à l'étape suivante sans attendre. Un processus d'arrière-plan gère le nettoyage si la terminaison rencontre des erreurs de service EC2. Pour attendre la fin complète avant de continuer, réglez l'waitForTerminationentrée surtrue.

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

Délai d'attente maximum : 720 minutes (12 heures)

Vous pouvez remplacer la valeur par défaut partimeoutSeconds, jusqu'à la valeur maximale affichée. Une valeur supérieure au maximum échoue à la validation.

Annulation : aucune annulation n'est possible pour cette action d'étape.

Entrées : le tableau suivant répertorie les entrées prises en charge pour cette action d'étape.

Nom de l'entrée Description Type Obligatoire Par défaut Contraintes
instanceId L'ID de l'instance à terminer. Chaîne Oui Aucune Aucune
attendre ForTermination Spécifie si l'étape attend que l'instance atteigne l'état terminé avant de poursuivre. Lorsqu'elle est réglée surtrue, l'étape attend la fin complète (10 secondes à plusieurs minutes). Booléen Non false true | false

Sorties : aucune sortie n'est disponible 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 waitForTermination: false

WaitForAction

Cette étape interrompt le flux de travail en cours et attend de recevoir une action externe de l'action de l'SendWorkflowStepActionAPI Image Builder. Cette étape publie un EventBridge événement dans 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.

Fonctionnement de la pause et de la reprise

Lorsqu'une WaitForAction étape est exécutée, Image Builder définit le statut de l'étape sur WAITING et publie un EventBridge événement (type de détailEC2 Image Builder Workflow Step Waiting). Si vous le fournissezsnsTopicArn, il envoie également une notification Amazon SNS. Si vous fournissezlambdaFunctionName, il invoque cette fonction de manière asynchrone. Le flux de travail reste suspendu jusqu'à ce que l'une des situations suivantes se produise :

  • Vous appelez SendWorkflowStepAction with RESUME pour continuer ou STOP pour mettre fin au flux de travail.

  • L'étape atteint son délai d'expiration (3 jours par défaut, maximum 7 jours) et le flux de travail échoue.

Le reason message que vous passez SendWorkflowStepAction est enregistré avec l'étape et est disponible pour les étapes suivantes en tant que reason résultat de l'étape.

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

Délai d'attente maximum : 7 jours (604 800 secondes)

Vous pouvez remplacer la valeur par défaut partimeoutSeconds, jusqu'à la valeur maximale affichée. Une valeur supérieure au maximum échoue à la validation.

Annulation : aucune annulation n'est possible pour cette action d'étape.

Entrées : le tableau suivant répertorie les entrées prises en charge pour cette action d'étape.

Nom de l'entrée Description Type Obligatoire Par défaut Contraintes
sns TopicArn Un ARN de rubrique SNS facultatif pour envoyer une notification lorsque l'étape du flux de travail est en attente. Chaîne Non
lambda FunctionName 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éfaut message/payload, utilisée respectivement pour SNS et Lambda. S'il n'est pas fourni, génère la valeur par défaut message/payload. Chaîne Non Doit être une chaîne JSON valide, 16 Ko 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 La raison de l'action renvoyée. 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
  • lambda:InvokeFunction

Spécifiez les ressources
  • arn:aws:lambda:us-west-2:111122223333:function:function-name

  • arn:aws:lambda:us-west-2:111122223333:function:*

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 en invoquant la fonction Lambda.

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

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

$.stepOutputs.SendEventAndWait.reason

WaitForSSMAgent

Cette étape attend qu'une instance EC2 devienne gérable AWS Systems Manager après les périodes d'absence de réponse prévues. Il est particulièrement utile pour les flux de travail présentant des interruptions d'instance connues, telles 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 la connectivité SSM ou qu'elle expire.

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

Délai d'attente maximum : 180 minutes (3 heures)

Vous pouvez remplacer la valeur par défaut partimeoutSeconds, jusqu'à la valeur maximale affichée. Une valeur supérieure au maximum échoue à la validation.

Annulation : aucune annulation n'est possible pour cette action d'étape.

Entrées : le tableau suivant répertorie les entrées prises en charge pour cette action d'étape.

Nom de l'entrée Description Type Obligatoire Par défaut Contraintes
instanceId L'ID de l'instance à surveiller pour la connectivité SSM. Chaîne Oui Doit être un ID d'instance EC2 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 timeoutSeconds: 900 inputs: instanceId.$: $.stepOutputs.LaunchStep.instanceId

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

$.stepOutputs.WaitForInstanceAfterReboot.status