Ações de etapa compatíveis com seu documento de fluxo de trabalho - EC2 Image Builder

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

Ações de etapa compatíveis com seu documento de fluxo de trabalho

Esta seção inclui detalhes das ações de etapa compatíveis com o Image Builder.

Termos usados nesta seção
AMI

Imagem de máquina da Amazon (AMI)

ARN

Nome do recurso da Amazon

ApplyImageConfigurations

Essa ação de etapa aplica várias configurações e integrações distribuídas AMIs, como configurações de licença, configurações de modelo de lançamento, configurações de exportação do S3, configurações do EC2 Fast Launch e configurações de parâmetros do Systems Manager. As configurações se aplicam a imagens distribuídas somente na conta de origem, exceto às configurações de parâmetros SSM, que podem ser aplicadas entre contas.

Tempo limite padrão: 360 minutos

Tempo limite máximo: 720 minutos

Reversão: não há reversão para essa ação de etapa.

Entradas: a tabela a seguir inclui entradas compatíveis com essa ação de etapa.

Nome da entrada Description Tipo Obrigatório Padrão Restrições
região A região da imagem. String Sim
licenseConfigurationArns O ARN de configuração da licença para a imagem. Array Não
launchTemplateConfigurations Array Não
launchTemplateConfigurations:launchTemplateId O ID do modelo de lançamento a ser aplicado à imagem. String Sim, se launchTemplateConfigurations for especificado
launchTemplateConfigurations: ID da conta A conta do modelo de lançamento IDs a ser aplicada à imagem. String Não
launchTemplateConfigurations:setDefaultVersion A configuração da versão padrão do modelo de lançamento para a imagem. Booleano Não
s3 ExportConfiguration Array Não
ExportConfigurationS3: Nome da função O nome da função de configuração de exportação do S3 para a imagem. String Sim, se s3ExportConfiguration for especificado
s3: ExportConfiguration diskImageFormat O formato de imagem de disco de configuração de exportação do S3 para a imagem. String Sim, se s3ExportConfiguration for especificado Valores permitidos - VMDK|RAW|VHD
S3: balde S3 ExportConfiguration O nome do bucket de configuração de exportação do S3 para a imagem. String Sim, se s3ExportConfiguration for especificado
S3: prefixo S3 ExportConfiguration O prefixo do bucket de configuração de exportação do S3 para a imagem. String Não
fastLaunchConfigurations A configuração do EC2 Fast Launch para a imagem. Array Não
fastLaunchConfigurations:ativado EC2 Início rápido enabled/disabled para a imagem. Booleano Sim, se fastLaunchConfigurations for especificado
fastLaunchConfigurations: Configuração do snapshot EC2 Início rápido enabled/disabled para a imagem. Mapa Não
fastLaunchConfigurations: Configuração do snapshot: targetResourceCount EC2 Contagem de recursos alvo do Fast Launch para a imagem. Inteiro Não
fastLaunchConfigurations:maxParallelLaunches EC2 Fast Launch: máximo de lançamentos paralelos para a imagem. Inteiro Não
fastLaunchConfigurations: Modelo de lançamento Não
fastLaunchConfigurations: Modelo de lançamento: launchTemplateId EC2 ID do modelo de lançamento do Fast Launch para a imagem. String Não
fastLaunchConfigurations: Modelo de lançamento: launchTemplateName EC2 Nome do modelo de lançamento do Fast Launch para a imagem. String Não
fastLaunchConfigurations: Modelo de lançamento: launchTemplateVersion EC2 Versão do modelo de lançamento do Fast Launch para a imagem. String Não
ssmParameterConfigurations A configuração do parâmetro SSM para a imagem. Mapa Não
ssmParameterConfigurations:amiAccountId O ID da conta da AMI do parâmetro SSM para a imagem. String Não
ssmParameterConfigurations:Nome do parâmetro O nome do parâmetro SSM da imagem. String Sim, se ssmParameterConfigurations for especificado
ssmParameterConfigurations:Tipo de dados O tipo de dados do parâmetro SSM para a imagem. String Não Valores permitidos - text|aws:ec2:image)

