AWS ECS调用execute_command报错:Task Identifier无效问题排查
问题分析与解决:ECS ExecuteCommand 任务标识符无效
核心问题:传错了ARN类型
你当前代码里传入的是任务定义(task-definition)的ARN,但execute_command接口要求的是正在运行的ECS任务的ARN,这是两种完全不同的资源标识符。
两者ARN格式差异
- 任务定义ARN(你现在用的):
arn:aws:ecs:区域:账号ID:task-definition/任务名:版本 - 运行中任务的ARN(需要传入的):
arn:aws:ecs:区域:账号ID:task/集群名/任务UUID
解决步骤
- 获取正确的任务ARN:
登录AWS控制台,进入ECS→目标集群→「任务」标签页,找到处于运行状态的目标任务,复制它的ARN替换到代码中。 - 验证前置条件:
- 确保目标任务处于运行中状态,已停止的任务无法执行命令
- 代码中指定的
container参数要和任务定义里的容器名称完全匹配 - 任务执行角色需包含
ecs:ExecuteCommand权限(比如关联AmazonECSTaskExecutionRolePolicy托管策略)
内容的提问来源于stack exchange,提问作者Cogito Ergo Sum
相关产品推荐
相关产品推荐

