使用區域自動換檔與 Amazon EventBridge - Amazon Route 53 Application Recovery Controller

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

使用區域自動換檔與 Amazon EventBridge

使用 Amazon EventBridge,您可以設定事件驅動的規則,以監控區域自動換檔資源,並啟動使用其他服務的目標動作。 AWS 例如,您可以設定傳送電子郵件通知的規則,方法是在區域自動切換的練習執行開始時,傳送 Amazon SNS 主題。

您可以在 Amazon 中創建規則以對區域自動 EventBridge 換檔採取行動。區域自動換檔事件的事件會指定有關練習執行自動換檔的狀態資訊,例如,當練習執行正在進行中。

若要擷取您感興趣的特定區域自動切換事件,請定義 EventBridge 可用來偵測事件的特定事件模式。事件模式與它們相符的事件具有相同的結構。該模式引用您欲比對的欄位,並提供您正在尋找的數值。

盡可能發出事件。 EventBridge 在正常操作情況下,它們是從 53 ARC 公路交付到近乎實時的。但是,可能會出現可能會延遲或阻止事件傳遞的情況。

如需 EventBridge 規則如何處理事件模式的詳細資訊,請參閱 EventBridge.

使用以下方式監控區域自動換檔資源 EventBridge

使用 EventBridge,您可以建立規則,以定義 Route 53 ARC 為其資源發出事件時要採取的動作。例如,您可以建立規則,在區域自動切換的練習執行開始時傳送電子郵件訊息。

若要在主控台中輸入或複製事件模式並貼上,請選取要在 EventBridge 主控台中使用 [輸入我自己的] 選項的選項。為了協助您判斷可能對您有用的事件模式,本主題包含您可以使用的區域自動切換事件比對模式區域自動切換事件的範例。

建立資源事件的規則
  1. 在以下位置打開 Amazon EventBridge 控制台 https://console.aws.amazon.com/events/

  2. 選擇您 AWS 區域 要在其中建立規則的地區,也就是您有興趣觀看賽事的地區。

  3. 選擇 Create rule (建立規則)。

  4. 輸入規則的Name (名稱),或者輸入描述。

  5. 對於事件匯流排,保留預設值 (預設值)。

  6. 選擇下一步

  7. 對於「建置」事件模式步驟,對於事件來源,保留預設值「AWS 事件」。

  8. 在 [範例事件] 下,選擇 [輸入我自己]。

  9. 對於範例事件,請輸入或複製並貼上事件模式。

範例區域自動換檔事件模式

事件模式與它們相符的事件具有相同的結構。該模式引用您欲比對的欄位,並提供您正在尋找的數值。

您可以將此區段中的事件模式複製並貼 EventBridge 到中,以建立可用來監視區域自動切換動作和資源的規則。

當您為區域自動切換事件建立事件模式時,您可以為下列項目指定下列任一項目:detail-type

  • Autoshift In Progress

  • Autoshift Completed

  • Practice Run Started

  • Practice Run Succeeded

  • Practice Run Interrupted

  • Practice Run Failed

當練習執行中斷時,有關造成中斷的原因的詳細資訊,請參閱additionalFailureInfo欄位。

  • 從已開始練習執行的區域自動換檔中選取所有事件。

    { "source": [ "aws.arc-zonal-shift" ], "detail-type": [ "Practice Run Started" ] }
  • 從練習運行失敗的區域自動換檔中選擇所有事件。

    { "source": [ "aws.arc-zonal-shift" ], "detail-type": [ "Practice Run Failed" ] }

範例區域自動換檔事件

以下是區域自動切換動作的範例事件:

{ "version": "0", "id": "05d4d2d5-9c76-bfea-72d2-d4614802adb4", "detail-type": "Practice Run Interrupted", "source": "aws.arc-zonal-shift", "account": "111122223333", "time": "2023-11-16T23:38:14Z", "region": "us-east-1", "resources": [ "TEST-EXAMPLE-2023-11-16-23-28-11-5" ], "detail": { "version": "0.0.1", "data": { "additionalFailureInfo": "Practice run interrupted. The blocking alarm entered ALARM state." }, "metadata": { "awayFrom": "use1-az2" } } }

指定要用作目標的 CloudWatch 記錄群組

建立 EventBridge 規則時,您必須指定傳送符合規則之事件的目標。如需的可用目標清單 EventBridge,請參閱 EventBridge 主控台中可用的目標。您可以新增至 EventBridge 規則的其中一個目標是 Amazon CloudWatch 日誌群組。本節說明將 CloudWatch 記錄群組新增為目標的需求,並提供在建立規則時新增記錄群組的程序。

若要將 CloudWatch 記錄群組新增為目標,您可以執行下列其中一項作業:

  • 建立新的記錄群組

  • 選擇現有的記錄群組

如果您在建立規則時使用主控台指定新的記錄群組, EventBridge 會自動為您建立記錄群組。請確定您用作 EventBridge 規則目標的記錄群組開頭為/aws/events。如果您想要選擇現有的記錄群組,請注意,只有開頭為的記錄群組/aws/events會顯示為下拉式功能表中的選項。如需詳細資訊,請參閱 Amazon CloudWatch 使用者指南中的建立新日誌群組

如果您使用主控台外部的 CloudWatch 作業來建立或使用 CloudWatch 記錄群組做為目標,請確定您已正確設定權限。如果您使用主控台將記錄群組新增至 EventBridge 規則,則記錄群組的資源型政策會自動更新。但是,如果您使用 AWS Command Line Interface 或 AWS SDK 來指定記錄群組,則必須更新記錄群組的以資源為基礎的原則。下列範例原則說明您必須在記錄群組的資源型原則中定義的權限:

{ "Statement": [ { "Action": [ "logs:CreateLogStream", "logs:PutLogEvents" ], "Effect": "Allow", "Principal": { "Service": [ "events.amazonaws.com", "delivery.logs.amazonaws.com" ] }, "Resource": "arn:aws:logs:region:account:log-group:/aws/events/*:*", "Sid": "TrustEventsToStoreLogEvent" } ], "Version": "2012-10-17" }

您無法使用主控台為記錄群組設定以資源為基礎的政策。若要將必要的權限新增至以資源為基礎的政策,請使用 CloudWatch PutResourcePolicyAPI 作業。然後,您可以使用 describe-resource-policiesCLI 命令來檢查您的原則是否已正確套用。

為資源事件建立規則並指定 CloudWatch 記錄群組目標
  1. 在以下位置打開 Amazon EventBridge 控制台 https://console.aws.amazon.com/events/

  2. 選擇您 AWS 區域 要在其中建立規則的規則。

  3. 選擇 [建立規則],然後輸入有關該規則的任何資訊,例如事件模式或排程詳細資訊。

    若要取得有關為 Route 53 ARC 建立 EventBridge 規則的詳細資訊,請參閱本主題稍早的章節。

  4. 「選擇目標」 頁面上,選擇CloudWatch作為您的目標。

  5. 從下拉式功能表中選擇 CloudWatch 記錄群組。