Saídas: a tabela a seguir inclui saídas para essa ação de etapa.

Nome da saída Description Tipo
Imagens configuradas Uma lista de imagens configuradas. Array
Imagens configuradas: ID da conta O ID da conta de destino da imagem distribuída. String
Imagens configuradas: nome O nome da AMI. String
Imagens configuradas: AMIID O ID da AMI da imagem distribuída. String
Imagens configuradas: data de início Hora UTC quando a distribuição começou. String
Imagens configuradas: data de parada Hora UTC quando a distribuição foi concluída. String
Configurar imagens: etapa A etapa na qual a distribuição foi interrompida. Concluído| AssociateLicensesRunning | UpdateLaunchTemplateRunning | | PutSsmParametersRunning | UpdateFastLaunchConfiguration ExportAmiQueued ExportAmiRunning
Imagens configuradas: região Tom AWS da imagem distribuída String
Imagens configuradas: status Status de distribuição. Concluído | Falha|Cancelado| TimedOut
Imagens configuradas: mensagem de erro Mensagem de erro, se houver. String

Exemplo

Especifique a ação de etapa no documento de fluxo de trabalho.

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

Use a saída do valor da ação da etapa no documento do fluxo de trabalho.

$.stepOutputs.ApplyImageConfigurationsStep.configuredImages

BootstrapInstanceForContainer

Essa ação de etapa executa um script de serviço para fazer o bootstrap da instância com requisitos mínimos para executar fluxos de trabalho de contêiner. O Image Builder usa o sendCommand na API do Systems Manager para executar esse script. Para obter mais informações, consulte Comando Run do AWS Systems Manager.

nota

O script bootstrap instala os pacotes Docker AWS CLI e Docker, que são pré-requisitos para que o Image Builder crie contêineres do Docker com sucesso. Se você não incluir essa ação, a compilação da imagem poderá falhar.

Tempo limite padrão: 60 minutos

Reversão: não há reversão para essa ação de etapa.

Entradas: a tabela a seguir inclui entradas compatíveis com essa ação de etapa.

Nome da entrada Description Tipo Obrigatório Padrão Restrições
instanceId O ID da instância para o bootstrap. String Sim Deve ser o ID da instância de saída da etapa do fluxo de trabalho que iniciou a instância para esse fluxo de trabalho.

Saídas: a tabela a seguir inclui saídas para essa ação de etapa.

Nome da saída Description Tipo
runCommandId O ID do sendCommand do Systems Manager que executou o script de bootstrap na instância. String
status O status retornado do sendCommand do Systems Manager. String
saída A saída retornada do sendCommand do Systems Manager. String

Exemplo

Especifique a ação de etapa no documento de fluxo de trabalho.

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

Use a saída do valor da ação da etapa no documento do fluxo de trabalho.

$.stepOutputs.ContainerBootstrapStep.status

CollectImageMetadata

Essa ação de etapa só é válida para fluxos de trabalho de compilação.

EC2 O Image Builder executa o Agente AWS Systems Manager (Systems Manager) nas EC2 instâncias que ele executa para criar e testar sua imagem. O Image Builder coleta informações adicionais sobre a instância usada durante a fase de compilação com o Systems Manager Inventory. Essas informações incluem o nome e a versão do sistema operacional (SO), bem como a lista de pacotes e suas respectivas versões, conforme relatado pelo seu sistema operacional.

nota

Essa ação de etapa só funciona para imagens criadas AMIs.

Tempo limite padrão: 30 minutos

Reversão: o Image Builder reverte todos os recursos do Systems Manager que foram criados durante essa etapa.

Entradas: a tabela a seguir inclui entradas compatíveis com essa ação de etapa.

Nome da entrada Description Tipo Obrigatório Padrão Restrições
instanceId A instância de compilação à qual aplicar as configurações de metadados. String Sim Deve ser o ID da instância de saída da etapa do fluxo de trabalho que iniciou a instância de compilação para esse fluxo de trabalho.

Saídas: a tabela a seguir inclui saídas para essa ação de etapa.

