Azioni in fasi 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 in fasi supportate per il documento del flusso di lavoro

Questa sezione include dettagli sulle azioni dei passaggi supportate da Image Builder.

Termini utilizzati in questa sezione
AMI

Amazon Machine Image

ARN

Nome della risorsa Amazon

ApplyImageConfigurations

Questa operazione applica varie configurazioni e integrazioni ai sistemi distribuiti AMIs, ad esempio configurazioni di licenza, configurazioni di modelli di avvio, configurazioni di esportazione S3, configurazioni EC2 Fast Launch e configurazioni dei parametri Systems Manager. Le configurazioni si applicano alle immagini distribuite solo nell'account di origine, ad eccezione delle configurazioni dei parametri SSM che possono essere applicate su più account.

Timeout predefinito: 360 minuti

Timeout massimo: 720 minuti

Rollback: non è previsto alcun rollback per questa operazione.

Input: la tabella seguente include gli input supportati per questa operazione.

Nome di input Description Tipo Obbligatorio Default Vincoli
region La regione dell'immagine. Stringa
licenseConfigurationArns L'ARN di configurazione della licenza per l'immagine. Array No
launchTemplateConfigurations Array No
launchTemplateConfigurations:launchTemplateId L'ID del modello di avvio da applicare all'immagine. Stringa Sì, se launchTemplateConfigurations è specificato
launchTemplateConfigurations:ID account L'account del modello di avvio IDs da applicare all'immagine. Stringa No
launchTemplateConfigurations:setDefaultVersion L'impostazione della versione predefinita del modello di lancio per l'immagine. Boolean No
s3 ExportConfiguration Array No
s3: nome del ruolo ExportConfiguration Il nome del ruolo di configurazione di esportazione S3 per l'immagine. Stringa Sì, se s3ExportConfiguration è specificato
s3: ExportConfiguration diskImageFormat Il formato di immagine del disco di configurazione di esportazione S3 per l'immagine. Stringa Sì, se s3ExportConfiguration è specificato Valori consentiti: VMDK|RAW|VHD
ExportConfigurationS3: secchio S3 Il nome del bucket di configurazione di esportazione S3 per l'immagine. Stringa Sì, se è specificato s3ExportConfiguration
Prefisso S3: S3 ExportConfiguration Il prefisso del bucket di configurazione di esportazione S3 per l'immagine. Stringa No
fastLaunchConfigurations La configurazione EC2 Fast Launch per l'immagine. Array No
fastLaunchConfigurationsLa configurazione Fast Launch per l'immagine. ----sep----:enabled EC2 Avvio rapido enabled/disabled dell'immagine. Booleano Sì, se fastLaunchConfigurations è specificato
fastLaunchConfigurationsSì se è specificato ----sep----:SnapshotConfiguration EC2 Avvio enabled/disabled rapido dell'immagine. Eseguire la mappatura No
fastLaunchConfigurationsAvvio rapido per l'immagine. ----sep----:SnapshotConfiguration: targetResourceCount EC2 Numero di risorse target di Fast Launch per l'immagine. Numero intero No
fastLaunchConfigurations:maxParallelLaunches EC2 Fast Launch: numero massimo di lanci paralleli per l'immagine. Numero intero No
fastLaunchConfigurationsFast Launch: numero massimo di lanci paralleli per l'immagine. ----sep----:LaunchTemplate No
fastLaunchConfigurations:LaunchTemplate ----Sep----:LaunchTemplate: launchTemplateId EC2 ID del modello di avvio di Fast Launch per l'immagine. Stringa No
fastLaunchConfigurationsID del modello di avvio Fast Launch per l'immagine. ----sep----:launchTemplate: launchTemplateName EC2 Nome del modello di avvio di Fast Launch per l'immagine. Stringa No
fastLaunchConfigurationsNome del modello di avvio Fast Launch per l'immagine. ----sep----:LaunchTemplate: launchTemplateVersion EC2 Fast Launch lancia la versione del modello per l'immagine. Stringa No
ssmParameterConfigurations La configurazione dei parametri SSM per l'immagine. Eseguire la mappatura No
ssmParameterConfigurations:amiAccountId L'ID dell'account AMI del parametro SSM per l'immagine. Stringa No
ssmParameterConfigurationsL'ID dell'account AMI del parametro SSM per l'immagine. ----sep----:ParameterName Il nome del parametro SSM per l'immagine. Stringa Sì, se ssmParameterConfigurations è specificato
ssmParameterConfigurationsSì se è specificato ----sep----:DataType Il tipo di dati del parametro SSM per l'immagine. Stringa No Valori consentiti: text|aws:ec2:image)

