Unterstützte Schrittaktionen für Ihr Workflow-Dokument - EC2 Image Builder

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

Unterstützte Schrittaktionen für Ihr Workflow-Dokument

Dieser Abschnitt enthält Details zu den Schrittaktionen, die Image Builder unterstützt.

In diesem Abschnitt verwendete Begriffe
AMI

Amazon Machine Image

ARN

Amazon-Ressourcenname.

ApplyImageConfigurations

Diese Schrittaktion wendet verschiedene Konfigurationen und Integrationen auf verteilte Systeme an AMIs, z. B. Lizenzkonfigurationen, Startvorlagenkonfigurationen, S3-Exportkonfigurationen, EC2 Schnellstartkonfigurationen und Systems Manager Manager-Parameterkonfigurationen. Konfigurationen gelten nur für verteilte Images im Quellkonto, mit Ausnahme von SSM-Parameterkonfigurationen, die kontoübergreifend angewendet werden können.

Standard-Timeout: 360 Minuten

Maximales Timeout: 720 Minuten

Rollback: Für diese Schrittaktion gibt es kein Rollback.

Eingaben: Die folgende Tabelle enthält unterstützte Eingaben für diese Schrittaktion.

Name der Eingabe Description Typ Erforderlich Standard Beschränkungen
Region Die Bildregion. String Ja
licenseConfigurationArns Der ARN für die Lizenzkonfiguration für das Bild. Array Nein
launchTemplateConfigurations Array Nein
launchTemplateConfigurations:launchTemplateId Die Startvorlagen-ID, die auf das Image angewendet werden soll. String Ja, launchTemplateConfigurations wenn angegeben
launchTemplateConfigurations: accountId Das Startvorlagenkonto IDs , das auf das Bild angewendet werden soll. String Nein
launchTemplateConfigurations:setDefaultVersion Die Standardversionseinstellung der Startvorlage für das Image. Boolesch Nein
s3 ExportConfiguration Array Nein
S3ExportConfiguration: Rollenname Der Rollenname der S3-Exportkonfiguration für das Image. String Ja, s3ExportConfiguration wenn angegeben
s3ExportConfiguration: diskImageFormat Das Festplatten-Image-Format für die S3-Exportkonfiguration für das Image. String Ja, s3ExportConfiguration wenn angegeben Zulässige Werte — VMDK|RAW|VHD
S3ExportConfiguration: S3-Eimer Der Name des Buckets für die S3-Exportkonfiguration für das Image. String Ja, s3ExportConfiguration wenn angegeben
S3: S3-Präfix ExportConfiguration Das S3-Exportkonfigurations-Bucket-Präfix für das Image. String Nein
fastLaunchConfigurations Die EC2 Fast Launch-Konfiguration für das Image. Array Nein
fastLaunchConfigurationsDie Schnellstartkonfiguration für das Image. ----sep----:enabled EC2 Schneller Start enabled/disabled für das Bild. Boolesch Ja, fastLaunchConfigurations wenn angegeben
fastLaunchConfigurationsJa, falls angegeben ----SEP----:SnapshotConfiguration EC2 Schneller Start enabled/disabled für das Bild. Zuordnung Nein
fastLaunchConfigurationsSchnellstart für das Bild. ----SEP----:SnapshotConfiguration: targetResourceCount EC2 Anzahl der Fast Launch-Zielressourcen für das Image. Ganzzahl Nein
fastLaunchConfigurations:maxParallelLaunches EC2 Fast Launch maximale Anzahl parallel Starts für das Bild. Ganzzahl Nein
fastLaunchConfigurationsFast Launch: maximale Anzahl paralleler Starts für das Image. ----sep----:LaunchTemplate Nein
fastLaunchConfigurations:LaunchTemplate ----SEP----:LaunchTemplate: launchTemplateId EC2 ID der Schnellstartvorlage für das Image. String Nein
fastLaunchConfigurationsID der Schnellstartvorlage für das Image. ----sep----:launchTemplate: launchTemplateName EC2 Name der Schnellstartvorlage für das Image. String Nein
fastLaunchConfigurationsName der Schnellstartvorlage für das Image. ----sep----:launchTemplate: launchTemplateVersion EC2 Schnellstart-Vorlagenversion für das Image. String Nein
ssmParameterConfigurations Die SSM-Parameterkonfiguration für das Image. Zuordnung Nein
ssmParameterConfigurations:amiAccountId Die SSM-Parameter-AMI-Konto-ID für das Image. String Nein
ssmParameterConfigurationsDie SSM-Parameter-AMI-Konto-ID für das Image. ----SEP----:ParameterName Der SSM-Parametername für das Bild. String Ja, wenn ssmParameterConfigurations angegeben
ssmParameterConfigurationsJa, falls angegeben ----SEP----:DataType Der SSM-Parameter-Datentyp für das Bild. String Nein Zulässige Werte - text|aws:ec2:image)