Nome da saída Description Tipo
osVersion O nome e a versão do sistema operacional coletados da instância de compilação. String
associationId O ID de associação do Systems Manager usado para coleta de inventário. String

Exemplo

Especifique a ação de etapa no documento de fluxo de trabalho.

- name: CollectMetadataStep action: CollectImageMetadata onFailure: Abort inputs: instanceId: $.stepOutputs.LaunchStep.instanceId

Use a saída da ação da etapa no documento do fluxo de trabalho.

$.stepOutputs.CollectMetadataStep.osVersion

CollectImageScanFindings

Se o Amazon Inspector estiver habilitado para sua conta e a digitalização de imagens estiver habilitada para seu pipeline, essa ação de etapa coletará descobertas de digitalização de imagens relatadas pelo Amazon Inspector para sua instância de teste. Essa ação de etapa não está disponível para fluxos de trabalho de compilação.

Tempo limite padrão: 120 minutos

Reversão: não há reversão para essa ação de etapa.

Entradas: a tabela a seguir inclui entradas compatíveis com essa ação de etapa.

Nome da entrada Description Tipo Obrigatório Padrão Restrições
instanceId O ID da instância na qual a varredura foi executada. String Sim Deve ser o ID da instância de saída da etapa do fluxo de trabalho que iniciou a instância para esse fluxo de trabalho.

Saídas: a tabela a seguir inclui saídas para essa ação de etapa.

Nome da saída Description Tipo
runCommandId O ID do sendCommand do Systems Manager que executou o script para coletar as descobertas. String
status O status retornado do sendCommand do Systems Manager. String
saída A saída retornada do sendCommand do Systems Manager. String

Exemplo

Especifique a ação de etapa no documento de fluxo de trabalho.

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

Use a saída do valor da ação da etapa no documento do fluxo de trabalho.

$.stepOutputs.CollectFindingsStep.status

CreateImage

Essa ação de etapa cria uma imagem de uma instância em execução com a EC2 CreateImage API da Amazon. Durante o processo de criação, antes prosseguir, a ação de etapa aguarda conforme necessário para verificar se os recursos alcançaram o estado correto.

Tempo limite padrão: 720 minutos

Reversão: não há reversão para essa ação de etapa.

Entradas: a tabela a seguir inclui entradas compatíveis com essa ação de etapa.

Nome da entrada Description Tipo Obrigatório Padrão Restrições
instanceId A instância com base na qual criar a nova imagem. String Sim A instância do ID de instância fornecido deverá estar em um estado running quando essa etapa for iniciada.

Saídas: a tabela a seguir inclui saídas para essa ação de etapa.

Nome da saída Description Tipo
imageId O ID de AMI da imagem que foi criada. String

Exemplo

Especifique a ação de etapa no documento de fluxo de trabalho.

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

Use a saída do valor da ação da etapa no documento do fluxo de trabalho.

$.stepOutputs.CreateImageFromInstance.imageId

DistributeImage

Essa ação de etapa distribui uma AMI para regiões e contas especificadas. Ele cria cópias da AMI nas regiões e contas de destino com base na configuração de distribuição fornecida nas solicitações de CreateImage ou CreateImagePipeline APIs ou nas configurações de distribuição personalizadas fornecidas no fluxo de trabalho para substituir as configurações na configuração de distribuição.

Tempo limite padrão: 360 minutos

Tempo limite máximo: 720 minutos

Reversão: não há reversão para essa ação de etapa.

Entradas: a tabela a seguir inclui entradas compatíveis com essa ação de etapa.

Nome da entrada Description Tipo Obrigatório Padrão Restrições
região A lista de regiões para distribuir a imagem. String Sim Tamanho mínimo de 1. Tamanho máximo de 1.024.
nome O nome da configuração de distribuição. String Não
description As distribuições da configuração de distribuição. String Não
targetAccountIds Conta IDs para a qual distribuir a imagem. Array Não
Etiquetas Ami As tags da configuração de distribuição. Mapa Não
kmsKeyId Chaves KMS a serem aplicadas à imagem distribuída. String Não

Saídas: a tabela a seguir inclui saídas para essa ação de etapa.

