Sma*_* Ma 2 aws-cloudformation amazon-cloudwatch
如何监控 Amazon EventBridge / Amazon CloudWatch 中的 Cloudformation 事件?
我的方法是在成功创建特定的 Cloudformation 堆栈后立即触发 lambda 事件。
因此我想声明一个事件规则 - 但我不清楚来源和事件细节?
CreatePipelineRule:
Type: AWS::Events::Rule
Properties:
Description: "EventRule"
EventPattern:
source:
- aws.???
detail-type:
- 'Cloudformation stack created event'
detail:
event:
- ???
State: ENABLED
Run Code Online (Sandbox Code Playgroud)
不幸的是我找不到与此事件相关的文档。一般来说,事件模式描述为https://docs.aws.amazon.com/eventbridge/latest/userguide/filtering-examples-struct.html
对于某些来源(例如代码提交),生成的事件有详细记录。例如代码提交:https://docs.aws.amazon.com/codecommit/latest/userguide/monitoring-events.html。
是否还有 Cloudformation 生成的事件列表?
我自己找不到任何文档,所以为了看看CloudFormation发送什么样的事件,我临时在EventBridge中创建了一个新的事件规则:
Pre-defined pattern by service并选择CloudFormationCloudWatch log group作为目标以将所有事件打印到 CloudWatch例如,当您创建新堆栈时,您会收到两个事件,其中sourceisaws.cloudformation和 thedetails包括以下其中一项:
"eventName": "EstimateTemplateCost""eventName": "CreateStack"或者,当您删除堆栈时,您会得到:
"eventName": "DeleteStack"问题是 CloudFormation 仅在您开始操作时发送事件,而不是在操作完成时发送事件(无论是成功时还是回滚时)。因此,使用事件规则可能不是在创建堆栈时触发 Lambda 的方法。我建议改为查看自定义资源。在您的 CloudFormation 模板中包含一个以定位您的 Lambda 函数,并使用DependsOn标签来确保它仅在其他所有内容部署成功时运行。
| 归档时间: |
|
| 查看次数: |
3824 次 |
| 最近记录: |