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).
Actions prises en charge
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:ApplyImageConfigurationsaction: ApplyImageConfigurations onFailure: Abort inputs: distributedImages.$: $.stepOutputs.DistributeImageStep.distributedImages configurations: - region:us-west-2licenseConfigurationArns: - 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:ContainerBootstrapStepaction: 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:CollectMetadataStepaction: 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:CollectFindingsStepaction: 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:CreateImageFromInstanceaction: 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:CreateImageFromIsoStepaction: 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:DistributeContaineraction: 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:DistributeImageaction: 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:ExecComponentsStepaction: 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:ValidateImageComplianceaction: ExecuteStateMachine timeoutSeconds: 3600 onFailure: Abort inputs: stateMachineArn: arn:aws:states:us-west-2:111122223333:stateMachine:ImageComplianceValidationinput: | { "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:LaunchStepaction: 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:ModifyImageAttributesaction: ModifyImageAttributes onFailure: Abort inputs: distributedImages.$: $.stepOutputs.DistributeImageStep.distributedImages attributes: - region:us-west-2launchPermission: 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 :
|
| 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-idvol-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:RunCommandDocaction: RunCommand onFailure: Abort inputs: documentName:SampleDocumentparameters: 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:RunSysprepaction: 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:SanitizeStepaction: 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:TerminateInstanceaction: TerminateInstance onFailure: Continue inputs: instanceId.$:i-1234567890abcdef0waitForTermination: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
RESUMEpour continuer ouSTOPpour 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:SendEventAndWaitaction: 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:SendEventAndWaitWithLambdaaction: WaitForAction onFailure: Abort inputs: lambdaFunctionName:ExampleFunctionpayload: | { "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:WaitForInstanceAfterRebootaction: 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