跳至內容

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

1 分的閱讀內容
0

當我將事件傳送到其他 AWS 帳戶或 AWS 區域時,我的 Amazon EventBridge 目的地事件規則不會啟動。

簡短描述

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

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

解決方法

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

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

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

如果 EventBridge 觸發了規則,請檢查對應規則的 Invocations 指標,以確認 EventBridge 是否調用了該目標。Invocations 指標只會顯示 EventBridge 嘗試調用目標。此指標無法確認調用是否完成。若要檢查目標調用的完成狀態,請使用對應規則的 FailedInvocations 指標。如果 FailedInvocations 指標中沒有資料點,但 Invocations 指標中有對應的資料點,則 EventBridge 成功調用目標。

調用失敗可能是因為目的地帳戶的事件匯流排沒有所需的權限。來源帳戶規則目標上的 AWS Identity and Access Management (IAM) 權限不足也會導致調用失敗。

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

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

具有適當權限的政策範例:

{
  "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。

當規則的目標是事件匯流排時,請使用 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

然後,來源帳戶可以在目的地帳戶的事件匯流排上執行 PutEvents API 呼叫。

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

如需有關所需 IAM 權限的詳細資訊,請參閱授與權限以允許來自其他 AWS 帳戶的事件。另請參閱 Amazon EventBridge 中事件匯流排的權限

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

將事件發佈到目的地帳戶的事件匯流排時,請在事件匯流排上設定事件規則以符合該事件。

若要確認規則的模式是否與啟動規則的傳入事件相符,請檢查目的地帳戶的規則指標。確認目標的調用是否成功。

AWS 官方已更新 1 年前