Output: la tabella seguente include gli output per questa azione.

Nome output Description Tipo
Immagini configurate Un elenco di immagini configurate. Array
Immagini configurate: AccountID L'ID dell'account di destinazione dell'immagine distribuita. Stringa
Immagini configurate: nome Il nome dell'AMI. Stringa
Immagini configurate: AMIID L'ID AMI dell'immagine distribuita. Stringa
Immagini configurate: data di inizio Ora UTC all'inizio della distribuzione. Stringa
Immagini configurate: data interrotta Ora UTC al termine della distribuzione. Stringa
Immagini configurate: fase La fase in cui si è interrotta la distribuzione. Completato| AssociateLicensesRunning | | UpdateLaunchTemplateRunning | PutSsmParametersRunning | UpdateFastLaunchConfiguration ExportAmiQueued ExportAmiRunning
Immagini configurate: regione Tono dell'immagine distribuita AWS Stringa
Immagini configurate: status Stato della distribuzione. Completato|Fallito|Annullato| TimedOut
Immagini configurate: messaggio di errore Messaggio di errore, se presente. Stringa

Esempio

Specificate l'azione della fase nel documento del flusso di lavoro.

- name: ApplyImageConfigurations action: ApplyImageConfigurations onFailure: Abort inputs: distributedImages.$: $.stepOutputs.DistributeImageStep.distributedImages

Utilizzate l'output del valore dell'azione della fase nel documento del flusso di lavoro.

$.stepOutputs.ApplyImageConfigurationsStep.configuredImages

BootstrapInstanceForContainer

Questa operazione 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 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 consentire a Image Builder di creare correttamente contenitori Docker. Se non includi questa operazione, la creazione dell'immagine potrebbe fallire.

Timeout predefinito: 60 minuti

Rollback: non è previsto alcun rollback per questa operazione.

Input: la tabella seguente include gli input supportati per questa operazione.

Nome di input Description Tipo Obbligatorio Default 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.

Output: la tabella seguente include gli output per questa azione.

Nome output Description Tipo
runCommandId L'ID del Systems Manager sendCommand che ha eseguito lo script di bootstrap sull'istanza. Stringa
status Lo stato restituito dal Systems ManagersendCommand. Stringa
output Output restituito dal Systems ManagersendCommand. Stringa

Esempio

Specificate l'azione della fase nel documento del flusso di lavoro.

- name: ContainerBootstrapStep action: BootstrapInstanceForContainer onFailure: Abort inputs: instanceId.$: $.stepOutputs.LaunchStep.instanceId

Utilizzate l'output del valore dell'azione della fase nel documento del flusso di lavoro.

$.stepOutputs.ContainerBootstrapStep.status

CollectImageMetadata

Questa operazione è valida solo per i flussi di lavoro di creazione.

EC2 Image Builder esegue AWS Systems Manager (Systems Manager) Agent sulle EC2 istanze che avvia per creare e testare l'immagine. Image Builder raccoglie informazioni aggiuntive sull'istanza utilizzata durante la fase di creazione con Systems Manager Inventory. Queste informazioni includono il nome e la versione del sistema operativo (OS), nonché l'elenco dei pacchetti e delle rispettive versioni riportate dal sistema operativo.

Nota

Questa operazione funziona solo per le immagini che creano AMIs.

Timeout predefinito: 30 minuti

Rollback: Image Builder ripristina tutte le risorse Systems Manager create durante questa fase.

Input: la tabella seguente include gli input supportati per questa operazione.

Nome di input Description Tipo Obbligatorio Default Vincoli
instanceId L'istanza di build 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 creazione per questo flusso di lavoro.

