【发布时间】:2022-01-27 22:58:48
【问题描述】:
我想在 Fargate 任务取消配置时触发 lambda 函数,我创建了这个 EventBridge 规则:
{
"source": ["aws.ecs"],
"detail-type": ["ECS Task State Change"],
"detail": {
"clusterArn": ["arn:aws:ecs:eu-west-3:xxx"],
"lastStatus": ["DEPROVISIONING"]
}
}
它似乎并非一直都在工作,即有时 cloudwatch 会收到它,有时它不会(没有从 lambda 函数生成日志)。 什么可能导致此问题?
【问题讨论】:
-
你的功能是什么?它的权限是什么?
-
我的功能应该是在目标组的某个目标不健康时触发,它删除负载均衡器的规则,然后删除目标组本身。
-
这里是 lambda 的策略:
code{ "Policy": "{\"Version\":\"2012-10-17\",\"Id\":\"默认\",\"声明\":[{\"Sid\":\"AWSEvents_EcsRule_Id211fca52-a8ed-4125-a7dd-bb2038f731f1\",\"效果\":\"允许\",\"主体\": {\"Service\":\"events.amazonaws.com\"},\"Action\":\"lambda:InvokeFunction\",\"Resource\":\"arn:aws:lambda:eu-west- 3:xxx:function:KillTask\",\"Condition\":{\"ArnLike\":{\"AWS:SourceArn\":\"arn:aws:events:eu-west-3:xxx:rule/ EcsRule\"}}}]}", "RevisionId": "05e93087-5020-4c9a-a689-724d68f91293" }code
标签: amazon-web-services amazon-ecs amazon-cloudwatch aws-event-bridge