Ausgaben: Die folgende Tabelle enthält Ausgaben für diese Schrittaktion.

Ausgabenname Description Typ
Konfigurierte Bilder Eine Liste der konfigurierten Bilder. Array
Konfigurierte Bilder: Konto-ID Die Zielkonto-ID des verteilten Images. String
Konfigurierte Bilder: Name Der Name des AMI. String
Konfigurierte Bilder: AMIID Die AMI-ID des verteilten Images. String
Konfigurierte Bilder: Startdatum UTC-Zeit, zu der die Verteilung gestartet wurde. String
Konfigurierte Bilder: Datum, an dem der Vorgang unterbrochen wurde UTC-Zeit, zu der die Verteilung abgeschlossen wurde. String
Konfigurierte Bilder: Schritt Der Schritt, bei dem die Verteilung beendet wurde. Abgeschlossen| AssociateLicensesRunning | | UpdateLaunchTemplateRunning | PutSsmParametersRunning | UpdateFastLaunchConfiguration ExportAmiQueued ExportAmiRunning
Konfigurierte Bilder: Region Typ des verteilten Images AWS String
Konfigurierte Bilder: Status Status der Verteilung. Abgeschlossen|Fehlgeschlagen|Abgebrochen| TimedOut
Konfigurierte Bilder: Fehlermeldung Fehlermeldung, falls vorhanden. String

Beispiel

Geben Sie die Schrittaktion im Workflow-Dokument an.

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

Verwenden Sie die Ausgabe des Schrittaktionswerts im Workflow-Dokument.

$.stepOutputs.ApplyImageConfigurationsStep.configuredImages

BootstrapInstanceForContainer

Diese Schrittaktion führt ein Dienstskript aus, um die Instanz mit Mindestanforderungen für die Ausführung von Container-Workflows zu booten. Image Builder verwendet die sendCommand in der Systems Manager Manager-API enthaltene, um dieses Skript auszuführen. Weitere Informationen finden Sie unter Befehl AWS Systems Manager ausführen.

Anmerkung

Das Bootstrap-Skript installiert die Pakete AWS CLI und die Docker-Pakete, die Voraussetzung dafür sind, dass Image Builder erfolgreich Docker-Container erstellen kann. Wenn Sie diese Schrittaktion nicht einbeziehen, kann der Image-Build fehlschlagen.

Standard-Timeout: 60 Minuten

Rollback: Für diese Schrittaktion gibt es kein Rollback.

Eingaben: Die folgende Tabelle enthält unterstützte Eingaben für diese Schrittaktion.

Name der Eingabe Description Typ Erforderlich Standard Beschränkungen
instanceId Die ID der Instanz, die gebootet werden soll. String Ja Dies muss die Ausgabeinstanz-ID des Workflow-Schritts sein, mit dem die Instanz für diesen Workflow gestartet wurde.

Ausgaben: Die folgende Tabelle enthält Ausgaben für diese Schrittaktion.

Ausgabenname Description Typ
runCommandId Die ID des Systems ManagersendCommand, der das Bootstrap-Skript auf der Instanz ausgeführt hat. String
Status Der vom Systems Manager zurückgegebene StatussendCommand. String
output Die Ausgabe wurde vom Systems Manager zurückgegebensendCommand. String

Beispiel

Geben Sie die Schrittaktion im Workflow-Dokument an.

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

Verwenden Sie die Ausgabe des Schrittaktionswerts im Workflow-Dokument.

$.stepOutputs.ContainerBootstrapStep.status

CollectImageMetadata

Diese Schrittaktion ist nur für Build-Workflows gültig.

EC2 Image Builder führt den Agenten AWS Systems Manager (Systems Manager) auf den EC2 Instanzen aus, die es startet, um Ihr Image zu erstellen und zu testen. Image Builder sammelt zusätzliche Informationen über die Instanz, die während der Buildphase mit Systems Manager Inventory verwendet wurde. Diese Informationen umfassen den Namen und die Version des Betriebssystems (OS) sowie die Liste der Pakete und ihrer jeweiligen Versionen, wie von Ihrem Betriebssystem gemeldet.

Anmerkung

Diese Schrittaktion funktioniert nur für Bilder, die erstellt AMIs werden.

Standard-Timeout: 30 Minuten

Rollback: Image Builder setzt alle Systems Manager Manager-Ressourcen zurück, die in diesem Schritt erstellt wurden.

Eingaben: Die folgende Tabelle enthält unterstützte Eingaben für diese Schrittaktion.

Name der Eingabe Description Typ Erforderlich Standard Beschränkungen
instanceId Die Build-Instanz, auf die die Metadateneinstellungen angewendet werden sollen. String Ja Dies muss die Ausgabeinstanz-ID des Workflow-Schritts sein, mit dem die Build-Instanz für diesen Workflow gestartet wurde.

