我的用例是将所有系统日志、应用程序日志和aws云跟踪日志流式传输到aws elasticsearch服务。
工作流程是
应用日志--> cloudwatch日志组-->默认lambda函数-->aws es
现在,我可以将40+日志组流式传输到es。在某个时间点之后,我尝试将更多的日志组流式传输到es,而此时我无法流式传输。我收到以下错误
“最终保单大小大于20480的限制”

如何增加策略大小
请在这方面帮帮我。
更新:
我的IAM角色内联策略
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": [
"logs:CreateLogGroup",
"logs:CreateLogStream",
"logs:PutLogEvents"
],
"Resource": [
"arn:aws:logs:*:*:*"
]
},
{
"Effect": "Allow",
"Action": "es:ESHttpPost",
"Resource": "arn:aws:es:*:*:*"
}
]}
发布于 2019-08-28 04:06:17
您不能增加策略大小,但您可以删除旧的ELK lambda策略,并将其替换为通配符策略。这只能在AWS命令行上完成,自2019年8月起,AWS不会在web仪表板中显示此内容。
执行此操作的三个命令(将us-west-1替换为您所在的区域):
列出所有策略:
$ aws lambda get-policy --function-name <your-ELK-lambda-name> --region us-west-1按语句ID删除单个策略-在下面添加通配符后,所有单个策略都将变为冗余,并且可以删除:
$ aws lambda remove-permission --function-name <your-ELK-lambda-name> --statement-id <statement-id> --region us-west-1添加通配符策略:
$ aws lambda add-permission --function-name <your-ELK-lambda-name> --statement-id WildcardPolicy --action "lambda:InvokeFunction" --principal "logs.us-west-1.amazonaws.com" --source-arn "arn:aws:logs:us-west-1:<your-AWS-account-number>:log-group:*" --source-account "<your-AWS-account-number>" --region us-west-12个更多的问题-当你添加新日志时,它会不断添加策略,所以即使使用通配符策略,你也必须删除新的单个策略,因为它不够智能,不能不添加它们。此外,还有一个UI故障-这些新附加的日志将不会正确地显示在ELK Lambda网页上。但至少这将有助于突破保单大小的限制。
发布于 2018-10-29 04:14:15
您为CloudWatch指定的要使用的角色附加的策略太多。查看策略,并使用资源属性的多个资源对其进行整合。或者,您可以创建第二个角色。我推荐第一种方法。
https://stackoverflow.com/questions/52976805
复制相似问题