Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.
Actions d'étapes prises en charge pour votre document de flux de travail
Cette section contient des informations détaillées sur les actions d'étape prises en charge par Image Builder.
Termes utilisés dans cette section
- AMI
-
Amazon Machine Image
- ARN
-
Amazon Resource Name
Le tableau suivant indique les étapes du flux de travail qui 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, etDistributeImage, ModifyImageAttributesApplyImageConfigurations, et DistributeContainerImage à la phase de distribution. Vous pouvez utiliser toutes les autres actions à n'importe quelle étape.
| Étape d'action | Génération | test | Distribution | Remarques |
|---|---|---|---|---|
| LaunchInstance | X | X | X | Lance une instance Amazon EC2. |
| BootstrapInstanceForContainer | X | X | X | Installe Docker et le AWS CLI pour les versions de conteneurs. |
| ExecuteComponents | X | X | Exécute des composants sur l'instance. Limité aux étapes de construction et de test. | |
| CollectImageMetadata | X | X | X | AMI ne construit que des versions. |
| RunSysPrep | X | X | X | Windows construit. |
| SanitizeInstance | X | X | X | Les versions d'AMI Linux ne sont pas destinées aux conteneurs. |
| CreateImage | X | X | X | Crée une AMI à partir de l'instance de build. |
| CreateImageFromIso | X | X | X | Crée une AMI à partir d'une image disque ISO. |
| RegisterImage | X | X | X | Enregistre une AMI à partir de snapshots. |
| DistributeContainerImage | X | Distribue une image de conteneur. Limité à l'étape de distribution. | ||
| CollectImageScanFindings | X | Recueille les résultats de 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 | Pause 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é à l'étape de distribution. | ||
| ModifyImageAttributes | X | Modifie les autorisations de lancement de l'AMI. Limité à l'étape 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é à l'étape de distribution. |
Important
Un flux de travail unique distribue des AMI ou des images de conteneur, mais pas 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 attachée au pipeline ou à l'image.
Délai d'expiration par défaut : 360 minutes
Durée maximale : 720 minutes (12 heures)
Vous pouvez remplacer la valeur par défaut partimeoutSeconds, jusqu'au maximum affiché. Une valeur supérieure au maximum échoue à la validation.
Annulation : il n'y a aucune annulation pour cette action d'étape.
Entrées : Le tableau suivant inclut les entrées prises en charge pour cette action d'étape. La distributedImages.$ saisie est obligatoire. Les lignes restantes décrivent les champs de chaque élément du configurations tableau.
| Nom d'entrée | Description | Type | Obligatoire | Par défaut | Contraintes |
|---|---|---|---|---|---|
| Images distribuées. $ | 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 | 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 | Le 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 | 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 | Le format d'image du 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 | 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 : rapide LaunchConfigurations | La configuration de lancement rapide d'Amazon EC2 pour l'image. | Tableau | Non | ||
| configurations : rapide LaunchConfigurations:enabled | Si Amazon EC2 Fast Launch est activé pour l'image. | Booléen | Oui si cela fastLaunchConfigurations est spécifié |
||
| configurations : rapide LaunchConfigurations:snapshotConfiguration | Configuration des instantanés pour le pré-provisionnement des instantanés Amazon EC2 Fast Launch. | Map | Non | ||
| configurations : rapide LaunchConfigurations:snapshotConfiguration:targetResourceCount | Le nombre de ressources cibles Amazon EC2 Fast Launch pour l'image. | Entier | Non | ||
| configurations : rapide LaunchConfigurations:maxParallelLaunches | Le lancement parallèle maximal d'Amazon EC2 Fast Launch pour l'image. | Entier | Non | ||
| configurations : rapide LaunchConfigurations:launchTemplate | Modèle de lancement utilisé par Amazon EC2 Fast Launch pour préparer des instantanés préprovisionnés. | Map | Non | ||
| configurations : rapide LaunchConfigurations:launchTemplate:launchTemplateId | L'ID du modèle de lancement Amazon EC2 Fast Launch pour l'image. | Chaîne | Non | ||
| configurations : rapide LaunchConfigurations:launchTemplate:launchTemplateName | Nom du modèle de lancement Amazon EC2 Fast Launch pour l'image. | Chaîne | Non | ||
| configurations : rapide LaunchConfigurations:launchTemplate:launchTemplateVersion | 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 de 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 du 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 du début de la distribution. | Chaîne |
| configuré Images:dateStopped | Heure UTC lorsque 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 | La AWS région de l'image distribuée. | Chaîne |
| configuré Images:status | État de la 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 le résultat de la valeur de l'action de l'étape dans le document de flux de travail.
$.stepOutputs.ApplyImageConfigurationsStep.configuredImages
BootstrapInstanceForContainer
Cette action d'étape exécute un script de service pour démarrer l'instance avec les exigences minimales requises pour exécuter des flux de travail de conteneurs. Image Builder utilise sendCommand l'API de Systems Manager pour exécuter ce script. Pour plus d'informations, consultez la section AWS Systems Manager Exécuter la commande.
Note
Le script bootstrap installe les packages Docker AWS CLI et Docker qui sont indispensables pour qu'Image Builder puisse créer des conteneurs Docker avec succès. Si vous n'incluez pas cette action, la création de l'image risque d'échouer.
Délai d'expiration par défaut : 60 minutes
Durée maximale : 720 minutes (12 heures)
Vous pouvez remplacer la valeur par défaut partimeoutSeconds, jusqu'au maximum affiché. Une valeur supérieure au maximum échoue à la validation.
Annulation : il n'y a aucune annulation pour cette action d'étape.
Entrées : Le tableau suivant inclut les entrées prises en charge pour cette action d'étape.
| Nom d'entrée | Description | Type | Obligatoire | Par défaut | Contraintes |
|---|---|---|---|---|---|
| instanceId | L'ID de l'instance à démarrer. | Chaîne | Oui | Il doit s'agir de l'ID d'instance de sortie de l'étape de flux de travail qui a lancé l'instance pour ce flux de travail. |
Sorties : Le tableau suivant inclut les sorties pour cette action d'étape.
| Nom de sortie | Description | Type |
|---|---|---|
| courir CommandId | ID du Systems Manager sendCommand qui a exécuté le script bootstrap sur l'instance. | Chaîne |
| status | État renvoyé par le Systems ManagersendCommand. | Chaîne |
| output | Sortie renvoyée par le Systems ManagersendCommand. | Chaîne |
Exemple
Spécifiez l'action de l'étape dans le document de flux de travail.
- name:ContainerBootstrapStepaction: BootstrapInstanceForContainer onFailure: Abort inputs: instanceId.$: $.stepOutputs.LaunchStep.instanceId
Utilisez le résultat de la valeur de l'action de l'étape dans le document de flux de travail.
$.stepOutputs.ContainerBootstrapStep.status
CollectImageMetadata
Cette action d'étape n'est valide que pour les flux de travail de génération.
EC2 Image Builder AWS Systems Manager exécute l'agent (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 construction avec Systems Manager Inventory. Ces informations incluent le nom et la version du système d'exploitation (OS), ainsi que la liste des packages et de leurs versions respectives tels qu'indiqués par votre système d'exploitation.
Note
Cette action de cette étape ne fonctionne que pour les images qui créent des AMI.
Délai d'expiration par défaut : 30 minutes
Durée maximale : 720 minutes (12 heures)
Vous pouvez remplacer la valeur par défaut partimeoutSeconds, jusqu'au maximum affiché. 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 inclut les entrées prises en charge pour cette action d'étape.
| Nom d'entrée | Description | Type | Obligatoire | Par défaut | Contraintes |
|---|---|---|---|---|---|
| instanceId | L'instance de build à laquelle appliquer les paramètres de métadonnées. | Chaîne | Oui | Il doit s'agir de l'ID d'instance de sortie de l'étape de flux de travail qui a lancé l'instance de génération pour ce flux de travail. |
Sorties : Le tableau suivant inclut les sorties pour cette action d'étape.
| Nom de sortie | Description | Type |
|---|---|---|
| osVersion | Le nom et la version du système d'exploitation collectés à partir de l'instance de build. | Chaîne |
| Identifiant de l'association | L'ID d'association Systems Manager utilisé pour la collecte de l'inventaire. | Chaîne |
Exemple
Spécifiez l'action de l'étape dans le document de flux de travail.
- name: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 génération.
Délai d'expiration par défaut : 120 minutes
Durée maximale : 720 minutes (12 heures)
Vous pouvez remplacer la valeur par défaut partimeoutSeconds, jusqu'au maximum affiché. Une valeur supérieure au maximum échoue à la validation.
Annulation : il n'y a aucune annulation pour cette action d'étape.
Entrées : Le tableau suivant inclut les entrées prises en charge pour cette action d'étape.
| Nom d'entrée | Description | Type | Obligatoire | Par défaut | Contraintes |
|---|---|---|---|---|---|
| instanceId | ID de l'instance sur laquelle le scan a été exécuté. | Chaîne | Oui | Il doit s'agir de l'ID d'instance de sortie de l'étape de flux de travail qui a lancé l'instance pour ce flux de travail. |
Sorties : Le tableau suivant inclut les sorties pour cette action d'étape.
| Nom de sortie | Description | Type |
|---|---|---|
| courir CommandId | ID du Systems Manager sendCommand qui a exécuté le script pour collecter les résultats. | Chaîne |
| status | État renvoyé par le Systems ManagersendCommand. | Chaîne |
| output | Sortie renvoyée par le Systems ManagersendCommand. | Chaîne |
Exemple
Spécifiez l'action de l'étape dans le document de flux de travail.
- name:CollectFindingsStepaction: CollectImageScanFindings onFailure: Abort inputs: instanceId.$: $.stepOutputs.LaunchStep.instanceId
Utilisez le résultat de la valeur de l'action de l'étape dans le document de flux de travail.
$.stepOutputs.CollectFindingsStep.status
CreateImage
Cette étape crée une image à partir d'une instance en cours d'exécution avec l'API Amazon EC2. CreateImage Pendant le processus de création, l'action de l'étape attend autant que nécessaire pour vérifier que les ressources ont atteint le bon état avant de continuer.
Délai d'expiration par défaut : 720 minutes
Délai maximum : 3 jours (259 200 secondes)
Vous pouvez remplacer la valeur par défaut partimeoutSeconds, jusqu'au maximum affiché. Une valeur supérieure au maximum échoue à la validation.
Annulation : il n'y a aucune annulation pour cette action d'étape.
Entrées : Le tableau suivant inclut les entrées prises en charge pour cette action d'étape.
| Nom d'entrée | Description | Type | Obligatoire | Par défaut | 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ébut de cette étape. |
Sorties : Le tableau suivant inclut les sorties pour cette action d'étape.
| Nom de sortie | Description | Type |
|---|---|---|
| imageId | L'ID AMI de l'image créée. | Chaîne |
Exemple
Spécifiez l'action de l'étape dans le document de flux de travail.
- name:CreateImageFromInstanceaction: CreateImage onFailure: Abort inputs: instanceId.$: "i-1234567890abcdef0"
Utilisez le résultat de la valeur de l'action de l'étape dans le document de flux de travail.
$.stepOutputs.CreateImageFromInstance.imageId
CreateImageFromIso
Utilisez cette étape pour créer une Amazon Machine Image (AMI) à partir d'une image de disque ISO sur l'instance de build. Utilisez-le dans un flux de production 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 comporte les mêmes exigences que l'importation d'une image disque ISO. Pour plus d’informations, consultez Importez des images de disque ISO Windows vérifiées avec Image Builder.
Délai d'expiration par défaut : 720 minutes
Durée maximale : 720 minutes (12 heures)
Vous pouvez remplacer la valeur par défaut partimeoutSeconds, jusqu'au maximum affiché. Une valeur supérieure au maximum échoue à la validation.
Annulation : il n'y a aucune annulation pour cette action d'étape.
Entrées : Le tableau suivant inclut les entrées prises en charge pour cette action d'étape.
| Nom d'entrée | Description | Type | Obligatoire | Par défaut | Contraintes |
|---|---|---|---|---|---|
| instanceId | L'ID de l'instance de build qui contient l'image disque ISO. | Chaîne | Oui | Il doit s'agir de l'ID d'instance de sortie de l'étape de flux de travail qui a lancé l'instance de génération pour ce flux de travail. |
Sorties : Le tableau suivant inclut les sorties pour cette action d'étape.
| Nom de sortie | Description | Type |
|---|---|---|
| Nom de mon nom | Nom de l'AMI créée par l'étape. | Chaîne |
| ID du cliché | 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 le résultat de la valeur de l'action de l'étape dans le document de flux de travail.
$.stepOutputs.CreateImageFromIsoStep.amiName
DistributeContainerImage
Utilisez cette action d'étape 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 travail de distribution pour les images container (DOCKER). Il fonctionne comme l'équivalent conteneur-image de. DistributeImage
Cette action d'étape exécute une commande Systems Manager sur l'instance de build pour transférer l'image du conteneur. Docker et le doivent être AWS CLI installés sur l'instance. Pour plus d’informations, consultez BootstrapInstanceForContainer.
Important
Un flux de travail qui inclut DistributeContainerImage ne peut pas également inclure DistributeImageModifyImageAttributes, ouApplyImageConfigurations. Un flux de travail unique distribue soit des images de conteneurs, soit des AMI, mais pas les deux.
Délai d'expiration par défaut : 120 minutes
Durée maximale : 720 minutes (12 heures)
Vous pouvez remplacer la valeur par défaut partimeoutSeconds, jusqu'au maximum affiché. Une valeur supérieure au maximum échoue à la validation.
Annulation : il n'y a aucune annulation pour cette action d'étape.
Entrées : Le tableau suivant inclut les entrées prises en charge pour cette action d'étape.
| Nom d'entrée | Description | Type | Obligatoire | Par défaut | Contraintes |
|---|---|---|---|---|---|
| instanceId | L'ID de l'instance de construction qui contient l'image du conteneur. | Chaîne | Oui | Il doit s'agir de l'ID d'instance de sortie de l'étape de flux de travail qui a lancé l'instance de génération pour ce flux de travail. |
Sorties : Le tableau suivant inclut les sorties pour cette action d'étape.
| Nom de sortie | Description | Type |
|---|---|---|
| status | État renvoyé par le Systems ManagersendCommand. | Chaîne |
| Régions réussies | 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 le résultat de la valeur de l'action de l'étape dans le document de flux de travail.
$.stepOutputs.DistributeContainer.status
DistributeImage
Cette action de cette étape distribue une AMI aux régions cibles et aux comptes que vous spécifiez. Il utilise la configuration de distribution de votre CreateImagePipeline demande CreateImage ou des paramètres de distribution personnalisés du 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 attachée au pipeline ou à l'image.
Délai d'expiration par défaut : 360 minutes
Durée maximale : 720 minutes (12 heures)
Vous pouvez remplacer la valeur par défaut partimeoutSeconds, jusqu'au maximum affiché. Une valeur supérieure au maximum échoue à la validation.
Annulation : il n'y a aucune annulation pour cette action d'étape.
Entrées : Le tableau suivant inclut les entrées prises en charge pour cette action d'étape.
| Nom d'entrée | Description | Type | Obligatoire | Par défaut | 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 attaché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 tags. | |
| 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 | La 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 du début de la distribution. | Chaîne |
| distribué Images:dateStopped | Heure UTC lorsque la distribution est terminée. | Chaîne |
| distribué Images:status | État de la 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 le résultat de la valeur de l'action de l'étape dans le document de flux de travail.
$.stepOutputs.DistributeImageStep.distributedImages
ExecuteComponents
Cette étape exécute les composants spécifiés dans la recette de l'image en cours de création. Les flux de travail de génération exécutent les composants de génération sur l'instance de génération. Les flux de travail de test exécutent uniquement les composants de test sur l'instance de test.
Image Builder utilise sendCommand l'API de Systems Manager pour exécuter les composants. Pour plus d'informations, consultez la section AWS Systems Manager Exécuter la commande.
Délai d'expiration par défaut : 720 minutes
Délai maximum : 1 jour (24 heures)
Vous pouvez remplacer la valeur par défaut partimeoutSeconds, jusqu'au maximum affiché. Une valeur supérieure au maximum échoue à la validation.
Annulation : il n'y a aucune annulation pour cette action d'étape.
Entrées : Le tableau suivant inclut les entrées prises en charge pour cette action d'étape.
| Nom d'entrée | Description | Type | Obligatoire | Par défaut | 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 de sortie de l'étape de flux de travail qui a lancé l'instance pour ce flux de travail. |
Sorties : Le tableau suivant inclut les sorties pour cette action d'étape.
| Nom de sortie | Description | Type |
|---|---|---|
| courir CommandId | ID du Systems Manager sendCommand qui a exécuté les composants sur l'instance. | Chaîne |
| status | État renvoyé par le Systems ManagersendCommand. | Chaîne |
| output | Sortie renvoyée par le Systems ManagersendCommand. | Chaîne |
Exemple
Spécifiez l'action de l'étape dans le document de flux de travail.
- name: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 étape lance l'exécution d'une machine à AWS Step Functions états à partir d'un flux de travail Image Builder. Image Builder utilise l'StartExecutionAPI Step Functions pour lancer la machine à états et attend qu'elle soit terminée. Cela est utile pour intégrer des flux de travail complexes, des processus de validation de conformité ou de certification dans votre pipeline de création d'images.
Pour plus d'informations, consultez la section « En savoir plus sur les machines à états » dans Step Functions du manuel du AWS Step Functions développeur.
Délai d'expiration par défaut : 6 heures
Délai d'attente maximal : 24 heures
Vous pouvez remplacer la valeur par défaut partimeoutSeconds, jusqu'au maximum affiché. Une valeur supérieure au maximum échoue à la validation.
Annulation : il n'y a aucune annulation pour cette action d'étape.
Entrées : Le tableau suivant inclut les entrées prises en charge pour cette action d'étape.
| Nom d'entrée | Description | Type | Obligatoire | Par défaut | 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 à états valide. | |
| input | Données d'entrée JSON à fournir à la machine d'état. | Chaîne | Non | {} | Doit être une chaîne JSON valide, longueur maximale : 16 KiB. |
Sorties : Le tableau suivant inclut les sorties pour cette action d'étape.
| Nom de sortie | Description | Type |
|---|---|---|
| executionArn | L'ARN de l'exécution de la machine à états. | Chaîne |
| output | Le résultat de l'exécution de la machine à états. | Chaîne |
Autorisations IAM requises
Votre rôle d'exécution personnalisé doit disposer des autorisations suivantes pour utiliser cette action d'étape :
Autoriser les actions
-
states:StartExecution -
states:DescribeExecution
Spécifier les ressources
-
arn:aws:states:us-west-2:111122223333:stateMachine:state-machine-name -
arn:aws:states:us-west-2:111122223333:execution:state-machine-name:*
Exemple
Spécifiez l'action de l'étape dans le document de flux de travail.
- name: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 le résultat de la valeur de l'action de l'étape dans le document de flux de travail.
$.stepOutputs.ValidateImageCompliance.executionArn
LaunchInstance
Utilisez cette étape 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. Le résultat est l'ID d'instance 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 indique le niveau de validation de l'état de l'instance EC2 qui doit être atteint avant que l'étape ne se poursuive.
Délai d'expiration par défaut : 75 minutes
Durée maximale : 720 minutes (12 heures)
Vous pouvez remplacer la valeur par défaut partimeoutSeconds, jusqu'au maximum affiché. 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 votre ressource de configuration d'infrastructure. Par défaut, les instances de build sont arrêtées en cas d'échec de la création de l'image. Cependant, la configuration de l'infrastructure comporte un paramètre permettant de conserver l'instance de build à des fins de dépannage.
Entrées : Le tableau suivant inclut les entrées prises en charge pour cette action d'étape.
| Nom d'entrée | Description | Type | Obligatoire | Par défaut | Contraintes |
|---|---|---|---|---|---|
| image IdOverride | L'image à utiliser pour lancer l'instance | Chaîne | Non |
Étape de construction : image de base de la recette Étape de test : sortie de l'AMI depuis la phase de construction |
Il doit s'agir d'un ID AMI valide |
| 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 la configuration de votre infrastructure | Il doit s'agir de types d'instance valides |
| Attendre | La condition à attendre avant de terminer l'étape du flux de travail et de passer à l'étape suivante | Chaîne | Oui | Aucune | Image Builder prend en chargessmAgent. |
| Bilan de santé | Le niveau de validation de l'état EC2 requis avant le début de l'étape du flux de travail. Spécifiez RUNNING des versions plus rapides avec un minimum de validation, ou STATUS_CHECK_PASSED attendez que les vérifications de statut EC2 soient passées. |
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 | 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 étape pour modifier les attributs des AMI distribuées, tels que les autorisations de lancement et les autres attributs des 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 attachée au pipeline ou à l'image.
Délai d'expiration par défaut : 120 minutes
Durée maximale : 180 minutes (3 heures)
Vous pouvez remplacer la valeur par défaut partimeoutSeconds, jusqu'au maximum affiché. Une valeur supérieure au maximum échoue à la validation.
Annulation : il n'y a aucune annulation pour cette action d'étape.
Entrées : Le tableau suivant inclut les entrées prises en charge pour cette action d'étape.
| Nom d'entrée | Description | Type | Obligatoire | Par défaut | Contraintes |
|---|---|---|---|---|---|
| Images distribuées. $ | 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 | AWS Région de l'AMI distribuée à modifier. | Chaîne | Oui | Obligatoire pour chaque article deattributes. |
|
| Attributs : autorisation de lancement | 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 dans les autorisations de lancement de l'AMI. | Tableau | Non | ||
| attributs:lancement Permission:userGroups | Les groupes d'utilisateurs à ajouter ou à supprimer des autorisations de lancement de l'AMI. | Tableau | Non | ||
| attributs:lancement Permission:organizationArns | Les AWS Organizations ARN à ajouter ou à supprimer des autorisations de lancement pour l'AMI. | Tableau | Non | ||
| attributs:lancement Permission:organizationalUnitArns | L'unité organisationnelle (UO) ARN à 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 | Une liste d'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 du début de la distribution. | Chaîne |
| modifié Images:dateStopped | Heure UTC lorsque 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 le résultat de la valeur de l'action de l'étape dans le document de flux de travail.
$.stepOutputs.ModifyImageAttributesStep.modifiedImages
RegisterImage
Cette étape permet d'enregistrer une nouvelle Amazon Machine Image (AMI) à l'aide de l'API Amazon EC2. RegisterImage Il vous permet de créer une AMI à partir d'un instantané existant ou d'un ensemble d'instantanés, en spécifiant différents attributs d'image.
Délai d'attente par défaut : 540 minutes
Durée maximale : 720 minutes (12 heures)
Vous pouvez remplacer la valeur par défaut partimeoutSeconds, jusqu'au maximum affiché. Une valeur supérieure au maximum échoue à la validation.
Annulation : il n'y a aucune annulation pour cette action d'étape.
Entrées : Le tableau suivant inclut les entrées prises en charge pour cette action d'étape.
| Nom d'entrée | Description | Type | Obligatoire | Par défaut | Contraintes |
|---|---|---|---|---|---|
| application | L'architecture de l'AMI. | Chaîne | Non | Valeurs valides : i386, x86_64, arm64, x86_64_mac, arm64_mac | |
| bloquer DeviceMapping | Bloquer les entrées de mappage des périphériques pour l'AMI. | Tableau | Non | ||
| Mode de démarrage | Mode de démarrage de l'AMI. | Chaîne | Non | Valeurs valides : legacy-bios, uefi, uefi-preferred | |
| description | Description de l'AMI. | Chaîne | Non | ||
| ENASUPPORT | Si la mise en réseau améliorée avec ENA est activée. | Booléen | Non | ||
| Emplacement de l'image | Emplacement du manifeste 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 | ||
| RamdisKid | ID du disque RAM à utiliser. | Chaîne | Non | ||
| racine DeviceName | Le nom du périphérique racine. | Chaîne | Non | Exemple :/dev/sda1 | |
| sriov NetSupport | Mise en réseau améliorée avec 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 | L'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 le résultat de la valeur de l'action de l'étape dans le document de flux de travail.
$.stepOutputs.RegisterNewImage.imageId
Exemple avec un SnapshotId extrait d'une autre étape et des balises de capture d'écran incluses dans l'AMI générée
- name: CreateSnapshot action: RunCommand onFailure: Abort inputs: instanceId: "i-1234567890abcdef0" documentName: "AWS-RunShellScript" parameters: commands: - "aws ec2 create-snapshot --volume-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, consultez la section AWS Systems Manager Exécuter la commande.
Délai d'expiration par défaut : 720 minutes
Durée maximale : 720 minutes (12 heures)
Vous pouvez remplacer la valeur par défaut partimeoutSeconds, jusqu'au maximum affiché. Une valeur supérieure au maximum échoue à la validation.
Annulation : il n'y a aucune annulation pour cette action d'étape.
Entrées : Le tableau suivant inclut les entrées prises en charge pour cette action d'étape.
| Nom d'entrée | Description | Type | Obligatoire | Par défaut | Contraintes |
|---|---|---|---|---|---|
| instanceId | ID de l'instance sur laquelle exécuter le document de commande. | Chaîne | Oui | Il doit s'agir de l'ID d'instance de sortie de l'étape de flux de travail qui a lancé l'instance pour ce flux de travail. | |
| documentName | Nom du document de commande Systems Manager à exécuter. | Chaîne | Oui | ||
| parameters | Une liste de paires clé-valeur pour tous les paramètres requis par le document de commande. | <string>dictionnaire<chaîne, liste > | Conditionnel | ||
| Version du document | Version du document de commande à exécuter. | Chaîne | Non | $DEFAULT |
Sorties : Le tableau suivant inclut les sorties pour cette action d'étape.
| Nom de sortie | Description | Type |
|---|---|---|
| courir CommandId | ID du Systems Manager sendCommand qui a exécuté le document de commande sur l'instance. | Chaîne |
| status | État renvoyé par le Systems ManagersendCommand. | Chaîne |
| output | Sortie renvoyée par le Systems ManagersendCommand. | Liste de chaînes |
Exemple
Spécifiez l'action de l'étape dans le document de flux de travail.
- name:RunCommandDocaction: RunCommand onFailure: Abort inputs: documentName:SampleDocumentparameters: osPlatform: - "linux" instanceId.$: $.stepOutputs.LaunchStep.instanceId
Utilisez le résultat de la valeur de l'action de l'étape dans le document de flux de travail.
$.stepOutputs.RunCommandDoc.status
RunSysPrep
Cette action utilise l'API sendCommand in the Systems Manager pour exécuter le AWSEC2-RunSysprep document pour les instances Windows avant que l'instance de build ne s'arrête pour le snapshot. Ces actions suivent les AWS meilleures pratiques en matière de renforcement et de nettoyage de l'image
Délai d'expiration par défaut : 60 minutes
Durée maximale : 720 minutes (12 heures)
Vous pouvez remplacer la valeur par défaut partimeoutSeconds, jusqu'au maximum affiché. Une valeur supérieure au maximum échoue à la validation.
Annulation : il n'y a aucune annulation pour cette action d'étape.
Entrées : Le tableau suivant inclut les entrées prises en charge pour cette action d'étape.
| Nom d'entrée | Description | Type | Obligatoire | Par défaut | Contraintes |
|---|---|---|---|---|---|
| instanceId | ID de l'instance sur laquelle exécuter le AWSEC2-RunSysprep document. |
Chaîne | Oui | Il doit s'agir de l'ID d'instance de sortie de l'étape de flux de travail qui a lancé l'instance pour ce flux de travail. |
Sorties : Le tableau suivant inclut les sorties pour cette action d'étape.
| Nom de sortie | Description | Type |
|---|---|---|
| courir CommandId | ID du Systems Manager sendCommand qui a exécuté le AWSEC2-RunSysprep document sur l'instance. |
Chaîne |
| status | État renvoyé par le Systems ManagersendCommand. | Chaîne |
| output | Sortie renvoyée par le Systems ManagersendCommand. | Chaîne |
Exemple
Spécifiez l'action de l'étape dans le document de flux de travail.
- name:RunSysprepaction: RunSysPrep onFailure: Abort inputs: instanceId.$: $.stepOutputs.LaunchStep.instanceId
Utilisez le résultat de la valeur de l'action de l'étape dans le document de flux de travail.
$.stepOutputs.RunSysprep.status
SanitizeInstance
Cette étape exécute le script de nettoyage recommandé pour les instances Linux avant que l'instance de build ne s'arrête pour le snapshot. Le script de désinfection permet de garantir que l'image finale respecte les meilleures pratiques de sécurité et que les artefacts ou paramètres de build qui ne devraient pas être répercutés sur votre instantané sont supprimés. Pour plus d'informations sur le script, consultezNettoyage requis après la construction. Cette action de cette étape ne s'applique pas aux images du conteneur.
Image Builder utilise sendCommand l'API de Systems Manager pour exécuter ce script. Pour plus d'informations, consultez la section AWS Systems Manager Exécuter la commande.
Délai d'expiration par défaut : 60 minutes
Durée maximale : 720 minutes (12 heures)
Vous pouvez remplacer la valeur par défaut partimeoutSeconds, jusqu'au maximum affiché. Une valeur supérieure au maximum échoue à la validation.
Annulation : il n'y a aucune annulation pour cette action d'étape.
Entrées : Le tableau suivant inclut les entrées prises en charge pour cette action d'étape.
| Nom d'entrée | Description | Type | Obligatoire | Par défaut | Contraintes |
|---|---|---|---|---|---|
| instanceId | ID de l'instance à désinfecter. | Chaîne | Oui | Il doit s'agir de l'ID d'instance de sortie de l'étape de flux de travail qui a lancé l'instance pour ce flux de travail. |
Sorties : Le tableau suivant inclut les sorties pour cette action d'étape.
| Nom de sortie | Description | Type |
|---|---|---|
| courir CommandId | ID du Systems Manager sendCommand qui a exécuté le script de nettoyage sur l'instance. | Chaîne |
| status | État renvoyé par le Systems ManagersendCommand. | Chaîne |
| output | Sortie renvoyée par le Systems ManagersendCommand. | Chaîne |
Exemple
Spécifiez l'action de l'étape dans le document de flux de travail.
- name:SanitizeStepaction: SanitizeInstance onFailure: Abort inputs: instanceId.$: $.stepOutputs.LaunchStep.instanceId
Utilisez le résultat de la valeur de l'action de l'étape dans le document de flux de travail.
$.stepOutputs.SanitizeStep.status
TerminateInstance
Cette action de cette étape met fin à l'instance que vous spécifiez avec l'instanceIdentrée. Par défaut, il initie la résiliation et passe à l'étape suivante sans attendre. Un processus en arrière-plan gère le nettoyage si la résiliation rencontre des erreurs de service EC2. Pour attendre la fin complète avant de continuer, réglez l'waitForTerminationentrée surtrue.
Délai d'expiration par défaut : 30 minutes
Durée maximale : 720 minutes (12 heures)
Vous pouvez remplacer la valeur par défaut partimeoutSeconds, jusqu'au maximum affiché. Une valeur supérieure au maximum échoue à la validation.
Annulation : il n'y a aucune annulation pour cette action d'étape.
Entrées : Le tableau suivant inclut les entrées prises en charge pour cette action d'étape.
| Nom d'entrée | Description | Type | Obligatoire | Par défaut | 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 continuer. Lorsqu'elle est réglée surtrue, l'étape attend la fin complète (de 10 secondes à plusieurs minutes). |
Booléen | Non | false |
true | false |
Sorties : Il n'y a aucune sortie pour cette action d'étape.
Exemple
Spécifiez l'action de l'étape dans le document de flux de travail.
- name:TerminateInstanceaction: TerminateInstance onFailure: Continue inputs: instanceId.$:i-1234567890abcdef0waitForTermination:false
WaitForAction
Cette étape interrompt le flux de travail en cours d'exécution et attend de recevoir une action externe de la part de l'action d'SendWorkflowStepActionAPI Image Builder. Cette étape publie un EventBridge événement sur votre bus d' EventBridge événements par défaut avec un type de détailEC2 Image Builder Workflow Step Waiting. L'étape peut également envoyer une notification SNS si vous fournissez un ARN de rubrique SNS, ou invoquer une fonction Lambda de manière asynchrone si vous fournissez un nom de fonction Lambda.
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 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 le 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
RESUMEpour continuer ou mettre finSTOPau flux de travail. -
L'étape atteint son délai d'expiration (3 jours par défaut, 7 jours maximum) et le flux de travail échoue.
Le résultat reason auquel vous passez SendWorkflowStepAction est enregistré avec l'étape et est disponible pour les étapes ultérieures en tant que reason sortie de l'étape.
Délai d'expiration par défaut : 3 jours
Délai d'attente maximal : 7 jours (604 800 secondes)
Vous pouvez remplacer la valeur par défaut partimeoutSeconds, jusqu'au maximum affiché. Une valeur supérieure au maximum échoue à la validation.
Annulation : il n'y a aucune annulation pour cette action d'étape.
Entrées : Le tableau suivant inclut les entrées prises en charge pour cette action d'étape.
| Nom d'entrée | Description | Type | Obligatoire | Par défaut | Contraintes |
|---|---|---|---|---|---|
| sns TopicArn | Un ARN de rubrique SNS facultatif auquel 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 une valeur par défaut message/payload. | Chaîne | Non | Doit être une chaîne JSON valide, 16 KIB au maximum |
Sorties : Le tableau suivant inclut les sorties pour cette action d'étape.
| Nom de sortie | Description | Type |
|---|---|---|
| action | Action renvoyée par l'action d'SendWorkflowStepActionAPI. | Chaîne (RESUMEouSTOP) |
| raison | Motif de l'action renvoyée. | Chaîne |
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écifier 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 avec l'invocation de la fonction Lambda.
- name:SendEventAndWaitWithLambdaaction: WaitForAction onFailure: Abort inputs: lambdaFunctionName:ExampleFunctionpayload: | { "imageId": "{{ $.stepOutputs.CreateImageFromInstance.imageId }}", "region": "us-west-2" }
Utilisez le résultat de la valeur de l'action de l'étape dans le document de flux de travail.
$.stepOutputs.SendEventAndWait.reason
WaitForSSMAgent
Cette étape attend qu'une instance EC2 devienne gérable AWS Systems Manager après les périodes attendues d'absence de réponse. Cela est particulièrement utile pour les flux de travail présentant des interruptions d'instance connues, tels que les redémarrages du système, les mises à niveau du système d'exploitation ou les opérations spécifiques à la plate-forme qui déconnectent temporairement l'instance de SSM. Image Builder surveille l'instance jusqu'à ce qu'elle retrouve sa connectivité SSM ou qu'elle expire.
Délai d'expiration par défaut : 60 minutes
Durée maximale : 180 minutes (3 heures)
Vous pouvez remplacer la valeur par défaut partimeoutSeconds, jusqu'au maximum affiché. Une valeur supérieure au maximum échoue à la validation.
Annulation : il n'y a aucune annulation pour cette action d'étape.
Entrées : Le tableau suivant inclut les entrées prises en charge pour cette action d'étape.
| Nom d'entrée | Description | Type | Obligatoire | Par défaut | Contraintes |
|---|---|---|---|---|---|
| instanceId | 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 le résultat de la valeur de l'action de l'étape dans le document de flux de travail.
$.stepOutputs.WaitForInstanceAfterReboot.status