Output: la tabella seguente include gli output per questa azione.

Nome output Description Tipo
osVersion Il nome e la versione del sistema operativo raccolti dall'istanza di build. Stringa
ID dell'associazione L'ID di associazione Systems Manager utilizzato per la raccolta dell'inventario. Stringa

Esempio

Specificate 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 della fase nel documento del flusso di lavoro.

$.stepOutputs.CollectMetadataStep.osVersion

CollectImageScanFindings

Se Amazon Inspector è abilitato per il tuo account e la scansione delle immagini è abilitata per la tua pipeline, questa operazione raccoglie i risultati della scansione delle immagini riportati da Amazon Inspector per la tua istanza di test. Questa operazione non è disponibile per i flussi di lavoro di compilazione.

Timeout predefinito: 120 minuti

Rollback: non è previsto alcun rollback per questa operazione.

Input: la tabella seguente include gli input supportati per questa operazione.

Nome di input Description Tipo Obbligatorio Default 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.

Output: la tabella seguente include gli output per questa azione.

Nome output Description Tipo
runCommandId 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

Specificate l'azione della fase nel documento del flusso di lavoro.

- name: CollectFindingsStep action: CollectImageScanFindings onFailure: Abort inputs: instanceId.$: $.stepOutputs.LaunchStep.instanceId

Utilizzate l'output del valore dell'azione della fase nel documento del flusso di lavoro.

$.stepOutputs.CollectFindingsStep.status

CreateImage

Questa operazione crea un'immagine da un'istanza in esecuzione con l' EC2 CreateImageAPI Amazon. Durante il processo di creazione, l'azione della fase attende se necessario per verificare che le risorse abbiano raggiunto lo stato corretto prima di continuare.

Timeout predefinito: 720 minuti

Rollback: non è previsto alcun rollback per questa operazione.

Input: la tabella seguente include gli input supportati per questa operazione.

Nome di input Description Tipo Obbligatorio Default Vincoli
instanceId L'istanza da cui creare la nuova immagine. Stringa L'istanza per l'ID di istanza fornito deve trovarsi in uno running stato all'inizio di questo passaggio.

Output: la tabella seguente include gli output per questa azione.

Nome output Description Tipo
imageId L'ID AMI dell'immagine creata. Stringa

Esempio

Specificate l'azione della fase nel documento del flusso di lavoro.

- name: CreateImageFromInstance action: CreateImage onFailure: Abort inputs: instanceId.$: "i-1234567890abcdef0"

Utilizzate l'output del valore dell'azione della fase nel documento del flusso di lavoro.

$.stepOutputs.CreateImageFromInstance.imageId

DistributeImage

Questa operazione distribuisce un AMI a regioni e account specifici. Crea copie dell'AMI nelle regioni e negli account di destinazione in base alla configurazione di distribuzione fornita, fornita nelle richieste per l' CreateImage OR CreateImagePipeline APIs o alle impostazioni di distribuzione personalizzate fornite nel flusso di lavoro per sovrascrivere le impostazioni nella configurazione di distribuzione.

Timeout predefinito: 360 minuti

Timeout massimo: 720 minuti

Rollback: non è previsto alcun rollback per questa operazione.

Input: la tabella seguente include gli input supportati per questa operazione.

Nome di input Description Tipo Obbligatorio Default Vincoli
region L'elenco delle regioni in cui distribuire l'immagine. Stringa Lunghezza minima pari a 1. La lunghezza massima è 1024 caratteri.
name Il nome della configurazione di distribuzione. Stringa No
description Le distribuzioni della configurazione di distribuzione. Stringa No
targetAccountIds Account IDs su cui distribuire l'immagine. Array No
Tag AMI I tag della configurazione di distribuzione. Eseguire la mappatura No
kmsKeyId Chiavi KMS da applicare all'immagine distribuita. Stringa No

Output: la tabella seguente include gli output per questa azione.