Nome da saída Description Tipo
Imagens distribuídas Uma lista de imagens distribuídas Array
Imagens distribuídas: Região A AWS região da imagem distribuída. String
Imagens distribuídas: nome O nome da AMI. String
Imagens distribuídas: Amiid O ID da AMI da imagem distribuída. String
Imagens distribuídas: ID da conta O ID da conta de destino da imagem distribuída. String
Imagens distribuídas: data de início Hora UTC quando a distribuição começou. String
Imagens distribuídas: data de parada Hora UTC quando a distribuição foi concluída. String
Imagens distribuídas: status Status de distribuição. Concluído | Falha|Cancelado| TimedOut
Imagens distribuídas: etapa A etapa na qual a distribuição foi interrompida. Concluído| CopyAmiRunning
Imagens distribuídas: mensagem de erro Mensagem de erro, se houver. String

Exemplo

Especifique a ação de etapa no documento de fluxo de trabalho.

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

Use a saída do valor da ação da etapa no documento do fluxo de trabalho.

$.stepOutputs.DistributeImageStep.distributedImages

ExecuteComponents

Essa ação de etapa executa componentes especificados na fórmula da imagem atual que está sendo criada. Fluxos de trabalho de compilação executam componentes de compilação na instância de compilação. Os fluxos de trabalho de teste executam somente componentes de teste na instância de teste.

O Image Builder usa o sendCommand na API do Systems Manager para executar esse componentes. Para obter mais informações, consulte Comando Run do AWS Systems Manager.

Tempo limite padrão: 720 minutos

Reversão: não há reversão para essa ação de etapa.

Entradas: a tabela a seguir inclui entradas compatíveis com essa ação de etapa.

Nome da entrada Description Tipo Obrigatório Padrão Restrições
instanceId O ID da instância na qual os componentes devem ser executados. String Sim Deve ser o ID da instância de saída da etapa do fluxo de trabalho que iniciou a instância para esse fluxo de trabalho.

Saídas: a tabela a seguir inclui saídas para essa ação de etapa.

Nome da saída Description Tipo
runCommandId O ID do sendCommand do Systems Manager que executou os componentes na instância. String
status O status retornado do sendCommand do Systems Manager. String
saída A saída retornada do sendCommand do Systems Manager. String

Exemplo

Especifique a ação de etapa no documento de fluxo de trabalho.

- name: ExecComponentsStep action: ExecuteComponents onFailure: Abort inputs: instanceId: $.stepOutputs.LaunchStep.instanceId

Use a saída da ação da etapa no documento do fluxo de trabalho.

$.stepOutputs.ExecComponentsStep.status

ExecuteStateMachine

Essa ação de etapa inicia a execução de uma máquina de AWS Step Functions estado a partir de um fluxo de trabalho do Image Builder. O Image Builder usa a StartExecution API Step Functions para iniciar a máquina de estado e esperar que ela seja concluída. Isso é útil para integrar fluxos de trabalho complexos, validação de conformidade ou processos de certificação em seu pipeline de criação de imagens.

Para obter mais informações, consulte Saiba mais sobre máquinas de estado em Step Functions no AWS Step Functions Developer Guide.

Tempo limite padrão: 6 horas

Tempo limite máximo: 24 horas

Reversão: não há reversão para essa ação de etapa.

Entradas: a tabela a seguir inclui entradas compatíveis com essa ação de etapa.

Nome da entrada Description Tipo Obrigatório Padrão Restrições
stateMachineArn O ARN da máquina de estados Step Functions a ser executada. String Sim Deve ser um ARN de máquina de estado válido.
input Dados de entrada JSON para fornecer à máquina de estado. String Não {} Deve ser uma string JSON válida, tamanho máximo: 16 KiB.

Saídas: a tabela a seguir inclui saídas para essa ação de etapa.

Nome da saída Description Tipo
executionArn O ARN da execução da máquina de estado. String

Permissões do IAM necessárias

Sua função de execução personalizada deve ter as seguintes permissões para usar essa ação de etapa:

Permitir ações
  • states:StartExecution

  • states:DescribeExecution

