2

我是 AWS Batch 的新手。我为 AWS 批处理创建了以下角色:

  "AssumeRolePolicyDocument": {
    "Statement": [
      {
        "Action": "sts:AssumeRole",
        "Effect": "Allow",
        "Principal": {
          "Service":  [
                "batch.amazonaws.com"
          ]
        },
        "Sid": ""
      }
    ],
    "Version": "2012-10-17"
  }

并附有政策:

{
"Version": "2012-10-17",
"Statement": [
    {
        "Effect": "Allow",
        "Action": [
            "batch:*",
            "cloudwatch:GetMetricStatistics",
            "ec2:DescribeSubnets",
            "ec2:DescribeSecurityGroups",
            "ec2:DescribeKeyPairs",
            "ecs:DescribeClusters",
            "ecs:Describe*",
            "ecs:List*",
            "logs:Describe*",
            "logs:Get*",
            "logs:TestMetricFilter",
            "logs:FilterLogEvents",
            "iam:ListInstanceProfiles",
            "iam:ListRoles"
        ],
        "Resource": "*"
    }
]

}

但是当我尝试创建 AWS Batch 时,该角色未列出。请帮助我解决我可能会丢失的问题。

4

1 回答 1

1

只是为了澄清有关 AWS Batch 中所涉及角色的目的的任何混淆;创建“计算环境”时,您必须为Service RoleInstance Role提供现有角色。这些角色的默认值(在文档中)应该没问题,并且这些角色用于创建和销毁 EC2 实例(除其他外)。

我认为您所指的角色和政策是您在创建“工作定义”时可以定义的工作角色。

为了将上述策略附加到“工作定义”,它必须链接到工作角色。要(轻松)创建作业角色,请使用 AWS IAM Web 界面,并选择“角色 -> AWS 服务 -> 弹性容器服务 -> 弹性容器服务任务”,以便角色继承正确的属性并允许其分配给您的工作定义。

于 2018-01-04T15:36:02.470 回答