【发布时间】:2018-08-06 10:31:09
【问题描述】:
我正在从控制台调用一个提交批处理作业的 lambda。批处理作业失败,表明 ECS 无法承担为执行作业定义提供的角色。
对于角色,我添加了 lambda 和 ECS 服务。
错误信息:
"ECS 无法承担角色 'arn:aws:iam::749340585813:role/golfnow-invoke-write-progress' 为这项任务提供了。请验证正在传递的角色 具有适当的信任关系和权限,并且您的 IAM 用户有权传递此角色。”
"TrainingJobRole": {
"Type": "AWS::IAM::Role",
"Properties": {
"RoleName": "golfnow-invoke-write-progress",
"AssumeRolePolicyDocument": {
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Principal": {
"Service": [
"lambda.amazonaws.com",
"ecs.amazonaws.com"
]
},
"Action": [
"sts:AssumeRole"
]
}
]
},
"Path": "/"
}
}
批处理作业:
"TrainingJob": {
"Type": "AWS::Batch::JobDefinition",
"Properties": {
"Type": "container",
"JobDefinitionName": {
"Fn::Sub": "c12e-golfnow-${Environment}-job"
},
"ContainerProperties": {
"Image": {
"Fn::Join": [
"",
[
"{{ image omitted }}",
{
"Ref": "AWS::Region"
},
".amazonaws.com/amazonlinux:latest"
]
]
},
"Vcpus": 2,
"Memory": 2000,
"Command": [
"while", "True", ";", "do", "echo", "'hello';", "done"
],
"JobRoleArn": {
"Fn::GetAtt": [
"TrainingJobRole",
"Arn"
]
}
},
"RetryStrategy": {
"Attempts": 1
}
}
},
"JobQueue": {
"Type": "AWS::Batch::JobQueue",
"Properties": {
"Priority": 1,
"ComputeEnvironmentOrder": [
{
"Order": 1,
"ComputeEnvironment": {
"Ref": "ComputeEnvironment"
}
}
]
}
}
是调用方式的问题吗?我的用户有管理员权限,所以我认为这不是我的用户权限不足的问题。
【问题讨论】:
标签: amazon-web-services aws-batch aws-ecs