Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.
Azioni dettagliate supportate per il documento del flusso di lavoro
Questa sezione include i dettagli delle azioni in fase supportate da Image Builder.
Termini utilizzati in questa sezione
- AMI
-
Amazon Machine Image
- ARN
-
Nome della risorsa Amazon
La tabella seguente mostra quali fasi del flusso di lavoro supportano ciascuna azione. Un segno di spunta (X) indica che è possibile utilizzare l'azione del passaggio in quella fase. Image Builder limita alcune azioni a fasi specifiche: ExecuteComponents alle fasi di creazione e test, CollectImageScanFindings alla fase di test eDistributeImage, ModifyImageAttributesApplyImageConfigurations, e DistributeContainerImage alla fase di distribuzione. È possibile utilizzare ogni altra azione in qualsiasi fase.
| Azione graduale | Creazione | Test | Distribuzione | Note |
|---|---|---|---|---|
| LaunchInstance | X | X | X | Avvia un'istanza Amazon EC2. |
| BootstrapInstanceForContainer | X | X | X | Installa Docker e crea quattro container. AWS CLI |
| ExecuteComponents | X | X | Esegue i componenti sull'istanza. Limitato alle fasi di compilazione e test. | |
| CollectImageMetadata | X | X | X | Solo AMI costruisce. |
| RunSysPrep | X | X | X | Compilazioni di Windows. |
| SanitizeInstance | X | X | X | Compilazioni AMI Linux; non per contenitori. |
| CreateImage | X | X | X | Crea un'AMI dall'istanza di compilazione. |
| CreateImageFromIso | X | X | X | Crea un'AMI da un'immagine del disco ISO. |
| RegisterImage | X | X | X | Registra un'AMI a partire da istantanee. |
| DistributeContainerImage | X | Distribuisce un'immagine del contenitore. Limitato alla fase di distribuzione. | ||
| CollectImageScanFindings | X | Raccoglie i risultati della scansione delle immagini. Limitato alla fase di test. Richiede Amazon Inspector e la scansione delle immagini. | ||
| RunCommand | X | X | X | Esegue un documento di comando AWS Systems Manager (Systems Manager). |
| WaitForSSMAgent | X | X | X | Attende la connettività di Systems Manager dopo il riavvio. |
| WaitForAction | X | X | X | Sospende un'azione esterna. |
| ExecuteStateMachine | X | X | X | Esegue una macchina a stati Step Functions. |
| TerminateInstance | X | X | X | Termina un'istanza. Ad esempio, un flusso di lavoro di distribuzione di contenitori termina l'istanza di compilazione dopo aver inviato l'immagine. |
| DistributeImage | X | Copia un'AMI in regioni e account. Limitato alla fase di distribuzione. | ||
| ModifyImageAttributes | X | Modifica le autorizzazioni di avvio dell'AMI. Limitato alla fase di distribuzione. | ||
| ApplyImageConfigurations | X | Applica i modelli di avvio, le licenze, le esportazioni, l'avvio rapido e i parametri di Systems Manager. Limitato alla fase di distribuzione. |
Importante
Un singolo flusso di lavoro distribuisce le AMI o le immagini dei contenitori, non entrambe. Se un flusso di lavoro includeDistributeContainerImage, non può includere ancheDistributeImage,ModifyImageAttributes, o. ApplyImageConfigurations Queste azioni di distribuzione AMI operano sulle AMI di Amazon EC2, mentre DistributeContainerImage operano sulle immagini dei container in Amazon Elastic Container Registry (Amazon ECR).
Azioni supportate
ApplyImageConfigurations
Usa questo passaggio per applicare varie configurazioni e integrazioni alle AMI distribuite, ad esempio configurazioni di licenza, configurazioni dei modelli di avvio, configurazioni di esportazione S3, configurazioni di EC2 Fast Launch e configurazioni dei parametri di Systems Manager. Le configurazioni si applicano alle immagini distribuite solo nell'account sorgente, ad eccezione delle configurazioni dei parametri SSM che possono essere applicate su più account.
Nota
L'configurationsinput è opzionale. Se lo fornisci, Image Builder utilizza gli input del flusso di lavoro e ignora la configurazione di distribuzione allegata. Se la ometti, Image Builder torna alla configurazione di distribuzione allegata alla pipeline o all'immagine.
Timeout predefinito: 360 minuti
Timeout massimo: 720 minuti (12 ore)
È possibile sovrascrivere l'impostazione predefinita contimeoutSeconds, fino al massimo indicato. Un valore superiore al valore massimo non viene convalidato.
Rollback: non è previsto alcun rollback per questa azione.
Input: la tabella seguente include gli input supportati per questa azione. L'distributedImages.$input è obbligatorio. Le righe rimanenti descrivono i campi all'interno di ogni elemento dell'configurationsarray.
| Nome di input | Description | Tipo | Obbligatorio | Predefinita | Vincoli |
|---|---|---|---|---|---|
| Immagini distribuite. $ | L'elenco delle immagini distribuite da configurare. Fai riferimento all'distributedImagesoutput di una DistributeImage fase dello stesso flusso di lavoro. |
Stringa | Sì | Un riferimento JSONPath che inizia con $.stepOutputs. |
|
| configurations | Le configurazioni da applicare alle AMI distribuite, sotto forma di elenco. Ogni elemento è destinato a una AWS regione. | Array | No | ||
| configurazioni: regione | La AWS regione dell'AMI distribuita da configurare. | Stringa | Sì | Obbligatoria per ogni articolo inconfigurations. |
|
| configurazioni: licenza ConfigurationArns | L'ARN di configurazione della licenza per l'immagine. | Array | No | ||
| configurazioni: avvio TemplateConfigurations | Le configurazioni del modello di avvio da applicare alle AMI distribuite. | Array | No | ||
| configurazioni: avvio TemplateConfigurations:launchTemplateId | L'ID del modello di avvio da applicare all'immagine. | Stringa | Sì, se launchTemplateConfigurations è specificato |
||
| configurazioni: avvio TemplateConfigurations:accountId | Gli ID degli account del modello di avvio da applicare all'immagine. | Stringa | No | ||
| configurazioni: avvio TemplateConfigurations:setDefaultVersion | L'impostazione della versione predefinita del modello di avvio per l'immagine. | Boolean | No | ||
| configurazioni: s3 ExportConfiguration | La configurazione di esportazione di Amazon S3 per le AMI distribuite. | Array | No | ||
| configurazioni: s3 ExportConfiguration:roleName | Il nome del ruolo di configurazione di esportazione di Amazon S3 per l'immagine. | Stringa | Sì, se s3ExportConfiguration è specificato |
||
| configurazioni: s3 ExportConfiguration:diskImageFormat | Il formato di immagine del disco di configurazione di esportazione di Amazon S3 per l'immagine. | Stringa | Sì, se s3ExportConfiguration è specificato |
Valori consentiti - VMDK|RAW|VHD | |
| configurazioni: s3 ExportConfiguration:s3Bucket | Il nome del bucket di configurazione di esportazione di Amazon S3 per l'immagine. | Stringa | Sì, se è specificato s3ExportConfiguration |
||
| configurazioni: s3 ExportConfiguration:s3Prefix | Il prefisso del bucket di configurazione di esportazione di Amazon S3 per l'immagine. | Stringa | No | ||
| configurazioni: veloci LaunchConfigurations | La configurazione Amazon EC2 Fast Launch per l'immagine. | Array | No | ||
| configurazioni: veloci LaunchConfigurations:enabled | Se Amazon EC2 Fast Launch è abilitato per l'immagine. | Booleano | Sì, se fastLaunchConfigurations è specificato |
||
| configurazioni: veloci LaunchConfigurations:snapshotConfiguration | La configurazione delle istantanee per il pre-provisioning delle istantanee di Amazon EC2 Fast Launch. | Eseguire la mappatura | No | ||
| configurazioni: veloci LaunchConfigurations:snapshotConfiguration:targetResourceCount | Il numero di risorse target di Amazon EC2 Fast Launch per l'immagine. | Numero intero | No | ||
| configurazioni: veloci LaunchConfigurations:maxParallelLaunches | Il numero massimo di avvii paralleli di Amazon EC2 Fast Launch per l'immagine. | Numero intero | No | ||
| configurazioni: veloce LaunchConfigurations:launchTemplate | Il modello di lancio utilizzato da Amazon EC2 Fast Launch per preparare istantanee predefinite. | Eseguire la mappatura | No | ||
| configurazioni: veloci LaunchConfigurations:launchTemplate:launchTemplateId | L'ID del modello di avvio Amazon EC2 Fast Launch per l'immagine. | Stringa | No | ||
| configurazioni: veloci LaunchConfigurations:launchTemplate:launchTemplateName | Il nome del modello di avvio Amazon EC2 Fast Launch per l'immagine. | Stringa | No | ||
| configurazioni: veloci LaunchConfigurations:launchTemplate:launchTemplateVersion | La versione del modello di avvio Amazon EC2 Fast Launch per l'immagine. | Stringa | No | ||
| configurazioni: ssm ParameterConfigurations | La configurazione dei parametri di Systems Manager per l'immagine. | Eseguire la mappatura | No | ||
| configurazioni: ssm ParameterConfigurations:amiAccountId | L'ID dell'account AMI del parametro Systems Manager per l'immagine. | Stringa | No | ||
| configurazioni: ssm ParameterConfigurations:parameterName | Il nome del parametro Systems Manager per l'immagine. | Stringa | Sì, se ssmParameterConfigurations è specificato |
||
| configurazioni: ssm ParameterConfigurations:dataType | Il tipo di dati del parametro Systems Manager per l'immagine. | Stringa | No | Valori consentiti - text|aws:ec2:image) |
Risultati: la tabella seguente include gli output per questa azione.
| Nome output | Description | Tipo |
|---|---|---|
| Immagini configurate | Un elenco di immagini configurate. | Array |
| configurato Images:accountId | L'ID dell'account di destinazione dell'immagine distribuita. | Stringa |
| configurato Images:name | Il nome dell'AMI. | Stringa |
| configurato Images:amiId | L'ID AMI dell'immagine distribuita. | Stringa |
| configurato Images:dateStarted | ora UTC in cui è iniziata la distribuzione. | Stringa |
| configurato Images:dateStopped | ora UTC al termine della distribuzione. | Stringa |
| configurato Images:step | La fase in cui si è interrotta la distribuzione. | Completato| AssociateLicensesRunning | | UpdateLaunchTemplateRunning | PutSsmParametersRunning | UpdateFastLaunchConfiguration ExportAmiQueued ExportAmiRunning |
| configurato Images:region | La AWS regione dell'immagine distribuita. | Stringa |
| configurato Images:status | stato della distribuzione. | Completato|Fallito|Annullato| TimedOut |
| configurato Images:errorMessage | Messaggio di errore, se presente. | Stringa |
Esempio
Specifica l'azione della fase nel documento del flusso di lavoro.
- 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
Utilizza l'output del valore dell'azione del passaggio nel documento del flusso di lavoro.
$.stepOutputs.ApplyImageConfigurationsStep.configuredImages
BootstrapInstanceForContainer
Questa azione di fase esegue uno script di servizio per avviare l'istanza con i requisiti minimi per eseguire i flussi di lavoro dei container. Image Builder utilizza l'sendCommandAPI di Systems Manager per eseguire questo script. Per ulteriori informazioni, vedere AWS Systems Manager Run Command.
Nota
Lo script bootstrap installa i pacchetti Docker AWS CLI e Docker che sono i prerequisiti per Image Builder per creare correttamente i contenitori Docker. Se non includi questo passaggio, la creazione dell'immagine potrebbe fallire.
Timeout predefinito: 60 minuti
Timeout massimo: 720 minuti (12 ore)
È possibile sovrascrivere l'impostazione predefinita contimeoutSeconds, fino al massimo indicato. Un valore superiore al valore massimo non viene convalidato.
Rollback: non è previsto alcun rollback per questa azione.
Input: la tabella seguente include gli input supportati per questa azione.
| Nome di input | Description | Tipo | Obbligatorio | Predefinita | Vincoli |
|---|---|---|---|---|---|
| instanceId | L'ID dell'istanza da avviare. | Stringa | Sì | Deve essere l'ID dell'istanza di output della fase del flusso di lavoro che ha avviato l'istanza per questo flusso di lavoro. |
Risultati: la tabella seguente include gli output per questa azione di fase.
| Nome output | Description | Tipo |
|---|---|---|
| correre CommandId | L'ID del Systems Manager sendCommand che ha eseguito lo script bootstrap sull'istanza. | Stringa |
| status | Lo stato restituito dal Systems ManagersendCommand. | Stringa |
| output | Output restituito dal Systems ManagersendCommand. | Stringa |
Esempio
Specificare l'azione della fase nel documento del flusso di lavoro.
- name:ContainerBootstrapStepaction: BootstrapInstanceForContainer onFailure: Abort inputs: instanceId.$: $.stepOutputs.LaunchStep.instanceId
Utilizza l'output del valore dell'azione del passaggio nel documento del flusso di lavoro.
$.stepOutputs.ContainerBootstrapStep.status
CollectImageMetadata
Questa azione in fase è valida solo per la creazione di flussi di lavoro.
EC2 Image Builder esegue l'agente AWS Systems Manager (Systems Manager) sulle istanze EC2 avviate per creare e testare l'immagine. Image Builder raccoglie informazioni aggiuntive sull'istanza utilizzata durante la fase di compilazione con Systems Manager Inventory. https://docs.aws.amazon.com/systems-manager/latest/userguide/systems-manager-inventory.html Queste informazioni includono il nome e la versione del sistema operativo (OS), nonché l'elenco dei pacchetti e le rispettive versioni riportati dal sistema operativo.
Nota
Questa operazione è valida solo per le immagini che creano AMI.
Timeout predefinito: 30 minuti
Timeout massimo: 720 minuti (12 ore)
È possibile sovrascrivere l'impostazione predefinita contimeoutSeconds, fino al massimo indicato. Un valore superiore al valore massimo non viene convalidato.
Rollback: Image Builder ripristina tutte le risorse di Systems Manager create durante questo passaggio.
Input: la tabella seguente include gli input supportati per questa azione.
| Nome di input | Description | Tipo | Obbligatorio | Predefinita | Vincoli |
|---|---|---|---|---|---|
| instanceId | L'istanza di compilazione a cui applicare le impostazioni dei metadati. | Stringa | Sì | Deve essere l'ID dell'istanza di output della fase del flusso di lavoro che ha avviato l'istanza di compilazione per questo flusso di lavoro. |
Risultati: la tabella seguente include gli output per questa azione di fase.
| Nome output | Description | Tipo |
|---|---|---|
| osVersion | Il nome e la versione del sistema operativo raccolti dall'istanza di compilazione. | Stringa |
| ID di associazione | L'ID di associazione Systems Manager utilizzato per la raccolta dell'inventario. | Stringa |
Esempio
Specificare l'azione della fase nel documento del flusso di lavoro.
- name:CollectMetadataStepaction: CollectImageMetadata onFailure: Abort inputs: instanceId: $.stepOutputs.LaunchStep.instanceId
Utilizza l'output dell'azione Step nel documento del workflow.
$.stepOutputs.CollectMetadataStep.osVersion
CollectImageScanFindings
Se Amazon Inspector è abilitato per il tuo account e la scansione delle immagini è abilitata per la tua pipeline, questo passaggio raccoglie i risultati della scansione delle immagini segnalati da Amazon Inspector per la tua istanza di test. Questa operazione non è disponibile per i flussi di lavoro di compilazione.
Timeout predefinito: 120 minuti
Timeout massimo: 720 minuti (12 ore)
È possibile sovrascrivere l'impostazione predefinita contimeoutSeconds, fino al massimo indicato. Un valore superiore al valore massimo non viene convalidato.
Rollback: non è previsto alcun rollback per questa azione.
Input: la tabella seguente include gli input supportati per questa azione.
| Nome di input | Description | Tipo | Obbligatorio | Predefinita | Vincoli |
|---|---|---|---|---|---|
| instanceId | L'ID dell'istanza su cui è stata eseguita la scansione. | Stringa | Sì | Deve essere l'ID dell'istanza di output della fase del flusso di lavoro che ha avviato l'istanza per questo flusso di lavoro. |
Risultati: la tabella seguente include gli output per questa azione di fase.
| Nome output | Description | Tipo |
|---|---|---|
| correre CommandId | L'ID del Systems Manager sendCommand che ha eseguito lo script per raccogliere i risultati. | Stringa |
| status | Lo stato restituito dal Systems ManagersendCommand. | Stringa |
| output | Output restituito dal Systems ManagersendCommand. | Stringa |
Esempio
Specifica l'azione del passaggio nel documento del flusso di lavoro.
- name:CollectFindingsStepaction: CollectImageScanFindings onFailure: Abort inputs: instanceId.$: $.stepOutputs.LaunchStep.instanceId
Utilizza l'output del valore dell'azione del passaggio nel documento del flusso di lavoro.
$.stepOutputs.CollectFindingsStep.status
CreateImage
Questa azione in fase crea un'immagine da un'istanza in esecuzione con l'CreateImageAPI Amazon EC2. Durante il processo di creazione, la fase successiva attende se necessario per verificare che le risorse abbiano raggiunto lo stato corretto prima di continuare.
Timeout predefinito: 720 minuti
Timeout massimo: 3 giorni (259.200 secondi)
È possibile sovrascrivere l'impostazione predefinita contimeoutSeconds, fino al massimo indicato. Un valore superiore al valore massimo non viene convalidato.
Rollback: non è previsto alcun rollback per questa azione.
Input: la tabella seguente include gli input supportati per questa azione.
| Nome di input | Description | Tipo | Obbligatorio | Predefinita | Vincoli |
|---|---|---|---|---|---|
| instanceId | L'istanza da cui creare la nuova immagine. | Stringa | Sì | L'istanza per l'ID di istanza fornito deve essere in uno running stato all'inizio di questo passaggio. |
Risultati: la tabella seguente include gli output per questa azione in fase.
| Nome output | Description | Tipo |
|---|---|---|
| imageId | L'ID AMI dell'immagine creata. | Stringa |
Esempio
Specifica l'azione della fase nel documento del flusso di lavoro.
- name:CreateImageFromInstanceaction: CreateImage onFailure: Abort inputs: instanceId.$: "i-1234567890abcdef0"
Utilizza l'output del valore dell'azione del passaggio nel documento del flusso di lavoro.
$.stepOutputs.CreateImageFromInstance.imageId
CreateImageFromIso
Usa questo passaggio per creare un'Amazon Machine Image (AMI) da un'immagine del disco ISO sull'istanza di compilazione. Usalo in un flusso di lavoro di compilazione quando l'origine è un file ISO anziché un'AMI di base. Image Builder converte l'ISO in un'AMI e attende che le risorse raggiungano lo stato richiesto prima di continuare.
Nota
Questa azione ha gli stessi requisiti dell'importazione di un'immagine del disco ISO. Per ulteriori informazioni, consulta Importa immagini disco ISO di Windows verificate con Image Builder.
Timeout predefinito: 720 minuti
Timeout massimo: 720 minuti (12 ore)
È possibile sovrascrivere l'impostazione predefinita contimeoutSeconds, fino al massimo indicato. Un valore superiore al valore massimo non viene convalidato.
Rollback: non è previsto alcun rollback per questa azione.
Input: la tabella seguente include gli input supportati per questa azione.
| Nome di input | Description | Tipo | Obbligatorio | Predefinita | Vincoli |
|---|---|---|---|---|---|
| instanceId | L'ID dell'istanza di compilazione che contiene l'immagine del disco ISO. | Stringa | Sì | Deve essere l'ID dell'istanza di output della fase del flusso di lavoro che ha avviato l'istanza di compilazione per questo flusso di lavoro. |
Risultati: la tabella seguente include gli output per questa azione di fase.
| Nome output | Description | Tipo |
|---|---|---|
| Aminame | Il nome dell'AMI creata dal passaggio. | Stringa |
| ID istantanea | L'ID dell'istantanea che supporta l'AMI. | Stringa |
| architecture | L'architettura dell'AMI (x86_64orarm64). |
Stringa |
Esempio
Specifica l'azione della fase nel documento del flusso di lavoro.
- name:CreateImageFromIsoStepaction: CreateImageFromIso onFailure: Abort inputs: instanceId.$: $.stepOutputs.LaunchStep.instanceId
Utilizza l'output del valore dell'azione del passaggio nel documento del flusso di lavoro.
$.stepOutputs.CreateImageFromIsoStep.amiName
DistributeContainerImage
Usa questo passaggio per distribuire un'immagine del contenitore creata in fase di creazione nei repository Amazon ECR nelle regioni di destinazione definite per l'immagine. Usa questa azione in un flusso di lavoro di distribuzione per le immagini container (DOCKER). Funziona come controparte contenitore-immagine di. DistributeImage
Questa operazione esegue un comando di Systems Manager sull'istanza di compilazione per inviare l'immagine del contenitore. L'istanza deve avere Docker e deve essere AWS CLI installato. Per ulteriori informazioni, consulta BootstrapInstanceForContainer.
Importante
Un flusso di lavoro che include DistributeContainerImage non può includere ancheDistributeImage,ModifyImageAttributes, oApplyImageConfigurations. Un singolo flusso di lavoro distribuisce le immagini dei contenitori o le AMI, non entrambe.
Timeout predefinito: 120 minuti
Timeout massimo: 720 minuti (12 ore)
È possibile sovrascrivere l'impostazione predefinita contimeoutSeconds, fino al massimo indicato. Un valore superiore al valore massimo non viene convalidato.
Rollback: non è previsto alcun rollback per questa azione.
Input: la tabella seguente include gli input supportati per questa azione.
| Nome di input | Description | Tipo | Obbligatorio | Predefinita | Vincoli |
|---|---|---|---|---|---|
| instanceId | L'ID dell'istanza di compilazione che contiene l'immagine del contenitore. | Stringa | Sì | Deve essere l'ID dell'istanza di output della fase del flusso di lavoro che ha avviato l'istanza di compilazione per questo flusso di lavoro. |
Risultati: la tabella seguente include gli output per questa azione di fase.
| Nome output | Description | Tipo |
|---|---|---|
| status | Lo stato restituito dal Systems Manager. sendCommand | Stringa |
| Regioni riuscite | Le regioni in cui la distribuzione ha avuto successo. | Array |
| Regioni fallite | Le regioni in cui la distribuzione non è riuscita. | Array |
Esempio
Specifica l'azione della fase nel documento del flusso di lavoro.
- name:DistributeContaineraction: DistributeContainerImage onFailure: Abort inputs: instanceId.$: $.stepOutputs.LaunchStep.instanceId
Utilizza l'output del valore dell'azione del passaggio nel documento del flusso di lavoro.
$.stepOutputs.DistributeContainer.status
DistributeImage
Questa azione di fase distribuisce un'AMI alle regioni e agli account di destinazione specificati. Utilizza la configurazione di distribuzione fornita dall'utente CreateImage o CreateImagePipeline dalle impostazioni di distribuzione personalizzate del flusso di lavoro che sostituiscono la configurazione predefinita.
Nota
L'distributionsinput è facoltativo. Se lo fornisci, Image Builder utilizza gli input del flusso di lavoro e ignora la configurazione di distribuzione allegata. Se la ometti, Image Builder torna alla configurazione di distribuzione allegata alla pipeline o all'immagine.
Timeout predefinito: 360 minuti
Timeout massimo: 720 minuti (12 ore)
È possibile sovrascrivere l'impostazione predefinita contimeoutSeconds, fino al massimo indicato. Un valore superiore al valore massimo non viene convalidato.
Rollback: non è previsto alcun rollback per questa azione.
Input: la tabella seguente include gli input supportati per questa azione.
| Nome di input | Description | Tipo | Obbligatorio | Predefinita | Vincoli |
|---|---|---|---|---|---|
| distribuzioni | Le impostazioni di distribuzione per l'AMI, sotto forma di elenco. Ogni articolo è destinato a una AWS regione. Se si omette questo input, Image Builder utilizza la configurazione di distribuzione allegata alla pipeline o all'immagine. | Array | No | ||
| distribuzioni:regione | La AWS Regione a cui distribuire l'AMI. | Stringa | Sì | Lunghezza minima pari a 1. La lunghezza massima è 1024 caratteri. | |
| distribuzioni:nome | Il nome da applicare all'AMI distribuita. | Stringa | No | ||
| distribuzioni: descrizione | La descrizione da applicare all'AMI distribuita. | Stringa | No | ||
| distribuzioni: obiettivo AccountIds | Gli ID degli account a cui distribuire l'AMI. | Array | No | ||
| Distribuzioni: AMI Tags | I tag da applicare all'AMI distribuito. | Eseguire la mappatura | No | Massimo 50 tag. | |
| distribuzioni: km KeyId | La chiave KMS da utilizzare per crittografare l'AMI distribuita. | Stringa | No |
Risultati: la tabella seguente include gli output per questa azione in fase.
| Nome output | Description | Tipo |
|---|---|---|
| Immagini distribuite | Un elenco di immagini distribuite | Array |
| distribuito Images:region | La AWS regione dell'immagine distribuita. | Stringa |
| distribuita Images:name | Il nome dell'AMI. | Stringa |
| distribuito Images:amiId | L'ID AMI dell'immagine distribuita. | Stringa |
| distribuito Images:accountId | L'ID dell'account di destinazione dell'immagine distribuita. | Stringa |
| distribuito Images:dateStarted | ora UTC in cui è iniziata la distribuzione. | Stringa |
| distribuito Images:dateStopped | ora UTC al termine della distribuzione. | Stringa |
| distribuito Images:status | stato della distribuzione. | Completato|Fallito|Annullato| TimedOut |
| distribuita Images:step | La fase in cui si è interrotta la distribuzione. | Completato| CopyAmiRunning |
| distribuita Images:errorMessage | Messaggio di errore, se presente. | Stringa |
Esempio
Specifica l'azione della fase nel documento del flusso di lavoro.
- 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}}"
Utilizza l'output del valore dell'azione del passaggio nel documento del flusso di lavoro.
$.stepOutputs.DistributeImageStep.distributedImages
ExecuteComponents
Questa azione di fase esegue i componenti specificati nella ricetta per l'immagine corrente in fase di creazione. I flussi di lavoro di compilazione eseguono i componenti di compilazione sull'istanza di compilazione. I flussi di lavoro di test eseguono i componenti di test solo sull'istanza di test.
Image Builder utilizza l'sendCommandAPI di Systems Manager per eseguire i componenti. Per ulteriori informazioni, vedere AWS Systems Manager Run Command.
Timeout predefinito: 720 minuti
Timeout massimo: 1 giorno (24 ore)
È possibile sovrascrivere l'impostazione predefinita contimeoutSeconds, fino al massimo indicato. Un valore superiore al valore massimo non viene convalidato.
Rollback: non è previsto alcun rollback per questa azione.
Input: la tabella seguente include gli input supportati per questa azione.
| Nome di input | Description | Tipo | Obbligatorio | Predefinita | Vincoli |
|---|---|---|---|---|---|
| instanceId | L'ID dell'istanza su cui devono essere eseguiti i componenti. | Stringa | Sì | Deve essere l'ID dell'istanza di output della fase del flusso di lavoro che ha avviato l'istanza per questo flusso di lavoro. |
Risultati: la tabella seguente include gli output per questa azione di fase.
| Nome output | Description | Tipo |
|---|---|---|
| correre CommandId | L'ID del Systems Manager sendCommand che ha eseguito i componenti sull'istanza. | Stringa |
| status | Lo stato restituito dal Systems ManagersendCommand. | Stringa |
| output | Output restituito dal Systems ManagersendCommand. | Stringa |
Esempio
Specificare l'azione della fase nel documento del flusso di lavoro.
- name:ExecComponentsStepaction: ExecuteComponents onFailure: Abort inputs: instanceId: $.stepOutputs.LaunchStep.instanceId
Utilizza l'output dell'azione Step nel documento del workflow.
$.stepOutputs.ExecComponentsStep.status
ExecuteStateMachine
Questa azione di fase avvia l'esecuzione di una macchina a AWS Step Functions stati da un flusso di lavoro di Image Builder. Image Builder utilizza l'StartExecutionAPI Step Functions per avviare la macchina a stati e attende il completamento. Ciò è utile per integrare flussi di lavoro complessi, processi di convalida della conformità o certificazione nella pipeline di creazione di immagini.
Per ulteriori informazioni, consulta Informazioni sulle macchine a stati in Step Functions nella Guida per gli sviluppatori. AWS Step Functions
Timeout predefinito: 6 ore
Timeout massimo: 24 ore
È possibile sovrascrivere l'impostazione predefinita contimeoutSeconds, fino al massimo indicato. Un valore superiore al valore massimo non viene convalidato.
Rollback: non è previsto alcun rollback per questa azione.
Input: la tabella seguente include gli input supportati per questa azione.
| Nome di input | Description | Tipo | Obbligatorio | Predefinita | Vincoli |
|---|---|---|---|---|---|
| stato MachineArn | L'ARN della macchina a stati Step Functions da eseguire. | Stringa | Sì | Deve essere un ARN valido per la macchina a stati. | |
| input | Dati di input JSON da fornire alla macchina a stati. | Stringa | No | {} | Deve essere una stringa JSON valida, lunghezza massima: 16 KiB. |
Risultati: la tabella seguente include gli output per questa azione in fase.
| Nome output | Description | Tipo |
|---|---|---|
| executionArn | L'ARN dell'esecuzione della macchina a stati. | Stringa |
| output | L'output dell'esecuzione della macchina a stati. | Stringa |
Sono richieste le autorizzazioni IAM
Il ruolo di esecuzione personalizzato deve disporre delle seguenti autorizzazioni per utilizzare questa azione:
Consenti azioni
-
states:StartExecution -
states:DescribeExecution
Specifica le risorse
-
arn:aws:states:us-west-2:111122223333:stateMachine:state-machine-name -
arn:aws:states:us-west-2:111122223333:execution:state-machine-name:*
Esempio
Specifica l'azione della fase nel documento del flusso di lavoro.
- 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"] }
Utilizza l'output del valore dell'azione del passaggio nel documento del flusso di lavoro.
$.stepOutputs.ValidateImageCompliance.executionArn
LaunchInstance
Usa questo passaggio per avviare un'istanza nel tuo Account AWS. L'azione attende che l'istanza soddisfi la condizione di controllo dello stato specificata e che l'agente Systems Manager sia in esecuzione prima di procedere al passaggio successivo. L'azione di avvio utilizza le impostazioni della ricetta e delle risorse di configurazione dell'infrastruttura. Ad esempio, il tipo di istanza da avviare proviene dalla configurazione dell'infrastruttura. L'output è l'ID dell'istanza avviata.
L'waitForinput configura la condizione che soddisfa il requisito di completamento della fase. L'healthCheckinput specifica il livello di convalida dello stato dell'istanza EC2 che deve superare prima che la fase proceda.
Timeout predefinito: 75 minuti
Timeout massimo: 720 minuti (12 ore)
È possibile sovrascrivere l'impostazione predefinita contimeoutSeconds, fino al massimo indicato. Un valore superiore al valore massimo non viene convalidato.
Rollback: per le istanze di compilazione, il rollback esegue l'azione configurata nella risorsa di configurazione dell'infrastruttura. Per impostazione predefinita, le istanze di compilazione vengono terminate se la creazione dell'immagine non riesce. Tuttavia, nella configurazione dell'infrastruttura è presente un'impostazione per mantenere l'istanza di compilazione per la risoluzione dei problemi.
Ingressi: la tabella seguente include gli input supportati per questa azione.
| Nome di input | Description | Tipo | Obbligatorio | Predefinita | Vincoli |
|---|---|---|---|---|---|
| immagine IdOverride | L'immagine da usare per lanciare l'istanza | Stringa | No |
Fase di creazione: immagine di base della ricetta dell'immagine Fase di test: uscita dell'AMI dalla fase di compilazione |
Deve essere un ID AMI valido |
| istanza TypesOverride | Image Builder prova ogni tipo di istanza nell'elenco finché non ne trova una che si avvia correttamente | Elenco di String | No | Tipi di istanza specificati nella configurazione dell'infrastruttura | Devono essere tipi di istanza validi |
| Attendi | La condizione da attendere prima di completare la fase del flusso di lavoro e passare alla fase successiva | Stringa | Sì | Nessuno | Image Builder supportassmAgent. |
| HealthCheck | Il livello di convalida dello stato di integrità EC2 richiesto prima di procedere con la fase del flusso di lavoro. Specifica RUNNING per build più veloci con una convalida minima o attendi il superamento dei controlli STATUS_CHECK_PASSED di stato di EC2. |
Stringa | No | STATUS_CHECK_PASSED |
Valori validi: RUNNING | STATUS_CHECK_PASSED. |
Risultati: la tabella seguente include gli output per questa azione in fase.
| Nome output | Description | Tipo |
|---|---|---|
| instanceId | L'ID dell'istanza avviata. | Stringa |
Esempio
Specifica l'azione della fase nel documento del flusso di lavoro.
- name:LaunchStepaction: LaunchInstance onFailure: Abort inputs: healthCheck: "RUNNING" waitFor:ssmAgent
Utilizza l'output dell'azione Step nel documento del workflow.
$.stepOutputs.LaunchStep.instanceId
ModifyImageAttributes
Usa questo passaggio per modificare gli attributi delle AMI distribuite, come le autorizzazioni di avvio e altri attributi AMI. Funziona su AMI che sono state distribuite nelle regioni e negli account di destinazione.
Nota
L'attributesinput è opzionale. Se lo fornisci, Image Builder utilizza gli input del flusso di lavoro e ignora la configurazione di distribuzione allegata. Se la ometti, Image Builder torna alla configurazione di distribuzione allegata alla pipeline o all'immagine.
Timeout predefinito: 120 minuti
Timeout massimo: 180 minuti (3 ore)
È possibile sovrascrivere l'impostazione predefinita contimeoutSeconds, fino al massimo indicato. Un valore superiore al valore massimo non viene convalidato.
Rollback: non è previsto alcun rollback per questa azione.
Input: la tabella seguente include gli input supportati per questa azione.
| Nome di input | Description | Tipo | Obbligatorio | Predefinita | Vincoli |
|---|---|---|---|---|---|
| Immagini distribuite. $ | L'elenco delle immagini distribuite da modificare. Fai riferimento all'distributedImagesoutput di una DistributeImage fase dello stesso flusso di lavoro. |
Stringa | Sì | Un riferimento JSONPath che inizia con $.stepOutputs. |
|
| attributes | Gli attributi dell'immagine da modificare, sotto forma di elenco. Ogni elemento è destinato a una AWS regione. | Array | No | ||
| attributi: regione | La AWS regione dell'AMI distribuito da modificare. | Stringa | Sì | Obbligatoria per ogni articolo inattributes. |
|
| Attributi: autorizzazione di avvio | Le impostazioni dell'autorizzazione di avvio da applicare all'AMI distribuita. | Eseguire la mappatura | No | ||
| attributi: launch Permission:userIds | Gli ID degli account da aggiungere o rimuovere dalle autorizzazioni di avvio per l'AMI. | Array | No | ||
| attributi: launch Permission:userGroups | I gruppi di utenti da aggiungere o rimuovere dai permessi di avvio per l'AMI. | Array | No | ||
| attributi: launch Permission:organizationArns | Gli ARN AWS delle organizzazioni da aggiungere o rimuovere dai permessi di avvio per l'AMI. | Array | No | ||
| attributi: launch Permission:organizationalUnitArns | L'unità organizzativa (OU) da aggiungere o rimuovere dalle autorizzazioni di avvio per l'AMI. | Array | No |
Risultati: la tabella seguente include i risultati per questa azione.
| Nome output | Description | Tipo |
|---|---|---|
| Immagini modificate | Un elenco di immagini modificate | Array |
| modificato Images:accountId | L'ID dell'account di destinazione dell'immagine distribuita. | Stringa |
| modificato Images:name | Il nome dell'AMI. | Stringa |
| modificato Images:amiId | L'ID AMI dell'immagine distribuita. | Stringa |
| modificato Images:dateStarted | ora UTC di inizio della distribuzione. | Stringa |
| modificato Images:dateStopped | ora UTC al termine della distribuzione. | Stringa |
| modificato Images:step | La fase in cui si è interrotta la distribuzione. | Completato| ModifyAmiRunning |
| modificato Images:region | La AWS regione dell'immagine. | Stringa |
| modificata Images:status | Stato della distribuzione. | Completato|Fallito|Annullato| TimedOut |
| modificato Images:errorMessage | Messaggio di errore, se presente. | Stringa |
Esempio
Specifica l'azione della fase nel documento del flusso di lavoro.
- name:ModifyImageAttributesaction: ModifyImageAttributes onFailure: Abort inputs: distributedImages.$: $.stepOutputs.DistributeImageStep.distributedImages attributes: - region:us-west-2launchPermission: userIds: - "111122223333"
Utilizza l'output del valore dell'azione del passaggio nel documento del flusso di lavoro.
$.stepOutputs.ModifyImageAttributesStep.modifiedImages
RegisterImage
Questo passaggio registra una nuova Amazon Machine Image (AMI) utilizzando l'API Amazon EC2 RegisterImage . Consente di creare un'AMI da un'istantanea o da un set di istantanee esistente, specificando vari attributi dell'immagine.
Timeout predefinito: 540 minuti
Timeout massimo: 720 minuti (12 ore)
È possibile sovrascrivere l'impostazione predefinita contimeoutSeconds, fino al massimo indicato. Un valore superiore al valore massimo non viene convalidato.
Rollback: non è previsto alcun rollback per questa azione.
Input: la tabella seguente include gli input supportati per questa azione.
| Nome di input | Description | Tipo | Obbligatorio | Predefinita | Vincoli |
|---|---|---|---|---|---|
| architecture | L'architettura dell'AMI. | Stringa | No | Valori validi: i386, x86_64, arm64, x86_64_mac, arm64_mac | |
| bloccare DeviceMapping | Le voci di mappatura dei dispositivi a blocchi per l'AMI. | Array | No | ||
| Modalità di avvio | La modalità di avvio dell'AMI. | Stringa | No | Valori validi: legacy-bios, uefi, uefi-preferred | |
| description | Una descrizione per l'AMI. | Stringa | No | ||
| Supporto ENA | Se la rete avanzata con ENA è abilitata. | Boolean | No | ||
| Posizione dell'immagine | La posizione del manifesto AMI. | Stringa | No | Obbligatorio per le S3-backed AMI | |
| Supporto IMDS | Il livello di supporto IMDSv2. | Stringa | No | Valori validi: v2.0 | |
| includere SnapshotTags | Se includere i tag della prima istantanea definita nella mappatura dei dispositivi a blocchi. | Boolean | No | FALSE |
Se impostati su true, i tag vengono inclusi come segue:
|
| KernelID | L'ID del kernel da usare. | Stringa | No | ||
| ID del disco RAM | L'ID del disco RAM da utilizzare. | Stringa | No | ||
| root DeviceName | Il nome del dispositivo root. | Stringa | No | Esempio:/dev/sda1 | |
| sirov NetSupport | Rete migliorata con l'interfaccia Intel 82599 VF. | Stringa | No | ||
| Supporto TPM | Supporto per la versione TPM. | Stringa | No | Valori validi: v2.0 | |
| Dati UEFI | Base64-encoded Dati UEFI. | Stringa | No | ||
| Tipo di virtualizzazione | Il tipo di virtualizzazione. | Stringa | No | Valori validi: hvm, paravirtual |
Risultati: la tabella seguente include gli output per questa azione.
| Nome output | Description | Tipo |
|---|---|---|
| imageId | L'ID AMI dell'immagine registrata. | Stringa |
Sono richieste le autorizzazioni IAM
Il ruolo di esecuzione personalizzato deve disporre delle seguenti autorizzazioni per utilizzare questa azione:
Consenti azioni
-
ec2:DescribeSnapshots -
ec2:CreateTags
Esempio
Specifica l'azione della fase nel documento del flusso di lavoro.
- 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"
Utilizza l'output del valore dell'azione del passaggio nel documento del flusso di lavoro.
$.stepOutputs.RegisterNewImage.imageId
Esempio con tag SnapshotId from another step e snapshot inclusi nell'AMI generato
- 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
Questa azione in fase esegue un documento di comando per il flusso di lavoro. Image Builder utilizza l'sendCommandAPI di Systems Manager per eseguirlo automaticamente. Per ulteriori informazioni, vedere AWS Systems Manager Run Command.
Timeout predefinito: 720 minuti
Timeout massimo: 720 minuti (12 ore)
È possibile sovrascrivere l'impostazione predefinita contimeoutSeconds, fino al massimo indicato. Un valore superiore al valore massimo non viene convalidato.
Rollback: non è previsto alcun rollback per questa azione.
Input: la tabella seguente include gli input supportati per questa azione.
| Nome di input | Description | Tipo | Obbligatorio | Predefinita | Vincoli |
|---|---|---|---|---|---|
| instanceId | L'ID dell'istanza su cui eseguire il documento di comando. | Stringa | Sì | Deve essere l'ID dell'istanza di output della fase del flusso di lavoro che ha avviato l'istanza per questo flusso di lavoro. | |
| documentName | Il nome del documento di comando di Systems Manager da eseguire. | Stringa | Sì | ||
| parametri | Un elenco di coppie chiave-valore per tutti i parametri richiesti dal documento di comando. | <string>dizionario<string, list > | Condizionale | ||
| Versione del documento | La versione del documento di comando da eseguire. | Stringa | No | $DEFAULT |
Risultati: la tabella seguente include gli output per questa azione.
| Nome output | Description | Tipo |
|---|---|---|
| correre CommandId | L'ID del Systems Manager sendCommand che ha eseguito il documento di comando sull'istanza. | Stringa |
| status | Lo stato restituito dal Systems ManagersendCommand. | Stringa |
| output | Output restituito dal Systems ManagersendCommand. | Elenco di stringhe |
Esempio
Specificare l'azione della fase nel documento del flusso di lavoro.
- name:RunCommandDocaction: RunCommand onFailure: Abort inputs: documentName:SampleDocumentparameters: osPlatform: - "linux" instanceId.$: $.stepOutputs.LaunchStep.instanceId
Utilizza l'output del valore dell'azione del passaggio nel documento del flusso di lavoro.
$.stepOutputs.RunCommandDoc.status
RunSysPrep
Questa azione di fase utilizza l'sendCommandAPI di Systems Manager per eseguire il AWSEC2-RunSysprep documento per le istanze di Windows prima che l'istanza di compilazione si chiuda per l'istantanea. Queste azioni seguono le AWS migliori pratiche per l'indurimento e la pulizia dell'immagine.
Timeout predefinito: 60 minuti
Timeout massimo: 720 minuti (12 ore)
È possibile sovrascrivere l'impostazione predefinita contimeoutSeconds, fino al massimo indicato. Un valore superiore al valore massimo non viene convalidato.
Rollback: non è previsto alcun rollback per questa azione.
Input: la tabella seguente include gli input supportati per questa azione.
| Nome di input | Description | Tipo | Obbligatorio | Predefinita | Vincoli |
|---|---|---|---|---|---|
| instanceId | L'ID dell'istanza su cui eseguire il AWSEC2-RunSysprep documento. |
Stringa | Sì | Deve essere l'ID dell'istanza di output della fase del flusso di lavoro che ha avviato l'istanza per questo flusso di lavoro. |
Risultati: la tabella seguente include gli output per questa azione di fase.
| Nome output | Description | Tipo |
|---|---|---|
| correre CommandId | L'ID del Systems Manager sendCommand che ha eseguito il AWSEC2-RunSysprep documento sull'istanza. |
Stringa |
| status | Lo stato restituito dal Systems ManagersendCommand. | Stringa |
| output | Output restituito dal Systems ManagersendCommand. | Stringa |
Esempio
Specificare l'azione della fase nel documento del flusso di lavoro.
- name:RunSysprepaction: RunSysPrep onFailure: Abort inputs: instanceId.$: $.stepOutputs.LaunchStep.instanceId
Utilizza l'output del valore dell'azione del passaggio nel documento del flusso di lavoro.
$.stepOutputs.RunSysprep.status
SanitizeInstance
Questa azione di passaggio esegue lo script di sanitizzazione consigliato per le istanze Linux prima che l'istanza di compilazione si chiuda per l'istantanea. Lo script sanitize aiuta a garantire che l'immagine finale segua le migliori pratiche di sicurezza e che vengano rimossi gli artefatti o le impostazioni della build che non devono essere trasferiti nell'istantanea. Per ulteriori informazioni sullo script, vedere. Pulizia post-compilazione richiesta Questa operazione non si applica alle immagini dei contenitori.
Image Builder utilizza l'sendCommandAPI di Systems Manager per eseguire questo script. Per ulteriori informazioni, vedere AWS Systems Manager Run Command.
Timeout predefinito: 60 minuti
Timeout massimo: 720 minuti (12 ore)
È possibile sovrascrivere l'impostazione predefinita contimeoutSeconds, fino al massimo indicato. Un valore superiore al valore massimo non viene convalidato.
Rollback: non è previsto alcun rollback per questa azione.
Input: la tabella seguente include gli input supportati per questa azione.
| Nome di input | Description | Tipo | Obbligatorio | Predefinita | Vincoli |
|---|---|---|---|---|---|
| instanceId | L'ID dell'istanza da disinfettare. | Stringa | Sì | Deve essere l'ID dell'istanza di output della fase del flusso di lavoro che ha avviato l'istanza per questo flusso di lavoro. |
Risultati: la tabella seguente include gli output per questa azione di fase.
| Nome output | Description | Tipo |
|---|---|---|
| correre CommandId | L'ID del Systems Manager sendCommand che ha eseguito lo script sanitize sull'istanza. | Stringa |
| status | Lo stato restituito dal Systems ManagersendCommand. | Stringa |
| output | Output restituito dal Systems ManagersendCommand. | Stringa |
Esempio
Specificare l'azione della fase nel documento del flusso di lavoro.
- name:SanitizeStepaction: SanitizeInstance onFailure: Abort inputs: instanceId: $.stepOutputs.LaunchStep.instanceId
Utilizza l'output del valore dell'azione del passaggio nel documento del flusso di lavoro.
$.stepOutputs.SanitizeStep.status
TerminateInstance
Questa azione di fase termina l'istanza specificata con l'instanceIdinput. Per impostazione predefinita, avvia la terminazione e passa alla fase successiva senza attendere. Un processo in background gestisce la pulizia se la terminazione rileva errori del servizio EC2. Per attendere la chiusura completa prima di procedere, imposta l'input su. waitForTermination true
Timeout predefinito: 30 minuti
Timeout massimo: 720 minuti (12 ore)
È possibile sovrascrivere l'impostazione predefinita contimeoutSeconds, fino al massimo indicato. Un valore superiore al valore massimo non viene convalidato.
Rollback: non è previsto alcun rollback per questa azione.
Input: la tabella seguente include gli input supportati per questa azione.
| Nome di input | Description | Tipo | Obbligatorio | Predefinita | Vincoli |
|---|---|---|---|---|---|
| instanceId | L'ID dell'istanza da terminare. | Stringa | Sì | Nessuno | Nessuno |
| attendere ForTermination | Specifica se il passaggio attende che l'istanza raggiunga lo stato terminato prima di procedere. Se impostato sutrue, il passaggio attende la conclusione completa (da 10 secondi a diversi minuti). |
Boolean | No | false |
true | false |
Uscite: non ci sono uscite per questa azione in fase.
Esempio
Specifica l'azione della fase nel documento del flusso di lavoro.
- name:TerminateInstanceaction: TerminateInstance onFailure: Continue inputs: instanceId.$:i-1234567890abcdef0waitForTermination:false
WaitForAction
Questa operazione mette in pausa il flusso di lavoro in esecuzione e attende la ricezione di un'azione esterna dall'azione SendWorkflowStepAction API Image Builder. Questo passaggio pubblica un EventBridge evento sul bus degli EventBridge eventi predefinito con il tipo di dettaglio. EC2 Image Builder Workflow Step Waiting Il passaggio può anche inviare una notifica SNS se si fornisce un SNS Topic ARN o richiamare una funzione Lambda in modo asincrono se si fornisce un nome di funzione Lambda.
Come funzionano la pausa e la ripresa
Quando viene eseguito un WaitForAction passaggio, Image Builder imposta lo stato del passaggio WAITING e pubblica un EventBridge evento (tipo di dettaglioEC2 Image Builder Workflow Step Waiting). Se lo forniscisnsTopicArn, invia anche una notifica Amazon SNS. Se forniscilambdaFunctionName, richiama quella funzione in modo asincrono. Il flusso di lavoro rimane in pausa fino a quando non si verifica una delle seguenti condizioni:
-
Si chiama SendWorkflowStepAction con
RESUMEper continuare o perSTOPterminare il flusso di lavoro. -
La fase raggiunge il suo timeout (impostazione predefinita 3 giorni, massimo 7 giorni) e il flusso di lavoro ha esito negativo.
Il passaggio a reason cui si passa SendWorkflowStepAction viene memorizzato con il passaggio ed è disponibile per i passaggi successivi come reason output del passaggio.
Timeout predefinito: 3 giorni
Timeout massimo: 7 giorni (604.800 secondi)
È possibile sovrascrivere l'impostazione predefinita contimeoutSeconds, fino al massimo indicato. Un valore superiore al valore massimo non viene convalidato.
Rollback: non è previsto alcun rollback per questa azione.
Input: la tabella seguente include gli input supportati per questa azione.
| Nome di input | Description | Tipo | Obbligatorio | Predefinita | Vincoli |
|---|---|---|---|---|---|
| sns TopicArn | Un argomento SNS opzionale ARN a cui inviare una notifica quando la fase del flusso di lavoro è in sospeso. | Stringa | No | ||
| lambda FunctionName | Un nome o ARN opzionale della funzione Lambda da richiamare in modo asincrono quando la fase del flusso di lavoro è in sospeso. | Stringa | No | ||
| payload | Stringa JSON utilizzata come messaggio per SNS e payload per Lambda. Se fornito, un payload personalizzato è incluso nell'impostazione predefinita message/payload, utilizzato rispettivamente per SNS e Lambda. Se non viene fornito, genera il valore predefinito. message/payload | Stringa | No | Deve essere una stringa JSON valida, max 16 KiB |
Risultati: la tabella seguente include gli output per questa azione.
| Nome output | Description | Tipo |
|---|---|---|
| operazione | L'azione restituita dall'azione SendWorkflowStepAction API. | Stringa (RESUMEoSTOP) |
| motivo | Il motivo dell'azione restituita. | Stringa |
Sono richieste le autorizzazioni IAM
Il ruolo di esecuzione personalizzato deve disporre delle seguenti autorizzazioni per utilizzare questa azione:
Consenti azioni
-
lambda:InvokeFunction
Specifica le risorse
-
arn:aws:lambda:us-west-2:111122223333:function:function-name -
arn:aws:lambda:us-west-2:111122223333:function:*
Esempio
Specifica l'azione della fase nel documento del flusso di lavoro con notifica SNS.
- name:SendEventAndWaitaction: WaitForAction onFailure: Abort inputs: snsTopicArn: arn:aws:sns:us-west-2:111122223333:ExampleTopic
Specifica l'azione della fase nel documento del flusso di lavoro con l'invocazione della funzione Lambda.
- name:SendEventAndWaitWithLambdaaction: WaitForAction onFailure: Abort inputs: lambdaFunctionName:ExampleFunctionpayload: | { "imageId": "{{ $.stepOutputs.CreateImageFromInstance.imageId }}", "region": "us-west-2" }
Utilizza l'output del valore dell'azione del passaggio nel documento del flusso di lavoro.
$.stepOutputs.SendEventAndWait.reason
WaitForSSMAgent
Questa azione graduale attende che un'istanza EC2 diventi gestibile AWS Systems Manager dopo i periodi di inrisposta previsti. È particolarmente utile per i flussi di lavoro con interruzioni note dell'istanza, come riavvii del sistema, aggiornamenti del sistema operativo o operazioni specifiche della piattaforma che disconnettono temporaneamente l'istanza da SSM. Image Builder monitora l'istanza fino al ripristino della connettività SSM o al timeout.
Timeout predefinito: 60 minuti
Timeout massimo: 180 minuti (3 ore)
È possibile sovrascrivere l'impostazione predefinita contimeoutSeconds, fino al massimo indicato. Un valore superiore al valore massimo non viene convalidato.
Rollback: non è previsto alcun rollback per questa azione.
Input: la tabella seguente include gli input supportati per questa azione.
| Nome di input | Description | Tipo | Obbligatorio | Predefinita | Vincoli |
|---|---|---|---|---|---|
| instanceId | L'ID dell'istanza da monitorare per la connettività SSM. | Stringa | Sì | Deve essere un ID di istanza EC2 valido |
Output: la seguente tabella include gli output per questa azione in fase.
| Nome output | Description | Tipo |
|---|---|---|
| status | Stato della connessione di SSM Agent. | Stringa |
Esempio
Specifica l'azione della fase nel documento del flusso di lavoro.
- name:WaitForInstanceAfterRebootaction: WaitForSSMAgent onFailure: Abort timeoutSeconds: 900 inputs: instanceId.$: $.stepOutputs.LaunchStep.instanceId
Utilizza l'output del valore dell'azione del passaggio nel documento del flusso di lavoro.
$.stepOutputs.WaitForInstanceAfterReboot.status