View a markdown version of this page

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.

Die folgende Tabelle zeigt, welche Workflow-Phasen die einzelnen Schrittaktionen unterstützen. Ein Häkchen (X) gibt an, dass Sie die Schrittaktion in dieser Phase verwenden können. Image Builder beschränkt einige Aktionen auf bestimmte Phasen: ExecuteComponents auf die Build- und Testphase, CollectImageScanFindings auf die Testphase undDistributeImage, ModifyImageAttributesApplyImageConfigurations, und DistributeContainerImage auf die Verteilungsphase. Sie können jede andere Aktion in jeder Phase verwenden.

Schrittweise Aktion Entwicklung Test Distribution Hinweise
LaunchInstance X X X Startet eine Amazon EC2-Instance.
BootstrapInstanceForContainer X X X Installiert Docker und das AWS CLI für Container-Builds.
ExecuteComponents X X Führt Komponenten auf der Instanz aus. Beschränkt auf die Build- und Testphase.
CollectImageMetadata X X X Nur AMI-Builds.
RunSysPrep X X X Windows erstellt.
SanitizeInstance X X X Linux-AMI-Builds; nicht für Container.
CreateImage X X X Erstellt ein AMI aus der Build-Instance.
CreateImageFromIso X X X Erstellt ein AMI aus einem ISO-Disk-Image.
RegisterImage X X X Registriert ein AMI aus Snapshots.
DistributeContainerImage X Verteilt ein Container-Image. Beschränkt auf die Vertriebsphase.
CollectImageScanFindings X Sammelt die Ergebnisse von Bildscans. Beschränkt auf die Testphase. Erfordert Amazon Inspector und das Scannen von Bildern.
RunCommand X X X Führt ein Befehlsdokument AWS Systems Manager (Systems Manager) aus.
WaitForSSMAgent X X X Wartet nach einem Neustart auf die Systems Manager-Konnektivität.
WaitForAction X X X Pausen für eine externe Aktion.
ExecuteStateMachine X X X Führt eine Step Functions-Zustandsmaschine aus.
TerminateInstance X X X Beendet eine Instanz. Ein Container-Distribution-Workflow beendet beispielsweise die Build-Instanz, nachdem sie das Image übertragen hat.
DistributeImage X Kopiert ein AMI in Regionen und Konten. Beschränkt auf die Vertriebsphase.
ModifyImageAttributes X Ändert die AMI-Startberechtigungen. Beschränkt auf die Vertriebsphase.
ApplyImageConfigurations X Wendet Startvorlagen, Lizenzen, Exporte, Schnellstart und Systems Manager-Parameter an. Beschränkt auf die Vertriebsphase.
Wichtig

Ein einzelner Workflow verteilt entweder AMIs oder Container-Images, nicht beide. Wenn ein Workflow Folgendes umfasstDistributeContainerImage, kann er nicht auch DistributeImageModifyImageAttributes, oder ApplyImageConfigurations enthalten. Diese AMI-Verteilungsaktionen werden auf Amazon EC2-AMIs ausgeführt, während sie auf DistributeContainerImage Container-Images in Amazon Elastic Container Registry (Amazon ECR) ausgeführt werden.

ApplyImageConfigurations

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

Anmerkung

Die configurations Eingabe ist optional. Wenn Sie sie angeben, verwendet Image Builder Ihre Workflow-Eingaben und ignoriert die angehängte Verteilungskonfiguration. Wenn Sie sie weglassen, greift Image Builder auf die Verteilungskonfiguration zurück, die der Pipeline oder dem Image zugeordnet ist.

Standard-Timeout: 360 Minuten

Maximales Timeout: 720 Minuten (12 Stunden)

Sie können die Standardeinstellung bis zum angezeigten Höchstwert überschreiben. timeoutSeconds Ein Wert, der über dem Höchstwert liegt, schlägt bei der Überprüfung fehl.

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

Eingaben: Die folgende Tabelle enthält unterstützte Eingaben für diese Schrittaktion. Die distributedImages.$ Eingabe ist erforderlich. Die verbleibenden Zeilen beschreiben die Felder in den einzelnen Elementen des configurations Arrays.

