我需要将我的cloudwatch日志发送到日志分析服务。
我已经阅读了here和here这两篇文章,并手把手地让它工作,不用担心。
现在,我正在尝试使用Terraform自动化所有这些操作(角色/策略、安全组、cloudwatch日志组、lambda以及从日志组触发lambda )。
但是我不知道如何使用TF来配置AWS来触发cloudwatch日志中的lambda。
我可以通过执行以下操作将两个TF资源手动链接在一起(在Lambda web控制台UI中):
进入lambda函数的"Triggers“部分,然后单击"Add Trigger"
的日志组输入筛选器名称<
完成后,lambda将显示在cloudwatch日志控制台的订阅列中-显示为"Lambda (cloudwatch-sumologic-lambda)“。
我尝试使用以下TF资源创建订阅:
resource "aws_cloudwatch_log_subscription_filter" "cloudwatch-sumologic-lambda-subscription" {
name = "cloudwatch-sumologic-lambda-subscription"
role_arn = "${aws_iam_role.jordi-waf-cloudwatch-lambda-role.arn}"
log_group_name = "${aws_cloudwatch_log_group.jordi-waf-int-app-loggroup.name}"
filter_pattern = "logtype test"
destination_arn = "${aws_lambda_function.cloudwatch-sumologic-lambda.arn}"
}
但失败的原因是:
aws_cloudwatch_log_subscription_filter.cloudwatch-sumologic-lambda-subscription: InvalidParameterException:供应商lambda的destinationArn不能与roleArn一起使用
我发现this answer关于为预定事件设置类似的东西,但这似乎不等同于我上面描述的控制台操作(控制台UI方法不会创建我可以看到的事件/规则)。
谁能给我指点一下我做错了什么?
https://stackoverflow.com/questions/38407660
复制相似问题