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
Actions prises en charge
ApplyImageConfigurations
Cette étape applique diverses configurations et intégrations au système distribué AMIs, telles que les configurations de licence, les configurations de modèles de lancement, les configurations d'exportation S3, les configurations EC2 Fast Launch et les configurations de paramètres de Systems Manager. Les configurations s'appliquent aux images distribuées uniquement dans le compte source, à l'exception des configurations de paramètres SSM qui peuvent être appliquées entre comptes.
Délai d'expiration par défaut : 360 minutes
Durée maximale : 720 minutes
Annulation : il n'y a aucune annulation pour cette action d'étape.
Entrées : Le tableau suivant inclut les entrées prises en charge pour cette action d'étape.
| Nom d'entrée | Description | Type | Obligatoire | Par défaut | Constaintes |
|---|---|---|---|---|---|
| region | La région de l'image. | Chaîne | Oui | ||
| licenseConfigurationArns | L'ARN de configuration de licence pour l'image. | Tableau | Non | ||
| launchTemplateConfigurations | Tableau | Non | |||
| launchTemplateConfigurations:launchTemplateId | ID du modèle de lancement à appliquer à l'image. | Chaîne | Oui si cela launchTemplateConfigurations est spécifié |
||
| launchTemplateConfigurations: ID du compte | Le compte modèle de lancement IDs à appliquer à l'image. | Chaîne | Non | ||
| launchTemplateConfigurations:setDefaultVersion | Le paramètre de version par défaut du modèle de lancement pour l'image. | Booléen | Non | ||
| s3 ExportConfiguration | Tableau | Non | |||
| S3 ExportConfiguration : Nom du rôle | Nom du rôle de configuration d'exportation S3 pour l'image. | Chaîne | Oui si cela s3ExportConfiguration est spécifié |
||
| s3 ExportConfiguration : diskImageFormat | Le format d'image disque de configuration d'exportation S3 pour l'image. | Chaîne | Oui si cela s3ExportConfiguration est spécifié |
Valeurs autorisées - VMDK|RAW|VHD | |
| S3 : seau S3 ExportConfiguration | Nom du compartiment de configuration d'exportation S3 pour l'image. | Chaîne | Oui si cela s3ExportConfiguration est spécifié |
||
| S3 : préfixe S3 ExportConfiguration | Le préfixe du compartiment de configuration d'exportation S3 pour l'image. | Chaîne | Non | ||
| fastLaunchConfigurations | Configuration de lancement EC2 rapide pour l'image. | Tableau | Non | ||
| fastLaunchConfigurations:activé | EC2 Lancement rapide enabled/disabled de l'image. | Booléen | Oui si cela fastLaunchConfigurations est spécifié |
||
| fastLaunchConfigurations: Configuration des instantanés | EC2 Lancement rapide enabled/disabled de l'image. | Map | Non | ||
| fastLaunchConfigurations:Configuration de la capture instantanée : targetResourceCount | EC2 Nombre de ressources cibles de Fast Launch pour l'image. | Entier | Non | ||
| fastLaunchConfigurations:maxParallelLaunches | EC2 Fast Launch : nombre maximal de lancements parallèles pour l'image. | Entier | Non | ||
| fastLaunchConfigurations: Modèle de lancement | Non | ||||
| fastLaunchConfigurations:Modèle de lancement : launchTemplateId | EC2 ID du modèle de lancement Fast Launch pour l'image. | Chaîne | Non | ||
| fastLaunchConfigurations:Modèle de lancement : launchTemplateName | EC2 Nom du modèle de lancement Fast Launch pour l'image. | Chaîne | Non | ||
| fastLaunchConfigurations:Modèle de lancement : launchTemplateVersion | EC2 Version du modèle de lancement rapide pour l'image. | Chaîne | Non | ||
| ssmParameterConfigurations | Configuration du paramètre SSM pour l'image. | Map | Non | ||
| ssmParameterConfigurations:amiAccountId | ID du compte AMI du paramètre SSM pour l'image. | Chaîne | Non | ||
| ssmParameterConfigurations:Nom du paramètre | Nom du paramètre SSM de l'image. | Chaîne | Oui si cela ssmParameterConfigurations est spécifié |
||
| ssmParameterConfigurations: Type de données | Type de données du paramètre SSM pour l'image. | Chaîne | Non | Valeurs autorisées - text|aws:ec2:image) |
Sorties : Le tableau suivant inclut les sorties pour cette action d'étape.
| Nom de sortie | Description | Type |
|---|---|---|
| Images configurées | Liste des images configurées. | Tableau |
| Images configurées : ID du compte | ID du compte de destination de l'image distribuée. | Chaîne |
| Images configurées : nom | Le nom de l'AMI. | Chaîne |
| Images configurées : AMIid | ID AMI de l'image distribuée. | Chaîne |
| Images configurées : date de début | Heure UTC du début de la distribution. | Chaîne |
| Images configurées : date d'arrêt | Heure UTC lorsque la distribution est terminée. | Chaîne |
| Images configurées : étape | Étape à laquelle la distribution s'est arrêtée. | Terminé| | AssociateLicensesRunning | | UpdateLaunchTemplateRunning | PutSsmParametersRunning | UpdateFastLaunchConfiguration ExportAmiQueued ExportAmiRunning |
| Images configurées : région | Ton AWS de l'image distribuée | Chaîne |
| Images configurées : état | État de la distribution. | Terminé|Échoué|Annulé| TimedOut |
| Images configurées : message d'erreur | Message d'erreur, le cas échéant. | Chaîne |
Exemple
Spécifiez l'action de l'étape dans le document de flux de travail.
- name:ApplyImageConfigurationsaction: ApplyImageConfigurations onFailure: Abort inputs: distributedImages.$: $.stepOutputs.DistributeImageStep.distributedImages
Utilisez le résultat de la valeur de l'action de l'étape dans le document de flux de travail.
$.stepOutputs.ApplyImageConfigurationsStep.configuredImages
BootstrapInstanceForContainer
Cette action d'étape exécute un script de service pour démarrer l'instance avec les exigences minimales requises pour exécuter des flux de travail de conteneurs. Image Builder utilise sendCommand l'API de Systems Manager pour exécuter ce script. Pour plus d'informations, consultez la section AWS Systems Manager Exécuter la commande.
Note
Le script bootstrap installe les packages Docker AWS CLI et Docker qui sont indispensables pour qu'Image Builder puisse créer des conteneurs Docker avec succès. Si vous n'incluez pas cette action, la création de l'image risque d'échouer.
Délai d'expiration par défaut : 60 minutes
Annulation : il n'y a aucune annulation pour cette action d'étape.
Entrées : Le tableau suivant inclut les entrées prises en charge pour cette action d'étape.
| Nom d'entrée | Description | Type | Obligatoire | Par défaut | Constaintes |
|---|---|---|---|---|---|
| instanceId | L'ID de l'instance à démarrer. | Chaîne | Oui | Il doit s'agir de l'ID d'instance de sortie de l'étape de flux de travail qui a lancé l'instance pour ce flux de travail. |
Sorties : Le tableau suivant inclut les sorties pour cette action d'étape.
| Nom de sortie | Description | Type |
|---|---|---|
| runCommandId | ID du Systems Manager sendCommand qui a exécuté le script bootstrap sur l'instance. | Chaîne |
| status | État renvoyé par le Systems ManagersendCommand. | Chaîne |
| output | Sortie renvoyée par le Systems ManagersendCommand. | Chaîne |
Exemple
Spécifiez l'action de l'étape dans le document de flux de travail.
- name: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 exécute l'agent AWS Systems Manager (Systems Manager) sur les EC2 instances qu'il lance pour créer et tester votre image. Image Builder collecte des informations supplémentaires sur l'instance utilisée pendant la phase de construction avec Systems Manager Inventory. Ces informations incluent le nom et la version du système d'exploitation (OS), ainsi que la liste des packages et de leurs versions respectives tels qu'indiqués par votre système d'exploitation.
Note
Cette action de cette étape ne fonctionne que pour les images créées AMIs.
Délai d'expiration par défaut : 30 minutes
Annulation : Image Builder annule toutes les ressources Systems Manager créées au cours de cette étape.
Entrées : Le tableau suivant inclut les entrées prises en charge pour cette action d'étape.
| Nom d'entrée | Description | Type | Obligatoire | Par défaut | Constaintes |
|---|---|---|---|---|---|
| instanceId | L'instance de build à laquelle appliquer les paramètres de métadonnées. | Chaîne | Oui | Il doit s'agir de l'ID d'instance de sortie de l'étape de flux de travail qui a lancé l'instance de génération pour ce flux de travail. |
Sorties : Le tableau suivant inclut les sorties pour cette action d'étape.
| Nom de sortie | Description | Type |
|---|---|---|
| osVersion | Le nom et la version du système d'exploitation collectés à partir de l'instance de build. | Chaîne |
| Identifiant de l'association | L'ID d'association Systems Manager utilisé pour la collecte de l'inventaire. | Chaîne |
Exemple
Spécifiez l'action de l'étape dans le document de flux de travail.
- name: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
Annulation : il n'y a aucune annulation pour cette action d'étape.
Entrées : Le tableau suivant inclut les entrées prises en charge pour cette action d'étape.
| Nom d'entrée | Description | Type | Obligatoire | Par défaut | Constaintes |
|---|---|---|---|---|---|
| instanceId | ID de l'instance sur laquelle le scan a été exécuté. | Chaîne | Oui | Il doit s'agir de l'ID d'instance de sortie de l'étape de flux de travail qui a lancé l'instance pour ce flux de travail. |
Sorties : Le tableau suivant inclut les sorties pour cette action d'étape.
| Nom de sortie | Description | Type |
|---|---|---|
| runCommandId | ID du Systems Manager sendCommand qui a exécuté le script pour collecter les résultats. | Chaîne |
| status | État renvoyé par le Systems ManagersendCommand. | Chaîne |
| output | Sortie renvoyée par le Systems ManagersendCommand. | Chaîne |
Exemple
Spécifiez l'action de l'étape dans le document de flux de travail.
- name: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' EC2 CreateImageAPI Amazon. Pendant le processus de création, l'action de l'étape attend autant que nécessaire pour vérifier que les ressources ont atteint le bon état avant de continuer.
Délai d'expiration par défaut : 720 minutes
Annulation : il n'y a aucune annulation pour cette action d'étape.
Entrées : Le tableau suivant inclut les entrées prises en charge pour cette action d'étape.
| Nom d'entrée | Description | Type | Obligatoire | Par défaut | Constaintes |
|---|---|---|---|---|---|
| instanceId | L'instance à partir de laquelle créer la nouvelle image. | Chaîne | Oui | L'instance correspondant à l'ID d'instance fourni doit être dans un running état au début de cette étape. |
Sorties : Le tableau suivant inclut les sorties pour cette action d'étape.
| Nom de sortie | Description | Type |
|---|---|---|
| imageId | L'ID AMI de l'image créée. | Chaîne |
Exemple
Spécifiez l'action de l'étape dans le document de flux de travail.
- name: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
DistributeImage
Cette étape permet de distribuer une AMI à des régions et à des comptes spécifiques. Il crée des copies de l'AMI dans les régions et les comptes cibles en fonction de la configuration de distribution fournie dans les demandes CreateImage CreateImagePipeline APIs ou des paramètres de distribution personnalisés fournis dans le flux de travail pour remplacer les paramètres de la configuration de distribution.
Délai d'expiration par défaut : 360 minutes
Durée maximale : 720 minutes
Annulation : il n'y a aucune annulation pour cette action d'étape.
Entrées : Le tableau suivant inclut les entrées prises en charge pour cette action d'étape.
| Nom d'entrée | Description | Type | Obligatoire | Par défaut | Constaintes |
|---|---|---|---|---|---|
| region | Liste des régions dans lesquelles distribuer l'image. | Chaîne | Oui | Longueur minimale de 1. Longueur maximale de 1024. | |
| nom | Nom de la configuration de distribution. | Chaîne | Non | ||
| description | Les distributions de la configuration de distribution. | Chaîne | Non | ||
| targetAccountIds | Compte IDs sur lequel distribuer l'image. | Tableau | Non | ||
| Balises AMI | Les balises de la configuration de distribution. | Map | Non | ||
| kmsKeyId | Clés KMS à appliquer à l'image distribuée. | Chaîne | Non |
Sorties : Le tableau suivant inclut les sorties pour cette action d'étape.
| Nom de sortie | Description | Type |
|---|---|---|
| Images distribuées | Une liste d'images distribuées | Tableau |
| Images distribuées : région | AWS Région de l'image distribuée. | Chaîne |
| Images distribuées : nom | Le nom de l'AMI. | Chaîne |
| Images distribuées : Amiid | ID AMI de l'image distribuée. | Chaîne |
| Images distribuées : ID du compte | ID du compte de destination de l'image distribuée. | Chaîne |
| Images distribuées : date de début | Heure UTC du début de la distribution. | Chaîne |
| Images distribuées : date d'arrêt | Heure UTC lorsque la distribution est terminée. | Chaîne |
| Images distribuées : statut | État de la distribution. | Terminé|Échoué|Annulé| TimedOut |
| Images distribuées : étape | Étape à laquelle la distribution s'est arrêtée. | Terminé| CopyAmiRunning |
| Images distribuées : message d'erreur | Message d'erreur, le cas échéant. | Chaîne |
Exemple
Spécifiez l'action de l'étape dans le document de flux de travail.
- name: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
Annulation : il n'y a aucune annulation pour cette action d'étape.
Entrées : Le tableau suivant inclut les entrées prises en charge pour cette action d'étape.
| Nom d'entrée | Description | Type | Obligatoire | Par défaut | Constaintes |
|---|---|---|---|---|---|
| instanceId | L'ID de l'instance sur laquelle les composants doivent s'exécuter. | Chaîne | Oui | Il doit s'agir de l'ID d'instance de sortie de l'étape de flux de travail qui a lancé l'instance pour ce flux de travail. |
Sorties : Le tableau suivant inclut les sorties pour cette action d'étape.
| Nom de sortie | Description | Type |
|---|---|---|
| runCommandId | ID du Systems Manager sendCommand qui a exécuté les composants sur l'instance. | Chaîne |
| status | État renvoyé par le Systems ManagersendCommand. | Chaîne |
| output | Sortie renvoyée par le Systems ManagersendCommand. | Chaîne |
Exemple
Spécifiez l'action de l'étape dans le document de flux de travail.
- name: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
Annulation : il n'y a aucune annulation pour cette action d'étape.
Entrées : Le tableau suivant inclut les entrées prises en charge pour cette action d'étape.
| Nom d'entrée | Description | Type | Obligatoire | Par défaut | Constaintes |
|---|---|---|---|---|---|
| stateMachineArn | L'ARN de la machine d'état Step Functions à exécuter. | Chaîne | Oui | Il doit s'agir d'un ARN de machine à états valide. | |
| input | Données d'entrée JSON à fournir à la machine d'état. | Chaîne | Non | {} | Doit être une chaîne JSON valide, longueur maximale : 16 KiB. |
Sorties : Le tableau suivant inclut les sorties pour cette action d'étape.
| Nom de sortie | Description | Type |
|---|---|---|
| executionArn | L'ARN de l'exécution de la machine à états. | Chaîne |
Autorisations IAM requises
Votre rôle d'exécution personnalisé doit disposer des autorisations suivantes pour utiliser cette action d'étape :
Autoriser les actions
-
states:StartExecution -
states:DescribeExecution
Spécifier les ressources
-
arn:aws:states:us-west-2:111122223333:stateMachine:state-machine-name -
arn:aws:states:us-west-2:111122223333:execution:state-machine-name:*
Exemple
Spécifiez l'action de l'étape dans le document de flux de travail.
- name: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
Cette action lance une instance dans votre instance Compte AWS et attend que l'agent Systems Manager soit exécuté sur l'instance avant de passer à l'étape suivante. L'action de lancement utilise les paramètres de votre recette et les ressources de configuration de l'infrastructure associées à votre image. Par exemple, le type d'instance à lancer provient de la configuration de l'infrastructure. Le résultat est l'ID d'instance de l'instance qu'il a lancée.
L'waitForentrée configure la condition qui satisfait à l'exigence d'achèvement de l'étape.
Délai d'expiration par défaut : 60 minutes
Annulation : pour les instances de build, la restauration exécute l'action que vous avez configurée dans votre ressource de configuration d'infrastructure. Par défaut, les instances de build sont arrêtées en cas d'échec de la création de l'image. Cependant, la configuration de l'infrastructure comporte un paramètre permettant de conserver l'instance de build à des fins de dépannage.
Entrées : Le tableau suivant inclut les entrées prises en charge pour cette action d'étape.
| Nom d'entrée | Description | Type | Obligatoire | Par défaut | Constaintes |
|---|---|---|---|---|---|
| imageIdOverride | L'image à utiliser pour lancer l'instance | Chaîne | Non |
Étape de construction : image de base de la recette Étape de test : sortie de l'AMI depuis la phase de construction |
Il doit s'agir d'un ID AMI valide |
| instanceTypesOverride | Image Builder essaie chaque type d'instance de la liste jusqu'à ce qu'il en trouve un qui se lance correctement | Liste d'éléments String | Non | Types d'instances spécifiés dans la configuration de votre infrastructure | Il doit s'agir de types d'instance valides |
| Attendre | La condition à attendre avant de terminer l'étape du flux de travail et de passer à l'étape suivante | Chaîne | Oui | Image Builder prend en chargessmAgent. |
Sorties : Le tableau suivant inclut les sorties pour cette action d'étape.
| Nom de sortie | Description | Type |
|---|---|---|
| instanceId | ID d'instance de l'instance qui a été lancée. | Chaîne |
Exemple
Spécifiez l'action de l'étape dans le document de flux de travail.
- name:LaunchStepaction: LaunchInstance onFailure: Abort inputs: waitFor:ssmAgent
Utilisez le résultat de l'action de l'étape dans le document de flux de travail.
$.stepOutputs.LaunchStep.instanceId
ModifyImageAttributes
Cette action d'étape modifie les attributs de distributed AMIs, tels que les autorisations de lancement et les autres attributs de l'AMI. Il fonctionne sur la AMIs base de ceux qui ont été distribués aux régions et aux comptes cibles.
Délai d'expiration par défaut : 120 minutes
Durée maximale : 180 minutes
Annulation : il n'y a aucune annulation pour cette action d'étape.
Entrées : Le tableau suivant inclut les entrées prises en charge pour cette action d'étape.
| Nom d'entrée | Description | Type | Obligatoire | Par défaut | Constaintes |
|---|---|---|---|---|---|
| region | Région de l'image. | Chaîne | Oui | ||
| Autorisation de lancement | Non | ||||
| Autorisation de lancement : identifiants utilisateur | L'utilisateur IDs à modifier dans les autorisations de lancement de l'image. | Chaîne | Non | ||
| Autorisation de lancement : groupes d'utilisateurs | Les groupes d'utilisateurs à modifier dans les autorisations de lancement de l'image. | Chaîne | Non | ||
| Autorisation de lancement : OrganizationArns | AWS Organisation ARNs à modifier dans les autorisations de lancement de l'image. | Chaîne | Non | ||
| Autorisation de lancement : organizationalUnitArns | Unité AWS organisationnelle ARNs à modifier dans les autorisations de lancement de l'image. | Chaîne | Non |
Sorties : Le tableau suivant inclut les sorties pour cette action d'étape.
| Nom de sortie | Description | Type |
|---|---|---|
| Images modifiées | Une liste d'images modifiées | Tableau |
| Images modifiées : ID du compte | ID du compte de destination de l'image distribuée. | Chaîne |
| Images modifiées : nom | Le nom de l'AMI. | Chaîne |
| Images modifiées : Amiid | ID AMI de l'image distribuée. | Chaîne |
| Images modifiées : date de début | Heure UTC du début de la distribution. | Chaîne |
| Images modifiées : date d'arrêt | Heure UTC lorsque la distribution est terminée. | Chaîne |
| Images modifiées : étape | Étape à laquelle la distribution s'est arrêtée. | Terminé| ModifyAmiRunning |
| Images modifiées : région | La AWS région de l'image. | Chaîne |
| Images modifiées : statut | État de la distribution. | Terminé|Échoué|Annulé| TimedOut |
| Images modifiées : message d'erreur | Message d'erreur, le cas échéant. | Chaîne |
Exemple
Spécifiez l'action de l'étape dans le document de flux de travail.
- name:ModifyImageAttributesaction: ModifyImageAttributes onFailure: Abort inputs: distributedImages.$: $.stepOutputs.DistributeImageStep.distributedImages
Utilisez le résultat de la valeur de l'action de l'étape dans le document de flux de travail.
$.stepOutputs.ModifyImageAttributesStep.modifiedImages
RegisterImage
Cette étape permet d'enregistrer une nouvelle Amazon Machine Image (AMI) à l'aide de l' EC2 RegisterImage API Amazon. Il vous permet de créer une AMI à partir d'un instantané existant ou d'un ensemble d'instantanés, en spécifiant différents attributs d'image.
Délai d'expiration par défaut : 720 minutes
Annulation : il n'y a aucune annulation pour cette action d'étape.
Entrées : Le tableau suivant inclut les entrées prises en charge pour cette action d'étape.
| Nom d'entrée | Description | Type | Obligatoire | Par défaut | Constaintes |
|---|---|---|---|---|---|
| application | L'architecture de l'AMI. | Chaîne | Non | Valeurs valides : i386, x86_64, arm64, x86_64_mac, arm64_mac | |
| blockDeviceMapping | Bloquer les entrées de mappage des périphériques pour l'AMI. | Tableau | Non | ||
| Mode de démarrage | Mode de démarrage de l'AMI. | Chaîne | Non | Valeurs valides : legacy-bios, uefi, uefi-preferred | |
| description | Description de l'AMI. | Chaîne | Non | ||
| enaSupport | Si la mise en réseau améliorée avec ENA est activée. | Booléen | Non | ||
| Emplacement de l'image | Emplacement du manifeste de l'AMI. | Chaîne | Non | Nécessaire pour les versions basées sur S3 AMIs | |
| Assistance IMDS | Le niveau de IMDSv2 support. | Chaîne | Non | Valeurs valides : v2.0 | |
| includeSnapshotTags | S'il faut inclure les balises du premier instantané défini dans le mappage des périphériques en mode bloc. | Booléen | Non | FALSE |
Lorsque ce paramètre est défini sur true, les balises sont incluses comme suit :
|
| Identifiant du noyau | L'ID du noyau à utiliser. | Chaîne | Non | ||
| RamdisKid | ID du disque RAM à utiliser. | Chaîne | Non | ||
| rootDeviceName | Le nom du périphérique racine. | Chaîne | Non | Exemple : /dev/sda1 | |
| sriovNetSupport | Mise en réseau améliorée avec l'interface Intel 82599 VF. | Chaîne | Non | ||
| Assistance TPM | Support des versions TPM. | Chaîne | Non | Valeurs valides : v2.0 | |
| Données UEFI | Données UEFI codées en Base64. | Chaîne | Non | ||
| Type de virtualisation | Type de virtualisation. | Chaîne | Non | Valeurs valides : hvm, paravirtual |
Sorties : Le tableau suivant inclut les sorties pour cette action d'étape.
| Nom de sortie | Description | Type |
|---|---|---|
| imageId | L'ID AMI de l'image enregistrée. | Chaîne |
Exemple
Spécifiez l'action de l'étape dans le document de flux de travail.
- name: RegisterNewImage action: RegisterImage onFailure: Abort inputs: architecture: "x86_64" bootMode: "uefi" blockDeviceMapping: - DeviceName: "/dev/sda1" Ebs: SnapshotId: "snap-1234567890abcdef0" VolumeSize: 100 VolumeType: "gp3" rootDeviceName: "/dev/sda1" virtualizationType: "hvm"
Utilisez le résultat de la valeur de l'action de l'étape dans le document de flux de travail.
$.stepOutputs.RegisterNewImage.imageId
Exemple avec un SnapshotId extrait d'une autre étape et des balises de capture d'écran incluses dans l'AMI générée
- name: CreateSnapshot action: RunCommand onFailure: Abort inputs: instanceId: "i-1234567890abcdef0" documentName: "AWS-RunShellScript" parameters: commands: - "aws ec2 create-snapshot --volume-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 : 12 heures
Annulation : il n'y a aucune annulation pour cette action d'étape.
Entrées : Le tableau suivant inclut les entrées prises en charge pour cette action d'étape.
| Nom d'entrée | Description | Type | Obligatoire | Par défaut | Constaintes |
|---|---|---|---|---|---|
| instanceId | ID de l'instance sur laquelle exécuter le document de commande. | Chaîne | Oui | Il doit s'agir de l'ID d'instance de sortie de l'étape de flux de travail qui a lancé l'instance pour ce flux de travail. | |
| documentName | Nom du document de commande Systems Manager à exécuter. | Chaîne | Oui | ||
| parameters | Une liste de paires clé-valeur pour tous les paramètres requis par le document de commande. | <string>dictionnaire<chaîne, liste > | Conditionnel | ||
| Version du document | Version du document de commande à exécuter. | Chaîne | Non | $DEFAULT |
Sorties : Le tableau suivant inclut les sorties pour cette action d'étape.
| Nom de sortie | Description | Type |
|---|---|---|
| runCommandId | ID du Systems Manager sendCommand qui a exécuté le document de commande sur l'instance. | Chaîne |
| status | État renvoyé par le Systems ManagersendCommand. | Chaîne |
| output | Sortie renvoyée par le Systems ManagersendCommand. | Liste de chaînes |
Exemple
Spécifiez l'action de l'étape dans le document de flux de travail.
- name: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
Annulation : il n'y a aucune annulation pour cette action d'étape.
Entrées : Le tableau suivant inclut les entrées prises en charge pour cette action d'étape.
| Nom d'entrée | Description | Type | Obligatoire | Par défaut | Constaintes |
|---|---|---|---|---|---|
| instanceId | ID de l'instance sur laquelle exécuter le AWSEC2-RunSysprep document. |
Chaîne | Oui | Il doit s'agir de l'ID d'instance de sortie de l'étape de flux de travail qui a lancé l'instance pour ce flux de travail. |
Sorties : Le tableau suivant inclut les sorties pour cette action d'étape.
| Nom de sortie | Description | Type |
|---|---|---|
| runCommandId | ID du Systems Manager sendCommand qui a exécuté le AWSEC2-RunSysprep document sur l'instance. |
Chaîne |
| status | État renvoyé par le Systems ManagersendCommand. | Chaîne |
| output | Sortie renvoyée par le Systems ManagersendCommand. | Chaîne |
Exemple
Spécifiez l'action de l'étape dans le document de flux de travail.
- name: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
Annulation : il n'y a aucune annulation pour cette action d'étape.
Entrées : Le tableau suivant inclut les entrées prises en charge pour cette action d'étape.
| Nom d'entrée | Description | Type | Obligatoire | Par défaut | Constaintes |
|---|---|---|---|---|---|
| instanceId | ID de l'instance à désinfecter. | Chaîne | Oui | Il doit s'agir de l'ID d'instance de sortie de l'étape de flux de travail qui a lancé l'instance pour ce flux de travail. |
Sorties : Le tableau suivant inclut les sorties pour cette action d'étape.
| Nom de sortie | Description | Type |
|---|---|---|
| runCommandId | ID du Systems Manager sendCommand qui a exécuté le script de nettoyage sur l'instance. | Chaîne |
| status | État renvoyé par le Systems ManagersendCommand. | Chaîne |
| output | Sortie renvoyée par le Systems ManagersendCommand. | Chaîne |
Exemple
Spécifiez l'action de l'étape dans le document de flux de travail.
- name: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 étape met fin à l'instance avec l'identifiant d'instance transmis en entrée.
Délai d'expiration par défaut : 30 minutes
Annulation : il n'y a aucune annulation pour cette action d'étape.
Entrées : Le tableau suivant inclut les entrées prises en charge pour cette action d'étape.
| Nom d'entrée | Description | Type | Obligatoire | Par défaut | Constaintes |
|---|---|---|---|---|---|
| instanceId | L'ID de l'instance à terminer. | Chaîne | Oui |
Sorties : Il n'y a aucune sortie pour cette action d'étape.
Exemple
Spécifiez l'action de l'étape dans le document de flux de travail.
- name:TerminateInstanceaction: TerminateInstance onFailure: Continue inputs: instanceId.$:i-1234567890abcdef0
WaitForAction
Cette étape interrompt le flux de travail en cours d'exécution et attend de recevoir une action externe de la part de l'action d'SendWorkflowStepActionAPI Image Builder. Cette étape publie un EventBridge événement sur votre bus d' EventBridge événements par défaut avec un type de détailEC2 Image Builder Workflow Step Waiting. L'étape peut également envoyer une notification SNS si vous fournissez un ARN de rubrique SNS, ou invoquer une fonction Lambda de manière asynchrone si vous fournissez un nom de fonction Lambda.
Délai d'expiration par défaut : 3 jours
Annulation : il n'y a aucune annulation pour cette action d'étape.
Entrées : Le tableau suivant inclut les entrées prises en charge pour cette action d'étape.
| Nom d'entrée | Description | Type | Obligatoire | Par défaut | Constaintes |
|---|---|---|---|---|---|
| snsTopicArn | Un ARN de rubrique SNS facultatif auquel envoyer une notification lorsque l'étape du flux de travail est en attente. | Chaîne | Non | ||
| lambdaFunctionName | Nom ou ARN facultatif de la fonction Lambda à invoquer de manière asynchrone lorsque l'étape du flux de travail est en attente. | Chaîne | Non | ||
| payload | Chaîne JSON utilisée comme message pour SNS et charge utile pour Lambda. Si elle est fournie, une charge utile personnalisée est encapsulée par défautmessage/payload, used for SNS and Lambda respectively. If not provided, generates default message/payload. | Chaîne | Non | Doit être une chaîne JSON valide, 16 KIB au maximum |
Sorties : Le tableau suivant inclut les sorties pour cette action d'étape.
| Nom de sortie | Description | Type |
|---|---|---|
| action | Action renvoyée par l'action d'SendWorkflowStepActionAPI. | Chaîne (RESUMEouSTOP) |
| raison | Motif de l'action renvoyée. | Chaîne |
Exemple
Spécifiez l'action de l'étape dans le document de flux de travail avec notification SNS.
- name: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 action d'étape attend qu'une EC2 instance devienne gérable AWS Systems Manager après les périodes attendues d'absence de réponse. Cela est particulièrement utile pour les flux de travail présentant des interruptions d'instance connues, tels que les redémarrages du système, les mises à niveau du système d'exploitation ou les opérations spécifiques à la plate-forme qui déconnectent temporairement l'instance de SSM. Image Builder surveille l'instance jusqu'à ce qu'elle retrouve sa connectivité SSM ou qu'elle expire.
Délai d'expiration par défaut : 60 minutes
Durée maximale : 180 minutes
Annulation : il n'y a aucune annulation pour cette action d'étape.
Entrées : Le tableau suivant inclut les entrées prises en charge pour cette action d'étape.
| Nom d'entrée | Description | Type | Obligatoire | Par défaut | Constaintes |
|---|---|---|---|---|---|
| instanceId | ID de l'instance à surveiller pour la connectivité SSM. | Chaîne | Oui | Il doit s'agir d'un ID d' EC2 instance valide |
Sorties : Le tableau suivant inclut les sorties pour cette action d'étape.
| Nom de sortie | Description | Type |
|---|---|---|
| Status | État de connexion de l'agent SSM. | Chaîne |
Exemple
Spécifiez l'action de l'étape dans le document de flux de travail.
- name:WaitForInstanceAfterRebootaction: WaitForSSMAgent onFailure: Abort timeoutInSeconds: 900 # 15 minutes inputs: instanceId.$: $.stepOutputs.LaunchStep.instanceId
Utilisez le résultat de la valeur de l'action de l'étape dans le document de flux de travail.
$.stepOutputs.WaitForInstanceAfterReboot.Status