Geben Sie den Namen ein Description Typ Erforderlich Standard Beschränkungen
Verteilte Bilder. $ Die Liste der verteilten Images, die konfiguriert werden sollen. Verweisen Sie auf die distributedImages Ausgabe eines DistributeImage Schritts im gleichen Arbeitsablauf. Zeichenfolge Ja Eine JSONPath-Referenz, die mit beginnt $.stepOutputs.
configurations Die Konfigurationen, die auf die verteilten AMIs angewendet werden sollen, als Liste. Jedes Element zielt auf eine AWS Region ab. Array Nein
Konfigurationen: Region Die AWS Region des verteilten AMI, das konfiguriert werden soll. Zeichenfolge Ja Erforderlich für jeden Artikel inconfigurations.
Konfigurationen: Lizenz ConfigurationArns Der ARN der Lizenzkonfiguration für das Image. Array Nein
Konfigurationen: starten TemplateConfigurations Die Startvorlagenkonfigurationen, die auf die verteilten AMIs angewendet werden sollen. Array Nein
Konfigurationen: starten TemplateConfigurations:launchTemplateId Die Startvorlagen-ID, die auf das Image angewendet werden soll. Zeichenfolge Ja, launchTemplateConfigurations wenn angegeben
Konfigurationen: starten TemplateConfigurations:accountId Die Konto-IDs der Startvorlage, die auf das Image angewendet werden sollen. Zeichenfolge Nein
Konfigurationen: starten TemplateConfigurations:setDefaultVersion Die Standardversionseinstellung der Startvorlage für das Image. Boolesch Nein
Konfigurationen: S3 ExportConfiguration Die Amazon S3-Exportkonfiguration für die verteilten AMIs. Array Nein
Konfigurationen: s3 ExportConfiguration:roleName Der Name der Amazon S3-Exportkonfigurationsrolle für das Image. Zeichenfolge Ja, s3ExportConfiguration wenn angegeben
Konfigurationen: s3 ExportConfiguration:diskImageFormat Das Disk-Image-Format der Amazon S3-Exportkonfiguration für das Image. Zeichenfolge Ja, s3ExportConfiguration wenn angegeben Zulässige Werte - VMDK|RAW|VHD
Konfigurationen: s3 ExportConfiguration:s3Bucket Der Name des Amazon S3-Export-Konfigurations-Buckets für das Image. Zeichenfolge Ja, s3ExportConfiguration wenn angegeben
Konfigurationen: s3 ExportConfiguration:s3Prefix Das Amazon S3-Export-Konfigurations-Bucket-Präfix für das Image. Zeichenfolge Nein
Konfigurationen: schnell LaunchConfigurations Die Amazon EC2 Fast Launch-Konfiguration für das Image. Array Nein
Konfigurationen: schnell LaunchConfigurations:enabled Ob Amazon EC2 Fast Launch für das Image aktiviert ist. Boolesch Ja, wenn fastLaunchConfigurations angegeben
Konfigurationen: schnell LaunchConfigurations:snapshotConfiguration Die Snapshot-Konfiguration für die Vorabbereitstellung von Amazon EC2 Fast Launch-Snapshots. Zuordnung Nein
Konfigurationen: schnell LaunchConfigurations:snapshotConfiguration:targetResourceCount Die Anzahl der Amazon EC2 Fast Launch-Zielressourcen für das Image. Ganzzahl Nein
Konfigurationen: schnell LaunchConfigurations:maxParallelLaunches Die maximale Anzahl paralleler Starts des Amazon EC2 Fast Launch für das Image. Ganzzahl Nein
Konfigurationen:schnell LaunchConfigurations:launchTemplate Die Startvorlage, die Amazon EC2 Fast Launch verwendet, um vorab bereitgestellte Snapshots vorzubereiten. Zuordnung Nein
Konfigurationen: schnell LaunchConfigurations:launchTemplate:launchTemplateId Die Amazon EC2 Fast Launch-Vorlagen-ID für das Image. Zeichenfolge Nein
Konfigurationen: schnell LaunchConfigurations:launchTemplate:launchTemplateName Der Name der Amazon EC2 Fast Launch-Startvorlage für das Image. Zeichenfolge Nein
Konfigurationen: schnell LaunchConfigurations:launchTemplate:launchTemplateVersion Die Amazon EC2 Fast Launch-Vorlagenversion für das Image. Zeichenfolge Nein
Konfigurationen: ssm ParameterConfigurations Die Systems Manager-Parameterkonfiguration für das Image. Zuordnung Nein
Konfigurationen: ssm ParameterConfigurations:amiAccountId Die AMI-Konto-ID des Systems Manager-Parameters für das Image. Zeichenfolge Nein
Konfigurationen: ssm ParameterConfigurations:parameterName Der Systems Manager-Parametername für das Image. Zeichenfolge Ja, ssmParameterConfigurations wenn angegeben
Konfigurationen: ssm ParameterConfigurations:dataType Der Systems Manager-Parameter-Datentyp für das Image. Zeichenfolge 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
konfiguriert Images:accountId Die Zielkonto-ID des verteilten Images. Zeichenfolge
konfiguriert Images:name Der Name des AMI. Zeichenfolge
konfiguriert Images:amiId Die AMI-ID des verteilten Images. Zeichenfolge
konfiguriert Images:dateStarted UTC-Zeit, zu der die Verteilung gestartet wurde. Zeichenfolge
konfiguriert Images:dateStopped UTC-Zeit, zu der die Verteilung abgeschlossen ist. Zeichenfolge
konfiguriert Images:step Der Schritt, bei dem die Verteilung beendet wurde. Abgeschlossen| AssociateLicensesRunning | UpdateLaunchTemplateRunning | PutSsmParametersRunning | UpdateFastLaunchConfiguration ExportAmiQueued ExportAmiRunning
konfiguriert Images:region Die AWS Region des verteilten Images. Zeichenfolge
konfiguriert Images:status Status der Verteilung. Abgeschlossen|Fehlgeschlagen|Abgebrochen| TimedOut
konfiguriert Images:errorMessage Fehlermeldung, falls vorhanden. Zeichenfolge

Beispiel

Geben Sie die Schrittaktion im Workflow-Dokument an.

- name: ApplyImageConfigurations action: ApplyImageConfigurations onFailure: Abort inputs: distributedImages.$: $.stepOutputs.DistributeImageStep.distributedImages configurations: - region: us-west-2 licenseConfigurationArns: - arn:aws:license-manager:us-west-2:111122223333:license-configuration:lic-example

Verwenden Sie die Ausgabe des Schrittaktionswerts im Workflow-Dokument.

$.stepOutputs.ApplyImageConfigurationsStep.configuredImages

BootstrapInstanceForContainer

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

Anmerkung

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

Standard-Timeout: 60 Minuten

Maximales Timeout: 720 Minuten (12 Stunden)

Sie können die Standardeinstellung bis zum angezeigten Höchstwert überschreiben. timeoutSeconds Ein Wert, der über dem Höchstwert liegt, schlägt bei der Überprüfung fehl.

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

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

