Amazon s3 ECS:firelens容器无法将日志推送到S3
我目前正在使用ECS任务(EC2托管)用于使用firelens Fluent位作为日志路由器的web应用程序。我使用将输出目标设置为S3,但它会收到如下访问错误:Amazon s3 ECS:firelens容器无法将日志推送到S3,amazon-s3,amazon-ecs,fluent-bit,Amazon S3,Amazon Ecs,Fluent Bit,我目前正在使用ECS任务(EC2托管)用于使用firelens Fluent位作为日志路由器的web应用程序。我使用将输出目标设置为S3,但它会收到如下访问错误:[error][output:S3:S3.3]PutObject API以error='AccessDenied',message='access Denied响应 我的Fluent Bit配置文件如下: [OUTPUT] Name s3 Match app region
[error][output:S3:S3.3]PutObject API以error='AccessDenied',message='access Denied
响应
我的Fluent Bit配置文件如下:
[OUTPUT]
Name s3
Match app
region ap-northeast-1
bucket BUCKET_NAME
s3_key_format /logs/app/%Y/%m/%d/%H/logs_ecs_$uuid_flush.txt
store_dir /tmp/fluent-bit/s3
upload_chunk_size 10m
upload_timeout 10s
我尝试的是:
- 将AmazonS3FullAccess策略附加到任务角色
- 添加允许从任务角色访问的bucket策略,如下所示:
{ “效果”:“允许”, “委托人”:{ “AWS”:“任务\角色\学习” }, “行动”:“s3:*”, “资源”:[ “arn:aws:s3:::BUCKET_NAME”, “arn:aws:s3:::BUCKET_NAME/*” ] }
谢谢你的帮助。我自己找到了解决办法。My Fluent Bit container正在使用其主机实例的角色,因此只需向该角色添加权限即可解决问题。您可以回答问题,而无需使用解决方案更新问题谢谢您的评论!我将移动答案。