Especificar recursos
  • arn:aws:states:us-west-2:111122223333:stateMachine:state-machine-name

  • arn:aws:states:us-west-2:111122223333:execution:state-machine-name:*

Exemplo

Especifique a ação de etapa no documento de fluxo de trabalho.

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

Use a saída do valor da ação da etapa no documento do fluxo de trabalho.

$.stepOutputs.ValidateImageCompliance.executionArn

LaunchInstance

Essa ação de etapa inicia uma instância na sua Conta da AWS e espera até que o agente do Systems Manager esteja em execução na instância antes de passar para a próxima etapa. A ação de inicialização usa configurações de sua fórmula e recursos de configuração de infraestrutura associados à sua imagem. Por exemplo, o tipo de instância a ser executada vem da configuração da infraestrutura. A saída é o ID da instância que foi executada.

A entrada waitFor configura a condição que satisfaz o requisito de conclusão da etapa.

Tempo limite padrão: 60 minutos

Reversão: para instâncias de construção, a reversão executa a ação que você configurou em seu recurso de configuração de infraestrutura. Por padrão, as instâncias de compilação são encerradas se a criação da imagem falhar. No entanto, há uma definição na configuração da infraestrutura para manter a instância de compilação para solução de problemas.

Entradas: a tabela a seguir inclui entradas compatíveis com essa ação de etapa.

Nome da entrada Description Tipo Obrigatório Padrão Restrições
imageIdOverride A imagem a ser usada para iniciar a instância String Não

Estágio de construção: imagem base da receita da imagem

Estágio de teste: saída da AMI do estágio de construção

Deve ser uma ID de AMI válida
instanceTypesOverride O Image Builder tenta cada tipo de instância na lista até encontrar uma que seja executada com êxito. Lista de strings Não Tipos de instância especificados em sua configuração de infraestrutura Devem ser tipos de instância válidos
waitFor A condição a ser aguardada antes de concluir a etapa do fluxo de trabalho e passar para a próxima etapa String Sim O Image Builder é compatível com ssmAgent.

Saídas: a tabela a seguir inclui saídas para essa ação de etapa.

Nome da saída Description Tipo
instanceId O ID de instância da instância que foi executada. String

Exemplo

Especifique a ação de etapa no documento de fluxo de trabalho.

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

Use a saída da ação da etapa no documento do fluxo de trabalho.

$.stepOutputs.LaunchStep.instanceId

ModifyImageAttributes

Essa ação de etapa modifica atributos distribuídos AMIs, como permissões de execução e outros atributos da AMI. Ele opera com base nas AMIs que foram distribuídas para regiões e contas alvo.

Tempo limite padrão: 120 minutos

Tempo limite máximo: 180 minutos

Reversão: não há reversão para essa ação de etapa.

Entradas: a tabela a seguir inclui entradas compatíveis com essa ação de etapa.

Nome da entrada Description Tipo Obrigatório Padrão Restrições
região A região da imagem. String Sim
Permissão de lançamento Não
Permissão de lançamento: IDs de usuário O usuário IDs a ser modificado nas permissões de lançamento da imagem. String Não
Permissão de lançamento: grupos de usuários Os grupos de usuários a serem modificados nas permissões de lançamento da imagem. String Não
Permissão de lançamento: Organization ARNS A AWS organização ARNs a ser modificada nas permissões de lançamento da imagem. String Não
Permissão de lançamento: organizationalUnitArns A unidade AWS organizacional ARNs a ser modificada nas permissões de lançamento da imagem. String Não

Saídas: a tabela a seguir inclui saídas para essa ação de etapa.

Nome da saída Description Tipo
Imagens modificadas Uma lista de imagens modificadas Array
Imagens modificadas: ID da conta O ID da conta de destino da imagem distribuída. String
Imagens modificadas: Nome O nome da AMI. String
Imagens modificadas: Amiid O ID da AMI da imagem distribuída. String
Imagens modificadas: data de início Hora UTC quando a distribuição começou. String
Imagens modificadas: data de parada Hora UTC quando a distribuição foi concluída. String
Imagens modificadas: etapa A etapa na qual a distribuição foi interrompida. Concluído| ModifyAmiRunning
Imagens modificadas: Região A AWS região da imagem. String
Imagens modificadas: Status Status de distribuição. Concluído | Falha|Cancelado| TimedOut
Imagens modificadas: mensagem de erro Mensagem de erro, se houver. String

