我是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时,该角色未列出。请帮助我解决我可能遗失的问题。
答案 0 :(得分:1)
只是为了澄清有关AWS Batch中涉及的角色目的的任何混淆;在创建“计算环境”时,您必须为服务角色和实例角色提供现有角色。这些角色的默认值(在文档中)应该没问题,并且这些角色用于创建和销毁EC2实例(以及其他内容)。
我认为您所指的角色和政策是职务角色,您可以在创建“职位定义”时对其进行定义。
为了将上述政策附加到“职位定义”,必须将其与职务角色相关联。 (轻松)创建作业角色使用AWS IAM Web界面,并选择“角色 - > AWS服务 - >弹性容器服务 - >弹性容器服务任务”以便角色继承正确的属性并允许将其分配给您的作业定义。