Name eingeben Description Typ Erforderlich Standard Beschränkungen
instanceId Die ID der Instanz, die gebootet werden soll. Zeichenfolge Ja Dies muss die Ausgabeinstanz-ID aus dem Workflow-Schritt 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
ausführen CommandId Die ID des SystemmanagerssendCommand, der das Bootstrap-Skript auf der Instanz ausgeführt hat. Zeichenfolge
Status Der vom Systems Manager sendCommand zurückgegebene Status. Zeichenfolge
output Vom Systems Manager zurückgegebene AusgabesendCommand. Zeichenfolge

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 AWS Systems Manager (Systems Manager) Agent auf den EC2-Instances aus, die er startet, um Ihr Image zu erstellen und zu testen. Image Builder sammelt zusätzliche Informationen über die Instance, die während der Buildphase mit Systems Manager Inventory verwendet wurde. Zu diesen Informationen gehören der Name und die Version des Betriebssystems (OS) sowie die Liste der Pakete und ihrer jeweiligen Versionen, wie sie von Ihrem Betriebssystem gemeldet werden.

Anmerkung

Diese Schrittaktion funktioniert nur für Images, die AMIs erstellen.

Standard-Timeout: 30 Minuten

Maximales Timeout: 720 Minuten (12 Stunden)

Sie können die Standardeinstellung bis zum angezeigten Höchstwert überschreiben. timeoutSeconds Ein Wert, der über dem Höchstwert liegt, schlägt bei der Überprüfung fehl.

Rollback: Image Builder setzt alle Systems Manager-Ressourcen zurück, die während dieses Schritts erstellt wurden.

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

Name eingeben Description Typ Erforderlich Standard Beschränkungen
instanceId Die Build-Instanz, auf die die Metadateneinstellungen angewendet werden sollen. Zeichenfolge Ja Dies muss die Ausgabeinstanz-ID aus dem Workflow-Schritt 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. Zeichenfolge
Assoziations-ID Die Systems Manager-Zuordnungs-ID, die für die Inventarerfassung verwendet wird. Zeichenfolge

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 und das Scannen von Bildern für Ihre Pipeline aktiviert ist, erfasst diese Schrittaktion die von Amazon Inspector für Ihre Test-Instance gemeldeten Ergebnisse von Bildscans. Diese Schrittaktion ist für Build-Workflows nicht verfügbar.

Standard-Timeout: 120 Minuten

Maximales Timeout: 720 Minuten (12 Stunden)

Sie können die Standardeinstellung bis zum angezeigten Höchstwert überschreiben. timeoutSeconds Ein Wert, der über dem Höchstwert liegt, schlägt bei der Überprüfung fehl.

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

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

Name eingeben Description Typ Erforderlich Standard Beschränkungen
instanceId Die ID für die Instanz, auf der das Scannen ausgeführt wurde. Zeichenfolge Ja Dies muss die Ausgabeinstanz-ID aus dem Workflow-Schritt sein, der die Instanz für diesen Workflow gestartet hat.

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

Ausgabenname Description Typ
ausführen CommandId Die ID des SystemmanagerssendCommand, der das Skript zur Erfassung der Ergebnisse ausgeführt hat. Zeichenfolge
Status Der vom Systems Manager zurückgegebene StatussendCommand. Zeichenfolge
output Vom Systems Manager zurückgegebene AusgabesendCommand. Zeichenfolge

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 Bild aus einer laufenden Instance mit der Amazon CreateImage EC2-API. Während des Erstellungsprozesses wartet die Schrittaktion bei Bedarf, um zu überprüfen, ob die Ressourcen den richtigen Zustand erreicht haben, bevor sie fortgesetzt wird.

Standard-Timeout: 720 Minuten

Maximales Timeout: 3 Tage (259.200 Sekunden)

Sie können die Standardeinstellung mit bis zum angezeigten timeoutSeconds Höchstwert überschreiben. Ein Wert, der über dem Höchstwert liegt, schlägt bei der Überprüfung fehl.

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

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

Name eingeben Description Typ Erforderlich Standard Beschränkungen
instanceId Die Instanz, aus der das neue Image erstellt werden soll. Zeichenfolge Ja Die Instanz für die angegebene Instanz-ID muss sich in einem running Zustand befinden, wenn dieser Schritt beginnt.

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

Ausgabenname Description Typ
imageId Die AMI-ID des Images, das erstellt wurde. Zeichenfolge

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

CreateImageFromIso

Verwenden Sie diese Schrittaktion, um ein Amazon Machine Image (AMI) aus einem ISO-Disk-Image auf der Build-Instance zu erstellen. Verwenden Sie es in einem Build-Workflow, wenn Ihre Quelle eine ISO-Datei und kein Basis-AMI ist. Image Builder konvertiert das ISO in ein AMI und wartet, bis die Ressourcen den erforderlichen Status erreicht haben, bevor der Vorgang fortgesetzt wird.

Anmerkung

Für diese Aktion gelten dieselben Anforderungen wie für das Importieren eines ISO-Disk-Images. Weitere Informationen finden Sie unter Importieren Sie verifizierte Windows-ISO-Disk-Images mit Image Builder.

Standard-Timeout: 720 Minuten

Maximales Timeout: 720 Minuten (12 Stunden)

Sie können die Standardeinstellung bis zum angezeigten Höchstwert überschreiben. timeoutSeconds Ein Wert, der über dem Höchstwert liegt, schlägt bei der Überprüfung fehl.

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

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

