我正在尝试在任何API调用上创建一个规则触发器,但我没有取得任何成功。
我有另一条规则,只要有ec2实例正在运行就会触发,但是这条规则不会触发RunInstances,尽管我在API日志中看到了带有RunInstances的cloudtrail日志。
我已经从cloudtrail制作了一个CloudWatch日志并查看了应该触发它的事件,但他们并没有。我缺少一步吗?使CloudWatch正确触发API调用的必要组件是什么?
提到的规则:
{
"source": [
"aws.cloudtrail"
],
"detail-type": [
"AWS API Call via CloudTrail"
],
"detail": {
"eventSource": [
"cloudtrail.amazonaws.com"
],
"eventName": [
"CreateUserPool",
"CreateImage",
"CreateCacheCluster",
"RunInstances",
"CreateActivation",
"RunJobFlow ",
"CreateVault",
"CreateDeliveryStream",
"CreateStream",
"CreateCluster",
"CreateDBInstance",
"CreateHostedZone",
"CreateBucket",
"CreateLaunchConfiguration",
"CreateStack",
"CreateEnvironment",
"CreateWorkspaces"
]
}
}
此处添加更多详细信息是我用于测试CloudWatch的另一条规则
{
"source": [
"aws.ec2"
],
"detail-type": [
"EC2 Instance State-change Notification"
],
"detail": {
"state": [
"running"
]
}
}
这是startInstances的日志和以下运行的Lambda函数。
lambda函数的Cloudtrail特别正常运行。
希望这些图片能让我更清楚地知道我遇到了什么问题。
P.S。我不知道我应该考虑多少信息保密,所以我过度审查了
答案 0 :(得分:0)
我误解了我创造的规则。在使用cloudtrail服务时,我认为“来自Cloudtrail的AWS API调用”意味着存储在Cloudtrail中的所有信息。情况似乎并非如此。
正如我在评论中提到的,我正在为我的问题寻找其他解决方案,但我会就此提出一个单独的问题。谢谢!