在 ECS/Fargate 中向 AWS CLI 提供凭证
Providing credentials to the AWS CLI in ECS/Fargate
我想使用 Fargate 创建一个 ECS 任务,并使用 AWS CLI(除其他外)将文件上传到 S3。我知道可以创建任务角色,它可以为任务提供在 AWS services/resources 上的权限。同样,在 OpsWorks 中,AWS SDK 能够查询实例元数据以获取其实例配置文件的临时凭证。我还 found these docs 建议在 EC2 实例上使用 AWS CLI 可以实现类似的功能。
是否有 Fargate 的等效项——即,AWS CLI,运行在 Fargate 容器中,是否可以查询元数据服务以获取临时凭证?如果没有,什么是进行身份验证以便我可以将文件上传到 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 访问密钥。但您无需担心这一点,因为 AWS CLI 和任何 AWS SDK 会在 运行 位于 ECS 任务中时自动提取该信息。
我想使用 Fargate 创建一个 ECS 任务,并使用 AWS CLI(除其他外)将文件上传到 S3。我知道可以创建任务角色,它可以为任务提供在 AWS services/resources 上的权限。同样,在 OpsWorks 中,AWS SDK 能够查询实例元数据以获取其实例配置文件的临时凭证。我还 found these docs 建议在 EC2 实例上使用 AWS CLI 可以实现类似的功能。
是否有 Fargate 的等效项——即,AWS CLI,运行在 Fargate 容器中,是否可以查询元数据服务以获取临时凭证?如果没有,什么是进行身份验证以便我可以将文件上传到 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 访问密钥。但您无需担心这一点,因为 AWS CLI 和任何 AWS SDK 会在 运行 位于 ECS 任务中时自动提取该信息。