AWS Cloudwatch不会触发API调用

时间:2017-07-03 15:55:38

标签: amazon-web-services boto3 amazon-cloudwatch

我正在尝试在任何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函数。 enter image description here

lambda函数的Cloudtrail特别正常运行。

Lambda function log

这是API调用,它也应该根据规则启动它,但事实并非如此。   enter image description here

希望这些图片能让我更清楚地知道我遇到了什么问题。

P.S。我不知道我应该考虑多少信息保密,所以我过度审查了

1 个答案:

答案 0 :(得分:0)

我误解了我创造的规则。在使用cloudtrail服务时,我认为“来自Cloudtrail的AWS API调用”意味着存储在Cloudtrail中的所有信息。情况似乎并非如此。

正如我在评论中提到的,我正在为我的问题寻找其他解决方案,但我会就此提出一个单独的问题。谢谢!