翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
ワークフロードキュメントでサポートされているステップアクション
このセクションには、Image Builder がサポートするステップアクションの詳細が含まれています。
このセクションで使用する用語
- AMI
-
Amazon マシンイメージ
- ARN
-
Amazon リソースネーム
次の表は、各ステップアクションをサポートするワークフローステージを示しています。チェックマーク (X) は、そのステージでステップアクションを使用できることを示します。Image Builder は、いくつかのアクションを特定のステージに制限します。ExecuteComponentsビルドステージとテストステージ、CollectImageScanFindingsテストステージ、および DistributeImage、ModifyImageAttributesApplyImageConfigurations、、ディストリビューションステージDistributeContainerImageです。他のすべてのアクションはどのステージでも使用できます。
| ステップアクション | ビルド | テスト | ディストリビューション | 注意事項 |
|---|---|---|---|---|
| LaunchInstance | X | X | X | Amazon EC2 インスタンスを起動します。 |
| BootstrapInstanceForContainer | X | X | X | コンテナビルド AWS CLI 用の Docker と をインストールします。 |
| ExecuteComponents | X | X | インスタンスでコンポーネントを実行します。ビルドステージとテストステージに制限されます。 | |
| CollectImageMetadata | X | X | X | AMI ビルドのみ。 |
| RunSysPrep | X | X | X | Windows ビルド。 |
| SanitizeInstance | X | X | X | Linux AMI ビルド。コンテナ用ではありません。 |
| CreateImage | X | X | X | ビルドインスタンスから AMI を作成します。 |
| CreateImageFromIso | X | X | X | ISO ディスクイメージから AMI を作成します。 |
| RegisterImage | X | X | X | スナップショットから AMI を登録します。 |
| DistributeContainerImage | X | コンテナイメージを分散します。ディストリビューションステージに制限されます。 | ||
| CollectImageScanFindings | X | イメージスキャンの検出結果を収集します。テストステージに制限されます。Amazon Inspector とイメージスキャンが必要です。 | ||
| RunCommand | X | X | X | AWS Systems Manager (Systems Manager) コマンドドキュメントを実行します。 |
| WaitForSSMAgent | X | X | X | 再起動後、Systems Manager の接続を待ちます。 |
| WaitForAction | X | X | X | 外部アクションを一時停止します。 |
| ExecuteStateMachine | X | X | X | Step Functions ステートマシンを実行します。 |
| TerminateInstance | X | X | X | インスタンスを終了します。たとえば、コンテナ分散ワークフローは、イメージをプッシュした後にビルドインスタンスを終了します。 |
| DistributeImage | X | AMI をリージョンとアカウントにコピーします。ディストリビューションステージに制限されます。 | ||
| ModifyImageAttributes | X | AMI 起動のアクセス許可を変更します。ディストリビューションステージに制限されます。 | ||
| ApplyImageConfigurations | X | 起動テンプレート、ライセンス、エクスポート、高速起動、および Systems Manager パラメータを適用します。ディストリビューションステージに制限されます。 |
重要
単一のワークフローは、AMIsまたはコンテナイメージの両方ではなく、両方を配布します。ワークフローに が含まれている場合DistributeContainerImage、DistributeImage、ModifyImageAttributes、または を含めることはできませんApplyImageConfigurations。これらの AMI ディストリビューションアクションは Amazon EC2 AMIs、 は Amazon Elastic Container Registry (Amazon ECR) のコンテナイメージでDistributeContainerImage動作します。
サポートされているアクション
ApplyImageConfigurations
このステップアクションを使用して、ライセンス設定、起動テンプレート設定、S3 エクスポート設定、EC2 Fast Launch 設定、Systems Manager AMIs に適用します。設定は、クロスアカウントに適用できる SSM パラメータ設定を除き、ソースアカウントの分散イメージにのみ適用されます。
注記
configurations 入力はオプションです。これを指定すると、Image Builder はワークフロー入力を使用し、アタッチされたディストリビューション設定を無視します。これを省略すると、Image Builder はパイプラインまたはイメージにアタッチされたディストリビューション設定に戻ります。
デフォルトのタイムアウト: 360 分
最大タイムアウト: 720 分 (12 時間)
デフォルトは、表示されている最大値まで timeoutSecondsで上書きできます。最大を超える値は検証に失敗します。
ロールバック: このステップアクションにはロールバックはありません。
インプット: 以下の表には、このステップアクションでサポートされる入力が含まれています。distributedImages.$ 入力は必須です。残りの行は、configurations配列の各項目内のフィールドを記述します。
| 入力名 | 説明 | タイプ | [Required] (必須) | [Default] (デフォルト) | 制約 |
|---|---|---|---|---|---|
| distributedImages.$ | 設定する分散イメージのリスト。同じワークフローのDistributeImageステップからのdistributedImages出力を参照します。 |
String | はい | で始まる JSONPath リファレンス $.stepOutputs. |
|
| 設定 | 分散 AMIs にリストとして適用する設定。各項目は 1 つの AWS リージョンを対象としています。 | 配列 | いいえ | ||
| 設定:リージョン | 設定する分散 AMI の AWS リージョン。 | String | はい | の各項目に必要ですconfigurations。 |
|
| configuration:licenseConfigurationArns | イメージのライセンス設定 ARN。 | 配列 | いいえ | ||
| configuration:launchTemplateConfigurations | 分散 AMIs に適用する起動テンプレート設定。 | 配列 | いいえ | ||
| configuration:launchTemplateConfigurations:launchTemplateId | イメージに適用する起動テンプレート ID。 | String | launchTemplateConfigurations が指定されている場合、はい |
||
| configuration:launchTemplateConfigurations:accountId | イメージに適用する起動テンプレートアカウント IDs。 | String | いいえ | ||
| configuration:launchTemplateConfigurations:setDefaultVersion | イメージの起動テンプレートのデフォルトバージョン設定。 | ブール値 | いいえ | ||
| 設定:s3ExportConfiguration | 分散 AMIs の Amazon S3 エクスポート設定。 | 配列 | いいえ | ||
| 設定:s3ExportConfiguration:roleName | イメージの Amazon S3 エクスポート設定ロール名。 | String | s3ExportConfiguration が指定されている場合、はい |
||
| 設定:s3ExportConfiguration:diskImageFormat | イメージの Amazon S3 エクスポート設定ディスクイメージ形式。 | String | s3ExportConfiguration が指定されている場合、はい |
許可される値 - VMDK|RAW|VHD | |
| 設定:s3ExportConfiguration:s3Bucket | イメージの Amazon S3 エクスポート設定バケット名。 | String | s3ExportConfiguration が指定されている場合、はい |
||
| 設定:s3ExportConfiguration:s3Prefix | イメージの Amazon S3 エクスポート設定バケットプレフィックス。 | String | いいえ | ||
| 設定:fastLaunchConfigurations | イメージの Amazon EC2 Fast Launch 設定。 | 配列 | いいえ | ||
| configuration:fastLaunchConfigurations:enabled | イメージに対して Amazon EC2 Fast Launch が有効になっているかどうか。 | ブール値 | fastLaunchConfigurations が指定されている場合、はい |
||
| configuration:fastLaunchConfigurations:snapshotConfiguration | Amazon EC2 Fast Launch スナップショットを事前プロビジョニングするためのスナップショット設定。 | マッピング | いいえ | ||
| configuration:fastLaunchConfigurations:snapshotConfiguration:targetResourceCount | イメージの Amazon EC2 Fast Launch ターゲットリソース数。 | 整数 | いいえ | ||
| configuration:fastLaunchConfigurations:maxParallelLaunches | イメージの Amazon EC2 Fast Launch 最大並列起動。 | 整数 | いいえ | ||
| configuration:fastLaunchConfigurations:launchTemplate | Amazon EC2 Fast Launch が事前プロビジョニングされたスナップショットを準備するために使用する起動テンプレート。 | マッピング | いいえ | ||
| configuration:fastLaunchConfigurations:launchTemplate:launchTemplateId | イメージの Amazon EC2 Fast Launch 起動テンプレート ID。 | String | いいえ | ||
| configuration:fastLaunchConfigurations:launchTemplate:launchTemplateName | イメージの Amazon EC2 Fast Launch 起動テンプレート名。 | String | いいえ | ||
| configuration:fastLaunchConfigurations:launchTemplate:launchTemplateVersion | イメージの Amazon EC2 Fast Launch 起動テンプレートのバージョン。 | String | いいえ | ||
| configuration:ssmParameterConfigurations | イメージの Systems Manager パラメータ設定。 | マッピング | いいえ | ||
| configuration:ssmParameterConfigurations:amiAccountId | イメージの Systems Manager パラメータ AMI アカウント ID。 | String | いいえ | ||
| configuration:ssmParameterConfigurations:parameterName | イメージの Systems Manager パラメータ名。 | String | ssmParameterConfigurations が指定されている場合、はい |
||
| configuration:ssmParameterConfigurations:dataType | イメージの Systems Manager パラメータデータ型。 | String | いいえ | 使用できる値 - text|aws:ec2:image) |
出力: 次の表には、このステップアクションの出力が含まれています。
| 出力名 | 説明 | タイプ |
|---|---|---|
| configuredImages | 設定済みイメージのリスト。 | 配列 |
| configuredImages:accountId | 分散イメージの送信先アカウント ID。 | String |
| configuredImages:name | AMI の名前。 | String |
| configuredImages:amiId | 分散イメージの AMI ID。 | String |
| configuredImages:dateStarted | ディストリビューションが開始された UTC 時間。 | String |
| configuredImages:dateStopped | ディストリビューションが完了した UTC 時間。 | String |
| configuredImages:step | ディストリビューションが停止したステップ。 | Completed|AssociateLicensesRunning|UpdateLaunchTemplateRunning|PutSsmParametersRunning|UpdateFastLaunchConfiguration|ExportAmiQueued|ExportAmiRunning |
| configuredImages:region | 分散イメージの AWS リージョン。 | String |
| configuredImages:status | ディストリビューションステータス。 | Completed|Failed|Cancelled|TimedOut |
| configuredImages:errorMessage | エラーメッセージがある場合。 | String |
例
ワークフロードキュメントでステップアクションを指定します。
- 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
ワークフロードキュメント内のステップアクション値の出力を使用します。
$.stepOutputs.ApplyImageConfigurationsStep.configuredImages
BootstrapInstanceForContainer
このステップアクションは、コンテナワークフローを実行するための最小要件でインスタンスをブートストラップするサービススクリプトを実行します。Image Builder は、Systems Manager API の sendCommand を使用してこのスクリプトを実行します。詳細については、「AWS Systems Manager Run Command」を参照してください。
注記
ブートストラップスクリプトは、Image Builder が Docker コンテナを正常に構築するための前提条件である AWS CLI および Docker パッケージをインストールします。このステップアクションを含めないと、イメージビルドは失敗する可能性があります。
デフォルトタイムアウト: 60 分
最大タイムアウト: 720 分 (12 時間)
デフォルトは、表示されている最大値まで timeoutSecondsで上書きできます。最大を超える値は検証に失敗します。
ロールバック: このステップアクションにはロールバックはありません。
インプット: 以下の表には、このステップアクションでサポートされる入力が含まれています。
| 入力名 | 説明 | タイプ | [Required] (必須) | [Default] (デフォルト) | 制約 |
|---|---|---|---|---|---|
| instanceId | ブートストラップするインスタンスの ID。 | String | はい | これは、このワークフローのインスタンスを起動したワークフローステップの出力インスタンス ID でなければなりません。 |
出力: 次の表には、このステップアクションの出力が含まれています。
| 出力名 | 説明 | タイプ |
|---|---|---|
| runCommandId | インスタンスでブートストラップスクリプトを実行した Systems Manager sendCommand の ID。 | String |
| ステータス | Systems Manager sendCommand から返されたステータス。 | String |
| output | Systems Manager sendCommand から返された出力。 | String |
例
ワークフロードキュメントでステップアクションを指定します。
- name:ContainerBootstrapStepaction: BootstrapInstanceForContainer onFailure: Abort inputs: instanceId.$: $.stepOutputs.LaunchStep.instanceId
ワークフロードキュメント内のステップアクション値の出力を使用します。
$.stepOutputs.ContainerBootstrapStep.status
CollectImageMetadata
このステップアクションはビルドワークフローでのみ有効です。
EC2 Image Builder は、イメージを構築してテストするために、起動した EC2 インスタンスで AWS Systems Manager (Systems Manager) エージェントを実行します。Image Builder は、Systems Manager インベントリを使用してビルドフェーズ中に使用されたインスタンスに関する追加情報を収集します。この情報には、オペレーティングシステム (OS) の名前とバージョン、オペレーティングシステムによって報告されたパッケージとそれぞれのバージョンのリストが含まれます。
注記
このステップアクションは AMI を作成するイメージにのみ有効です。
デフォルトタイムアウト: 30 分
最大タイムアウト: 720 分 (12 時間)
デフォルトは、表示されている最大値まで timeoutSecondsで上書きできます。最大を超える値は検証に失敗します。
ロールバック:Image Builder は、このステップで作成された Systems Manager リソースをすべてロールバックします。
インプット: 以下の表には、このステップアクションでサポートされる入力が含まれています。
| 入力名 | 説明 | タイプ | [Required] (必須) | [Default] (デフォルト) | 制約 |
|---|---|---|---|---|---|
| instanceId | メタデータ設定を適用するビルドインスタンス。 | String | はい | これは、このワークフローのビルドインスタンスを起動したワークフローステップの出力インスタンス ID でなければなりません。 |
出力: 次の表には、このステップアクションの出力が含まれています。
| 出力名 | 説明 | タイプ |
|---|---|---|
| osVersion | ビルドインスタンスから収集されたオペレーティングシステム名とバージョン。 | String |
| associationId | インベントリ収集に使用される Systems Manager アソシエーション ID。 | String |
例
ワークフロードキュメントでステップアクションを指定します。
- name:CollectMetadataStepaction: CollectImageMetadata onFailure: Abort inputs: instanceId: $.stepOutputs.LaunchStep.instanceId
ワークフロードキュメント内のステップアクションからの出力を使用します。
$.stepOutputs.CollectMetadataStep.osVersion
CollectImageScanFindings
アカウントで Amazon Inspector が有効になっていて、パイプラインでイメージスキャンが有効になっている場合、このステップアクションは Amazon Inspector によって報告されたテストインスタンス用のイメージスキャンの検出結果を収集します。このステップアクションはビルドワークフローでは利用できません。
デフォルトタイムアウト: 120 分
最大タイムアウト: 720 分 (12 時間)
デフォルトは、表示されている最大値まで timeoutSecondsで上書きできます。最大を超える値は検証に失敗します。
ロールバック: このステップアクションにはロールバックはありません。
インプット: 以下の表には、このステップアクションでサポートされる入力が含まれています。
| 入力名 | 説明 | タイプ | [Required] (必須) | [Default] (デフォルト) | 制約 |
|---|---|---|---|---|---|
| instanceId | スキャンが実行されたインスタンスの ID。 | String | はい | これは、このワークフローのインスタンスを起動したワークフローステップの出力インスタンス ID でなければなりません。 |
出力: 次の表には、このステップアクションの出力が含まれています。
| 出力名 | 説明 | タイプ |
|---|---|---|
| runCommandId | 結果を収集するためにスクリプトを実行した Systems Manager sendCommand の ID。 | String |
| ステータス | Systems Manager sendCommand から返されたステータス。 | String |
| output | Systems Manager sendCommand から返された出力。 | String |
例
ワークフロードキュメントでステップアクションを指定します。
- name:CollectFindingsStepaction: CollectImageScanFindings onFailure: Abort inputs: instanceId.$: $.stepOutputs.LaunchStep.instanceId
ワークフロードキュメント内のステップアクション値の出力を使用します。
$.stepOutputs.CollectFindingsStep.status
CreateImage
このステップアクションは、Amazon EC2 CreateImage API を使用して実行中のインスタンスからイメージを作成します。作成プロセス中、ステップアクションは必要に応じてリソースが正しい状態になったことを確認してから続行します。
デフォルトタイムアウト: 720 分
最大タイムアウト: 3 日 (259,200 秒)
デフォルトは、表示されている最大値まで timeoutSecondsで上書きできます。最大を超える値は検証に失敗します。
ロールバック: このステップアクションにはロールバックはありません。
インプット: 以下の表には、このステップアクションでサポートされる入力が含まれています。
| 入力名 | 説明 | タイプ | [Required] (必須) | [Default] (デフォルト) | 制約 |
|---|---|---|---|---|---|
| instanceId | 新しいイメージを作成するインスタンス。 | String | はい | 指定したインスタンス ID のインスタンスは、このステップの開始時点の running 状態にある必要があります。 |
出力: 次の表には、このステップアクションの出力が含まれています。
| 出力名 | 説明 | タイプ |
|---|---|---|
| imageId | 作成されたイメージの AMI ID。 | String |
例
ワークフロードキュメントでステップアクションを指定します。
- name:CreateImageFromInstanceaction: CreateImage onFailure: Abort inputs: instanceId.$: "i-1234567890abcdef0"
ワークフロードキュメント内のステップアクション値の出力を使用します。
$.stepOutputs.CreateImageFromInstance.imageId
CreateImageFromIso
このステップアクションを使用して、ビルドインスタンスの ISO ディスクイメージから Amazon マシンイメージ (AMI) を作成します。ソースがベース AMI ではなく ISO ファイルである場合は、ビルドワークフローで使用します。Image Builder は ISO を AMI に変換し、リソースが必要な状態になるまで待機してから続行します。
注記
このアクションには、ISO ディスクイメージのインポートと同じ要件があります。詳細については、「Image Builder を使用して検証済みの Windows ISO ディスクイメージをインポートする」を参照してください。
デフォルトタイムアウト: 720 分
最大タイムアウト: 720 分 (12 時間)
デフォルトは、表示されている最大値まで timeoutSecondsで上書きできます。最大を超える値は検証に失敗します。
ロールバック: このステップアクションにはロールバックはありません。
インプット: 以下の表には、このステップアクションでサポートされる入力が含まれています。
| 入力名 | 説明 | タイプ | [Required] (必須) | [Default] (デフォルト) | 制約 |
|---|---|---|---|---|---|
| instanceId | ISO ディスクイメージを保持するビルドインスタンスの ID。 | String | はい | これは、このワークフローのビルドインスタンスを起動したワークフローステップの出力インスタンス ID でなければなりません。 |
出力: 次の表には、このステップアクションの出力が含まれています。
| 出力名 | 説明 | タイプ |
|---|---|---|
| amiName | ステップが作成した AMI の名前。 | String |
| snapshotId | AMI をバックアップするスナップショットの ID。 | String |
| アーキテクチャ | AMI のアーキテクチャ (x86_64 または arm64)。 |
String |
例
ワークフロードキュメントでステップアクションを指定します。
- name:CreateImageFromIsoStepaction: CreateImageFromIso onFailure: Abort inputs: instanceId.$: $.stepOutputs.LaunchStep.instanceId
ワークフロードキュメント内のステップアクション値の出力を使用します。
$.stepOutputs.CreateImageFromIsoStep.amiName
DistributeContainerImage
このステップアクションを使用して、ビルドステージが作成したコンテナイメージを、イメージに定義されたターゲットリージョンの Amazon ECR リポジトリに配布します。コンテナ (DOCKER) イメージのディストリビューションワークフローでこのアクションを使用します。これは、 に対応するコンテナイメージとして機能しますDistributeImage。
このステップアクションは、ビルドインスタンスで Systems Manager コマンドを実行してコンテナイメージをプッシュします。インスタンスには Docker と AWS CLI がインストールされている必要があります。詳細については、「BootstrapInstanceForContainer」を参照してください。
重要
を含むワークフローには、DistributeImage、、ModifyImageAttributesまたは を含めるDistributeContainerImageことはできませんApplyImageConfigurations。1 つのワークフローは、コンテナイメージまたは AMIs、両方を配布します。
デフォルトタイムアウト: 120 分
最大タイムアウト: 720 分 (12 時間)
デフォルトは、表示されている最大値まで timeoutSecondsで上書きできます。最大を超える値は検証に失敗します。
ロールバック: このステップアクションにはロールバックはありません。
インプット: 以下の表には、このステップアクションでサポートされる入力が含まれています。
| 入力名 | 説明 | タイプ | [Required] (必須) | [Default] (デフォルト) | 制約 |
|---|---|---|---|---|---|
| instanceId | コンテナイメージを保持するビルドインスタンスの ID。 | String | はい | これは、このワークフローのビルドインスタンスを起動したワークフローステップの出力インスタンス ID でなければなりません。 |
出力: 次の表には、このステップアクションの出力が含まれています。
| 出力名 | 説明 | タイプ |
|---|---|---|
| ステータス | Systems Manager sendCommand から返されたステータス。 | String |
| succeededRegions | ディストリビューションが成功したリージョン。 | 配列 |
| failedRegions | ディストリビューションが失敗したリージョン。 | 配列 |
例
ワークフロードキュメントでステップアクションを指定します。
- name:DistributeContaineraction: DistributeContainerImage onFailure: Abort inputs: instanceId.$: $.stepOutputs.LaunchStep.instanceId
ワークフロードキュメント内のステップアクション値の出力を使用します。
$.stepOutputs.DistributeContainer.status
DistributeImage
このステップアクションは、指定したターゲットリージョンとアカウントに AMI を配布します。CreateImage または CreateImagePipelineリクエストのディストリビューション設定、またはデフォルト設定を上書きするワークフローのカスタムディストリビューション設定を使用します。
注記
distributions 入力はオプションです。これを指定すると、Image Builder はワークフロー入力を使用し、アタッチされたディストリビューション設定を無視します。これを省略すると、Image Builder はパイプラインまたはイメージにアタッチされたディストリビューション設定に戻ります。
デフォルトのタイムアウト: 360 分
最大タイムアウト: 720 分 (12 時間)
デフォルトは、表示されている最大値まで timeoutSecondsで上書きできます。最大を超える値は検証に失敗します。
ロールバック: このステップアクションにはロールバックはありません。
インプット: 以下の表には、このステップアクションでサポートされる入力が含まれています。
| 入力名 | 説明 | タイプ | [Required] (必須) | [Default] (デフォルト) | 制約 |
|---|---|---|---|---|---|
| ディストリビューション | リストとしての AMI のディストリビューション設定。各項目は 1 つの AWS リージョンを対象としています。この入力を省略すると、Image Builder はパイプラインまたはイメージにアタッチされたディストリビューション設定を使用します。 | 配列 | いいえ | ||
| ディストリビューション:リージョン | AMI を配布する AWS リージョン。 | String | はい | 最小長は 1 です。 最大長は 1,024 です。 | |
| distributions:name | 分散 AMI に適用する名前。 | String | いいえ | ||
| distributions:description | 分散 AMI に適用する説明。 | String | いいえ | ||
| distributions:targetAccountIds | AMI を配布するアカウント IDs。 | 配列 | いいえ | ||
| distributions:amiTags | 分散 AMI に適用するタグ。 | マッピング | いいえ | 最大 50 個のタグ。 | |
| distributions:kmsKeyId | 分散 AMI の暗号化に使用する KMS キー。 | String | いいえ |
出力: 次の表には、このステップアクションの出力が含まれています。
| 出力名 | 説明 | タイプ |
|---|---|---|
| distributedImages | 分散イメージのリスト | 配列 |
| distributedImages:region | 分散イメージの AWS リージョン。 | String |
| distributedImages:name | AMI の名前。 | String |
| distributedImages:amiId | 分散イメージの AMI ID。 | String |
| distributedImages:accountId | 分散イメージの送信先アカウント ID。 | String |
| distributedImages:dateStarted | ディストリビューションが開始された UTC 時間。 | String |
| distributedImages:dateStopped | ディストリビューションが完了した UTC 時間。 | String |
| distributedImages:status | ディストリビューションステータス。 | Completed|Failed|Cancelled|TimedOut |
| distributedImages:step | ディストリビューションが停止したステップ。 | 完了|CopyAmiRunning |
| distributedImages:errorMessage | エラーメッセージがある場合。 | String |
例
ワークフロードキュメントでステップアクションを指定します。
- 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}}"
ワークフロードキュメント内のステップアクション値の出力を使用します。
$.stepOutputs.DistributeImageStep.distributedImages
ExecuteComponents
このステップアクションは、ビルド中の現在のイメージのレシピで指定されているコンポーネントを実行します。ビルドワークフローは、ビルドインスタンスでビルドコンポーネントを実行します。テストワークフローは、テストインスタンスでのみテストコンポーネントを実行します。
Image Builder は、Systems Manager API の sendCommand を使用してコンポーネントを実行します。詳細については、「AWS Systems Manager Run Command」を参照してください。
デフォルトタイムアウト: 720 分
最大タイムアウト: 1 日 (24 時間)
デフォルトは、表示されている最大値まで timeoutSecondsで上書きできます。最大を超える値は検証に失敗します。
ロールバック: このステップアクションにはロールバックはありません。
インプット: 以下の表には、このステップアクションでサポートされる入力が含まれています。
| 入力名 | 説明 | タイプ | [Required] (必須) | [Default] (デフォルト) | 制約 |
|---|---|---|---|---|---|
| instanceId | コンポーネントを実行する必要のあるインスタンスの ID。 | String | はい | これは、このワークフローのインスタンスを起動したワークフローステップの出力インスタンス ID でなければなりません。 |
出力: 次の表には、このステップアクションの出力が含まれています。
| 出力名 | 説明 | タイプ |
|---|---|---|
| runCommandId | インスタンスでコンポーネントを実行した Systems Manager sendCommand の ID。 | String |
| ステータス | Systems Manager sendCommand から返されたステータス。 | String |
| output | Systems Manager sendCommand から返された出力。 | String |
例
ワークフロードキュメントでステップアクションを指定します。
- name:ExecComponentsStepaction: ExecuteComponents onFailure: Abort inputs: instanceId: $.stepOutputs.LaunchStep.instanceId
ワークフロードキュメント内のステップアクションからの出力を使用します。
$.stepOutputs.ExecComponentsStep.status
ExecuteStateMachine
このステップアクションは、Image Builder ワークフローから AWS Step Functions ステートマシンの実行を開始します。Image Builder は Step Functions StartExecution API を使用してステートマシンを開始し、完了するまで待機します。これは、複雑なワークフロー、コンプライアンス検証、または認証プロセスをイメージ構築パイプラインに統合するのに役立ちます。
詳細については、「 デベロッパーガイド」の「Step Functions でステートマシンについて学ぶ」を参照してください。 AWS Step Functions
デフォルトのタイムアウト: 6 時間
最大タイムアウト: 24 時間
デフォルトは、表示されている最大値まで timeoutSecondsで上書きできます。最大を超える値は検証に失敗します。
ロールバック: このステップアクションにはロールバックはありません。
インプット: 以下の表には、このステップアクションでサポートされる入力が含まれています。
| 入力名 | 説明 | タイプ | [Required] (必須) | [Default] (デフォルト) | 制約 |
|---|---|---|---|---|---|
| stateMachineArn | 実行する Step Functions ステートマシンの ARN。 | String | はい | 有効なステートマシン ARN である必要があります。 | |
| input | ステートマシンに提供する JSON 入力データ。 | String | いいえ | {} | 有効な JSON 文字列である必要があります。最大長は 16 KiB です。 |
出力: 次の表には、このステップアクションの出力が含まれています。
| 出力名 | 説明 | タイプ |
|---|---|---|
| executionArn | ステートマシン実行の ARN。 | String |
| output | ステートマシン実行の出力。 | String |
必要な IAM アクセス許可
このステップアクションを使用するには、カスタム実行ロールに次のアクセス許可が必要です。
アクションを許可する
-
states:StartExecution -
states:DescribeExecution
リソースを指定する
-
arn:aws:states:us-west-2:111122223333:stateMachine:state-machine-name -
arn:aws:states:us-west-2:111122223333:execution:state-machine-name:*
例
ワークフロードキュメントでステップアクションを指定します。
- 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"] }
ワークフロードキュメント内のステップアクション値の出力を使用します。
$.stepOutputs.ValidateImageCompliance.executionArn
LaunchInstance
このステップアクションを使用して、 でインスタンスを起動します AWS アカウント。アクションは、インスタンスが指定されたヘルスチェック条件を満たし、Systems Manager エージェントが実行中になるまで待機してから、次のステップに進みます。起動アクションは、レシピとインフラストラクチャ設定リソースの設定を使用します。例えば、起動するインスタンスタイプはインフラストラクチャ設定に基づいています。出力は、起動したインスタンスのインスタンス ID です。
waitFor 入力は、ステップ完了要件を満たす条件を設定します。healthCheck 入力は、ステップを進める前に が渡す必要がある EC2 インスタンスのヘルス検証のレベルを指定します。
デフォルトのタイムアウト: 75 分
最大タイムアウト: 720 分 (12 時間)
デフォルトは、表示されている最大値まで timeoutSecondsで上書きできます。最大を超える値は検証に失敗します。
ロールバック: ビルドインスタンスの場合、ロールバックはインフラストラクチャ設定リソースで設定したアクションを実行します。デフォルトでは、イメージの作成に失敗するとビルドインスタンスは終了します。ただし、インフラストラクチャ設定には、ビルドインスタンスをトラブルシューティング用に保持する設定があります。
インプット: 以下の表には、このステップアクションでサポートされる入力が含まれています。
| 入力名 | 説明 | タイプ | [Required] (必須) | [Default] (デフォルト) | 制約 |
|---|---|---|---|---|---|
| imageIdOverride | インスタンスの起動に使用するイメージ | String | いいえ |
ビルドステージ: イメージレシピベースイメージ テストステージ: ビルドステージから AMI を出力する |
有効な AMI ID である必要があります |
| instanceTypesOverride | Image Builder は、正常に起動するインスタンスタイプが見つかるまで、リスト内の各インスタンスタイプを試行します。 | 文字列のリスト | いいえ | インフラストラクチャ設定で指定されたインスタンスタイプ | 有効なインスタンスタイプである必要があります |
| waitFor | ワークフローステップを完了し、次のステップに進む前に待機する条件 | String | はい | なし | Image Builder は、ssmAgent をサポートしています。 |
| healthCheck | ワークフローステップを進める前に必要な EC2 ヘルス検証のレベル。最小限の検証でビルドをRUNNING高速化するため、または EC2 ステータスチェックが成功するまで待機STATUS_CHECK_PASSEDするために を指定します。 |
String | いいえ | STATUS_CHECK_PASSED |
有効な値: RUNNING | STATUS_CHECK_PASSED。 |
出力: 次の表には、このステップアクションの出力が含まれています。
| 出力名 | 説明 | タイプ |
|---|---|---|
| instanceId | 起動したインスタンスのインスタンス ID。 | String |
例
ワークフロードキュメントでステップアクションを指定します。
- name:LaunchStepaction: LaunchInstance onFailure: Abort inputs: healthCheck: "RUNNING" waitFor:ssmAgent
ワークフロードキュメント内のステップアクションからの出力を使用します。
$.stepOutputs.LaunchStep.instanceId
ModifyImageAttributes
このステップアクションを使用して、起動許可やその他の AMIs 属性など、分散 AMI の属性を変更します。ターゲットリージョンとアカウントに配布された AMIs で動作します。
注記
attributes 入力はオプションです。これを指定すると、Image Builder はワークフロー入力を使用し、アタッチされたディストリビューション設定を無視します。これを省略すると、Image Builder はパイプラインまたはイメージにアタッチされたディストリビューション設定に戻ります。
デフォルトタイムアウト: 120 分
最大タイムアウト: 180 分 (3 時間)
デフォルトは、表示されている最大値まで timeoutSecondsで上書きできます。最大を超える値は検証に失敗します。
ロールバック: このステップアクションにはロールバックはありません。
インプット: 以下の表には、このステップアクションでサポートされる入力が含まれています。
| 入力名 | 説明 | タイプ | [Required] (必須) | [Default] (デフォルト) | 制約 |
|---|---|---|---|---|---|
| distributedImages.$ | 変更する分散イメージのリスト。同じワークフローのDistributeImageステップからのdistributedImages出力を参照します。 |
String | はい | で始まる JSONPath リファレンス $.stepOutputs. |
|
| 属性 | リストとして変更するイメージ属性。各項目は 1 つの AWS リージョンを対象としています。 | 配列 | いいえ | ||
| 属性:リージョン | 変更する分散 AMI の AWS リージョン。 | String | はい | の各項目に必要ですattributes。 |
|
| attributes:launchPermission | 分散 AMI に適用する起動許可設定。 | マッピング | いいえ | ||
| attributes:launchPermission:userIds | AMI の起動アクセス許可に追加または削除するアカウント IDs。 | 配列 | いいえ | ||
| attributes:launchPermission:userGroups | AMI の起動アクセス許可に追加または削除するユーザーグループ。 | 配列 | いいえ | ||
| attributes:launchPermission:organizationArns | AMI の起動アクセス許可に追加または削除する AWS Organizations ARNs。 | 配列 | いいえ | ||
| attributes:launchPermission:organizationalUnitArns | AMI の起動アクセス許可に追加または削除する組織単位 (OU) ARNs。 | 配列 | いいえ |
出力: 次の表には、このステップアクションの出力が含まれています。
| 出力名 | 説明 | タイプ |
|---|---|---|
| modifiedImages | 変更されたイメージのリスト | 配列 |
| modifiedImages:accountId | 分散イメージの送信先アカウント ID。 | String |
| modifiedImages:name | AMI の名前。 | String |
| modifiedImages:amiId | 分散イメージの AMI ID。 | String |
| modifiedImages:dateStarted | ディストリビューションが開始された UTC 時間。 | String |
| modifiedImages:dateStopped | ディストリビューションが完了した UTC 時間。 | String |
| modifiedImages:step | ディストリビューションが停止したステップ。 | 完了|ModifyAmiRunning |
| modifiedImages:region | イメージの AWS リージョン。 | String |
| modifiedImages:status | ディストリビューションステータス。 | Completed|Failed|Cancelled|TimedOut |
| modifiedImages:errorMessage | エラーメッセージがある場合。 | String |
例
ワークフロードキュメントでステップアクションを指定します。
- name:ModifyImageAttributesaction: ModifyImageAttributes onFailure: Abort inputs: distributedImages.$: $.stepOutputs.DistributeImageStep.distributedImages attributes: - region:us-west-2launchPermission: userIds: - "111122223333"
ワークフロードキュメント内のステップアクション値の出力を使用します。
$.stepOutputs.ModifyImageAttributesStep.modifiedImages
RegisterImage
このステップアクションは、Amazon EC2 RegisterImage API を使用して新しい Amazon マシンイメージ (AMI) RegisterImage を登録します。これにより、既存のスナップショットまたはスナップショットのセットから AMI を作成し、さまざまなイメージ属性を指定できます。
デフォルトのタイムアウト: 540 分
最大タイムアウト: 720 分 (12 時間)
デフォルトは、表示されている最大値まで timeoutSecondsで上書きできます。最大を超える値は検証に失敗します。
ロールバック: このステップアクションにはロールバックはありません。
インプット: 以下の表には、このステップアクションでサポートされる入力が含まれています。
| 入力名 | 説明 | タイプ | [Required] (必須) | [Default] (デフォルト) | 制約 |
|---|---|---|---|---|---|
| アーキテクチャ | AMI のアーキテクチャ。 | String | いいえ | 有効な値: i386、x86_64、arm64、x86_64_mac、arm64_mac | |
| blockDeviceMapping | AMI のブロックデバイスマッピングエントリ。 | 配列 | いいえ | ||
| bootMode | AMI のブートモード。 | String | いいえ | 有効な値: legacy-bios、uefi、uefi-preferred | |
| 説明 | AMI の説明。 | String | いいえ | ||
| enaSupport | ENA による拡張ネットワーキングが有効になっているかどうか。 | ブール値 | いいえ | ||
| imageLocation | AMI マニフェストの場所。 | String | いいえ | S3-backed AMIs に必須 | |
| imdsSupport | IMDSv2 サポートレベル。 | String | いいえ | 有効な値: v2.0 | |
| includeSnapshotTags | ブロックデバイスマッピングで定義された最初のスナップショットのタグを含めるかどうか。 | ブール値 | いいえ | 誤 |
true に設定すると、タグは次のように含まれます。
|
| kernelId | 使用するカーネルの ID。 | String | いいえ | ||
| ramdiskId | 使用する RAM ディスクの ID。 | String | いいえ | ||
| rootDeviceName | ルートデバイスのデバイス名。 | String | いいえ | 例: /dev/sda1 | |
| sriovNetSupport | Intel 82599 VF インターフェイスを使用した拡張ネットワーキング。 | String | いいえ | ||
| tpmSupport | TPM バージョンのサポート。 | String | いいえ | 有効な値: v2.0 | |
| uefiData | Base64-encodedされた UEFI データ。 | String | いいえ | ||
| virtualizationType | 仮想化タイプ。 | String | いいえ | 有効な値: hvm、準仮想 |
出力: 次の表には、このステップアクションの出力が含まれています。
| 出力名 | 説明 | タイプ |
|---|---|---|
| imageId | 登録済みイメージの AMI ID。 | String |
必要な IAM アクセス許可
このステップアクションを使用するには、カスタム実行ロールに次のアクセス許可が必要です。
アクションを許可する
-
ec2:DescribeSnapshots -
ec2:CreateTags
例
ワークフロードキュメントでステップアクションを指定します。
- 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"
ワークフロードキュメント内のステップアクション値の出力を使用します。
$.stepOutputs.RegisterNewImage.imageId
別のステップの SnapshotId と、生成された AMI に含まれるスナップショットタグの例
- 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
このステップアクションは、ワークフローのコマンドドキュメントを実行します。Image Builder は、Systems Manager API の sendCommand を使用して実行します。詳細については、「AWS Systems Manager Run Command」を参照してください。
デフォルトタイムアウト: 720 分
最大タイムアウト: 720 分 (12 時間)
デフォルトは、表示されている最大値まで timeoutSecondsで上書きできます。最大を超える値は検証に失敗します。
ロールバック: このステップアクションにはロールバックはありません。
インプット: 以下の表には、このステップアクションでサポートされる入力が含まれています。
| 入力名 | 説明 | タイプ | [Required] (必須) | [Default] (デフォルト) | 制約 |
|---|---|---|---|---|---|
| instanceId | コマンドドキュメントを実行するインスタンスの ID。 | String | はい | これは、このワークフローのインスタンスを起動したワークフローステップの出力インスタンス ID でなければなりません。 | |
| documentName | 実行する Systems Manager コマンドドキュメントの名前。 | String | はい | ||
| パラメータ | コマンドドキュメントに必要なすべてのパラメータのキーと値のペアのリスト。 | dictionary<string, list<string>> | 条件付き | ||
| documentVersion | 実行するコマンドドキュメントのバージョン。 | String | いいえ | $DEFAULT |
出力: 次の表には、このステップアクションの出力が含まれています。
| 出力名 | 説明 | タイプ |
|---|---|---|
| runCommandId | インスタンスでコマンドドキュメントを実行した Systems Manager sendCommand の ID。 | String |
| ステータス | Systems Manager sendCommand から返されたステータス。 | String |
| output | Systems Manager sendCommand から返された出力。 | 文字列のリスト |
例
ワークフロードキュメントでステップアクションを指定します。
- name:RunCommandDocaction: RunCommand onFailure: Abort inputs: documentName:SampleDocumentparameters: osPlatform: - "linux" instanceId.$: $.stepOutputs.LaunchStep.instanceId
ワークフロードキュメント内のステップアクション値の出力を使用します。
$.stepOutputs.RunCommandDoc.status
RunSysPrep
このステップアクションでは、ビルドインスタンスがスナップショット用にシャットダウンされる前に、Systems Manager API の sendCommand を使用して Windows インスタンス用の AWSEC2-RunSysprep ドキュメントを実行します。これらのアクションはAWS 、イメージを強化およびクリーンアップするためのベストプラクティス
デフォルトタイムアウト: 60 分
最大タイムアウト: 720 分 (12 時間)
デフォルトは、表示されている最大値まで timeoutSecondsで上書きできます。最大を超える値は検証に失敗します。
ロールバック: このステップアクションにはロールバックはありません。
インプット: 以下の表には、このステップアクションでサポートされる入力が含まれています。
| 入力名 | 説明 | タイプ | [Required] (必須) | [Default] (デフォルト) | 制約 |
|---|---|---|---|---|---|
| instanceId | AWSEC2-RunSysprep ドキュメントを実行するインスタンスの ID。 |
String | はい | これは、このワークフローのインスタンスを起動したワークフローステップの出力インスタンス ID でなければなりません。 |
出力: 次の表には、このステップアクションの出力が含まれています。
| 出力名 | 説明 | タイプ |
|---|---|---|
| runCommandId | インスタンスで AWSEC2-RunSysprep ドキュメントを実行した Systems Manager sendCommand の ID。 |
String |
| ステータス | Systems Manager sendCommand から返されたステータス。 | String |
| output | Systems Manager sendCommand から返された出力。 | String |
例
ワークフロードキュメントでステップアクションを指定します。
- name:RunSysprepaction: RunSysPrep onFailure: Abort inputs: instanceId.$: $.stepOutputs.LaunchStep.instanceId
ワークフロードキュメント内のステップアクション値の出力を使用します。
$.stepOutputs.RunSysprep.status
SanitizeInstance
このステップアクションは、スナップショットのためにビルドインスタンスをシャットダウンする前に Linux インスタンス用の推奨サニタイズスクリプトを実行します。サニタイズスクリプトにより、最終的なイメージがセキュリティのベストプラクティスに従っていることを確認し、スナップショットに引き継がれてはならないビルドアーティファクトや設定をすべて削除することができます。スクリプトの詳細については、「ビルド後のクリーンアップが必要」を参照してください。このステップアクションはコンテナーイメージには適用されません。
Image Builder は、Systems Manager API の sendCommand を使用してこのスクリプトを実行します。詳細については、「AWS Systems Manager Run Command」を参照してください。
デフォルトタイムアウト: 60 分
最大タイムアウト: 720 分 (12 時間)
デフォルトは、表示されている最大値まで timeoutSecondsで上書きできます。最大を超える値は検証に失敗します。
ロールバック: このステップアクションにはロールバックはありません。
インプット: 以下の表には、このステップアクションでサポートされる入力が含まれています。
| 入力名 | 説明 | タイプ | [Required] (必須) | [Default] (デフォルト) | 制約 |
|---|---|---|---|---|---|
| instanceId | サニタイズするインスタンスの ID。 | String | はい | これは、このワークフローのインスタンスを起動したワークフローステップの出力インスタンス ID でなければなりません。 |
出力: 次の表には、このステップアクションの出力が含まれています。
| 出力名 | 説明 | タイプ |
|---|---|---|
| runCommandId | インスタンスでサニタイズスクリプトを実行した Systems Manager sendCommand の ID。 | String |
| ステータス | Systems Manager sendCommand から返されたステータス。 | String |
| output | Systems Manager sendCommand から返された出力。 | String |
例
ワークフロードキュメントでステップアクションを指定します。
- name:SanitizeStepaction: SanitizeInstance onFailure: Abort inputs: instanceId: $.stepOutputs.LaunchStep.instanceId
ワークフロードキュメント内のステップアクション値の出力を使用します。
$.stepOutputs.SanitizeStep.status
TerminateInstance
このステップアクションは、instanceId入力で指定したインスタンスを終了します。デフォルトでは、終了が開始され、待機せずに次のステップに進みます。バックグラウンドプロセスは、終了時に EC2 サービスエラーが発生した場合にクリーンアップを処理します。続行する前に完全な終了を待つには、waitForTermination入力を に設定しますtrue。
デフォルトタイムアウト: 30 分
最大タイムアウト: 720 分 (12 時間)
デフォルトは、表示されている最大値まで timeoutSecondsで上書きできます。最大を超える値は検証に失敗します。
ロールバック: このステップアクションにはロールバックはありません。
インプット: 以下の表には、このステップアクションでサポートされる入力が含まれています。
| 入力名 | 説明 | タイプ | [Required] (必須) | [Default] (デフォルト) | 制約 |
|---|---|---|---|---|---|
| instanceId | 終了するインスタンスの ID。 | String | はい | なし | なし |
| waitForTermination | ステップが、続行する前にインスタンスが終了状態になるまで待機するかどうかを指定します。に設定するとtrue、ステップは完全な終了 (10 秒から数分) を待ちます。 |
ブール値 | いいえ | false |
true | false |
出力: このステップアクションには出力がありません。
例
ワークフロードキュメントでステップアクションを指定します。
- name:TerminateInstanceaction: TerminateInstance onFailure: Continue inputs: instanceId.$:i-1234567890abcdef0waitForTermination:false
WaitForAction
このステップアクションは、実行中のワークフローを一時停止し、Image Builder SendWorkflowStepAction API アクションからの外部アクションの受信を待ちます。このステップは、EventBridge イベントをデフォルトの EventBridge イベントバスに詳細タイプ EC2 Image Builder Workflow Step Waiting で公開します。ステップは、SNS トピック ARN を指定した場合は SNS 通知を送信し、Lambda 関数名を指定した場合は Lambda 関数を非同期的に呼び出すこともできます。
一時停止と再開の仕組み
WaitForAction ステップが実行されると、Image Builder はステップステータスを に設定WAITINGし、EventBridge イベントを発行します (詳細タイプ EC2 Image Builder Workflow Step Waiting)。を指定するとsnsTopicArn、Amazon SNS 通知も送信されます。を指定するとlambdaFunctionName、その関数が非同期的に呼び出されます。ワークフローは、次のいずれかが発生するまで一時停止されたままになります。
-
SendWorkflowStepAction で
RESUMEを呼び出しSTOPて続行するか、ワークフローを終了します。 -
ステップはタイムアウト (デフォルトは 3 日、最大 7 日) に達し、ワークフローは失敗します。
にreason渡す SendWorkflowStepActionは ステップとともに保存され、後のステップでステップのreason出力として使用できます。
デフォルトタイムアウト: 3 日
最大タイムアウト: 7 日 (604,800 秒)
デフォルトは、表示されている最大値まで timeoutSecondsで上書きできます。最大を超える値は検証に失敗します。
ロールバック: このステップアクションにはロールバックはありません。
インプット: 以下の表には、このステップアクションでサポートされる入力が含まれています。
| 入力名 | 説明 | タイプ | [Required] (必須) | [Default] (デフォルト) | 制約 |
|---|---|---|---|---|---|
| snsTopicArn | ワークフローステップが保留になっているときに通知を送信するオプションの SNS トピック ARN。 | String | いいえ | ||
| lambdaFunctionName | ワークフローステップが保留中に非同期的に呼び出す Lambda 関数のオプションの名前または ARN。 | String | いいえ | ||
| payload | SNS のメッセージとして使用される JSON 文字列と Lambda のペイロード。指定した場合、カスタムペイロードはデフォルトのメッセージ/ペイロードでラップされ、それぞれ SNS と Lambda に使用されます。指定しない場合、 はデフォルトのメッセージ/ペイロードを生成します。 | String | いいえ | 有効な JSON 文字列、最大 16 KiB である必要があります |
出力: 次の表には、このステップアクションの出力が含まれています。
| 出力名 | 説明 | タイプ |
|---|---|---|
| action | SendWorkflowStepAction API アクションが返すアクション。 | 文字列 (RESUME または STOP) |
| 理由 | 反されたアクションの理由。 | String |
必要な IAM アクセス許可
このステップアクションを使用するには、カスタム実行ロールに次のアクセス許可が必要です。
アクションを許可する
-
lambda:InvokeFunction
リソースを指定する
-
arn:aws:lambda:us-west-2:111122223333:function:function-name -
arn:aws:lambda:us-west-2:111122223333:function:*
例
SNS 通知を使用してワークフロードキュメントでステップアクションを指定します。
- name:SendEventAndWaitaction: WaitForAction onFailure: Abort inputs: snsTopicArn: arn:aws:sns:us-west-2:111122223333:ExampleTopic
Lambda 関数呼び出しを使用してワークフロードキュメントでステップアクションを指定します。
- name:SendEventAndWaitWithLambdaaction: WaitForAction onFailure: Abort inputs: lambdaFunctionName:ExampleFunctionpayload: | { "imageId": "{{ $.stepOutputs.CreateImageFromInstance.imageId }}", "region": "us-west-2" }
ワークフロードキュメント内のステップアクション値の出力を使用します。
$.stepOutputs.SendEventAndWait.reason
WaitForSSMAgent
このステップアクションは、EC2 インスタンスが予想される無応答期間後に によって AWS Systems Manager 管理可能になるまで待機します。これは、システムの再起動、OS のアップグレード、SSM からインスタンスを一時的に切断するプラットフォーム固有のオペレーションなど、インスタンスの中断が既知のワークフローに特に役立ちます。Image Builder は、SSM 接続が回復するかタイムアウトするまでインスタンスをモニタリングします。
デフォルトタイムアウト: 60 分
最大タイムアウト: 180 分 (3 時間)
デフォルトは、表示されている最大値まで timeoutSecondsで上書きできます。最大を超える値は検証に失敗します。
ロールバック: このステップアクションにはロールバックはありません。
インプット: 以下の表には、このステップアクションでサポートされる入力が含まれています。
| 入力名 | 説明 | タイプ | [Required] (必須) | [Default] (デフォルト) | 制約 |
|---|---|---|---|---|---|
| instanceId | SSM 接続をモニタリングするインスタンスの ID。 | String | はい | 有効な EC2 インスタンス ID である必要があります |
出力: 次の表には、このステップアクションの出力が含まれています。
| 出力名 | 説明 | タイプ |
|---|---|---|
| ステータス | SSM エージェントの接続ステータス。 | String |
例
ワークフロードキュメントでステップアクションを指定します。
- name:WaitForInstanceAfterRebootaction: WaitForSSMAgent onFailure: Abort timeoutSeconds: 900 inputs: instanceId.$: $.stepOutputs.LaunchStep.instanceId
ワークフロードキュメント内のステップアクション値の出力を使用します。
$.stepOutputs.WaitForInstanceAfterReboot.status