我在AWS Batch中使用docker容器运行一个简单的java HelloWorld程序。我创建了一个带有以下值的托管计算环境
最低vCPU 0
所需的vCPU 0
最大vCPU 256
最佳实例类型
在提交作业时,作业成功执行,即作业被提交到队列,调度程序提供ec2实例(使用aws-ecs代理容器和作业定义中指定的java helloworld容器),作业是已成功完成CloudWatch Stream中的日志。
我的问题是,在作业成功后,由scheduler配置的计算环境(ec2实例)仍然在继续运行而不是终止。
PLS。建议我是否遗漏了什么。
答案 0 :(得分:1)
如果计算环境在AWS结算时间结束时空闲,您的计算环境将终止。
在AWS Batch的Compute Environment Parameters documentation内,有一个 State 的定义。计算环境处于 Enabled 状态,可以接受队列中的作业。一旦计算环境处于 Disabled 并且空闲,则在AWS计费小时结束时,计算环境将被缩放(这将终止您的EC2实例)。
答案 1 :(得分:1)
自2017年10月5日起
当作业队列中没有可运行的作业时,AWS Batch会更频繁地评估计算资源,并立即按比例缩小任何空闲实例。
因此,如果您的计算环境实例处于空闲状态,则会立即终止。