Ausgaben: Die folgende Tabelle enthält Ausgaben für diese Schrittaktion.

Ausgabenname Description Typ
osVersion Der Name und die Version des Betriebssystems, die von der Build-Instanz erfasst wurden. String
Assoziations-ID Die Systems Manager Manager-Zuordnungs-ID, die für die Inventarerfassung verwendet wird. String

Beispiel

Geben Sie die Schrittaktion im Workflow-Dokument an.

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

Verwenden Sie die Ausgabe der Schrittaktion im Workflow-Dokument.

$.stepOutputs.CollectMetadataStep.osVersion

CollectImageScanFindings

Wenn Amazon Inspector für Ihr Konto aktiviert ist und das Scannen von Bildern für Ihre Pipeline aktiviert ist, sammelt diese Schrittaktion die von Amazon Inspector für Ihre Test-Instance gemeldeten Bildscan-Ergebnisse. Diese Schrittaktion ist für Build-Workflows nicht verfügbar.

Standard-Timeout: 120 Minuten

Rollback: Für diese Schrittaktion gibt es kein Rollback.

Eingaben: Die folgende Tabelle enthält unterstützte Eingaben für diese Schrittaktion.

Name der Eingabe Description Typ Erforderlich Standard Beschränkungen
instanceId Die ID für die Instanz, auf der der Scan ausgeführt wurde. String Ja Dies muss die Ausgabeinstanz-ID des Workflow-Schritts sein, mit dem die Instanz für diesen Workflow gestartet wurde.

Ausgaben: Die folgende Tabelle enthält Ausgaben für diese Schrittaktion.

Ausgabenname Description Typ
runCommandId Die ID des Systems ManagersendCommand, der das Skript zum Sammeln von Ergebnissen ausgeführt hat. String
Status Der vom Systems Manager zurückgegebene StatussendCommand. String
output Die Ausgabe wurde vom Systems Manager zurückgegebensendCommand. String

Beispiel

Geben Sie die Schrittaktion im Workflow-Dokument an.

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

Verwenden Sie die Ausgabe des Schrittaktionswerts im Workflow-Dokument.

$.stepOutputs.CollectFindingsStep.status

CreateImage

Diese Schrittaktion erstellt ein Image von einer laufenden Instance mit der EC2 CreateImage Amazon-API. Während des Erstellungsvorgangs wartet die Schrittaktion nach Bedarf, um zu überprüfen, ob die Ressourcen den richtigen Status erreicht haben, bevor sie fortgesetzt wird.

Standard-Timeout: 720 Minuten

Rollback: Für diese Schrittaktion gibt es kein Rollback.

Eingaben: Die folgende Tabelle enthält unterstützte Eingaben für diese Schrittaktion.

Name der Eingabe Description Typ Erforderlich Standard Beschränkungen
instanceId Die Instanz, aus der das neue Bild erstellt werden soll. String Ja Die Instanz für die angegebene Instanz-ID muss sich zu Beginn dieses Schritts in einem running Status befinden.

Ausgaben: Die folgende Tabelle enthält Ausgaben für diese Schrittaktion.

Ausgabenname Description Typ
imageId Die AMI-ID des erstellten Images. String

Beispiel

Geben Sie die Schrittaktion im Workflow-Dokument an.

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

Verwenden Sie die Ausgabe des Schrittaktionswerts im Workflow-Dokument.

$.stepOutputs.CreateImageFromInstance.imageId

DistributeImage

Diese Schrittaktion verteilt ein AMI an bestimmte Regionen und Konten. Es erstellt Kopien des AMI in Zielregionen und Konten auf der Grundlage der bereitgestellten Verteilungskonfiguration, die in den Anforderungen für oder angegeben ist, CreateImage CreateImagePipeline APIs oder benutzerdefinierten Verteilungseinstellungen, die im Workflow bereitgestellt werden, um die Einstellungen in der Verteilungskonfiguration zu überschreiben.

Standard-Timeout: 360 Minuten

Maximales Timeout: 720 Minuten

Rollback: Für diese Schrittaktion gibt es kein Rollback.

Eingaben: Die folgende Tabelle enthält unterstützte Eingaben für diese Schrittaktion.

Name der Eingabe Description Typ Erforderlich Standard Beschränkungen
Region Die Liste der Regionen, in denen das Bild verteilt werden soll. String Ja Mindestlänge 1. Maximale Länge beträgt 1024 Zeichen.
name Der Name der Verteilungskonfiguration. String Nein
description Die Distributionen der Verteilungskonfiguration. String Nein
targetAccountIds Konto IDs , an das das Image verteilt werden soll. Array Nein
AmiTags Die Tags der Distributionskonfiguration. Zuordnung Nein
kmsKeyId KMS-Schlüssel, die auf das verteilte Image angewendet werden sollen. String Nein

