【问题标题】:Does ECS Agent require an Amazon Linux AMI in order to run?ECS 代理是否需要 Amazon Linux AMI 才能运行?
【发布时间】:2020-04-23 22:37:40
【问题描述】:

我正在以 ECS Fargate 启动模式启动一对带有 VPC 和公共负载均衡器的子网。

我遇到的问题是,由于某种原因,ECS 代理没有填充“AWS_CONTAINER_CREDENTIALS_RELATIVE_URI”环境变量,因此,我的 nodejs aws-sdk 无法从 IAM 角色获取凭据。

试图排除可能的原因,我遇到了以下问题:

我是否可能需要运行官方的 Amazon Linux AMI 才能让 ECS 代理工作? (我当前的应用确实在容器中运行 alpine linux)

【问题讨论】:

  • 使用 fargate,您不必在您的实例上运行任何代理。
  • @Marcin 我理解的 ECS 代理在 Fargate 模式下是自动的。但是由于它应该填充“AWS_CONTAINER_CREDENTIALS_RELATIVE_URI”,所以我假设代理失败了。 Reference

标签: amazon-web-services amazon-ecs aws-fargate


【解决方案1】:

如果未填充“AWS_CONTAINER_CREDENTIALS_RELATIVE_URI”,请检查您是否已在任务定义中分配了任务角色:

任务定义:

{
    "family": "",
    "taskRoleArn": "",             <============== Task role

【讨论】:

  • 这正是我所缺少的。我分配了一个 taskExecutionRole 但没有分配一个 taskRole.. 谢谢!
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-01-05
  • 1970-01-01
  • 2018-05-30
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多