Name eingeben Description Typ Erforderlich Standard Beschränkungen
instanceId Die ID der Build-Instanz, die das ISO-Disk-Image enthält. Zeichenfolge Ja Dies muss die Ausgabeinstanz-ID aus dem Workflow-Schritt sein, der die Build-Instanz für diesen Workflow gestartet hat.

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

Ausgabenname Description Typ
Aminame Der Name des AMI, das der Schritt erstellt hat. Zeichenfolge
Snapshot-ID Die ID des Snapshots, der das AMI unterstützt. Zeichenfolge
Architektur Die Architektur des AMI (x86_64oderarm64). Zeichenfolge

Beispiel

Geben Sie die Schrittaktion im Workflow-Dokument an.

- name: CreateImageFromIsoStep action: CreateImageFromIso onFailure: Abort inputs: instanceId.$: $.stepOutputs.LaunchStep.instanceId

Verwenden Sie die Ausgabe des Schrittaktionswerts im Workflow-Dokument.

$.stepOutputs.CreateImageFromIsoStep.amiName

DistributeContainerImage

Verwenden Sie diese Schrittaktion, um ein Container-Image, das in der Build-Phase erstellt wurde, an Amazon ECR-Repositorys in den für das Image definierten Zielregionen zu verteilen. Verwenden Sie diese Aktion in einem Verteilungs-Workflow für Container (DOCKER) -Images. Sie funktioniert als Container-Image-Gegenstück zu. DistributeImage

Diese Schrittaktion führt einen Systems Manager-Befehl auf der Build-Instanz aus, um das Container-Image zu übertragen. Auf der Instanz muss Docker und das AWS CLI installiert sein. Weitere Informationen finden Sie unter BootstrapInstanceForContainer.

Wichtig

Ein Workflow, der Folgendes beinhaltet, DistributeContainerImage kann nicht auch DistributeImageModifyImageAttributes, oder ApplyImageConfigurations enthalten. Ein einzelner Workflow verteilt entweder Container-Images oder AMIs, nicht beide.

Standard-Timeout: 120 Minuten

Maximales Timeout: 720 Minuten (12 Stunden)

Sie können die Standardeinstellung bis zum angezeigten Höchstwert überschreiben. timeoutSeconds Ein Wert, der über dem Höchstwert liegt, schlägt bei der Überprüfung fehl.

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

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

Name eingeben Description Typ Erforderlich Standard Beschränkungen
instanceId Die ID der Build-Instanz, die das Container-Image enthält. Zeichenfolge Ja Dies muss die Ausgabeinstanz-ID aus dem Workflow-Schritt sein, der die Build-Instanz für diesen Workflow gestartet hat.

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

Ausgabenname Description Typ
Status Der vom Systems Manager zurückgegebene StatussendCommand. Zeichenfolge
Erfolgreiche Regionen Die Regionen, in denen die Verteilung erfolgreich war. Array
Fehlgeschlagene Regionen Die Regionen, in denen die Verteilung fehlgeschlagen ist. Array

Beispiel

Geben Sie die Schrittaktion im Workflow-Dokument an.

- name: DistributeContainer action: DistributeContainerImage onFailure: Abort inputs: instanceId.$: $.stepOutputs.LaunchStep.instanceId

Verwenden Sie die Ausgabe des Schrittaktionswerts im Workflow-Dokument.

$.stepOutputs.DistributeContainer.status

DistributeImage

Diese Schrittaktion verteilt ein AMI an die von Ihnen angegebenen Zielregionen und Konten. Es verwendet die Verteilungskonfiguration aus Ihrer CreateImagePipeline Anfrage CreateImage oder benutzerdefinierte Verteilungseinstellungen im Workflow, die die Standardkonfiguration außer Kraft setzen.

Anmerkung

Die distributions Eingabe ist optional. Wenn Sie sie angeben, verwendet Image Builder Ihre Workflow-Eingaben und ignoriert die angehängte Verteilungskonfiguration. Wenn Sie sie weglassen, greift Image Builder auf die Verteilungskonfiguration zurück, die der Pipeline oder dem Image zugeordnet ist.

Standard-Timeout: 360 Minuten

Maximales Timeout: 720 Minuten (12 Stunden)

Sie können die Standardeinstellung bis zum angezeigten Höchstwert überschreiben. timeoutSeconds Ein Wert, der über dem Höchstwert liegt, schlägt bei der Überprüfung fehl.

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

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

Name eingeben Description Typ Erforderlich Standard Beschränkungen
Verteilungen Die Verteilungseinstellungen für das AMI als Liste. Jedes Element zielt auf eine AWS Region ab. Wenn Sie diese Eingabe weglassen, verwendet Image Builder die Verteilungskonfiguration, die der Pipeline oder dem Image zugeordnet ist. Array Nein
Verteilungen: Region Die AWS Region, an die das AMI verteilt werden soll. Zeichenfolge Ja Mindestlänge 1. Maximale Länge beträgt 1024 Zeichen.
Verteilungen: Name Der Name, der auf das verteilte AMI angewendet werden soll. Zeichenfolge Nein
Verteilungen: Beschreibung Die Beschreibung, die auf das verteilte AMI angewendet werden soll. Zeichenfolge Nein
Verteilungen: Ziel AccountIds Die Konto-IDs, an die das AMI verteilt werden soll. Array Nein
Verteilungen: AMI-Tags Die Tags, die auf das verteilte AMI angewendet werden sollen. Zuordnung Nein Maximal 50 Tags.
Verteilungen: km KeyId Der KMS-Schlüssel, der zum Verschlüsseln des verteilten AMI verwendet werden soll. Zeichenfolge Nein

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

