【问题标题】:How to include cloudWatch Log Group subscription in cloudFormation template?如何在 cloudFormation 模板中包含 cloudWatch 日志组订阅?
【发布时间】:2019-01-22 11:41:38
【问题描述】:

假设我在 cloudWatch 中有一个日志组,我想订阅一个带有过滤器的 lambda(订阅->流到 AWS Lambda)。

我想用cloudFormation模板来实现它,但是从cloudFormation doc来看,似乎只有两个可用的cloudWatch资源是Alarm/Dashboard。

问题是:

  • 有什么办法可以写 cloudWatch Log Group 订阅 cloudFormation?
  • 如果没有,任何替代方式(比如从 lambda cloudFormation 模板中的资源配置)?

【问题讨论】:

    标签: amazon-web-services amazon-cloudformation


    【解决方案1】:

    哦,这是一个棘手的问题。我只是通过在控制台中创建一个并反向工程来解决这个问题 - ick。但你很幸运 - 我手头有它:P 这是我用来将 lambda 订阅到 vpc 流日志的 json。

    请注意,“VPCFlowLogsGroup”是日志组的逻辑 ID,“FlowLogsCollector”是 lambda 的逻辑 ID。

    "FlowLogsCollectorEventPermission": {
        "Type" : "AWS::Lambda::Permission",
        "Properties" : {
            "Principal" : { "Fn::Sub": "logs.${AWS::Region}.amazonaws.com" },
            "Action" : "lambda:InvokeFunction",
            "FunctionName" : { "Fn::GetAtt": [ "FlowLogsCollector", "Arn" ] },
            "SourceAccount": { "Ref": "AWS::AccountId" },
            "SourceArn" : { "Fn::GetAtt": [ "VPCFlowLogsGroup", "Arn" ] }
        }
      },
    "FlowLogsCollectorSubscription": {
      "Type" : "AWS::Logs::SubscriptionFilter",
      "DependsOn": "FlowLogsCollectorEventPermission",
      "Properties" : {
        "LogGroupName" : { "Ref" : "VPCFlowLogsGroup" },
        "FilterPattern" : "",
        "DestinationArn" : { "Fn::GetAtt" : [ "FlowLogsCollector", "Arn" ] }
      }
    },
    

    【讨论】:

    • 啊,AWS::Logs::SubscriptionFilter,我错过了...非常感谢您的及时回复!
    猜你喜欢
    • 1970-01-01
    • 2021-06-26
    • 1970-01-01
    • 1970-01-01
    • 2019-04-21
    • 1970-01-01
    • 2019-07-13
    • 2020-09-17
    • 1970-01-01
    相关资源
    最近更新 更多