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.
Unterstützte Aktionen
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:ApplyImageConfigurationsaction: ApplyImageConfigurations onFailure: Abort inputs: distributedImages.$: $.stepOutputs.DistributeImageStep.distributedImages configurations: - region:us-west-2licenseConfigurationArns: - 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:ContainerBootstrapStepaction: 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:CollectMetadataStepaction: 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:CollectFindingsStepaction: 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:CreateImageFromInstanceaction: 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:CreateImageFromIsoStepaction: 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:DistributeContaineraction: 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:DistributeImageaction: 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:ExecComponentsStepaction: 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:ValidateImageComplianceaction: ExecuteStateMachine timeoutSeconds: 3600 onFailure: Abort inputs: stateMachineArn: arn:aws:states:us-west-2:111122223333:stateMachine:ImageComplianceValidationinput: | { "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:LaunchStepaction: 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:ModifyImageAttributesaction: ModifyImageAttributes onFailure: Abort inputs: distributedImages.$: $.stepOutputs.DistributeImageStep.distributedImages attributes: - region:us-west-2launchPermission: 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:
|
| 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-idvol-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:RunCommandDocaction: RunCommand onFailure: Abort inputs: documentName:SampleDocumentparameters: 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:RunSysprepaction: 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:SanitizeStepaction: 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:TerminateInstanceaction: TerminateInstance onFailure: Continue inputs: instanceId.$:i-1234567890abcdef0waitForTermination: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,
RESUMEum den Workflow fortzusetzen oderSTOPzu 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:SendEventAndWaitaction: 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:SendEventAndWaitWithLambdaaction: WaitForAction onFailure: Abort inputs: lambdaFunctionName:ExampleFunctionpayload: | { "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:WaitForInstanceAfterRebootaction: WaitForSSMAgent onFailure: Abort timeoutSeconds: 900 inputs: instanceId.$: $.stepOutputs.LaunchStep.instanceId
Verwenden Sie die Ausgabe des Schrittaktionswerts im Workflow-Dokument.
$.stepOutputs.WaitForInstanceAfterReboot.status