Ausgabenname Description Typ
Verteilte Bilder Eine Liste der verteilten Bilder Array
verteilt Images:region Die AWS Region des verteilten Bilds. Zeichenfolge
verteilt Images:name Der Name des AMI. Zeichenfolge
verteilt Images:amiId Die AMI-ID des verteilten Images. Zeichenfolge
verteilt Images:accountId Die Zielkonto-ID des verteilten Images. Zeichenfolge
verteilt Images:dateStarted UTC-Zeit, zu der die Verteilung begann. Zeichenfolge
verteilt Images:dateStopped UTC-Zeit, zu der die Verteilung abgeschlossen ist. Zeichenfolge
verteilt Images:status Status der Verteilung. Abgeschlossen|Fehlgeschlagen|Abgebrochen| TimedOut
verteilt Images:step Der Schritt, bei dem die Verteilung beendet wurde. Abgeschlossen| CopyAmiRunning
verteilt Images:errorMessage Fehlermeldung, falls vorhanden. Zeichenfolge

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

Diese Schrittaktion führt Komponenten aus, die im Rezept für das aktuelle Image angegeben sind, das gerade erstellt wird. Build-Workflows führen Build-Komponenten auf der Build-Instanz aus. In Test-Workflows werden nur Testkomponenten auf der Testinstanz ausgeführt.

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

Maximales Timeout: 1 Tag (24 Stunden)

Sie können die Standardeinstellung bis zum angezeigten Höchstwert überschreiben. timeoutSeconds Ein Wert, der über dem Höchstwert liegt, schlägt bei der Überprüfung fehl.

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

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

Name eingeben Description Typ Erforderlich Standard Beschränkungen
instanceId Die ID für die Instanz, auf der die Komponenten ausgeführt werden sollen. Zeichenfolge Ja Dies muss die Ausgabeinstanz-ID aus dem Workflow-Schritt sein, der die Instanz für diesen Workflow gestartet hat.

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

Ausgabenname Description Typ
ausführen CommandId Die ID des Systems ManagerssendCommand, der die Komponenten auf der Instanz ausgeführt hat. Zeichenfolge
Status Der vom Systems Manager zurückgegebene StatussendCommand. Zeichenfolge
output Vom Systems Manager zurückgegebene AusgabesendCommand. Zeichenfolge

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-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 Informationen zu Zustandsautomaten in Step Functions im AWS Step Functions Entwicklerhandbuch.

Standard-Timeout: 6 Stunden

Maximales Timeout: 24 Stunden

Sie können die Standardeinstellung bis zum angezeigten Höchstwert überschreiben. timeoutSeconds Ein Wert, der über dem Höchstwert liegt, schlägt bei der Überprüfung fehl.

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

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

Name eingeben Description Typ Erforderlich Standard Beschränkungen
Staat MachineArn Der ARN der auszuführenden Step Functions-Zustandsmaschine. Zeichenfolge Ja Muss ein gültiger Zustandsmaschinen-ARN sein.
input JSON-Eingabedaten, die der Zustandsmaschine zur Verfügung gestellt werden sollen. Zeichenfolge 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 Ausführung der Zustandsmaschine. Zeichenfolge
output Die Ausgabe der Ausführung der Zustandsmaschine. Zeichenfolge

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

Verwenden Sie diese Schrittaktion, um eine Instance in Ihrem zu starten AWS-Konto. Die Aktion wartet, bis die Instanz die angegebene Integritätsprüfungsbedingung erfüllt und der Systems Manager-Agent ausgeführt wird, bevor mit dem nächsten Schritt fortgefahren wird. Die Startaktion verwendet Einstellungen aus Ihrem Rezept und den Ressourcen zur Infrastrukturkonfiguration. Beispielsweise stammt der zu startende Instance-Typ aus der Infrastrukturkonfiguration. Die Ausgabe ist die Instanz-ID der Instanz, die gestartet wurde.

Die waitFor Eingabe konfiguriert die Bedingung, die die Anforderung für den Abschluss eines Schritts erfüllt. Die healthCheck Eingabe gibt die Stufe der Integritätsprüfung der EC2-Instance an, die bestanden werden muss, bevor der Schritt fortgesetzt wird.

Standard-Timeout: 75 Minuten

Maximales Timeout: 720 Minuten (12 Stunden)

Sie können die Standardeinstellung bis zum angezeigten Höchstwert überschreiben. timeoutSeconds Ein Wert, der über dem Höchstwert liegt, schlägt bei der Überprüfung fehl.

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

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

Name eingeben Description Typ Erforderlich Standard Beschränkungen
Bild IdOverride Das Image, das zum Starten der Instanz verwendet werden soll Zeichenfolge Nein

Erstellungsphase: Basis-Image des Image-Rezepts

Testphase: Ausgabe-AMI aus der Erstellungsphase

Muss eine gültige AMI-ID sein
Instanz TypesOverride Image Builder probiert jeden Instanztyp in der Liste aus, bis er einen findet, der erfolgreich gestartet wird Liste von Zeichenfolgen Nein In Ihrer Infrastrukturkonfiguration angegebene Instanztypen Es müssen gültige Instanztypen sein
Warte auf Die Bedingung, auf die gewartet werden muss, bevor der Workflow-Schritt abgeschlossen und mit dem nächsten Schritt fortgefahren wird Zeichenfolge Ja Keine Image Builder unterstütztssmAgent.
Gesundheitscheck Das Niveau der EC2-Integritätsprüfung, das erforderlich ist, bevor der Workflow-Schritt fortgesetzt wird. Geben Sie anRUNNING, ob schnellere Builds mit minimaler Validierung erstellt werden sollen oder ob Sie warten möchten, STATUS_CHECK_PASSED bis die EC2-Statusprüfungen bestanden sind. Zeichenfolge Nein STATUS_CHECK_PASSED Zulässige Werte: RUNNING | STATUS_CHECK_PASSED.

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

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