Exemplo

Especifique a ação de etapa no documento de fluxo de trabalho.

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

Use a saída do valor da ação da etapa no documento do fluxo de trabalho.

$.stepOutputs.ModifyImageAttributesStep.modifiedImages

RegisterImage

Essa ação de etapa registra uma nova Amazon Machine Image (AMI) usando a EC2 RegisterImage API da Amazon. Ele permite que você crie uma AMI a partir de um snapshot existente ou de um conjunto de snapshots, especificando vários atributos de imagem.

Tempo limite padrão: 720 minutos

Reversão: não há reversão para essa ação de etapa.

Entradas: a tabela a seguir inclui entradas compatíveis com essa ação de etapa.

Nome da entrada Description Tipo Obrigatório Padrão Restrições
arquitetura A arquitetura da AMI. String Não Valores válidos: i386, x86_64, arm64, x86_64_mac, arm64_mac
blockDeviceMapping As entradas de mapeamento de dispositivos de bloco para a AMI. Array Não
Modo de inicialização O modo de inicialização da AMI. String Não Valores válidos: legacy-bios, uefi, uefi-preferred
description Uma descrição para a AMI. String Não
enaSupport Se a rede aprimorada com ENA está habilitada. Booleano Não
Localização da imagem A localização do manifesto da AMI. String Não Necessário para suporte de S3 AMIs
Suporte ao IMDS O nível de IMDSv2 suporte. String Não Valores válidos: v2.0
includeSnapshotTags Se deve incluir tags do primeiro instantâneo definido no mapeamento do dispositivo de bloco. Booleano Não FALSE

Quando definidas como verdadeiras, as tags são incluídas da seguinte forma:

  • As tags do primeiro volume SnapshotId do EBS na blockDeviceMapping lista que contém a SnapshotId são mescladas com as tags de registro da AMI.

  • As tags de registro da AMI têm precedência sobre as tags de snapshot com a mesma chave.

  • AWS tags reservadas (aquelas com chaves começando comaws:) são excluídas automaticamente.

  • Se vários volumes do EBS com SnapshotId forem definidos, somente as tags do primeiro volume do EBS na lista que contém um SnapshotId serão incluídas.

ID do kernel O ID do kernel a ser usado. String Não
RAM é Kid O ID do disco RAM a ser usado. String Não
rootDeviceName O nome do dispositivo raiz. String Não Exemplo: /dev/sda1
sriovNetSupport Rede aprimorada com a interface Intel 82599 VF. String Não
Suporte TPM Suporte à versão TPM. String Não Valores válidos: v2.0
Dados da UEFI Dados UEFI codificados em Base64. String Não
Tipo de virtualização O tipo de virtualização. String Não Valores válidos: hvm, paravirtual

Saídas: a tabela a seguir inclui saídas para essa ação de etapa.

Nome da saída Description Tipo
imageId O ID da AMI da imagem registrada. String

Exemplo

Especifique a ação de etapa no documento de fluxo de trabalho.

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

Use a saída do valor da ação da etapa no documento do fluxo de trabalho.

$.stepOutputs.RegisterNewImage.imageId

Exemplo com uma SnapshotId de outra etapa e tags de snapshot incluídas na AMI gerada

- 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

Essa ação de etapa executa um documento de comando para seu fluxo de trabalho. O Image Builder usa o sendCommand na API do Systems Manager para executá-lo em seu nome. Para obter mais informações, consulte Comando Run do AWS Systems Manager.

Tempo limite padrão: 12 horas

Reversão: não há reversão para essa ação de etapa.

Entradas: a tabela a seguir inclui entradas compatíveis com essa ação de etapa.

