我试图在创建任何API调用时创建规则触发器,但我没有取得任何成功。AWS Cloudwatch不会触发API调用
我有另一个规则触发每当和ec2实例正在运行的工作,但这条规则不会触发RunInstances,虽然我看到API日志中的RunInstances的云轨日志。
我已经从云轨中创建了一个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函数的云轨迹。
希望这些图像能够让我更清楚自己遇到的问题。
P.S.我不知道我应该考虑保密多少信息,所以我通过审查
我在看CloudTrail时误解了AWS API从Cloudtrail调用的意思。我现在认为在这种情况下,只有与该服务相关的命令cloudtrail,根本没有RunInstances。我正在测试其他选项以获得我想要的结果。 – user3651225
如果任何人仍然有兴趣这样做,可以在规则中有多个事件。它们必须明确说明,例如ec2,s3等。没有通配符功能。另外,JSON格式在不同资源的事件之间会有所不同,因此检索特定参数将需要硬编码。 – user3651225