Ausgaben: Die folgende Tabelle enthält Ausgaben für diese Schrittaktion.

Ausgabenname Description Typ
Verteilte Bilder Eine Liste verteilter Bilder Array
Verteilte Bilder: Region Die AWS Region des verteilten Bildes. String
Verteilte Bilder: Name Der Name des AMI. String
Verteilte Bilder: AMIID Die AMI-ID des verteilten Images. String
Verteilte Bilder: Konto-ID Die Zielkonto-ID des verteilten Images. String
Verteilte Bilder: Startdatum UTC-Zeit, zu der die Verteilung gestartet wurde. String
Verteilte Bilder: Datum, an dem der Vorgang unterbrochen wurde UTC-Zeit, zu der die Verteilung abgeschlossen wurde. String
Verteilte Bilder: Status Status der Verteilung. Abgeschlossen|Fehlgeschlagen|Abgebrochen| TimedOut
Verteilte Bilder: Schritt Der Schritt, bei dem die Verteilung beendet wurde. Abgeschlossen| CopyAmiRunning
Verteilte Bilder: Fehlermeldung Fehlermeldung, falls vorhanden. String

Beispiel

Geben Sie die Schrittaktion im Workflow-Dokument an.

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

Verwenden Sie die Ausgabe des Schrittaktionswerts im Workflow-Dokument.

$.stepOutputs.DistributeImageStep.distributedImages

ExecuteComponents

Bei dieser Schrittaktion werden Komponenten ausgeführt, die in der Rezeptur für das aktuelle Bild, das gerade erstellt wird, angegeben sind. Build-Workflows führen Build-Komponenten auf der Build-Instanz aus. Test-Workflows führen nur Testkomponenten auf der Testinstanz aus.

Image Builder verwendet die sendCommand in der Systems Manager API, um Komponenten auszuführen. Weitere Informationen finden Sie unter Befehl AWS Systems Manager ausführen.

Standard-Timeout: 720 Minuten

Rollback: Für diese Schrittaktion gibt es kein Rollback.

Eingaben: Die folgende Tabelle enthält unterstützte Eingaben für diese Schrittaktion.

Name der Eingabe Description Typ Erforderlich Standard Beschränkungen
instanceId Die ID für die Instanz, auf der die Komponenten ausgeführt werden sollen. String Ja Dies muss die Ausgabeinstanz-ID des Workflow-Schritts sein, mit dem die Instanz für diesen Workflow gestartet wurde.

Ausgaben: Die folgende Tabelle enthält Ausgaben für diese Schrittaktion.

Ausgabenname Description Typ
runCommandId Die ID des Systems ManagersendCommand, der die Komponenten auf der Instanz ausgeführt hat. String
Status Der vom Systems Manager zurückgegebene StatussendCommand. String
output Die Ausgabe wurde vom Systems Manager zurückgegebensendCommand. String

Beispiel

Geben Sie die Schrittaktion im Workflow-Dokument an.

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

Verwenden Sie die Ausgabe der Schrittaktion im Workflow-Dokument.

$.stepOutputs.ExecComponentsStep.status

ExecuteStateMachine

Diese Schrittaktion startet die Ausführung einer AWS Step Functions Zustandsmaschine aus einem Image Builder Builder-Workflow. Image Builder verwendet die Step Functions StartExecution API, um die Zustandsmaschine zu initiieren, und wartet, bis sie abgeschlossen ist. Dies ist nützlich, um komplexe Workflows, Compliance-Validierungs- oder Zertifizierungsprozesse in Ihre Image-Building-Pipeline zu integrieren.

Weitere Informationen finden Sie unter Weitere Informationen zu Zustandsmaschinen in Step Functions im AWS Step Functions Entwicklerhandbuch.

Standard-Timeout: 6 Stunden

Maximales Timeout: 24 Stunden

Rollback: Für diese Schrittaktion gibt es kein Rollback.

Eingaben: Die folgende Tabelle enthält unterstützte Eingaben für diese Schrittaktion.

Name der Eingabe Description Typ Erforderlich Standard Beschränkungen
stateMachineArn Der ARN der auszuführenden Step Functions Functions-Zustandsmaschine. String Ja Muss ein gültiger State-Machine-ARN sein.
input JSON-Eingabedaten, die der Zustandsmaschine zur Verfügung gestellt werden sollen. String Nein {} Muss eine gültige JSON-Zeichenfolge sein, maximale Länge: 16 KiB.

Ausgaben: Die folgende Tabelle enthält Ausgaben für diese Schrittaktion.

Ausgabenname Description Typ
executionArn Der ARN der State-Machine-Ausführung. String

IAM-Berechtigungen erforderlich

Ihre benutzerdefinierte Ausführungsrolle muss über die folgenden Berechtigungen verfügen, um diese Schrittaktion verwenden zu können:

Aktionen zulassen
  • states:StartExecution

  • states:DescribeExecution

Geben Sie Ressourcen an
  • arn:aws:states:us-west-2:111122223333:stateMachine:state-machine-name

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

Beispiel

Geben Sie die Schrittaktion im Workflow-Dokument an.

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

Verwenden Sie die Ausgabe des Schrittaktionswerts im Workflow-Dokument.

$.stepOutputs.ValidateImageCompliance.executionArn

LaunchInstance

Diese Schrittaktion startet eine Instanz in Ihrer AWS-Konto und wartet, bis der Systems Manager Manager-Agent auf der Instanz ausgeführt wird, bevor Sie mit dem nächsten Schritt fortfahren. Die Startaktion verwendet Einstellungen aus Ihren Rezept- und Infrastrukturkonfigurationsressourcen, die mit Ihrem Image verknüpft sind. Der Instance-Typ, der gestartet werden soll, stammt beispielsweise aus der Infrastrukturkonfiguration. Die Ausgabe ist die Instanz-ID der Instance, die sie gestartet hat.

Die waitFor Eingabe konfiguriert die Bedingung, die die Anforderung zum Abschluss des Schritts erfüllt.

Standard-Timeout: 60 Minuten

Rollback: Bei Build-Instances führt Rollback die Aktion aus, die Sie in Ihrer Infrastrukturkonfigurationsressource konfiguriert haben. Standardmäßig werden Build-Instances beendet, wenn die Image-Erstellung fehlschlägt. In der Infrastrukturkonfiguration gibt es jedoch eine Einstellung, nach der die Build-Instanz zur Fehlerbehebung beibehalten wird.

Eingaben: Die folgende Tabelle enthält unterstützte Eingaben für diese Schrittaktion.

Name der Eingabe Description Typ Erforderlich Standard Beschränkungen
imageIdOverride Das Bild, das zum Starten der Instance verwendet werden soll String Nein

Erstellungsphase: Basis-Image für das Image-Rezept

Testphase: AMI aus der Build-Phase ausgeben

Muss eine gültige AMI-ID sein
instanceTypesOverride Image Builder versucht jeden Instanztyp in der Liste, bis er einen findet, der erfolgreich gestartet wird. Liste von Zeichenfolgen Nein In Ihrer Infrastrukturkonfiguration angegebene Instanztypen Es müssen gültige Instance-Typen sein
Warte auf Die Bedingung, auf die gewartet werden muss, bevor der Workflow-Schritt abgeschlossen und mit dem nächsten Schritt fortgefahren wird String Ja Image Builder unterstütztssmAgent.

Ausgaben: Die folgende Tabelle enthält Ausgaben für diese Schrittaktion.

Ausgabenname Description Typ
instanceId Die Instanz-ID der Instanz, die gestartet wurde. String

Beispiel

Geben Sie die Schrittaktion im Workflow-Dokument an.

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

Verwenden Sie die Ausgabe der Schrittaktion im Workflow-Dokument.

$.stepOutputs.LaunchStep.instanceId

ModifyImageAttributes

Diese Schrittaktion ändert Attribute von Distributed AMIs, z. B. Startberechtigungen und andere AMI-Attribute. Dabei werden AMIs die Daten verwendet, die an Zielregionen und Konten verteilt wurden.

Standard-Timeout: 120 Minuten

Maximales Timeout: 180 Minuten

Rollback: Für diese Schrittaktion gibt es kein Rollback.

Eingaben: Die folgende Tabelle enthält unterstützte Eingaben für diese Schrittaktion.

Name der Eingabe Description Typ Erforderlich Standard Beschränkungen
Region Die Region des Bildes. String Ja
Launch Permission Nein
Startberechtigung: Benutzer-IDs Der Benutzer, der in den IDs Startberechtigungen für das Bild geändert werden soll. String Nein
Startberechtigung: Benutzergruppen Die Benutzergruppen, die in den Startberechtigungen für das Image geändert werden sollen. String Nein
Startberechtigung: Organisation ARNS Die AWS Organisation, die in den Startberechtigungen ARNs für das Image geändert werden soll. String Nein
Startberechtigung: organizationalUnitArns Die AWS Organisationseinheit ARNs , die in den Startberechtigungen für das Image geändert werden soll. String Nein

Ausgaben: Die folgende Tabelle enthält Ausgaben für diese Schrittaktion.

