View a markdown version of this page

Azioni dettagliate supportate per il documento del flusso di lavoro - EC2 Image Builder

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).

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 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 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: ApplyImageConfigurations action: ApplyImageConfigurations onFailure: Abort inputs: distributedImages.$: $.stepOutputs.DistributeImageStep.distributedImages configurations: - region: us-west-2 licenseConfigurationArns: - arn:aws:license-manager:us-west-2:111122223333:license-configuration:lic-example

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 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: ContainerBootstrapStep action: 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 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: CollectMetadataStep action: 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 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: CollectFindingsStep action: 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 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: CreateImageFromInstance action: 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 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: CreateImageFromIsoStep action: 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 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: DistributeContainer action: 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 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: DistributeImage action: DistributeImage onFailure: Abort inputs: distributions: - region.$: "$.parameters.SourceRegion" description: "AMI distribution to source region" amiTags: DistributionTest: "SourceRegion" WorkflowStep: "DistributeToSourceRegion" BuildDate: "{{imagebuilder:buildDate:yyyyMMHHss}}" BuildVersion: "{{imagebuilder:buildVersion}}"

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 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: ExecComponentsStep action: 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 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: ValidateImageCompliance action: ExecuteStateMachine timeoutSeconds: 3600 onFailure: Abort inputs: stateMachineArn: arn:aws:states:us-west-2:111122223333:stateMachine:ImageComplianceValidation input: | { "imageId": "{{ $.stepOutputs.CreateImageFromInstance.imageId }}", "region": "us-west-2", "complianceLevel": "high", "requiredScans": ["cve", "benchmark", "configuration"] }

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 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: LaunchStep action: 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 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 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: ModifyImageAttributes action: ModifyImageAttributes onFailure: Abort inputs: distributedImages.$: $.stepOutputs.DistributeImageStep.distributedImages attributes: - region: us-west-2 launchPermission: 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:

  • I tag SnapshotId del primo volume EBS dell'blockDeviceMappingelenco che contiene a SnapshotId vengono uniti ai tag AMI di output.

  • I tag AMI di output hanno la precedenza sui tag snapshot con la stessa chiave.

  • AWS i tag riservati (quelli con chiavi che iniziano conaws:) vengono automaticamente esclusi.

  • Se SnapshotId sono definiti più volumi EBS con, vengono inclusi solo i tag del primo volume EBS nell'elenco che contiene SnapshotId un.

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-id vol-1234567890abcdef0 --description 'Snapshot for AMI' --query 'SnapshotId' --output text" - name: RegisterImageFromSnapshot action: RegisterImage onFailure: Abort inputs: architecture: "x86_64" bootMode: "uefi" blockDeviceMapping: - DeviceName: "/dev/sda1" Ebs: SnapshotId.$: "$.stepOutputs.CreateSnapshot.output[0]" VolumeSize: 100 VolumeType: "gp3" includeSnapshotTags: true rootDeviceName: "/dev/sda1" virtualizationType: "hvm"

RunCommand

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 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
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: RunCommandDoc action: RunCommand onFailure: Abort inputs: documentName: SampleDocument parameters: 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 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: RunSysprep action: 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 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: SanitizeStep action: 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 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: TerminateInstance action: TerminateInstance onFailure: Continue inputs: instanceId.$: i-1234567890abcdef0 waitForTermination: 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 RESUME per continuare o per STOP terminare 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: SendEventAndWait action: 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: SendEventAndWaitWithLambda action: WaitForAction onFailure: Abort inputs: lambdaFunctionName: ExampleFunction payload: | { "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 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: WaitForInstanceAfterReboot action: 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