Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/amazon-s3/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Amazon s3 ECS:firelens容器无法将日志推送到S3_Amazon S3_Amazon Ecs_Fluent Bit - Fatal编程技术网

Amazon s3 ECS:firelens容器无法将日志推送到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

我目前正在使用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        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正在使用其主机实例的角色,因此只需向该角色添加权限即可解决问题。

您可以回答问题,而无需使用解决方案更新问题谢谢您的评论!我将移动答案。