Beispiel

Geben Sie die Schrittaktion im Workflow-Dokument an.

- name: LaunchStep action: LaunchInstance onFailure: Abort inputs: healthCheck: "RUNNING" waitFor: ssmAgent

Verwenden Sie die Ausgabe der Schrittaktion im Workflow-Dokument.

$.stepOutputs.LaunchStep.instanceId

ModifyImageAttributes

Verwenden Sie diese Schrittaktion, um Attribute verteilter AMIs zu ändern, z. B. Startberechtigungen und andere AMI-Attribute. Sie arbeitet mit AMIs, die an Zielregionen und -konten verteilt wurden.

Anmerkung

Die attributes Eingabe ist optional. Wenn Sie es angeben, verwendet Image Builder Ihre Workflow-Eingaben und ignoriert die angehängte Verteilungskonfiguration. Wenn Sie sie weglassen, greift Image Builder auf die Verteilungskonfiguration zurück, die der Pipeline oder dem Image zugeordnet ist.

Standard-Timeout: 120 Minuten

Maximales Timeout: 180 Minuten (3 Stunden)

Sie können die Standardeinstellung bis zum angezeigten Höchstwert überschreiben. timeoutSeconds Ein Wert, der über dem Höchstwert liegt, schlägt bei der Überprüfung fehl.

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

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

Name eingeben Description Typ Erforderlich Standard Beschränkungen
Verteilte Bilder. $ Die Liste der verteilten Images, die geändert werden sollen. Verweisen Sie auf die distributedImages Ausgabe eines DistributeImage Schritts im gleichen Arbeitsablauf. Zeichenfolge Ja Eine JSONPath-Referenz, die mit beginnt $.stepOutputs.
Attribute Die zu ändernden Bildattribute als Liste. Jedes Element zielt auf eine AWS Region ab. Array Nein
Attribute: Region Die AWS Region des verteilten AMI, die geändert werden soll. Zeichenfolge Ja Erforderlich für jedes Element inattributes.
Attribute: Startberechtigung Die Einstellungen für die Startberechtigungen, die für das verteilte AMI gelten sollen. Zuordnung Nein
Attribute:Start Permission:userIds Die Konto-IDs, die zu den Startberechtigungen für das AMI hinzugefügt oder daraus entfernt werden sollen. Array Nein
Attribute:starten Permission:userGroups Die Benutzergruppen, die zu den Startberechtigungen für das AMI hinzugefügt oder daraus entfernt werden sollen. Array Nein
Attribute:starten Permission:organizationArns Die ARNs der AWS Organisationen, die zu den Startberechtigungen für das AMI hinzugefügt oder daraus entfernt werden sollen. Array Nein
Attribute:Start Permission:organizationalUnitArns Die ARNs der Organisationseinheit (OU), die zu den Startberechtigungen für das AMI hinzugefügt oder daraus entfernt werden sollen. Array Nein

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

Ausgabenname Description Typ
Geänderte Bilder Eine Liste der geänderten Bilder Array
geändert Images:accountId Die Zielkonto-ID des verteilten Images. Zeichenfolge
geändert Images:name Der Name des AMI. Zeichenfolge
geändert Images:amiId Die AMI-ID des verteilten Images. Zeichenfolge
geändert Images:dateStarted UTC-Zeit, zu der die Verteilung gestartet wurde. Zeichenfolge
geändert Images:dateStopped UTC-Zeit, zu der die Verteilung abgeschlossen wurde. Zeichenfolge
geändert Images:step Der Schritt, bei dem die Verteilung beendet wurde. Abgeschlossen| ModifyAmiRunning
geändert Images:region Die AWS Region des Bildes. Zeichenfolge
geändert Images:status Status der Verteilung. Abgeschlossen|Fehlgeschlagen|Abgebrochen| TimedOut
geändert Images:errorMessage Fehlermeldung, falls vorhanden. Zeichenfolge

Beispiel

Geben Sie die Schrittaktion im Workflow-Dokument an.

- name: ModifyImageAttributes action: ModifyImageAttributes onFailure: Abort inputs: distributedImages.$: $.stepOutputs.DistributeImageStep.distributedImages attributes: - region: us-west-2 launchPermission: userIds: - "111122223333"

Verwenden Sie die Ausgabe des Schrittaktionswerts im Workflow-Dokument.

$.stepOutputs.ModifyImageAttributesStep.modifiedImages

RegisterImage

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

Standard-Timeout: 540 Minuten

Maximales Timeout: 720 Minuten (12 Stunden)

Sie können die Standardeinstellung bis zum angezeigten Höchstwert überschreiben. timeoutSeconds Ein Wert, der über dem Höchstwert liegt, schlägt bei der Überprüfung fehl.

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

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

