翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
ワークフロードキュメントでサポートされているステップアクション
このセクションには、Image Builder がサポートするステップアクションの詳細が含まれています。
このセクションで使用する用語
- AMI
-
Amazon マシンイメージ
- ARN
-
Amazon リソースネーム
サポートされているアクション
ApplyImageConfigurations
このステップアクションは、ライセンス設定、起動テンプレート設定、S3 エクスポート設定、EC2 Fast Launch 設定、Systems Manager AMIs に適用します。設定は、クロスアカウントに適用できる SSM パラメータ設定を除き、ソースアカウントの分散イメージにのみ適用されます。
デフォルトのタイムアウト: 360 分
最大タイムアウト: 720 分
ロールバック: このステップアクションにはロールバックはありません。
インプット: 以下の表には、このステップアクションでサポートされる入力が含まれています。
| 入力名 | 説明 | タイプ | [Required] (必須) | [Default] (デフォルト) | 制約 |
|---|---|---|---|---|---|
| リージョン | イメージリージョン。 | String | はい | ||
| licenseConfigurationArns | イメージのライセンス設定 ARN。 | 配列 | いいえ | ||
| launchTemplateConfigurations | 配列 | いいえ | |||
| launchTemplateConfigurations:launchTemplateId | イメージに適用する起動テンプレート ID。 | String | launchTemplateConfigurations が指定されている場合、はい |
||
| launchTemplateConfigurations:accountId | イメージに適用する起動テンプレートアカウント IDs。 | String | いいえ | ||
| launchTemplateConfigurations:setDefaultVersion | イメージの起動テンプレートのデフォルトバージョン設定。 | ブール値 | いいえ | ||
| s3ExportConfiguration | 配列 | いいえ | |||
| s3ExportConfiguration:roleName | イメージの S3 エクスポート設定ロール名。 | String | s3ExportConfiguration が指定されている場合、はい |
||
| s3ExportConfiguration:diskImageFormat | イメージの S3 エクスポート設定ディスクイメージ形式。 | String | s3ExportConfiguration が指定されている場合、はい |
許可される値 - VMDK|RAW|VHD | |
| s3ExportConfiguration:s3Bucket | イメージの S3 エクスポート設定バケット名。 | String | s3ExportConfiguration が指定されている場合、はい |
||
| s3ExportConfiguration:s3Prefix | イメージの S3 エクスポート設定バケットプレフィックス。 | String | いいえ | ||
| fastLaunchConfigurations | イメージの EC2 Fast Launch 設定。 | 配列 | いいえ | ||
| fastLaunchConfigurations:enabled | イメージに対する EC2 Fast Launch の有効化/無効化。 | ブール値 | fastLaunchConfigurations が指定されている場合、はい |
||
| fastLaunchConfigurations:snapshotConfiguration | イメージに対する EC2 Fast Launch の有効化/無効化。 | マッピング | いいえ | ||
| fastLaunchConfigurations:snapshotConfiguration:targetResourceCount | イメージの EC2 Fast Launch ターゲットリソース数。 | 整数 | いいえ | ||
| fastLaunchConfigurations:maxParallelLaunches | イメージの EC2 Fast Launch 最大並列起動数。 | 整数 | いいえ | ||
| fastLaunchConfigurations:launchTemplate | いいえ | ||||
| fastLaunchConfigurations:launchTemplate:launchTemplateId | イメージの EC2 Fast Launch 起動テンプレート ID。 | String | いいえ | ||
| fastLaunchConfigurations:launchTemplate:launchTemplateName | イメージの EC2 Fast Launch 起動テンプレート名。 | String | いいえ | ||
| fastLaunchConfigurations:launchTemplate:launchTemplateVersion | イメージの EC2 Fast Launch 起動テンプレートバージョン。 | String | いいえ | ||
| ssmParameterConfigurations | イメージの SSM パラメータ設定。 | マッピング | いいえ | ||
| ssmParameterConfigurations:amiAccountId | イメージの SSM パラメータ AMI アカウント ID。 | String | いいえ | ||
| ssmParameterConfigurations:parameterName | イメージの SSM パラメータ名。 | String | ssmParameterConfigurations が指定されている場合、はい |
||
| ssmParameterConfigurations:dataType | イメージの SSM パラメータデータ型。 | 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
ワークフロードキュメント内のステップアクション値の出力を使用します。
$.stepOutputs.ApplyImageConfigurationsStep.configuredImages
BootstrapInstanceForContainer
このステップアクションは、コンテナワークフローを実行するための最小要件でインスタンスをブートストラップするサービススクリプトを実行します。Image Builder は、Systems Manager API の sendCommand を使用してこのスクリプトを実行します。詳細については、「AWS Systems Manager Run Command」を参照してください。
注記
ブートストラップスクリプトは、Image Builder が Docker コンテナを正常に構築するための前提条件である AWS CLI と Docker パッケージをインストールします。このステップアクションを含めないと、イメージビルドは失敗する可能性があります。
デフォルトタイムアウト: 60 分
ロールバック: このステップアクションにはロールバックはありません。
インプット: 以下の表には、このステップアクションでサポートされる入力が含まれています。
| 入力名 | 説明 | タイプ | [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 分
ロールバック: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 分
ロールバック: このステップアクションにはロールバックはありません。
インプット: 以下の表には、このステップアクションでサポートされる入力が含まれています。
| 入力名 | 説明 | タイプ | [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 分
ロールバック: このステップアクションにはロールバックはありません。
インプット: 以下の表には、このステップアクションでサポートされる入力が含まれています。
| 入力名 | 説明 | タイプ | [Required] (必須) | [Default] (デフォルト) | 制約 |
|---|---|---|---|---|---|
| instanceId | 新しいイメージを作成するインスタンス。 | String | はい | 指定したインスタンス ID のインスタンスは、このステップの開始時点の running 状態にある必要があります。 |
出力: 次の表には、このステップアクションの出力が含まれています。
| 出力名 | 説明 | タイプ |
|---|---|---|
| imageId | 作成されたイメージの AMI ID。 | String |
例
ワークフロードキュメントでステップアクションを指定します。
- name:CreateImageFromInstanceaction: CreateImage onFailure: Abort inputs: instanceId.$: "i-1234567890abcdef0"
ワークフロードキュメント内のステップアクション値の出力を使用します。
$.stepOutputs.CreateImageFromInstance.imageId
DistributeImage
このステップアクションは、指定されたリージョンとアカウントに AMI を分散します。CreateImage または CreateImagePipeline APIs のリクエストで提供されたディストリビューション設定、またはディストリビューション設定の設定を上書きするためにワークフローで提供されたカスタムディストリビューション設定に基づいて、ターゲットリージョンとアカウントに AMI のコピーを作成します。
デフォルトのタイムアウト: 360 分
最大タイムアウト: 720 分
ロールバック: このステップアクションにはロールバックはありません。
インプット: 以下の表には、このステップアクションでサポートされる入力が含まれています。
| 入力名 | 説明 | タイプ | [Required] (必須) | [Default] (デフォルト) | 制約 |
|---|---|---|---|---|---|
| リージョン | イメージを配布するリージョンのリスト。 | String | はい | 最小長は 1 です。 最大長は 1,024 です。 | |
| 名前 | ディストリビューション設定の名前。 | String | いいえ | ||
| 説明 | ディストリビューション設定のディストリビューション。 | String | いいえ | ||
| targetAccountIds | イメージを配布するアカウント IDs。 | 配列 | いいえ | ||
| amiTags | ディストリビューション設定のタグ。 | マッピング | いいえ | ||
| kmsKeyId | 分散イメージに適用する KMS キー。 | String | いいえ |
出力: 次の表には、このステップアクションの出力が含まれています。
| 出力名 | 説明 | タイプ |
|---|---|---|
| distributedImages | 分散イメージのリスト | 配列 |
| distributedImages:region | 分散イメージの Tne 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 分
ロールバック: このステップアクションにはロールバックはありません。
インプット: 以下の表には、このステップアクションでサポートされる入力が含まれています。
| 入力名 | 説明 | タイプ | [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 時間
ロールバック: このステップアクションにはロールバックはありません。
インプット: 以下の表には、このステップアクションでサポートされる入力が含まれています。
| 入力名 | 説明 | タイプ | [Required] (必須) | [Default] (デフォルト) | 制約 |
|---|---|---|---|---|---|
| stateMachineArn | 実行する Step Functions ステートマシンの ARN。 | String | はい | 有効なステートマシン ARN である必要があります。 | |
| input | ステートマシンに提供する JSON 入力データ。 | String | いいえ | {} | 有効な JSON 文字列である必要があります。最大長は 16 KiB です。 |
出力: 次の表には、このステップアクションの出力が含まれています。
| 出力名 | 説明 | タイプ |
|---|---|---|
| executionArn | ステートマシン実行の ARN。 | 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 入力は、ステップ完了要件を満たす条件を設定します。
デフォルトタイムアウト: 60 分
ロールバック: ビルドインスタンスの場合、ロールバックはインフラストラクチャ設定リソースで設定したアクションを実行します。デフォルトでは、イメージの作成に失敗するとビルドインスタンスは終了します。ただし、インフラストラクチャ設定には、ビルドインスタンスをトラブルシューティング用に保持する設定があります。
インプット: 以下の表には、このステップアクションでサポートされる入力が含まれています。
| 入力名 | 説明 | タイプ | [Required] (必須) | [Default] (デフォルト) | 制約 |
|---|---|---|---|---|---|
| imageIdOverride | インスタンスの起動に使用するイメージ | String | いいえ |
ビルドステージ: イメージレシピベースイメージ テストステージ: ビルドステージから AMI を出力する |
有効な AMI ID である必要があります |
| instanceTypesOverride | Image Builder は、正常に起動するインスタンスタイプが見つかるまで、リスト内の各インスタンスタイプを試行します。 | 文字列のリスト | いいえ | インフラストラクチャ設定で指定されたインスタンスタイプ | 有効なインスタンスタイプである必要があります |
| waitFor | ワークフローステップを完了し、次のステップに進む前に待機する条件 | String | はい | Image Builder は、ssmAgent をサポートしています。 |
出力: 次の表には、このステップアクションの出力が含まれています。
| 出力名 | 説明 | タイプ |
|---|---|---|
| instanceId | 起動したインスタンスのインスタンス ID。 | String |
例
ワークフロードキュメントでステップアクションを指定します。
- name:LaunchStepaction: LaunchInstance onFailure: Abort inputs: waitFor:ssmAgent
ワークフロードキュメント内のステップアクションからの出力を使用します。
$.stepOutputs.LaunchStep.instanceId
ModifyImageAttributes
このステップアクションは、起動許可やその他の AMIs 属性など、分散 AMI の属性を変更します。ターゲットリージョンとアカウントに配布された AMIs で動作します。
デフォルトタイムアウト: 120 分
最大タイムアウト: 180 分
ロールバック: このステップアクションにはロールバックはありません。
インプット: 以下の表には、このステップアクションでサポートされる入力が含まれています。
| 入力名 | 説明 | タイプ | [Required] (必須) | [Default] (デフォルト) | 制約 |
|---|---|---|---|---|---|
| リージョン | イメージのリージョン。 | String | はい | ||
| launchPermission | いいえ | ||||
| launchPermission:userIds | イメージの起動アクセス許可で変更するユーザー IDs。 | String | いいえ | ||
| launchPermission:userGroups | イメージの起動アクセス許可で変更するユーザーグループ。 | String | いいえ | ||
| launchPermission:organizationArns | イメージの起動アクセス許可で変更する AWS 組織 ARNs。 | String | いいえ | ||
| launchPermission:organizationalUnitArns | イメージの起動アクセス許可で変更する AWS 組織単位 ARNs。 | String | いいえ |
出力: 次の表には、このステップアクションの出力が含まれています。
| 出力名 | 説明 | タイプ |
|---|---|---|
| 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 | イメージの Tne AWS リージョン。 | String |
| modifiedImages:status | ディストリビューションステータス。 | Completed|Failed|Cancelled|TimedOut |
| modifiedImages:errorMessage | エラーメッセージがある場合。 | String |
例
ワークフロードキュメントでステップアクションを指定します。
- name:ModifyImageAttributesaction: ModifyImageAttributes onFailure: Abort inputs: distributedImages.$: $.stepOutputs.DistributeImageStep.distributedImages
ワークフロードキュメント内のステップアクション値の出力を使用します。
$.stepOutputs.ModifyImageAttributesStep.modifiedImages
RegisterImage
このステップアクションは、Amazon EC2 RegisterImage API を使用して新しい Amazon マシンイメージ (AMI) RegisterImage を登録します。これにより、既存のスナップショットまたはスナップショットのセットから AMI を作成し、さまざまなイメージ属性を指定できます。
デフォルトタイムアウト: 720 分
ロールバック: このステップアクションにはロールバックはありません。
インプット: 以下の表には、このステップアクションでサポートされる入力が含まれています。
| 入力名 | 説明 | タイプ | [Required] (必須) | [Default] (デフォルト) | 制約 |
|---|---|---|---|---|---|
| architecture | AMI のアーキテクチャ。 | String | いいえ | 有効な値: i386、x86_64、arm64、x86_64_mac、arm64_mac | |
| blockDeviceMapping | AMI のブロックデバイスマッピングエントリ。 | 配列 | いいえ | ||
| bootMode | AMI のブートモード。 | String | いいえ | 有効な値: legacy-bios、uefi、uefi-preferred | |
| description | AMI の説明。 | String | いいえ | ||
| enaSupport | ENA による拡張ネットワーキングが有効になっているかどうか。 | ブール値 | いいえ | ||
| imageLocation | AMI マニフェストの場所。 | String | いいえ | S3-backed AMIs に必須 | |
| imdsSupport | IMDSv2 サポートレベル。 | String | いいえ | 有効な値: v2.0 | |
| includeSnapshotTags | ブロックデバイスマッピングで定義された最初のスナップショットのタグを含めるかどうか。 | ブール値 | いいえ | FALSE |
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 |
例
ワークフロードキュメントでステップアクションを指定します。
- 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」を参照してください。
デフォルトタイムアウト: 12 時間
ロールバック: このステップアクションにはロールバックはありません。
インプット: 以下の表には、このステップアクションでサポートされる入力が含まれています。
| 入力名 | 説明 | タイプ | [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 分
ロールバック: このステップアクションにはロールバックはありません。
インプット: 以下の表には、このステップアクションでサポートされる入力が含まれています。
| 入力名 | 説明 | タイプ | [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 分
ロールバック: このステップアクションにはロールバックはありません。
インプット: 以下の表には、このステップアクションでサポートされる入力が含まれています。
| 入力名 | 説明 | タイプ | [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
このステップアクションは、入力として渡されたインスタンス ID でインスタンスを終了します。
デフォルトタイムアウト: 30 分
ロールバック: このステップアクションにはロールバックはありません。
インプット: 以下の表には、このステップアクションでサポートされる入力が含まれています。
| 入力名 | 説明 | タイプ | [Required] (必須) | [Default] (デフォルト) | 制約 |
|---|---|---|---|---|---|
| instanceId | 終了するインスタンスの ID。 | String | はい |
出力: このステップアクションには出力がありません。
例
ワークフロードキュメントでステップアクションを指定します。
- name:TerminateInstanceaction: TerminateInstance onFailure: Continue inputs: instanceId.$:i-1234567890abcdef0
WaitForAction
このステップアクションは、実行中のワークフローを一時停止し、Image Builder SendWorkflowStepAction API アクションからの外部アクションの受信を待ちます。このステップは、EventBridge イベントをデフォルトの EventBridge イベントバスに詳細タイプ EC2 Image Builder Workflow Step Waiting で公開します。ステップは、SNS トピック ARN を指定する場合は SNS 通知を送信し、Lambda 関数名を指定する場合は Lambda 関数を非同期的に呼び出すこともできます。
デフォルトタイムアウト: 3 日
ロールバック: このステップアクションにはロールバックはありません。
インプット: 以下の表には、このステップアクションでサポートされる入力が含まれています。
| 入力名 | 説明 | タイプ | [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 |
例
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 分
ロールバック: このステップアクションにはロールバックはありません。
インプット: 以下の表には、このステップアクションでサポートされる入力が含まれています。
| 入力名 | 説明 | タイプ | [Required] (必須) | [Default] (デフォルト) | 制約 |
|---|---|---|---|---|---|
| instanceId | SSM 接続をモニタリングするインスタンスの ID。 | String | はい | 有効な EC2 インスタンス ID である必要があります |
出力: 次の表には、このステップアクションの出力が含まれています。
| 出力名 | 説明 | タイプ |
|---|---|---|
| Status | SSM エージェントの接続ステータス。 | String |
例
ワークフロードキュメントでステップアクションを指定します。
- name:WaitForInstanceAfterRebootaction: WaitForSSMAgent onFailure: Abort timeoutInSeconds: 900 # 15 minutes inputs: instanceId.$: $.stepOutputs.LaunchStep.instanceId
ワークフロードキュメント内のステップアクション値の出力を使用します。
$.stepOutputs.WaitForInstanceAfterReboot.Status