本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
Image Builder 中的 Amazon EventBridge 整合
Amazon EventBridge 是一種無伺服器事件匯流排服務,可用來將 Image Builder 應用程式與其他相關資料連線 AWS 服務。在 EventBridge 中,規則會比對傳入的事件,並將其傳送至目標進行處理。單一規則可以將事件傳送至多個目標,然後這些事件會平行執行。
使用 EventBridge,您可以自動化您的 AWS 服務 並自動回應系統事件,例如應用程式可用性問題或資源變更。近乎即時地將事件 AWS 服務 傳遞至 EventBridge。您可以設定對傳入事件做出反應的規則,以啟動動作。例如,當 EC2 執行個體的狀態從待定變更為執行中時,將事件傳送至 Lambda 函數。EventBridge 會呼叫這些相符的定義事件模式。若要根據事件模式建立規則,請參閱《Amazon EventBridge 使用者指南》中的建立對事件做出反應的 Amazon EventBridge 規則。
Image Builder 會以兩個獨立方向使用 EventBridge。選擇符合您目標的項目:
-
執行管道以回應事件 (Image Builder 作為目標)。當事件符合規則或排程觸發時,EventBridge 會啟動管道建置。
-
反應 Image Builder 報告的內容 (Image Builder 作為來源)。Image Builder 會將事件發佈至您可以比對並路由至您自己的目標的預設事件匯流排。
如需兩個方向的step-by-step程序,請參閱 搭配映像建置器管道使用 EventBridge。如需事件目錄,請參閱 Image Builder 傳送的事件訊息。
可自動啟動的動作包括下列項目:
-
叫用 AWS Lambda 函數
-
叫用 Amazon EC2 執行命令
-
將事件轉送至 Amazon Kinesis Data Streams
-
啟用 AWS Step Functions 狀態機器
-
通知 Amazon SNS 主題或 Amazon SQS 佇列
您也可以設定預設事件匯流排的排程規則,以定期執行動作,例如執行映像建置器管道以每季重新整理映像。排程表達式有兩種類型:
如需 EventBridge 規則如何與映像建置器映像管道整合的詳細資訊,請參閱 搭配映像建置器管道使用 EventBridge。
注意
管道的內建排程和 EventBridge 排程規則是不同的機制:
-
管道排程 (
schedule.scheduleExpression) 是管道資源的一部分。Image Builder 會對其進行評估,可以使用 對建置進行依存性更新pipelineExecutionStartCondition,並使用 自動停用失敗的管道autoDisablePolicy。 -
EventBridge 排程規則存在於您帳戶中的 EventBridge 中,並在排程觸發時一律啟動組建;它沒有相依性閘道,也沒有自動停用行為。
Image Builder 傳送的事件訊息
映像建置器會在映像建置器資源到達其生命週期中的重要點時,將事件傳送至預設 EventBridge 事件匯流排,例如,當映像變更狀態、掃描完成、工作流程步驟暫停輸入,或管道自動停用時。每個事件都會使用來源 aws.imagebuilder。
下列各節說明每個事件:Image Builder 傳送事件時、事件 中的欄位detail,以及resources陣列中的資源 ARNs。若要對這些事件採取行動,請參閱 對映像建置器傳送的事件做出反應。範例中的帳戶 IDs、區域、ARNs和時間戳記都是預留位置,請將其取代為您自己的預留位置。
EC2 映像建置器映像狀態變更
映像建置器會在映像建立期間變更映像資源的狀態時傳送此事件。例如,當影像狀態從一個狀態變更為另一個狀態時,如下所示:
-
從
building到testing -
從
testing到distribution -
從
testing到failed -
從
integrating到available
{ "version": "0", "id": "a1b2c3d4-5678-90ab-cdef-EXAMPLE11111", "detail-type": "EC2 Image Builder Image State Change", "source": "aws.imagebuilder", "account": "111122223333", "time": "2024-01-18T17:50:56Z", "region": "us-west-2", "resources": ["arn:aws:imagebuilder:us-west-2:111122223333:image/cmkencryptedworkflowtest-a1b2c3d4-5678-90ab-cdef-EXAMPLE22222/1.0.0/1"], "detail": { "previous-state": { "status": "TESTING" }, "state": { "status": "AVAILABLE" } } }
映像建置器會在映像建立期間每次映像資源變更狀態時,跨上述建置轉換傳送此事件。
事件detail包含下列欄位:
欄位 |
說明 |
|---|---|
|
變更前的影像狀態 (例如 |
|
新的映像狀態 (例如, |
建置轉換狀態值為 BUILDING、TESTING、DISTRIBUTING、INTEGRATINGAVAILABLE、、 CANCELLED和 FAILED。
resources 陣列包含變更狀態之映像資源的 ARN。
偵測到 EC2 Image Builder CVE
如果您已啟用映像的 CVE 偵測,映像建置器會在映像掃描完成時傳送包含結果的訊息。
{ "version": "0", "id": "a1b2c3d4-5678-90ab-cdef-EXAMPLE11111", "detail-type": "EC2 Image Builder CVE Detected", "source": "aws.imagebuilder", "account": "111122223333", "time": "2023-03-01T16:59:09Z", "region": "us-east-1", "resources": [ "arn:aws:imagebuilder:us-east-1:111122223333:image/test-image/1.0.0/1", "arn:aws:imagebuilder:us-east-1:111122223333:image-pipeline/test-pipeline" ], "detail": { "resource-id": "i-1234567890abcdef0", "finding-severity-counts": { "all": 0, "critical": 0, "high": 0, "medium": 0 } } }
映像建置器會在映像掃描完成時傳送此事件,而且只有在您為映像啟用映像掃描 (Amazon Inspector) 時才會傳送此事件。如果掃描關閉,Image Builder 不會傳送此事件。若要開啟掃描,請參閱 在 中設定映像建置器映像的安全性掃描 AWS 管理主控台。
事件detail包含下列欄位:
欄位 |
說明 |
|---|---|
|
Image Builder 掃描的 Amazon EC2 測試執行個體 ID。 |
|
所報告嚴重性的問題清單總數。 |
|
關鍵嚴重性調查結果的數量。 |
|
高嚴重性調查結果的數量。 |
|
中嚴重性調查結果的數量。 |
重要
finding-severity-counts 會報告 critical、 high和 medium計數加上all總計。它不會報告 low、 informational或 untriaged問題清單。若要檢閱完整的問題清單,請參閱 Image Builder 主控台或 Amazon Inspector 中的安全問題清單。
resources 陣列包含映像資源的 ARN,以及掃描從管道執行時映像管道的 ARN。
EC2 映像建置器工作流程步驟等待中
當WaitForAction工作流程步驟暫停等待非同步動作完成時,Image Builder 會傳送訊息。
{ "version": "0", "id": "a1b2c3d4-5678-90ab-cdef-EXAMPLE11111", "detail-type": "EC2 Image Builder Workflow Step Waiting", "source": "aws.imagebuilder", "account": "111122223333", "time": "2024-01-18T16:54:44Z", "region": "us-west-2", "resources": ["arn:aws:imagebuilder:us-west-2:111122223333:image/workflowstepwaitforactionwithvalidsnstopictest-a1b2c3d4-5678-90ab-cdef-EXAMPLE22222/1.0.0/1", "arn:aws:imagebuilder:us-west-2:111122223333:workflow/build/build-workflow-a1b2c3d4-5678-90ab-cdef-EXAMPLE33333/1.0.0/1"], "detail": { "workflow-execution-id": "wf-a1b2c3d4-5678-90ab-cdef-EXAMPLE22222", "workflow-step-execution-id": "step-a1b2c3d4-5678-90ab-cdef-EXAMPLE11111", "workflow-step-name": "TestAutoSNSStop" } }
當WaitForAction工作流程步驟暫停等待您的回應時,Image Builder 會傳送此事件。工作流程會保持暫停,直到您回應或步驟逾時為止。
事件detail包含下列欄位:
欄位 |
說明 |
|---|---|
|
包含暫停步驟的執行中工作流程 ID。 |
|
正在等待的特定步驟執行 ID。 |
|
|
resources 陣列包含映像資源的 ARN 和工作流程的 ARN。
若要回應,workflow-step-execution-id請從 事件SendWorkflowStepAction呼叫 ,從 呼叫 action RESUME以繼續,或從 呼叫 STOP 以結束建置。請參閱 WaitForAction。若要自動從事件驅動此項目,請參閱 對映像建置器傳送的事件做出反應。
EC2 映像建置器映像管道自動停用
如果您已autoDisablePolicy為管道設定 ,則 Image Builder 會停用管道,並在連續排程管道執行失敗次數超過政策允許的數目上限時,將事件訊息傳送至 EventBridge。
{ "version": "0", "id": "a1b2c3d4-5678-90ab-cdef-EXAMPLE11111", "detail-type": "EC2 Image Builder Image Pipeline Automatically Disabled", "source": "aws.imagebuilder", "account": "111122223333", "time": "2025-09-18T16:54:44Z", "region": "us-west-2", "resources": ["arn:aws:imagebuilder:us-west-2:111122223333:image-pipeline/disabled-image-pipeline-name"], "detail": { "consecutive-failures": "5" } }
如果您autoDisablePolicy根據管道的排程設定 ,映像建置器會計算排程建置的連續失敗。當計數達到政策的 時failureCount,Image Builder 會停用管道並傳送此事件。
事件detail包含下列欄位:
欄位 |
說明 |
|---|---|
|
觸發自動停用的連續排程建置失敗次數。 |
resources 陣列包含已停用之管道的 ARN。
注意
只有排程建置會計入總計。失敗的手動建置不會增加;成功的手動或排程建置,以及建立或更新管道,會將其重設為零。請參閱 EC2 Image Builder API 參考autoDisablePolicy中的 。