Ausgabenname Description Typ
Geänderte Bilder Eine Liste modifizierter Bilder Array
Geänderte Bilder: Konto-ID Die Zielkonto-ID des verteilten Images. String
Geänderte Bilder: Name Der Name des AMI. String
Geänderte Bilder: AMIID Die AMI-ID des verteilten Images. String
Geänderte Bilder: Startdatum UTC-Zeit, zu der die Verteilung begann. String
Geänderte Bilder: Datum, an dem der Vorgang unterbrochen wurde UTC-Zeit, zu der die Verteilung abgeschlossen wurde. String
Geänderte Bilder: Schritt Der Schritt, bei dem die Verteilung beendet wurde. Abgeschlossen| ModifyAmiRunning
Geänderte Bilder: Region Die AWS Region des Bildes. String
Geänderte Bilder: Status Status der Verteilung. Abgeschlossen|Fehlgeschlagen|Abgebrochen| TimedOut
Geänderte Bilder: Fehlermeldung Fehlermeldung, falls vorhanden. String

Beispiel

Geben Sie die Schrittaktion im Workflow-Dokument an.

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

Verwenden Sie die Ausgabe des Schrittaktionswerts im Workflow-Dokument.

$.stepOutputs.ModifyImageAttributesStep.modifiedImages

RegisterImage

Diese Schrittaktion registriert ein neues Amazon Machine Image (AMI) mithilfe der EC2 RegisterImage Amazon-API. Es ermöglicht Ihnen, ein AMI aus einem vorhandenen Snapshot oder einer Gruppe von Snapshots zu erstellen und dabei verschiedene Image-Attribute anzugeben.

Standard-Timeout: 720 Minuten

Rollback: Für diese Schrittaktion gibt es kein Rollback.

Eingaben: Die folgende Tabelle enthält unterstützte Eingaben für diese Schrittaktion.

Name der Eingabe Description Typ Erforderlich Standard Beschränkungen
Anwendung ansehen Die Architektur des AMI. String Nein Gültige Werte: i386, x86_64, arm64, x86_64_mac, arm64_mac
blockDeviceMapping Die Blockgerätezuordnungseinträge für das AMI. Array Nein
Boot-Modus Der Startmodus des AMI. String Nein Gültige Werte: Legacy-BIOS, UEFI, UEFI-Preferred
description Eine Beschreibung für das AMI. String Nein
enaSupport Ob Enhanced Networking mit ENA aktiviert ist. Boolesch Nein
Standort des Bilds Der Speicherort des AMI-Manifests. String Nein Erforderlich für S3-gestütztes AMIs
IMDS-Unterstützung Die IMDSv2 Unterstützungsstufe. String Nein Gültige Werte: v2.0
includeSnapshotTags Ob Tags aus dem ersten Snapshot, der in der Blockgerätezuordnung definiert wurde, aufgenommen werden sollen. Boolesch Nein FALSE

Wenn der Wert auf true gesetzt ist, werden Tags wie folgt eingeschlossen:

  • Tags aus dem SnapshotId ersten EBS-Volume in der blockDeviceMapping Liste, das a enthält, SnapshotId wird mit den AMI-Registrierungs-Tags zusammengeführt.

  • AMI-Registrierungs-Tags haben Vorrang vor Snapshot-Tags mit demselben Schlüssel.

  • AWS reservierte Tags (solche, deren Schlüssel mit beginnenaws:) werden automatisch ausgeschlossen.

  • Wenn mehrere EBS-Volumes mit definiert SnapshotId sind, sind nur Tags des ersten EBS-Volumes in der Liste enthalten, SnapshotId das a enthält.

Kernel-ID Die ID des zu verwendenden Kernels. String Nein
RAM-Disk-ID Die ID der zu verwendenden RAM-Disk. String Nein
rootDeviceName Der Gerätename des Root-Geräts. String Nein Beispiel: /dev/sda1
sriovNetSupport Verbessertes Netzwerk mit der Intel 82599 VF-Schnittstelle. String Nein
TPM-Unterstützung Unterstützung für TPM-Versionen. String Nein Gültige Werte: v2.0
UEFI-Daten Base64-kodierte UEFI-Daten. String Nein
Virtualisierungstyp Der Virtualisierungstyp. String Nein Gültige Werte: hvm, paravirtual

Ausgaben: Die folgende Tabelle enthält Ausgaben für diese Schrittaktion.

Ausgabenname Description Typ
imageId Die AMI-ID des registrierten Images. String

Beispiel

Geben Sie die Schrittaktion im Workflow-Dokument an.

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

Verwenden Sie die Ausgabe des Schrittaktionswerts im Workflow-Dokument.

$.stepOutputs.RegisterNewImage.imageId

Beispiel mit einem SnapshotId von einem anderen Schritt und Snapshot-Tags, die im generierten AMI enthalten sind

- 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

Diese Schrittaktion führt ein Befehlsdokument für Ihren Workflow aus. Image Builder verwendet die sendCommand in der Systems Manager API, um es für Sie auszuführen. Weitere Informationen finden Sie unter Befehl AWS Systems Manager ausführen.

Standard-Timeout: 12 Stunden

Rollback: Für diese Schrittaktion gibt es kein Rollback.

