【发布时间】:2020-12-17 01:35:17
【问题描述】:
我正在尝试使用 Fargate 类型部署 AWS Batch,但是当我尝试向该批次提交作业时出现以下错误
调用 SubmitJob 操作时发生错误 (ClientException):作业队列附加到无法运行具有 EC2 能力的作业的计算环境
这是我用于使用无服务器框架创建资源的配置
resources:
Resources:
SlsComputeEnv:
Type: AWS::Batch::ComputeEnvironment
Properties:
Type: MANAGED
ServiceRole: !GetAtt BatchServiceRole.Arn
ComputeEnvironmentName: ${self:custom.batch.compute_env}
ComputeResources:
MaxvCpus: 32
SecurityGroupIds:
- security
Subnets:
- subnet
Type: FARGATE
State: ENABLED
SlsJobQueue:
Type: AWS::Batch::JobQueue
Properties:
JobQueueName: ${self:custom.batch.job_queue}
ComputeEnvironmentOrder:
- Order: 1
ComputeEnvironment: !Ref SlsComputeEnv
State: ENABLED
Priority: 1
SlsJobDefinition:
Type: AWS::Batch::JobDefinition
Properties:
Type: container
JobDefinitionName: ${self:custom.batch.job_definition}
ContainerProperties:
ExecutionRoleArn: !GetAtt FargateExecutionRole.Arn
ResourceRequirements:
- Type: MEMORY
Value: 8
- Type: VCPU
Value: 4
Image: ecr-path
提交作业的python代码
import boto3
client = boto3.client("batch")
client.submit_job(
jobName=f"test-fargate-dev",
jobQueue=BATCH_JOB_QUEUE_ARN,
jobDefinition=BATCH_JOB_DEFINITION,
containerOverrides={
"command": ["python3", "script.py"],
"environment": [
{"name": "AWS_DEFAULT_REGION", "value": "us-east-1"},
{"name": "stage", "value": "dev"},
],
},
)
【问题讨论】:
标签: boto3 serverless-framework aws-fargate aws-batch