Nome da entrada Description Tipo Obrigatório Padrão Restrições
instanceId O ID da instância na qual executar o documento de comando. String Sim Deve ser o ID da instância de saída da etapa do fluxo de trabalho que iniciou a instância para esse fluxo de trabalho.
documentName O nome do documento de comando do Systems Manager a ser executado. String Sim
parameters Uma lista de pares chave e valor para qualquer parâmetro exigido pelo documento de comando. dictionary<string, list<string>> Condicional
documentVersion A versão do documento de comando a ser executada. String Não $DEFAULT

Saídas: a tabela a seguir inclui saídas para essa ação de etapa.

Nome da saída Description Tipo
runCommandId O ID do sendCommand do Systems Manager que executou o documento de comando na instância. String
status O status retornado do sendCommand do Systems Manager. String
saída A saída retornada do sendCommand do Systems Manager. Lista de strings

Exemplo

Especifique a ação de etapa no documento de fluxo de trabalho.

- name: RunCommandDoc action: RunCommand onFailure: Abort inputs: documentName: SampleDocument parameters: osPlatform: - "linux" instanceId.$: $.stepOutputs.LaunchStep.instanceId

Use a saída do valor da ação da etapa no documento do fluxo de trabalho.

$.stepOutputs.RunCommandDoc.status

RunSysPrep

Essa ação de etapa usa o sendCommand na API do Systems Manager para executar o documento AWSEC2-RunSysprep para instâncias do Windows antes que a instância de compilação seja encerrada para o snapshot. Essas ações seguem as AWS melhores práticas para endurecer e limpar a imagem.

Tempo limite padrão: 60 minutos

Reversão: não há reversão para essa ação de etapa.

Entradas: a tabela a seguir inclui entradas compatíveis com essa ação de etapa.

Nome da entrada Description Tipo Obrigatório Padrão Restrições
instanceId O ID da instância na qual executar o documento AWSEC2-RunSysprep. String Sim Deve ser o ID da instância de saída da etapa do fluxo de trabalho que iniciou a instância para esse fluxo de trabalho.

Saídas: a tabela a seguir inclui saídas para essa ação de etapa.

Nome da saída Description Tipo
runCommandId O ID do sendCommand do Systems Manager que executou o documento AWSEC2-RunSysprep na instância. String
status O status retornado do sendCommand do Systems Manager. String
saída A saída retornada do sendCommand do Systems Manager. String

Exemplo

Especifique a ação de etapa no documento de fluxo de trabalho.

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

Use a saída do valor da ação da etapa no documento do fluxo de trabalho.

$.stepOutputs.RunSysprep.status

SanitizeInstance

Essa ação de etapa executa o script de limpeza recomendado para instâncias Linux antes que a instância de compilação seja encerrada para o snapshot. O script de limpeza ajuda a garantir que a imagem final siga as práticas recomendadas de segurança e a remoção de qualquer artefato ou configuração de compilação que não deva ser transferida para seu snapshot. Para obter mais informações sobre o script, consulte Limpeza necessária após a construção. Essa ação não se aplica a imagens de contêiner.

O Image Builder usa o sendCommand na API do Systems Manager para executar esse script. Para obter mais informações, consulte Comando Run do AWS Systems Manager.

Tempo limite padrão: 60 minutos

Reversão: não há reversão para essa ação de etapa.

Entradas: a tabela a seguir inclui entradas compatíveis com essa ação de etapa.

Nome da entrada Description Tipo Obrigatório Padrão Restrições
instanceId O ID da instância a passar por limpeza. String Sim Deve ser o ID da instância de saída da etapa do fluxo de trabalho que iniciou a instância para esse fluxo de trabalho.

Saídas: a tabela a seguir inclui saídas para essa ação de etapa.

Nome da saída Description Tipo
runCommandId O ID do sendCommand do Systems Manager que executou o script de limpeza na instância. String
status O status retornado do sendCommand do Systems Manager. String
saída A saída retornada do sendCommand do Systems Manager. String

Exemplo

Especifique a ação de etapa no documento de fluxo de trabalho.

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

Use a saída do valor da ação da etapa no documento do fluxo de trabalho.

$.stepOutputs.SanitizeStep.status