Nome output Description Tipo
Immagini distribuite Un elenco di immagini distribuite Array
Immagini distribuite: regione La AWS regione dell'immagine distribuita. Stringa
Immagini distribuite: nome Il nome dell'AMI. Stringa
Immagini distribuite: AMIID L'ID AMI dell'immagine distribuita. Stringa
Immagini distribuite: AccountID L'ID dell'account di destinazione dell'immagine distribuita. Stringa
Immagini distribuite: data di inizio Ora UTC all'inizio della distribuzione. Stringa
Immagini distribuite: data interrotta Ora UTC al termine della distribuzione. Stringa
Immagini distribuite: status Stato della distribuzione. Completato|Fallito|Annullato| TimedOut
Immagini distribuite: fase La fase in cui si è interrotta la distribuzione. Completato| CopyAmiRunning
Immagini distribuite: messaggio di errore Messaggio di errore, se presente. Stringa

Esempio

Specificate 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}}"

Utilizzate l'output del valore dell'azione della fase nel documento del flusso di lavoro.

$.stepOutputs.DistributeImageStep.distributedImages

ExecuteComponents

Questa operazione 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 solo componenti di test sull'istanza di test.

Image Builder utilizza l'sendCommandAPI Systems Manager per eseguire i componenti. Per ulteriori informazioni, vedere AWS Systems Manager Run Command.

Timeout predefinito: 720 minuti

Rollback: non è previsto alcun rollback per questa operazione.

Input: la tabella seguente include gli input supportati per questa operazione.

Nome di input Description Tipo Obbligatorio Default 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.

Output: la tabella seguente include gli output per questa azione.

Nome output Description Tipo
runCommandId 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

Specificate 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 della fase nel documento del flusso di lavoro.

$.stepOutputs.ExecComponentsStep.status

ExecuteStateMachine

Questa operazione avvia l'esecuzione di una macchina a AWS Step Functions stati da un flusso di lavoro Image Builder. Image Builder utilizza l'StartExecutionAPI Step Functions per avviare la macchina a stati e attende che venga completata. 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 Learn about state machine in Step Functions nella AWS Step Functions Developer Guide.

Timeout predefinito: 6 ore

Timeout massimo: 24 ore

Rollback: non è previsto alcun rollback per questa operazione.

Input: la tabella seguente include gli input supportati per questa operazione.

Nome di input Description Tipo Obbligatorio Default Vincoli
stateMachineArn L'ARN della macchina a stati Step Functions da eseguire. Stringa Deve essere un ARN valido per una 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.

Output: la tabella seguente include gli output per questa operazione.

Nome output Description Tipo
executionArn L'ARN dell'esecuzione della macchina a stati. Stringa

Autorizzazioni IAM richieste

Il ruolo di esecuzione personalizzato deve disporre delle seguenti autorizzazioni per utilizzare questa azione:

Consenti azioni
  • states:StartExecution

  • states:DescribeExecution

Specificare 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

Specificate 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"] }

Utilizzate l'output del valore dell'azione della fase nel documento del flusso di lavoro.

$.stepOutputs.ValidateImageCompliance.executionArn

LaunchInstance

Questa operazione avvia un'istanza nell'istanza Account AWS e attende che l'agente Systems Manager sia in esecuzione sull'istanza prima di passare alla fase successiva. L'azione di avvio utilizza le impostazioni della ricetta e delle risorse di configurazione dell'infrastruttura associate all'immagine. Ad esempio, il tipo di istanza da avviare deriva dalla configurazione dell'infrastruttura. L'output è l'ID dell'istanza che è stata avviata.

L'waitForinput configura la condizione che soddisfa il requisito di completamento della fase.

Timeout predefinito: 60 minuti

Rollback: per le istanze di build, il rollback esegue l'azione che hai configurato nella risorsa di configurazione dell'infrastruttura. Per impostazione predefinita, le istanze di compilazione vengono terminate se la creazione dell'immagine fallisce. Tuttavia, esiste un'impostazione nella configurazione dell'infrastruttura per mantenere l'istanza di build per la risoluzione dei problemi.

Input: la tabella seguente include gli input supportati per questa operazione.

Nome di input Description Tipo Obbligatorio Default Vincoli
imageIdOverride L'immagine da usare per avviare l'istanza Stringa No