Name eingeben Description Typ Erforderlich Standard Beschränkungen
Architektur Die Architektur des AMI. Zeichenfolge Nein Gültige Werte: i386, x86_64, arm64, x86_64_mac, arm64_mac
blockieren DeviceMapping Die Einträge für die Blockgerätezuordnung für das AMI. Array Nein
BootMode Der Startmodus des AMI. Zeichenfolge Nein Gültige Werte: legacy-bios, uefi, uefi-preferred
description Eine Beschreibung für das AMI. Zeichenfolge Nein
ENA-Unterstützung Ob Enhanced Networking mit ENA aktiviert ist. Boolesch Nein
Standort des Bilds Der Speicherort des AMI-Manifests. Zeichenfolge Nein Erforderlich für S3-backed AMIs
IMDS-Unterstützung Die IMDSv2-Unterstützungsstufe. Zeichenfolge Nein Gültige Werte: v2.0
einschließen SnapshotTags Ob Tags aus dem ersten Snapshot, der in der Blockgerätezuordnung definiert ist, eingeschlossen werden sollen. Boolesch Nein FALSE

Wenn der Wert auf „true“ gesetzt ist, sind Tags wie folgt enthalten:

  • Die Tags SnapshotId des ersten EBS-Volumes in der blockDeviceMapping Liste, das a SnapshotId enthält, werden mit den AMI-Ausgabe-Tags zusammengeführt.

  • Ausgabe-AMI-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, werden nur die Tags des ersten EBS-Volumes in der Liste aufgenommen, SnapshotId das a enthält.

Kernel-ID Die ID des zu verwendenden Kernels. Zeichenfolge Nein
RAM-Disk-ID Die ID der zu verwendenden RAM-Disk. Zeichenfolge Nein
Root DeviceName Der Gerätename des Root-Geräts. Zeichenfolge Nein Beispiel:/dev/sda1
sriov NetSupport Verbessertes Netzwerk mit der Intel 82599 VF-Schnittstelle. Zeichenfolge Nein
TPM-Unterstützung Unterstützung der TPM-Version. Zeichenfolge Nein Gültige Werte: v2.0
UEFI-Daten Base64-encoded UEFI-Daten. Zeichenfolge Nein
Typ der Virtualisierung Der Virtualisierungstyp. Zeichenfolge 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. Zeichenfolge

IAM-Berechtigungen erforderlich

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

Aktionen zulassen
  • ec2:DescribeSnapshots

  • ec2:CreateTags

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 aus einem anderen Schritt stammenden 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: 720 Minuten

Maximales Timeout: 720 Minuten (12 Stunden)

Sie können die Standardeinstellung bis zum angezeigten Höchstwert überschreiben. timeoutSeconds Ein Wert, der über dem Höchstwert liegt, schlägt bei der Überprüfung fehl.

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

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

Name eingeben Description Typ Erforderlich Standard Beschränkungen
instanceId Die ID der Instanz, auf der das Befehlsdokument ausgeführt werden soll. Zeichenfolge Ja Dies muss die Ausgabeinstanz-ID aus dem Workflow-Schritt sein, der die Instanz für diesen Workflow gestartet hat.
documentName Der Name des Systems Manager-Befehlsdokuments, das ausgeführt werden soll. Zeichenfolge 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. Zeichenfolge Nein $DEFAULT

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

Ausgabenname Description Typ
ausführen CommandId Die ID des SystemmanagerssendCommand, der das Befehlsdokument auf der Instanz ausgeführt hat. Zeichenfolge
Status Der vom Systems Manager zurückgegebene StatussendCommand. Zeichenfolge
output Vom Systems Manager zurückgegebene AusgabesendCommand. 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-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 Bilds.

Standard-Timeout: 60 Minuten

Maximales Timeout: 720 Minuten (12 Stunden)

Sie können die Standardeinstellung bis zum angezeigten Höchstwert überschreiben. timeoutSeconds Ein Wert, der über dem Höchstwert liegt, schlägt bei der Überprüfung fehl.

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

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

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

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

Ausgabenname Description Typ
ausführen CommandId Die ID des SystemmanagerssendCommand, der das AWSEC2-RunSysprep Dokument auf der Instanz ausgeführt hat. Zeichenfolge
Status Der vom Systems Manager zurückgegebene StatussendCommand. Zeichenfolge
output Vom Systems Manager zurückgegebene AusgabesendCommand. Zeichenfolge

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

Mit dieser Schrittaktion wird das empfohlene Bereinigungsskript für Linux-Instanzen ausgeführt, bevor die Build-Instanz für den Snapshot heruntergefahren wird. Das Sanitize-Skript hilft sicherzustellen, 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. Nach dem Build ist eine Bereinigung erforderlich Diese Schrittaktion gilt nicht für Container-Images.

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

Standard-Timeout: 60 Minuten

Maximales Timeout: 720 Minuten (12 Stunden)

Sie können die Standardeinstellung bis zum angezeigten Höchstwert überschreiben. timeoutSeconds Ein Wert, der über dem Höchstwert liegt, schlägt bei der Überprüfung fehl.

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

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

Name eingeben Description Typ Erforderlich Standard Beschränkungen
instanceId Die ID der Instanz, die gesäubert werden soll. Zeichenfolge Ja Dies muss die Ausgabeinstanz-ID aus dem Workflow-Schritt sein, der die Instanz für diesen Workflow gestartet hat.

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

Ausgabenname Description Typ
ausführen CommandId Die ID des SystemmanagerssendCommand, der das Sanitize-Skript auf der Instanz ausgeführt hat. Zeichenfolge
Status Der vom Systems Manager zurückgegebene Status. sendCommand Zeichenfolge
output Vom Systems Manager zurückgegebene AusgabesendCommand. Zeichenfolge

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, die Sie mit der instanceId Eingabe angeben. Standardmäßig leitet sie die Kündigung ein und geht ohne Wartezeit zum nächsten Schritt über. Ein Hintergrundprozess führt die Bereinigung durch, wenn beim Beenden EC2-Dienstfehler auftreten. Um auf die vollständige Beendigung zu warten, bevor Sie fortfahren, setzen Sie die waitForTermination Eingabe auf. true