TerminateInstance

Essa ação de etapa encerra a instância com o ID da instância que é transmitido como entrada.

Tempo limite padrão: 30 minutos

Reversão: não há reversão para essa ação de etapa.

Entradas: a tabela a seguir inclui entradas compatíveis com essa ação de etapa.

Nome da entrada Description Tipo Obrigatório Padrão Restrições
instanceId Forneça o ID da instância a ser encerrada. String Sim

Saídas: não há saídas para essa ação de etapa.

Exemplo

Especifique a ação de etapa no documento de fluxo de trabalho.

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

WaitForAction

Essa ação de etapa pausa o fluxo de trabalho em execução e aguarda o recebimento de uma ação externa da ação SendWorkflowStepAction da API do Image Builder. Esta etapa publica um EventBridge evento em seu ônibus de EventBridge eventos padrão com o tipo de EC2 Image Builder Workflow Step Waiting detalhe. A etapa também pode enviar uma notificação do SNS se você fornecer um ARN de tópico do SNS ou invocar uma função do Lambda de forma assíncrona se você fornecer um nome de função do Lambda.

Tempo limite padrão: 3 dias

Reversão: não há reversão para essa ação de etapa.

Entradas: a tabela a seguir inclui entradas compatíveis com essa ação de etapa.

Nome da entrada Description Tipo Obrigatório Padrão Restrições
snsTopicArn Um ARN opcional de tópico do SNS para enviar uma notificação quando a etapa do fluxo de trabalho estiver pendente. String Não
lambdaFunctionName Um nome opcional ou ARN da função Lambda a ser invocada de forma assíncrona quando a etapa do fluxo de trabalho estiver pendente. String Não
payload Cadeia de caracteres JSON usada como mensagem para SNS e carga útil para Lambda. Se fornecida, uma carga personalizada é agrupada por padrãomessage/payload, used for SNS and Lambda respectively. If not provided, generates default message/payload. String Não Deve ser uma string JSON válida, no máximo 16 KiB

Saídas: a tabela a seguir inclui saídas para essa ação de etapa.

Nome da saída Description Tipo
action A ação retornada pela ação de API SendWorkflowStepAction. String (RESUME ou STOP)
reason O motivo da ação retornada. String

Exemplo

Especifique a ação da etapa no documento do fluxo de trabalho com a notificação do SNS.

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

Especifique a ação da etapa no documento do fluxo de trabalho com a invocação da função Lambda.

- name: SendEventAndWaitWithLambda action: WaitForAction onFailure: Abort inputs: lambdaFunctionName: ExampleFunction payload: | { "imageId": "{{ $.stepOutputs.CreateImageFromInstance.imageId }}", "region": "us-west-2" }

Use a saída do valor da ação da etapa no documento do fluxo de trabalho.

$.stepOutputs.SendEventAndWait.reason

WaitForSSMAgent

Essa ação de etapa espera que uma EC2 instância se torne gerenciável AWS Systems Manager após os períodos esperados de falta de resposta. É particularmente importante para fluxos de trabalho com interrupções de instância conhecidas, como reinicializações do sistema, atualizações do sistema operacional ou operações específicas da plataforma que desconectam temporariamente a instância do SSM. O Image Builder monitora a instância até que ela recupere a conectividade SSM ou atinja o tempo limite.

Tempo limite padrão: 60 minutos

Tempo limite máximo: 180 minutos

Reversão: não há reversão para essa ação de etapa.

Entradas: a tabela a seguir inclui entradas compatíveis com essa ação de etapa.

Nome da entrada Description Tipo Obrigatório Padrão Restrições
instanceId O ID da instância para monitorar a conectividade do SSM. String Sim Deve ser um ID de EC2 instância válido

Saídas: a tabela a seguir inclui saídas para essa ação de etapa.

Nome da saída Description Tipo
Status Status da conexão do SSM Agent. String

Exemplo

Especifique a ação de etapa no documento de fluxo de trabalho.

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

Use a saída do valor da ação da etapa no documento do fluxo de trabalho.

$.stepOutputs.WaitForInstanceAfterReboot.Status