Eingaben: Die folgende Tabelle enthält unterstützte Eingaben für diese Schrittaktion.

Name der Eingabe Description Typ Erforderlich Standard Beschränkungen
instanceId Die ID der Instanz, auf der das Befehlsdokument ausgeführt werden soll. String Ja Dies muss die Ausgabeinstanz-ID des Workflow-Schritts sein, mit dem die Instanz für diesen Workflow gestartet wurde.
documentName Der Name des Systems Manager Manager-Befehlsdokuments, das ausgeführt werden soll. String Ja
Parameter Eine Liste von Schlüssel-Wert-Paaren für alle Parameter, die das Befehlsdokument benötigt. <string>wörterbuch<string, list > Bedingt
Version des Dokuments Die auszuführende Version des Befehlsdokuments. String Nein $DEFAULT

Ausgaben: Die folgende Tabelle enthält Ausgaben für diese Schrittaktion.

Ausgabenname Description Typ
runCommandId Die ID des Systems ManagersendCommand, der das Befehlsdokument auf der Instanz ausgeführt hat. String
Status Der vom Systems Manager zurückgegebene StatussendCommand. String
output Die Ausgabe wurde vom Systems Manager zurückgegebensendCommand. Liste von Zeichenfolgen

Beispiel

Geben Sie die Schrittaktion im Workflow-Dokument an.

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

Verwenden Sie die Ausgabe des Schrittaktionswerts im Workflow-Dokument.

$.stepOutputs.RunCommandDoc.status

RunSysPrep

Diese Schrittaktion verwendet die sendCommand in der Systems Manager Manager-API, um das AWSEC2-RunSysprep Dokument für Windows-Instanzen auszuführen, bevor die Build-Instanz für den Snapshot heruntergefahren wird. Diese Aktionen folgen den AWS bewährten Methoden zum Härten und Reinigen des Images.

Standard-Timeout: 60 Minuten

Rollback: Für diese Schrittaktion gibt es kein Rollback.

Eingaben: Die folgende Tabelle enthält unterstützte Eingaben für diese Schrittaktion.

Name der Eingabe Description Typ Erforderlich Standard Beschränkungen
instanceId Die ID der Instanz, auf der das AWSEC2-RunSysprep Dokument ausgeführt werden soll. String Ja Dies muss die Ausgabeinstanz-ID des Workflow-Schritts sein, der die Instanz für diesen Workflow gestartet hat.

Ausgaben: Die folgende Tabelle enthält Ausgaben für diese Schrittaktion.

Ausgabenname Description Typ
runCommandId Die ID des Systems ManagersendCommand, der das AWSEC2-RunSysprep Dokument auf der Instanz ausgeführt hat. String
Status Der vom Systems Manager zurückgegebene StatussendCommand. String
output Die Ausgabe wurde vom Systems Manager zurückgegebensendCommand. String

Beispiel

Geben Sie die Schrittaktion im Workflow-Dokument an.

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

Verwenden Sie die Ausgabe des Schrittaktionswerts im Workflow-Dokument.

$.stepOutputs.RunSysprep.status

SanitizeInstance

Diese Schrittaktion führt das empfohlene Bereinigungsskript für Linux-Instances aus, bevor die Build-Instance für den Snapshot heruntergefahren wird. Das Bereinigungsskript trägt dazu bei, dass das endgültige Image den bewährten Sicherheitsmethoden entspricht und dass Build-Artefakte oder Einstellungen, die nicht auf Ihren Snapshot übertragen werden sollten, entfernt werden. Weitere Informationen zum Skript finden Sie unter. Bereinigung nach dem Build erforderlich Diese Schrittaktion gilt nicht für Container-Images.

Image Builder verwendet die sendCommand in der Systems Manager Manager-API enthaltene, um dieses Skript auszuführen. Weitere Informationen finden Sie unter Befehl AWS Systems Manager ausführen.

Standard-Timeout: 60 Minuten

Rollback: Für diese Schrittaktion gibt es kein Rollback.

Eingaben: Die folgende Tabelle enthält unterstützte Eingaben für diese Schrittaktion.

Name der Eingabe Description Typ Erforderlich Standard Beschränkungen
instanceId Die ID der Instanz, die bereinigt werden soll. String Ja Dies muss die Ausgabeinstanz-ID des Workflow-Schritts sein, mit dem die Instanz für diesen Workflow gestartet wurde.

Ausgaben: Die folgende Tabelle enthält Ausgaben für diese Schrittaktion.

Ausgabenname Description Typ
runCommandId Die ID des Systems ManagersendCommand, der das Bereinigungsskript auf der Instanz ausgeführt hat. String
Status Der vom Systems Manager zurückgegebene StatussendCommand. String
output Die Ausgabe wurde vom Systems Manager zurückgegebensendCommand. String

Beispiel

