如何在AWS Lambda函数被删除时收到通知?
Lambda函数删除通知的实现方案
你之前用CloudWatch日志和自定义指标的思路走不通,因为这两者依赖Lambda函数的运行日志,而删除Lambda是AWS管理层面的API操作,不会触发函数运行,自然不会生成相关日志或指标。下面给你两个可行的方案:
方案一:CloudTrail + EventBridge(推荐新手)
- 先确认账号已开启CloudTrail(默认大部分账号已开启,若未开启,去CloudTrail控制台启用即可),它会记录所有AWS API调用,包括Lambda的
DeleteFunction操作 - 进入EventBridge控制台创建规则:
- 规则类型选「事件模式」
- 事件模式选择「自定义模式」,粘贴以下JSON模式:
{ "source": ["aws.lambda"], "detail-type": ["AWS API Call via CloudTrail"], "detail": { "eventName": ["DeleteFunction"] } } - 选择目标服务:创建一个SNS主题,订阅你的邮箱/手机号;也可以直接指定Lambda函数处理通知逻辑
- 保存规则后,只要有Lambda被删除,CloudTrail捕获事件,EventBridge匹配规则就会触发通知
方案二:AWS Config
- 开启AWS Config,它会持续监控资源配置变化
- 创建配置规则:选择预定义的「Lambda函数存在性」规则,或者自定义规则检测Lambda资源的删除事件
- 配置通知:通过SNS主题将Config的合规性变更事件发送给你,也可以用EventBridge监听Config事件来推送通知
注意事项
- 开启CloudTrail时要覆盖你需要监控的所有区域,避免跨区域删除Lambda时漏捕获事件
- SNS主题必须完成订阅验证(比如邮箱点击确认链接),否则收不到通知
内容的提问来源于stack exchange,提问作者Diana M
相关产品推荐
相关产品推荐

