ECS 任务。如何在容器中使用 AWS CLI
Posted
技术标签:
【中文标题】ECS 任务。如何在容器中使用 AWS CLI【英文标题】:ECS task. How to use AWS CLI within container 【发布时间】:2020-09-30 21:19:18 【问题描述】:我正在尝试在容器内使用 AWS cli 命令。
我在 ECS 集群实例中给出了策略,但似乎容器出现了错误,因为它在启动和失败时尝试在容器内调用 AWS CLI 命令作为入口点。
我的 IAM 角色与实例配置文件允许进行 KMS 获取和解密,这是我在 AWS CLI 操作中所需要的
有没有办法在 ECS 任务容器内传递像实例配置文件这样的凭据?
【问题讨论】:
【参考方案1】:要在任务中将角色传递给您的容器容器,您可以使用IAM Roles for Tasks:
使用 Amazon ECS 任务的 IAM 角色,您可以指定一个 IAM 角色,该角色可以由容器在任务中使用。应用程序必须使用 AWS 凭证签署其 AWS API 请求,并且此功能提供了一种管理凭证的策略供您的应用程序使用,类似于 Amazon EC2 实例配置文件为 EC2 实例提供凭证的方式。
【讨论】:
是的,我也这样做了。但我从 Cloudwatch 日志中收到Received error when attempting to retrieve ECS metadata: Connect timeout on endpoint URL: "http://169.254.170.2/v2/credentials/d1d52870-26d0-4d73-b920-deeb44449428"
错误以执行该任务。发生这种情况是否有原因?
基本上是我公司的网络屏蔽了它。为了确保它有效,我必须在 /etc/ecs/ecs.config
下指定 NO_PROXY
环境变量以上是关于ECS 任务。如何在容器中使用 AWS CLI的主要内容,如果未能解决你的问题,请参考以下文章
是否可以使用 ecs-cli compose 注册任务定义?