Geben Sie die Schrittaktion im Workflow-Dokument an.

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

Verwenden Sie die Ausgabe des Schrittaktionswerts im Workflow-Dokument.

$.stepOutputs.SanitizeStep.status

TerminateInstance

Diese Schrittaktion beendet die Instanz mit der Instanz-ID, die als Eingabe übergeben wurde.

Standard-Timeout: 30 Minuten

Rollback: Für diese Schrittaktion gibt es kein Rollback.

Eingaben: Die folgende Tabelle enthält unterstützte Eingaben für diese Schrittaktion.

Name der Eingabe Description Typ Erforderlich Standard Beschränkungen
instanceId Die ID der Instanz, die beendet werden soll. String Ja

Ausgaben: Für diese Schrittaktion gibt es keine Ausgaben.

Beispiel

Geben Sie die Schrittaktion im Workflow-Dokument an.

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

WaitForAction

Diese Schrittaktion unterbricht den laufenden Workflow und wartet auf den Empfang einer externen Aktion von der Image Builder SendWorkflowStepAction Builder-API-Aktion. In diesem Schritt wird ein EventBridge Ereignis mit dem Typ „Detail“ in Ihrem EventBridge Standard-Event-Bus veröffentlicht. EC2 Image Builder Workflow Step Waiting Der Schritt kann auch eine SNS-Benachrichtigung senden, wenn Sie einen SNS-Themen-ARN angeben, oder eine Lambda-Funktion asynchron aufrufen, wenn Sie einen Lambda-Funktionsnamen angeben.

Standard-Timeout: 3 Tage

Rollback: Für diese Schrittaktion gibt es kein Rollback.

Eingaben: Die folgende Tabelle enthält unterstützte Eingaben für diese Schrittaktion.

Name der Eingabe Description Typ Erforderlich Standard Beschränkungen
snsTopicArn Ein optionaler SNS-Thema-ARN, an den eine Benachrichtigung gesendet werden kann, wenn der Workflow-Schritt aussteht. String Nein
lambdaFunctionName Ein optionaler Name oder ARN der Lambda-Funktion, die asynchron aufgerufen werden soll, wenn der Workflow-Schritt aussteht. String Nein
Nutzlast JSON-Zeichenfolge, die als Nachricht für SNS und als Nutzlast für Lambda verwendet wird. Falls angegeben, wird eine benutzerdefinierte Nutzlast standardmäßig eingeschlossen. message/payload, used for SNS and Lambda respectively. If not provided, generates default message/payload String Nein Muss eine gültige JSON-Zeichenfolge sein, max. 16 KiB

Ausgaben: Die folgende Tabelle enthält Ausgaben für diese Schrittaktion.

Ausgabenname Description Typ
action Die Aktion, die die SendWorkflowStepAction API-Aktion zurückgibt. Zeichenfolge (RESUMEoderSTOP)
Grund Der Grund für die zurückgegebene Aktion. String

Beispiel

Geben Sie die Schrittaktion im Workflow-Dokument mit SNS-Benachrichtigung an.

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

Geben Sie die Schrittaktion im Workflow-Dokument mit dem Aufruf der Lambda-Funktion an.

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

Verwenden Sie die Ausgabe des Schrittaktionswerts im Workflow-Dokument.

$.stepOutputs.SendEventAndWait.reason

WaitForSSMAgent

Diese Schrittaktion wartet darauf, dass eine EC2 Instanz AWS Systems Manager nach erwarteten Phasen, in denen sie nicht reagiert, verwaltbar wird. Dies ist besonders nützlich für Workflows mit bekannten Instanzunterbrechungen, z. B. Systemneustarts, Betriebssystem-Upgrades oder plattformspezifische Operationen, bei denen die Instanz vorübergehend vom SSM getrennt wird. Image Builder überwacht die Instanz, bis die SSM-Konnektivität wiederhergestellt ist oder ein Timeout auftritt.

Standard-Timeout: 60 Minuten

Maximales Timeout: 180 Minuten

Rollback: Für diese Schrittaktion gibt es kein Rollback.

Eingaben: Die folgende Tabelle enthält unterstützte Eingaben für diese Schrittaktion.

Name der Eingabe Description Typ Erforderlich Standard Beschränkungen
instanceId Die ID der Instanz, die auf SSM-Konnektivität überwacht werden soll. String Ja Muss eine gültige EC2 Instanz-ID sein

Ausgaben: Die folgende Tabelle enthält Ausgaben für diese Schrittaktion.

Ausgabenname Description Typ
Status Verbindungsstatus des SSM-Agenten. String

Beispiel

Geben Sie die Schrittaktion im Workflow-Dokument an.

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

Verwenden Sie die Ausgabe des Schrittaktionswerts im Workflow-Dokument.

$.stepOutputs.WaitForInstanceAfterReboot.Status