aws(学习笔记第二十五课)
- 使用
aws batch
学习内容:
aws batch
整体架构aws batch
的hands on
1. aws batch
整体架构
AWS batch
的整体架构
相对online
开发而言,batch
也是一个另外的一个开发领域。AWS
的batch
开发,既可以采用EC2
,也可以采用Fargate
。- 用户通过各种方式将
job
放入到job queue
AWS batch
将job queue
里面的job
取出- 之后将
job
通过Fargate
或者EC2
进行执行
接下来,hands on
采用Fargate
的方式进行练习。
- 用户通过各种方式将
AWS batch
的创建步骤- 创建
compute environment
- 创建
job queue
,这时候会绑定建立好的compute environment
- 创建
job definition
- 最后创建
job
- 创建
2.aws batch
的hands on
- 首先定义计算环境
compute environment
-
定义计算环境
-
使用
Fargate
和默认的role
- 这里的
role
,使用默认的,之后查看AWS
设定该role
的权限
和信任关系
。 - 查看
AWSServiceRoleForBatch
- 权限设定
可以看出都是EC2
和ECS
以及autoscaling
相关的权限。{ "Version": "2012-10-17", "Statement": [ { "Sid": "AWSBatchPolicyStatement1", "Effect": "Allow", "Action": [ "ec2:DescribeAccountAttributes", "ec2:DescribeInstances", "ec2:DescribeInstanceStatus", "ec2:DescribeInstanceAttribute", "ec2:DescribeSubnets", "ec2:DescribeSecurityGroups", "ec2:DescribeKeyPairs", "ec2:DescribeImages", "ec2:DescribeImageAttribute", "ec2:DescribeSpotInstanceRequests", "ec2:DescribeSpotFleetInstances", "ec2:DescribeSpotFleetRequests", "ec2:DescribeSpotPriceHistory", "ec2:DescribeSpotFleetRequestHistory", "ec2:DescribeVpcClassicLink", "ec2:DescribeLaunchTemplateVersions", "ec2:RequestSpotFleet", "autoscaling:DescribeAccountLimits", "autoscaling:DescribeAutoScalingGroups", "autoscaling:DescribeLaunchConfigurations", "autoscaling:DescribeAutoScalingInstances", "autoscaling:DescribeScalingActivities", "eks:DescribeCluster", "ecs:DescribeClusters", "ecs:DescribeContainerInstances", "ecs:DescribeTaskDefinition", "ecs:DescribeTasks", "ecs:ListClusters", "ecs:ListContainerInstances", "ecs:ListTaskDefinitionFamilies", "ecs:ListTaskDefinitions", "ecs:ListTasks", "ecs:DeregisterTaskDefinition", "ecs:TagResource", "ecs:ListAccountSettings", "logs:DescribeLogGroups", "iam:GetInstanceProfile", "iam:GetRole" ], "Resource": "*" }
- 这里的
-