選取您的 Cookie 偏好設定

我們使用提供自身網站和服務所需的基本 Cookie 和類似工具。我們使用效能 Cookie 收集匿名統計資料,以便了解客戶如何使用我們的網站並進行改進。基本 Cookie 無法停用,但可以按一下「自訂」或「拒絕」以拒絕效能 Cookie。

如果您同意,AWS 與經核准的第三方也會使用 Cookie 提供實用的網站功能、記住您的偏好設定,並顯示相關內容,包括相關廣告。若要接受或拒絕所有非必要 Cookie,請按一下「接受」或「拒絕」。若要進行更詳細的選擇,請按一下「自訂」。

根據 EventBridge 事件執行自動化

焦點模式
根據 EventBridge 事件執行自動化 - AWS Systems Manager

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

您可以將 Runbook 指定為 Amazon EventBridge 事件的目標,藉此開始自動化。您可以根據排程或在特定的 AWS 系統事件發生時開始自動化。例如,假設您建立名稱為 BootStrapInstances 的 Runbook,而該文件在執行個體啟動時於執行個體上安裝軟體。若要指定 BootStrapInstances Runbook (和對應的工作流程) 做為 EventBridge 事件的目標,您要先建立新的 EventBridge 規則。(以下為範例規則:Service name (服務名稱):EC2,Event Type (事件類型):EC2 執行個體狀態-變更通知,Specific state(s) (特定狀態):執行 Any instance (任何執行個體)。) 然後,您可以使用下列程序,使用 EventBridge 主控台和 AWS Command Line Interface () 將 BootStrapInstances Runbook 指定為事件的目標AWS CLI。新的執行個體啟動時,系統會執行自動化和安裝軟體。

如需建立 Runbook 的資訊,請參閱 建立您自己的執行手冊

建立使用 Runbook (主控台) 的 EventBridge 事件

使用以下程序設定來將 Runbook 做為 EventBridge 事件的目標。

將 Runbook 設定為 EventBridge 事件的目標
  1. 前往 https://console.aws.amazon.com/events/ 開啟 Amazon EventBridge 主控台。

  2. 在導覽窗格中,選擇規則

  3. 選擇建立規則

  4. 輸入規則的名稱和描述。

    在同一個區域和同一個事件匯流排上,規則不能與另一個規則同名。

  5. 針對事件匯流排,選擇要與此規則建立關聯的事件匯流排。如果您希望此規則回應來自您自己的相符事件 AWS 帳戶,請選取預設值。當您 AWS 服務 帳戶中的 發出事件時,一律會傳送至您帳戶的預設事件匯流排。

  6. 選擇該規則的觸發方式。

    根據…建立規則 執行此作業...

    事件

    1. 針對規則類型,選擇具有事件模式的規則

    2. 選擇下一步

    3. 事件來源欄位中,選擇 AWS 事件或 EventBridge 合作夥伴事件

    4. Event pattern (事件模式) 區段中,執行下列其中一個動作:

      • 若要使用範本建立您的事件模式,請選擇 Event pattern form (事件模式表單),然後選擇 Event source (事件來源)、AWS service ( 服務),以及 Event type (事件類型)。如果您選擇所有事件做為事件類型,則 發出的所有事件 AWS 服務 都會符合規則。

        若要自定範本,請選擇自訂模式 (JSON 編輯器)並進行變更。

      • 若要使用自訂事件模式,請選擇 Custom pattern (JSON editor) (自訂模式 (JSON 編輯器)) 並建立事件模式。

    排程
    1. 針對 Rule type (規則類型),選擇 Schedule (排程)。

    2. 選擇 Next (下一步)

    3. 針對 Schedule pattern (排程模式),執行下列其中一項動作:

      • 若要使用 Cron 運算式定義排程,請選擇 A fine-grained schedule that runs at a specific time, such as 8:00 a.m. (在特定時間 (如上午 8:00) 執行的精細時間表)。PST on the first Monday of every month (每個月的第一個星期一的 PST) 並輸入 Cron 運算式。

      • 若要使用 Rate 運算式定義排程,請選擇 A schedule that runs at a regular rate, such as every 10 minutes (按一般速率執行的排程,例如每 10 分鐘一次),然後輸入 Rate 運算式。

  7. 選擇 Next (下一步)

  8. 目標類型欄位中,選擇 AWS 服務

  9. 針對 Select a target (選取目標),請選擇 Systems Manager Automation

  10. 對於 Document (文件),選擇叫用目標時要使用的 Runbook。

  11. Configure automation parameter(s) (設定自動化參數) 區段中,保留預設參數值 (若有) 或輸入您自己的值。

    注意

    若要建立目標,您必須為每個必要參數指定值。如果不這麼做,系統會建立規則,但規則不會執行。

  12. 對於許多目標類型而言,EventBridge 需要許可才能將事件傳送到目標。在這些情況下,EventBridge 可建立執行您的規則所需的 IAM 角色。執行以下任意一項:

    • 若要自動建立 IAM 角色,請選擇為此特定資源建立新角色

    • 若要使用您早前建立的 IAM 角色,請選擇 Use existing role (使用現有角色) 並從下拉式清單中選取現有角色。請注意,您可能需要更新 IAM 角色的信任政策,使其包含 EventBridge。以下是範例:

    { "Version": "2012-10-17", "Statement": [ { "Sid": "", "Effect": "Allow", "Principal": { "Service": [ "events.amazonaws.com", "ssm.amazonaws.com" ] }, "Action": "sts:AssumeRole" } ] }
  13. 選擇 Next (下一步)

  14. (選用) 為規則輸入一或多個標籤。如需詳細資訊,請參閱《Amazon EventBridge 使用者指南》中的標記您的 Amazon EventBridge 資源

  15. 選擇 Next (下一步)

  16. 檢閱規則的詳細資訊,然後選擇建立規則

