我正在运行 ECS-Fargate 集群,我的应用程序需要访问 S3 存储桶来存储文件以及检索这些文件。我如何让我的应用程序从集群内访问 S3。
我已在我的 cloudformation 模板中使用内联 S3 策略更新了我的 ECS 任务角色。但问题是,我只能读取而不能写入对象,我不知道为什么会这样。这是我的 CFN 模板上的 s3 策略
- PolicyName: !Sub ertu-${AppCI}-ot-S3-bucket-policy
PolicyDocument:
Version: '2012-10-17'
Statement:
- Effect: Allow
Action:
- 's3:ListBucket'
- 's3:GetObject'
- 's3:GetObjectVersion'
- 's3:PutObject'
Resource: !Sub arn:aws:s3:::${S3BucketName}/*
您可以将 AWS SDK 用于您正在使用的编程语言,就像您的代码在其他地方运行一样。
此处唯一的 ECS/Fargate 特定事项是您需要分配具有适当 S3 权限的 ECS 任务角色。请注意,这与 ECS 任务执行角色是分开的。