Fase di creazione: immagine di base della ricetta dell'immagine

Fase di test: AMI in uscita dalla fase di costruzione

Deve essere un ID AMI valido
instanceTypesOverride Image Builder prova ogni tipo di istanza nell'elenco finché non ne trova uno che si avvia correttamente Elenco di String No Tipi di istanze 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 Image Builder supporta. ssmAgent

Output: la tabella seguente include gli output per questa operazione.

Nome output Description Tipo
instanceId L'ID dell'istanza che è stata avviata. Stringa

Esempio

Specificate l'azione della fase nel documento del flusso di lavoro.

- name: LaunchStep action: LaunchInstance onFailure: Abort inputs: waitFor: ssmAgent

Utilizza l'output dell'azione della fase nel documento del flusso di lavoro.

$.stepOutputs.LaunchStep.instanceId

ModifyImageAttributes

Questa operazione modifica gli attributi del sistema distribuito AMIs, come i permessi di avvio e altri attributi AMI. Funziona in base a AMIs ciò che è stato distribuito alle regioni e agli account target.

Timeout predefinito: 120 minuti

Timeout massimo: 180 minuti

Rollback: non è previsto alcun rollback per questa operazione.

Input: la tabella seguente include gli input supportati per questa operazione.

Nome di input Description Tipo Obbligatorio Default Vincoli
region La regione dell'immagine. Stringa
Autorizzazione di avvio No
Autorizzazione di avvio: ID utente L'utente IDs da modificare nelle autorizzazioni di avvio dell'immagine. Stringa No
Autorizzazione di avvio: gruppi di utenti I gruppi di utenti da modificare nelle autorizzazioni di avvio dell'immagine. Stringa No
Autorizzazione di avvio: organizzazione ARNS L' AWS organizzazione da modificare nelle autorizzazioni ARNs di avvio per l'immagine. Stringa No
Autorizzazione di avvio: organizationalUnitArns L'unità AWS organizzativa ARNs da modificare nelle autorizzazioni di avvio dell'immagine. Stringa No

Output: la tabella seguente include gli output di questa azione.

Nome output Description Tipo
Immagini modificate Un elenco di immagini modificate Array
Immagini modificate: AccountID L'ID dell'account di destinazione dell'immagine distribuita. Stringa
Immagini modificate: nome Il nome dell'AMI. Stringa
Immagini modificate: AMIID L'ID AMI dell'immagine distribuita. Stringa
Immagini modificate: data di inizio Ora UTC all'inizio della distribuzione. Stringa
Immagini modificate: data interrotta Ora UTC al termine della distribuzione. Stringa
Immagini modificate: Step La fase in cui si è interrotta la distribuzione. Completato| ModifyAmiRunning
Immagini modificate: regione La regione dell'immagine. AWS Stringa
Immagini modificate: status Stato della distribuzione. Completato|Fallito|Annullato| TimedOut
Immagini modificate: messaggio di errore Messaggio di errore, se presente. Stringa

Esempio

Specificate l'azione della fase nel documento del flusso di lavoro.

- name: ModifyImageAttributes action: ModifyImageAttributes onFailure: Abort inputs: distributedImages.$: $.stepOutputs.DistributeImageStep.distributedImages

Utilizzate l'output del valore dell'azione della fase nel documento del flusso di lavoro.

$.stepOutputs.ModifyImageAttributesStep.modifiedImages

RegisterImage

Questa operazione registra una nuova Amazon Machine Image (AMI) utilizzando l' EC2 RegisterImage API Amazon. Consente di creare un'AMI da un'istantanea o da un set di istantanee esistente, specificando vari attributi dell'immagine.

Timeout predefinito: 720 minuti

Rollback: non è previsto alcun rollback per questa operazione.

Input: la tabella seguente include gli input supportati per questa operazione.