建立使用 Runbook (命令列) 的 EventBridge 事件

下列程序說明如何使用 AWS CLI (在 Linux 或 Windows 上) 或 AWS Tools for PowerShell 建立 EventBridge 事件規則,並將 Runbook 設定為目標。

將 Runbook 設定為 EventBridge 事件的目標
  1. AWS Tools for PowerShell如果您尚未安裝和設定 AWS CLI 或 。

    如需相關資訊,請參閱安裝或更新 AWS CLI的最新版本安裝 AWS Tools for PowerShell

  2. 建立命令來指定新的 EventBridge 事件規則。將每個範例資源預留位置取代為您自己的資訊。

    「依據排程觸發」

    Linux & macOS
    aws events put-rule \ --name "rule name" \ --schedule-expression "cron or rate expression"
    Windows
    aws events put-rule ^ --name "rule name" ^ --schedule-expression "cron or rate expression"
    PowerShell
    Write-CWERule ` -Name "rule name" ` -ScheduleExpression "cron or rate expression"
    aws events put-rule \ --name "rule name" \ --schedule-expression "cron or rate expression"

    以下範例會建立 EventBridge 事件規則,在每天早上 9:00 (UTC) 開始。

    Linux & macOS
    aws events put-rule \ --name "DailyAutomationRule" \ --schedule-expression "cron(0 9 * * ? *)"
    Windows
    aws events put-rule ^ --name "DailyAutomationRule" ^ --schedule-expression "cron(0 9 * * ? *)"
    PowerShell
    Write-CWERule ` -Name "DailyAutomationRule" ` -ScheduleExpression "cron(0 9 * * ? *)"
    aws events put-rule \ --name "DailyAutomationRule" \ --schedule-expression "cron(0 9 * * ? *)"

    「依據事件觸發」

    Linux & macOS
    aws events put-rule \ --name "rule name" \ --event-pattern "{\"source\":[\"aws.service\"],\"detail-type\":[\"service event detail type\"]}"
    Windows
    aws events put-rule ^ --name "rule name" ^ --event-pattern "{\"source\":[\"aws.service\"],\"detail-type\":[\"service event detail type\"]}"
    PowerShell
    Write-CWERule ` -Name "rule name" ` -EventPattern '{"source":["aws.service"],"detail-type":["service event detail type"]}'
    aws events put-rule \ --name "rule name" \ --event-pattern "{\"source\":[\"aws.service\"],\"detail-type\":[\"service event detail type\"]}"

    以下範例建立 EventBridge 事件規則,當區域中的任何 EC2 執行個體變更狀態時會觸開啟規則。

    Linux & macOS
    aws events put-rule \ --name "EC2InstanceStateChanges" \ --event-pattern "{\"source\":[\"aws.ec2\"],\"detail-type\":[\"EC2 Instance State-change Notification\"]}"
    Windows
    aws events put-rule ^ --name "EC2InstanceStateChanges" ^ --event-pattern "{\"source\":[\"aws.ec2\"],\"detail-type\":[\"EC2 Instance State-change Notification\"]}"
    PowerShell
    Write-CWERule ` -Name "EC2InstanceStateChanges" ` -EventPattern '{"source":["aws.ec2"],"detail-type":["EC2 Instance State-change Notification"]}'
    aws events put-rule \ --name "EC2InstanceStateChanges" \ --event-pattern "{\"source\":[\"aws.ec2\"],\"detail-type\":[\"EC2 Instance State-change Notification\"]}"

    命令會傳回與以下相似的新 EventBridge 規則詳細資訊。

    Linux & macOS
    {
    "RuleArn": "arn:aws:events:us-east-1:123456789012:rule/automationrule"
    }
    Windows
    {
    "RuleArn": "arn:aws:events:us-east-1:123456789012:rule/automationrule"
    }
    PowerShell
    arn:aws:events:us-east-1:123456789012:rule/EC2InstanceStateChanges
    {
    "RuleArn": "arn:aws:events:us-east-1:123456789012:rule/automationrule"
    }
  3. 建立命令,指定 Runbook 做為您在步驟 2 中所建立 EventBridge 事件規則的目標。將每個範例資源預留位置取代為您自己的資訊。

    Linux & macOS
    aws events put-targets \ --rule rule name \ --targets '{"Arn": " arn:aws:ssm:region:account ID:automation-definition/runbook name","Input":"{\"Message\":[\"{\\\"Key\\\":\\\"key name\\\",\\\"Values\\\":[\\\"value\\\"]}\"]}","Id": "target ID","RoleArn": "arn:aws:iam::123456789012:role/service-role/EventBridge service role"}'
    Windows
    aws events put-targets ^ --rule rule name ^ --targets '{"Arn": "arn:aws:ssm:region:account ID:automation-definition/runbook name","Input":"{\"Message\":[\"{\\\"Key\\\":\\\"key name\\\",\\\"Values\\\":[\\\"value\\\"]}\"]}","Id": "target ID","RoleArn": "arn:aws:iam::123456789012:role/service-role/EventBridge service role"}'
    PowerShell
    $Target = New-Object Amazon.CloudWatchEvents.Model.Target $Target.Id = "target ID" $Target.Arn = "arn:aws:ssm:region:account ID:automation-definition/runbook name" $Target.RoleArn = "arn:aws:iam::123456789012:role/service-role/EventBridge service role" $Target.Input = '{"input parameter":["value"],"AutomationAssumeRole":["arn:aws:iam::123456789012:role/AutomationServiceRole"]}' Write-CWETarget ` -Rule "rule name" ` -Target $Target
    aws events put-targets \ --rule rule name \ --targets '{"Arn": " arn:aws:ssm:region:account ID:automation-definition/runbook name","Input":"{\"Message\":[\"{\\\"Key\\\":\\\"key name\\\",\\\"Values\\\":[\\\"value\\\"]}\"]}","Id": "target ID","RoleArn": "arn:aws:iam::123456789012:role/service-role/EventBridge service role"}'

    以下範例會建立 EventBridge 事件目標,使用 Runbook AWS-StartEC2Instance 文件啟動指定的執行個體 ID。

    Linux & macOS
    aws events put-targets \ --rule DailyAutomationRule \ --targets '{"Arn": "arn:aws:ssm:region:*:automation-definition/AWS-StartEC2Instance","Input":"{\"InstanceId\":[\"i-02573cafcfEXAMPLE\"],\"AutomationAssumeRole\":[\"arn:aws:iam::123456789012:role/AutomationServiceRole\"]}","Id": "Target1","RoleArn": "arn:aws:iam::123456789012:role/service-role/AWS_Events_Invoke_Start_Automation_Execution_1213609520"}'
    Windows
    aws events put-targets ^ --rule DailyAutomationRule ^ --targets '{"Arn": "arn:aws:ssm:region:*:automation-definition/AWS-StartEC2Instance","Input":"{\"InstanceId\":[\"i-02573cafcfEXAMPLE\"],\"AutomationAssumeRole\":[\"arn:aws:iam::123456789012:role/AutomationServiceRole\"]}","Id": "Target1","RoleArn": "arn:aws:iam::123456789012:role/service-role/AWS_Events_Invoke_Start_Automation_Execution_1213609520"}'
    PowerShell
    $Target = New-Object Amazon.CloudWatchEvents.Model.Target $Target.Id = "Target1" $Target.Arn = "arn:aws:ssm:region:*:automation-definition/AWS-StartEC2Instance" $Target.RoleArn = "arn:aws:iam::123456789012:role/service-role/AWS_Events_Invoke_Start_Automation_Execution_1213609520" $Target.Input = '{"InstanceId":["i-02573cafcfEXAMPLE"],"AutomationAssumeRole":["arn:aws:iam::123456789012:role/AutomationServiceRole"]}' Write-CWETarget ` -Rule "DailyAutomationRule" ` -Target $Target
    aws events put-targets \ --rule DailyAutomationRule \ --targets '{"Arn": "arn:aws:ssm:region:*:automation-definition/AWS-StartEC2Instance","Input":"{\"InstanceId\":[\"i-02573cafcfEXAMPLE\"],\"AutomationAssumeRole\":[\"arn:aws:iam::123456789012:role/AutomationServiceRole\"]}","Id": "Target1","RoleArn": "arn:aws:iam::123456789012:role/service-role/AWS_Events_Invoke_Start_Automation_Execution_1213609520"}'

    系統會傳回相關資訊,如下所示。

    Linux & macOS
    {
    "FailedEntries": [],
    "FailedEntryCount": 0
    }
    Windows
    {
    "FailedEntries": [],
    "FailedEntryCount": 0
    }
    PowerShell

    如果 PowerShell 的命令成功,則不會有輸出訊息。

    {
    "FailedEntries": [],
    "FailedEntryCount": 0
    }
隱私權網站條款Cookie 偏好設定
© 2025, Amazon Web Services, Inc.或其附屬公司。保留所有權利。