ECS 代理是否需要 Amazon Linux AMI 才能 运行?

Does ECS Agent require an Amazon Linux AMI in order to run?

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

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

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

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

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

任务定义:

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