【问题标题】:Cloudwatch rule triggering on web ui created instances?在 Web ui 创建的实例上触发 Cloudwatch 规则?
【发布时间】:2019-10-12 06:57:06
【问题描述】:

我有一个 lambda 函数,可以在创建实例后对其进行标记。我一直在使用以下规则来触发它。

{
  "detail-type": [
    "AWS API Call via CloudTrail"
  ],
  "detail": {
    "eventSource": [
      "ec2.amazonaws.com"
    ],
    "eventName": [
      "RunInstances"
    ]
  }
}

但是,此规则仅在 api 创建的实例上触发,而不是通过 web ui 控制台创建的实例。如何创建在从任何来源创建新实例时触发的规则?

【问题讨论】:

    标签: amazon-web-services amazon-ec2 aws-lambda amazon-cloudwatch


    【解决方案1】:

    我通过执行以下操作测试了您的场景:

    • 创建了一个 AWS Lambda 函数来记录传递给函数的 event 的内容
    • 创建了一个 Amazon CloudWatch Events 规则来触发 RunInstances 上的 Lambda 函数(如上所示)
    • 通过 AWS CLI 启动 EC2 实例 -- 触发了 Lambda 函数
    • 通过 EC2 管理控制台启动了一个 EC2 实例 -- 触发了 Lambda 函数

    因此,Lambda 函数是通过 AWS CLI管理控制台启动实例来触发的。

    Lambda 函数是:

    import json
    
    def lambda_handler(event, context):
    
        print (event)
        return {
            'statusCode': 200,
            'body': json.dumps('Hello from Lambda!')
        }
    

    【讨论】:

    • 那一定是我的 lambda 函数有问题。感谢您的意见。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2020-09-20
    • 2017-05-12
    • 2019-08-22
    • 1970-01-01
    • 2017-11-01
    • 2019-07-15
    • 2018-11-06
    相关资源
    最近更新 更多