我想使用 Fargate 创建一个 ECS 任务,并使用 AWS CLI(除其他外)将文件上传到 S3。我知道可以创建任务角色,它可以为任务提供对 AWS 服务/资源的权限。同样,在 OpsWorks 中,AWS 开发工具包能够查询实例元数据以获取其实例配置文件的临时凭证。我也found these docs表明在 EC2 实例上使用 AWS CLI 也可以实现类似的效果。
Fargate 是否有等效项 - 即,在 Fargate 容器中运行的 AWS CLI 是否可以查询元数据服务以获取临时凭证?如果没有,有什么好的方法可以进行身份验证以便我可以将文件上传到 S3?我是否应该为此任务创建一个用户并将 AWS_ACCESS_KEY_ID
和 AWS_SECRET_ACCESS_KEY
作为环境变量传递?
(我知道可以有一个由 EC2 支持的 ECS 任务,但这个任务是短暂的,可能每月运行一次;它似乎很适合 Fargate。)
最佳答案
"I know that it's possible to create task roles, which can provide the task with permissions on AWS services/resources."
"Is there an equivalent for Fargate"
你已经知道答案了。 ECS 任务角色并非特定于 EC2 部署,它也适用于 Fargate 部署。
您可以通过ECS metadata service获取任务元数据,包括IAM访问 key 。 。但您无需担心这一点,因为 AWS CLI 和任何 AWS 开发工具包都会在 ECS 任务内运行时自动提取该信息。
关于amazon-s3 - 向 ECS/Fargate 中的 AWS CLI 提供凭证,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/71376832/