跳至內容

如何疑難排解跨帳戶或跨區域 EventBridge 規則的問題?

1 分的閱讀內容
0

我的 Amazon EventBridge 目的地事件規則在我將事件傳送至不同的 AWS 帳戶或 AWS 區域時未啟動。

簡短說明

事件可能因以下原因而無法跨帳戶或跨區域發佈:

  • 來源帳戶上的事件規則未啟動,或目標調用失敗。
  • 來源帳戶或組織沒有正確的權限。
  • 目的地帳戶上的事件規則未啟動,或目標調用失敗。

若要擷取調用失敗的錯誤碼,請使用無效字母佇列 (DLQ)。如需更多資訊,請參閱如何修改 EventBridge 重試設定,並使用 DLQ 來處理失敗的調用?

解決方法

來源帳戶上的事件規則未啟動,或目標調用失敗

只有在來源帳戶啟動事件規則並調用目標時,EventBridge 才會跨帳戶發佈事件。

當規則模式與傳入事件相符時,EventBridge 會啟動規則。如果模式相符,EventBridge 會將值 1 傳送至與相符事件對應的 TriggeredRules 指標。如需有關 EventBridge 指標的更多資訊,請參閱監控 Amazon EventBridge。

如果 EventBridge 啟動規則,請檢查對應規則的 Invocations 指標,以確認 EventBridge 已調用目標。Invocations 指標只顯示 EventBridge 曾嘗試調用目標。此指標不會確認調用是否完成。

若要檢查目標調用的完成狀態,請使用對應規則的 FailedInvocations 指標。如果 FailedInvocations 指標中沒有資料點,但 Invocations 指標中有對應的資料點,表示 EventBridge 已成功調用目標。

目的地帳戶的事件匯流排沒有必要權限,可能會導致調用失敗。來源帳戶規則的目標缺少 AWS Identity and Access Management (IAM) 權限,也可能導致調用失敗。

來源帳戶或組織沒有正確的權限

若要接收來自其他帳戶或 AWS Organizations 的事件,來源帳戶必須具備傳送事件的權限。確認附加至事件匯流排的資源型政策已授予來源帳戶適當的權限。

具有正確權限的政策範例:

{  "Version": "2012-10-17",
  "Statement": [{
    "Sid": "WebStoreCrossAccountPublish",
    "Effect": "Allow",
    "Principal": {
      "AWS": "arn:aws:iam::SOURCE-ACC-ID:root"
    },
    "Action": "events:PutEvents",
    "Resource": "arn:aws:events:REGION:DESTINATION-ACC-ID:event-bus/destination-account-bus-name"
  }]
}

**注意:**將 SOURCE-ACC-ID 替換為來源帳戶 ID,並將 DESTINATION-ACC-ID 替換為目的地帳戶 ID。此外,將 REGION 替換為目的地帳戶的區域,並將 destination-account-bus-name 替換為目的地帳戶的事件匯流排名稱。

當規則的目標是事件匯流排時,請使用 IAM 角色授予將事件傳送至不同帳戶或區域的權限。將以下資源型政策附加至 IAM 角色:

{    "Version": "2012-10-17",
    "Statement": [
        {
            "Sid": "ActionsForResource",
            "Effect": "Allow",
            "Action": [
                "events:PutEvents"
            ],
            "Resource": [
                "arn:aws:events:REGION:DESTINATION-ACC-ID:event-bus/DESTINATION-ACCOUNT-BUS-NAME"
            ]
        }
    ]
}

**注意:**將 DESTINATION-ACC-ID 替換為目的地帳戶 ID。此外,將 REGION 替換為目的地帳戶的區域,並將 DESTINATION-ACCOUNT-BUS-NAME 替換為目的地帳戶的事件匯流排名稱。

接著,來源帳戶便可對目的地帳戶的事件匯流排執行 PutEvents API 呼叫。

如果您使用 PutTargets 手動建立規則的目標,並在事件匯流排上設定整個組織的權限,請指定 IAM 角色。

如需有關必要 IAM 權限的更多資訊,請參閱授予權限以允許來自其他 AWS 帳戶的事件。另請參閱 Amazon EventBridge 中事件匯流排的權限。

目的地帳戶上的事件規則未啟動,或目標調用失敗

將事件發佈至目的地帳戶的事件匯流排時,請在目的地帳戶中設定規則,以比對來自傳送者帳戶的事件。

若要確認規則模式與啟動規則的傳入事件相符,請檢查目的地帳戶的規則指標。確認已成功調用目標。如需有關 EventBridge 指標的更多資訊,請參閱監控 Amazon EventBridge。

AWS 官方已更新 8 個月前