Nome di input Description Tipo Obbligatorio Default Vincoli
architecture L'architettura dell'AMI. Stringa No Valori validi: i386, x86_64, arm64, x86_64_mac, arm64_mac
blockDeviceMapping Le voci di mappatura dei dispositivi a blocchi per l'AMI. Array No
BootMode La modalità di avvio dell'AMI. Stringa No Valori validi: legacy-bios, uefi, uefi-preferred
description Una descrizione per l'AMI. Stringa No
enaSupport Se è abilitata una rete avanzata con ENA. Boolean No
Posizione dell'immagine La posizione del manifesto AMI. Stringa No Obbligatorio per il supporto S3 AMIs
Supporto IMDS Il livello di IMDSv2 supporto. Stringa No Valori validi: v2.0
includeSnapshotTags Se includere i tag della prima istantanea definita nella mappatura del dispositivo a blocchi. Boolean No FALSE

Se impostato 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 di registrazione AMI.

  • I tag di registrazione AMI 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 dell'elenco che contiene aSnapshotId.

KernelID L'ID del kernel da usare. Stringa No
ID del disco RAM L'ID del disco RAM da utilizzare. Stringa No
rootDeviceName Il nome del dispositivo principale. Stringa No Esempio: /dev/sda1
sriovNetSupport Rete migliorata con l'interfaccia Intel 82599 VF. Stringa No
Supporto TPM Supporto della versione TPM. Stringa No Valori validi: v2.0
Dati UEFI Dati UEFI con codifica Base64. Stringa No
Tipo di virtualizzazione Il tipo di virtualizzazione. Stringa No Valori validi: hvm, paravirtual

Output: la tabella seguente include gli output per questa azione.

Nome output Description Tipo
imageId L'ID AMI dell'immagine registrata. Stringa

Esempio

Specificate 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"

Utilizzate l'output del valore dell'azione della fase nel documento del flusso di lavoro.

$.stepOutputs.RegisterNewImage.imageId

Esempio con a SnapshotId from another step e tag snapshot inclusi nell'AMI generata

- 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 operazione esegue un documento di comando per il flusso di lavoro. Image Builder utilizza l'sendCommandAPI Systems Manager per eseguirlo automaticamente. Per ulteriori informazioni, vedere AWS Systems Manager Run Command.

Timeout predefinito: 12 ore

Rollback: non è previsto alcun rollback per questa operazione.

Input: la tabella seguente include gli input supportati per questa operazione.

Nome di input Description Tipo Obbligatorio Default 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 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

Output: la tabella seguente include gli output per questa azione.

Nome output Description Tipo
runCommandId 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

Specificate 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

Utilizzate l'output del valore dell'azione della fase nel documento del flusso di lavoro.

$.stepOutputs.RunCommandDoc.status

RunSysPrep

Questa operazione utilizza l'sendCommandAPI 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 il rafforzamento e la pulizia dell'immagine.

Timeout predefinito: 60 minuti

Rollback: non è previsto alcun rollback per questa operazione.

Input: la tabella seguente include gli input supportati per questa operazione.

Nome di input Description Tipo Obbligatorio Default 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.

Output: la tabella seguente include gli output per questa azione.

Nome output Description Tipo
runCommandId 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

Specificate l'azione della fase nel documento del flusso di lavoro.

- name: RunSysprep action: RunSysPrep onFailure: Abort inputs: instanceId.$: $.stepOutputs.LaunchStep.instanceId

Utilizzate l'output del valore dell'azione della fase nel documento del flusso di lavoro.

$.stepOutputs.RunSysprep.status

SanitizeInstance

Questa operazione esegue lo script di sanificazione 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 gli artefatti o le impostazioni di build che non devono essere trasferiti all'istantanea vengano rimossi. Per ulteriori informazioni sullo script, consulta. Pulizia post-compilazione richiesta Questa operazione non si applica alle immagini dei contenitori.

Image Builder utilizza l'sendCommandAPI Systems Manager per eseguire questo script. Per ulteriori informazioni, vedere AWS Systems Manager Run Command.

Timeout predefinito: 60 minuti

Rollback: non è previsto alcun rollback per questa operazione.

Input: la tabella seguente include gli input supportati per questa operazione.

Nome di input Description Tipo Obbligatorio Default 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.

Output: la tabella seguente include gli output per questa azione.

