You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

ECS自定义事件总线规则失效:任务停止无法触发Lambda函数

ECS任务停止事件在自定义EventBridge总线无法触发Lambda的解决方案

你的问题核心原因是:ECS服务默认只会将任务状态变更事件投递到AWS默认事件总线,不会主动发送到自定义事件总线,所以迁移到自定义总线后需要额外配置事件流转和权限。

以下是具体解决步骤:

  • 给自定义事件总线添加资源策略
    自定义总线默认拒绝外部事件投递,需要配置策略允许ECS服务向其发送事件。资源策略示例:

    {
      "Version": "2012-10-17",
      "Statement": [
        {
          "Effect": "Allow",
          "Principal": {
            "Service": "ecs.amazonaws.com"
          },
          "Action": "events:PutEvents",
          "Resource": "arn:aws:events:你的区域:你的账号ID:event-bus/你的自定义总线名称"
        }
      ]
    }
    
  • 在默认事件总线创建转发规则
    由于ECS只会把事件发到默认总线,需要创建一个规则将符合条件的ECS任务停止事件转发到自定义总线:

    1. 进入EventBridge控制台,选择默认事件总线,创建新规则
    2. 事件模式使用你原来的配置(匹配ECS任务停止事件)
    3. 目标类型选择「EventBridge事件总线」,指定你的自定义总线
  • 校验自定义总线的规则配置
    确认自定义总线上的规则:

    • 事件模式中的clusterArn、taskDefinitionArn、区域、账号ID完全正确
    • 规则目标已正确关联你的Lambda函数,且Lambda的权限策略允许EventBridge调用(默认总线正常的话此权限应该已配置)
  • 验证事件流转
    通过EventBridge的「事件追踪」功能查看事件是否到达自定义总线,或检查CloudWatch日志确认Lambda是否被触发,同时确认默认总线的转发规则有匹配计数。

内容的提问来源于stack exchange,提问作者JPil

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.17 04:32:08