在 ARC 中使用整備檢查搭配 Amazon EventBridge - Amazon 應用程式復原控制器 (ARC)

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

在 ARC 中使用整備檢查搭配 Amazon EventBridge

使用 Amazon EventBridge,您可以設定事件驅動規則,以監控 Amazon Application Recovery Controller (ARC) 中的整備檢查資源,然後啟動使用其他服務的目標動作 AWS 。例如,當整備檢查狀態從 READY 變更為 NOT READY 時,您可以透過發出 Amazon SNS 主題的訊號來設定傳送電子郵件通知的規則。

注意

ARC 只會在美國西部 (奧勒岡) (us-west-2) AWS 區域中發佈 EventBridge 事件以進行整備檢查。若要接收 EventBridge 事件以進行整備檢查,請在美國西部 (奧勒岡) 區域中建立 EventBridge 規則。

您可以在 Amazon EventBridge 中建立規則,以處理下列 ARC 整備檢查事件:

  • 就緒狀態檢查準備。事件會指定整備檢查狀態是否從 READY 變更為 NOT READY

若要擷取您感興趣的特定 ARC 事件,請定義 EventBridge 可用來偵測事件的事件特定模式。事件模式的結構與其相符的事件相同。該模式引用您欲比對的欄位,並提供您正在尋找的數值。

盡可能發出事件。在正常操作情況下,它們會以近乎即時的方式從 ARC 交付至 EventBridge。不過,可能會發生可能延遲或阻止交付事件的情況。

如需 EventBridge 規則如何使用事件模式的詳細資訊,請參閱 EventBridge 中的事件和事件模式

使用 EventBridge 監控整備檢查資源

使用 EventBridge,您可以建立規則,定義 ARC 針對整備檢查資源發出事件時要採取的動作。

若要在 EventBridge 主控台中輸入或複製事件模式並貼上,請在主控台中選取 以輸入我自己的選項。為了協助您判斷可能對您有用的事件模式,本主題包含準備程度事件模式範例

建立資源事件的規則
  1. 前往 https://console.aws.amazon.com/events/ 開啟 Amazon EventBridge 主控台。

  2. 若要 AWS 區域 在 中建立規則,請選擇美國西部 (奧勒岡)。這是整備事件所需的區域。

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

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

  5. 對於事件匯流排,請保留預設值

  6. 選擇下一步

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

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

  9. 針對範例事件,輸入或複製並貼上事件模式。如需範例,請參閱下一節。

準備事件模式範例

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

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

下列事件模式提供您可以在 EventBridge 中用於 ARC 中整備檢查功能的範例。

  • 從 ARC 整備檢查中選取所有事件

    { "source": [ "aws.route53-recovery-readiness" ] }
  • 僅選取與儲存格相關的事件

    { "source": [ "aws.route53-recovery-readiness" ], "detail-type": [ "Route 53 Application Recovery Controller cell readiness status change" ] }
  • 僅選取與稱為 的特定儲存格相關的事件MyExampleCell

    { "source": [ "aws.route53-recovery-readiness" ], "detail-type": [ "Route 53 Application Recovery Controller cell readiness status change" ], "resources": [ "arn:aws:route53-recovery-readiness::111122223333:cell/MyExampleCell" ] }
  • 只有在任何復原群組、儲存格或整備檢查狀態變成 時,才選取事件NOT READY

    { "source":[ "aws.route53-recovery-readiness" ], "detail-type":{ "new-state":{ "readiness-status":[ "NOT_READY" ] } } }
  • 只有在任何復原群組、儲存格或整備檢查變成除了 以外的任何項目時,才選取事件 READY

    { "source":[ "aws.route53-recovery-readiness" ], "detail":{ "new-state":{ "readiness-status":[ { "anything-but":"READY" } ] } } }

以下是復原群組整備狀態變更的 ARC 事件範例:

{ "version": "0", "account":"111122223333", "detail-type":"Route 53 Application Recovery Controller recovery group readiness status change", "source":"route53-recovery-readiness.amazonaws.com", "time":"2020-11-03T00:31:54Z", "id": "1234a678-1b23-c123-12fd3f456e78", "region": "us-west-2", "resources":[ "arn:aws:route53-recovery-readiness::111122223333:recovery-group/BillingApp" ], "detail": { "recovery-group-name": "BillingApp", "previous-state": { "readiness-status": "READY|NOT_READY|UNKNOWN|NOT_AUTHORIZED" }, "new-state": { "readiness-status": "READY|NOT_READY|UNKNOWN|NOT_AUTHORIZED" } } }

以下是儲存格就緒狀態變更的 ARC 事件範例:

{ "version": "0", "account":"111122223333", "detail-type":"Route 53 Application Recovery Controller cell readiness status change", "source":"route53-recovery-readiness.amazonaws.com", "time":"2020-11-03T00:31:54Z", "id": "1234a678-1b23-c123-12fd3f456e78", "region": "us-west-2", "resources":[ "arn:aws:route53-recovery-readiness::111122223333:cell/PDXCell" ], "detail": { "cell-name": "PDXCell", "previous-state": { "readiness-status": "READY|NOT_READY|UNKNOWN|NOT_AUTHORIZED" }, "new-state": { "readiness-status": "READY|NOT_READY|UNKNOWN|NOT_AUTHORIZED" } } }

以下是整備檢查狀態變更的 ARC 事件範例:

{ "version": "0", "account":"111122223333", "detail-type":"Route 53 Application Recovery Controller readiness check status change", "source":"route53-recovery-readiness.amazonaws.com", "time":"2020-11-03T00:31:54Z", "id": "1234a678-1b23-c123-12fd3f456e78", "region": "us-west-2", "resources":[ "arn:aws:route53-recovery-readiness::111122223333:readiness-check/UserTableReadinessCheck" ], "detail": { "readiness-check-name": "UserTableReadinessCheck", "previous-state": { "readiness-status": "READY|NOT_READY|UNKNOWN|NOT_AUTHORIZED" }, "new-state": { "readiness-status": "READY|NOT_READY|UNKNOWN|NOT_AUTHORIZED" } } }

指定要用作目標的 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 開發套件來指定日誌群組,則必須更新日誌群組的資源型政策。下列範例政策說明您必須在日誌群組的資源型政策中定義的許可:

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

您無法使用 主控台為日誌群組設定資源型政策。若要將必要的許可新增至以資源為基礎的政策,請使用 CloudWatch PutResourcePolicy API 操作。然後,您可以使用 describe-resource-policies CLI 命令來檢查政策是否正確套用。

為資源事件建立規則並指定 CloudWatch 日誌群組目標
  1. 前往 https://console.aws.amazon.com/events/ 開啟 Amazon EventBridge 主控台。

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

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

    如需為整備建立 EventBridge 規則的詳細資訊,請參閱使用 EventBridge 監控整備檢查資源

  4. 選取目標頁面上,選擇 CloudWatch 做為您的目標。

  5. 從下拉式選單中選擇 CloudWatch 日誌群組。