Nome output Description Tipo
runCommandId L'ID del Systems Manager sendCommand che ha eseguito lo script di sanificazione sull'istanza. Stringa
status Lo stato restituito dal Systems ManagersendCommand. Stringa
output Output restituito dal Systems ManagersendCommand. Stringa

Esempio

Specificate l'azione della fase nel documento del flusso di lavoro.

- name: SanitizeStep action: SanitizeInstance onFailure: Abort inputs: instanceId: $.stepOutputs.LaunchStep.instanceId

Utilizzate l'output del valore dell'azione della fase nel documento del flusso di lavoro.

$.stepOutputs.SanitizeStep.status

TerminateInstance

Questa operazione termina l'istanza con l'ID dell'istanza passato come input.

Timeout predefinito: 30 minuti

Rollback: non è previsto alcun rollback per questa operazione.

Input: la tabella seguente include gli input supportati per questa operazione.

Nome di input Description Tipo Obbligatorio Default Vincoli
instanceId L'ID dell'istanza da terminare. Stringa

Uscite: non ci sono uscite per questa operazione.

Esempio

Specificate l'azione della fase nel documento del flusso di lavoro.

- name: TerminateInstance action: TerminateInstance onFailure: Continue inputs: instanceId.$: i-1234567890abcdef0

WaitForAction

Questa operazione mette in pausa il flusso di lavoro in esecuzione e attende di ricevere un'azione esterna dall'azione dell'API Image SendWorkflowStepAction Builder. Questo passaggio pubblica un EventBridge evento nel bus degli EventBridge eventi predefinito con il tipo di dettaglio. EC2 Image Builder Workflow Step Waiting La fase può anche inviare una notifica SNS se si fornisce un ARN per argomento SNS o richiamare una funzione Lambda in modo asincrono se si fornisce il nome di una funzione Lambda.

Timeout predefinito: 3 giorni

Rollback: non è previsto alcun rollback per questa operazione.

Input: la tabella seguente include gli input supportati per questa operazione.

Nome di input Description Tipo Obbligatorio Default Vincoli
snsTopicArn Un argomento SNS ARN opzionale a cui inviare una notifica quando la fase del flusso di lavoro è in sospeso. Stringa No
lambdaFunctionName 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, per impostazione predefinita viene inserito un payload personalizzato. message/payload, used for SNS and Lambda respectively. If not provided, generates default message/payload Stringa No Deve essere una stringa JSON valida, max 16 KB

Output: la tabella seguente include gli output per questa azione.

Nome output Description Tipo
action L'azione restituita dall'azione SendWorkflowStepAction API. Stringa (RESUMEoSTOP)
motivo Il motivo dell'azione restituita. Stringa

Esempio

Specificate l'azione della fase nel documento del flusso di lavoro con la notifica SNS.

- name: SendEventAndWait action: WaitForAction onFailure: Abort inputs: snsTopicArn: arn:aws:sns:us-west-2:111122223333:ExampleTopic

Specificate 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 della fase nel documento del flusso di lavoro.

$.stepOutputs.SendEventAndWait.reason

WaitForSSMAgent

Questa operazione prevede che un' EC2 istanza diventi gestibile AWS Systems Manager dopo i periodi di mancata risposta previsti. È particolarmente utile per i flussi di lavoro con interruzioni note delle istanze, 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

Rollback: non è previsto alcun rollback per questa operazione.

Input: la tabella seguente include gli input supportati per questa operazione.

Nome di input Description Tipo Obbligatorio Default Vincoli
instanceId L'ID dell'istanza da monitorare per la connettività SSM. Stringa Deve essere un ID di EC2 istanza valido

Output: la tabella seguente include gli output per questa azione.

Nome output Description Tipo
Status Stato della connessione di SSM Agent. Stringa

Esempio

Specificare l'azione della fase nel documento del flusso di lavoro.

- name: WaitForInstanceAfterReboot action: WaitForSSMAgent onFailure: Abort timeoutInSeconds: 900 # 15 minutes inputs: instanceId.$: $.stepOutputs.LaunchStep.instanceId

Utilizzate l'output del valore dell'azione della fase nel documento del flusso di lavoro.

$.stepOutputs.WaitForInstanceAfterReboot.Status