Standard-Timeout: 30 Minuten

Maximales Timeout: 720 Minuten (12 Stunden)

Sie können die Standardeinstellung bis zum angezeigten Höchstwert überschreiben. timeoutSeconds Ein Wert, der über dem Höchstwert liegt, schlägt bei der Überprüfung fehl.

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

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

Name eingeben Description Typ Erforderlich Standard Beschränkungen
instanceId Die ID der Instanz, die beendet werden soll. Zeichenfolge Ja Keine Keine
warte ForTermination Gibt an, ob der Schritt darauf wartet, dass die Instanz den Status „Beendet“ erreicht, bevor der Vorgang fortgesetzt wird. Bei Einstellung auf true wartet der Schritt auf die vollständige Beendigung (10 Sekunden bis mehrere Minuten). Boolesch Nein false true | false

Ausgänge: 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 waitForTermination: false

WaitForAction

Diese Schrittaktion unterbricht den laufenden Workflow und wartet darauf, eine externe Aktion von der Image SendWorkflowStepAction Builder-API-Aktion zu erhalten. In diesem Schritt wird ein EventBridge Ereignis mit dem Detailtyp auf 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-Thema-ARN angeben, oder eine Lambda-Funktion asynchron aufrufen, wenn Sie einen Lambda-Funktionsnamen angeben.

So funktionieren das Anhalten und Wiederaufnehmen

Wenn ein WaitForAction Schritt ausgeführt wird, setzt Image Builder den Schrittstatus auf WAITING und veröffentlicht ein EventBridge Ereignis (DetailtypEC2 Image Builder Workflow Step Waiting). Wenn Sie etwas angebensnsTopicArn, wird auch eine Amazon SNS-Benachrichtigung gesendet. Wenn Sie angebenlambdaFunctionName, wird diese Funktion asynchron aufgerufen. Der Workflow bleibt angehalten, bis eines der folgenden Ereignisse eintritt:

  • Sie rufen SendWorkflowStepAction mit an, RESUME um den Workflow fortzusetzen oder STOP zu beenden.

  • Der Schritt erreicht sein Timeout (standardmäßig 3 Tage, maximal 7 Tage), und der Workflow schlägt fehl.

reasonDas, zu dem Sie übergehen, SendWorkflowStepAction wird zusammen mit dem Schritt gespeichert und steht späteren Schritten als reason Ausgabe des Schritts zur Verfügung.

Standard-Timeout: 3 Tage

Maximales Timeout: 7 Tage (604.800 Sekunden)

Sie können die Standardeinstellung bis zum angezeigten timeoutSeconds Höchstwert überschreiben. Ein Wert, der über dem Höchstwert liegt, schlägt bei der Überprüfung fehl.

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

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

Name eingeben Description Typ Erforderlich Standard Beschränkungen
sns TopicArn Ein optionaler SNS-Themen-ARN, an den eine Benachrichtigung gesendet werden kann, wenn der Workflow-Schritt noch aussteht. Zeichenfolge Nein
Lambda FunctionName Ein optionaler Name oder ARN der Lambda-Funktion, die asynchron aufgerufen wird, wenn der Workflow-Schritt aussteht. Zeichenfolge Nein
Nutzlast JSON-Zeichenfolge, die als Nachricht für SNS und Nutzlast für Lambda verwendet wird. Falls angegeben, wird standardmäßig eine benutzerdefinierte Nutzlast verpackt message/payload, die für SNS bzw. Lambda verwendet wird. Wenn nicht angegeben, wird eine Standardeinstellung generiert. message/payload Zeichenfolge Nein Muss eine gültige JSON-Zeichenfolge sein, maximal 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. Zeichenfolge

IAM-Berechtigungen erforderlich

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

Aktionen zulassen
  • lambda:InvokeFunction

Geben Sie Ressourcen an
  • arn:aws:lambda:us-west-2:111122223333:function:function-name

  • arn:aws:lambda:us-west-2:111122223333:function:*

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-Instance AWS Systems Manager nach erwarteten Perioden, in denen sie nicht reagiert, verwaltbar wird. Dies ist besonders nützlich für Workflows mit bekannten Instance-Unterbrechungen, wie Systemneustarts, Betriebssystem-Upgrades oder plattformspezifischen Vorgängen, bei denen die Instance vorübergehend von SSM getrennt wird. Image Builder überwacht die Instanz, bis sie die SSM-Konnektivität wiederherstellt oder ein Timeout auftritt.

Standard-Timeout: 60 Minuten

Maximales Timeout: 180 Minuten (3 Stunden)

Sie können die Standardeinstellung bis zum angezeigten Höchstwert überschreiben. timeoutSeconds Ein Wert, der über dem Höchstwert liegt, schlägt bei der Überprüfung fehl.

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

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

Name eingeben Description Typ Erforderlich Standard Beschränkungen
instanceId Die ID der Instanz, die auf SSM-Konnektivität überwacht werden soll. Zeichenfolge 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. Zeichenfolge

Beispiel

Geben Sie die Schrittaktion im Workflow-Dokument an.

- name: WaitForInstanceAfterReboot action: WaitForSSMAgent onFailure: Abort timeoutSeconds: 900 inputs: instanceId.$: $.stepOutputs.LaunchStep.instanceId

Verwenden Sie die Ausgabe des Schrittaktionswerts im Workflow-Dokument.

$.stepOutputs.WaitForInstanceAfterReboot.status