이 설명서는 의 버전 1 AWS CLI 전용입니다. 의 버전 2와 관련된 설명서는 버전 2 사용 설명서 를 AWS CLI참조하세요.
기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.
AWS Batch 사용 예제 AWS CLI
다음 코드 예제에서는 AWS Command Line Interface 와 함께 를 사용하여 작업을 수행하고 일반적인 시나리오를 구현하는 방법을 보여줍니다 AWS Batch.
작업은 대규모 프로그램에서 발췌한 코드이며 컨텍스트에 맞춰 실행해야 합니다. 작업은 개별 서비스 함수를 직접적으로 호출하는 방법을 보여주며 관련 시나리오의 컨텍스트에 맞는 작업을 볼 수 있습니다.
각 예제에는 컨텍스트에서 코드를 설정하고 실행하는 방법에 대한 지침을 찾을 수 있는 전체 소스 코드에 대한 링크가 포함되어 있습니다.
주제
작업
다음 코드 예시에서는 cancel-job
을 사용하는 방법을 보여 줍니다.
- AWS CLI
-
작업을 취소하려면
이 예제에서는 지정된 작업 ID로 작업을 취소합니다.
명령:
aws batch cancel-job --job-id
bcf0b186-a532-4122-842e-2ccab8d54efb
--reason"Cancelling job."
-
자세한 API 내용은 명령 참조CancelJob
의 섹션을 참조하세요. AWS CLI
-
다음 코드 예시에서는 create-compute-environment
을 사용하는 방법을 보여 줍니다.
- AWS CLI
-
온디맨드 인스턴스를 사용하여 관리형 컴퓨팅 환경을 생성하려면
이 예제에서는 온디맨드 방식으로 시작되는 특정 C4 인스턴스 유형을 사용하여 관리형 컴퓨팅 환경을 생성합니다. 컴퓨팅 환경을 C4OnDemand라고 합니다.
명령:
aws batch create-compute-environment --cli-input-json
file://<path_to_json_file>/C4OnDemand.json
JSON 파일 형식:
{ "computeEnvironmentName": "C4OnDemand", "type": "MANAGED", "state": "ENABLED", "computeResources": { "type": "EC2", "minvCpus": 0, "maxvCpus": 128, "desiredvCpus": 48, "instanceTypes": [ "c4.large", "c4.xlarge", "c4.2xlarge", "c4.4xlarge", "c4.8xlarge" ], "subnets": [ "subnet-220c0e0a", "subnet-1a95556d", "subnet-978f6dce" ], "securityGroupIds": [ "sg-cf5093b2" ], "ec2KeyPair": "id_rsa", "instanceRole": "ecsInstanceRole", "tags": { "Name": "Batch Instance - C4OnDemand" } }, "serviceRole": "arn:aws:iam::012345678910:role/AWSBatchServiceRole" }
출력:
{ "computeEnvironmentName": "C4OnDemand", "computeEnvironmentArn": "arn:aws:batch:us-east-1:012345678910:compute-environment/C4OnDemand" }
스팟 인스턴스를 사용하여 관리형 컴퓨팅 환경을 생성하려면
이 예제에서는 스팟 입찰 가격이 인스턴스 유형에 대한 온디맨드 가격의 20% 이하일 때 시작되는 M4 인스턴스 유형을 사용하여 관리형 컴퓨팅 환경을 생성합니다. 컴퓨팅 환경을 M4Spot 이라고 합니다.
명령:
aws batch create-compute-environment --cli-input-json
file://<path_to_json_file>/M4Spot.json
JSON 파일 형식:
{ "computeEnvironmentName": "M4Spot", "type": "MANAGED", "state": "ENABLED", "computeResources": { "type": "SPOT", "spotIamFleetRole": "arn:aws:iam::012345678910:role/aws-ec2-spot-fleet-role", "minvCpus": 0, "maxvCpus": 128, "desiredvCpus": 4, "instanceTypes": [ "m4" ], "bidPercentage": 20, "subnets": [ "subnet-220c0e0a", "subnet-1a95556d", "subnet-978f6dce" ], "securityGroupIds": [ "sg-cf5093b2" ], "ec2KeyPair": "id_rsa", "instanceRole": "ecsInstanceRole", "tags": { "Name": "Batch Instance - M4Spot" } }, "serviceRole": "arn:aws:iam::012345678910:role/AWSBatchServiceRole" }
출력:
{ "computeEnvironmentName": "M4Spot", "computeEnvironmentArn": "arn:aws:batch:us-east-1:012345678910:compute-environment/M4Spot" }
-
자세한 API 내용은 명령 참조CreateComputeEnvironment
의 섹션을 참조하세요. AWS CLI
-
다음 코드 예시에서는 create-job-queue
을 사용하는 방법을 보여 줍니다.
- AWS CLI
-
단일 컴퓨팅 환경으로 낮은 우선 순위 작업 대기열을 생성하려면
이 예제에서는 M4Spot 컴퓨팅 환경을 LowPriority 사용하는 라는 작업 대기열을 생성합니다.
명령:
aws batch create-job-queue --cli-input-json
file://<path_to_json_file>/LowPriority.json
JSON 파일 형식:
{ "jobQueueName": "LowPriority", "state": "ENABLED", "priority": 10, "computeEnvironmentOrder": [ { "order": 1, "computeEnvironment": "M4Spot" } ] }
출력:
{ "jobQueueArn": "arn:aws:batch:us-east-1:012345678910:job-queue/LowPriority", "jobQueueName": "LowPriority" }
두 컴퓨팅 환경으로 높은 우선 순위 작업 대기열을 생성하려면
이 예제에서는 순서 HighPriority 가 1인 C4OnDemand compute 환경과 순서가 2인 M4Spot 컴퓨팅 환경을 사용하는 라는 작업 대기열을 생성합니다. 스케줄러는 먼저 C4OnDemand 컴퓨트 환경에 작업을 배치하려고 시도합니다.
명령:
aws batch create-job-queue --cli-input-json
file://<path_to_json_file>/HighPriority.json
JSON 파일 형식:
{ "jobQueueName": "HighPriority", "state": "ENABLED", "priority": 1, "computeEnvironmentOrder": [ { "order": 1, "computeEnvironment": "C4OnDemand" }, { "order": 2, "computeEnvironment": "M4Spot" } ] }
출력:
{ "jobQueueArn": "arn:aws:batch:us-east-1:012345678910:job-queue/HighPriority", "jobQueueName": "HighPriority" }
-
자세한 API 내용은 명령 참조CreateJobQueue
의 섹션을 참조하세요. AWS CLI
-
다음 코드 예시에서는 delete-compute-environment
을 사용하는 방법을 보여 줍니다.
- AWS CLI
-
컴퓨팅 환경을 삭제하려면
이 예제에서는 P2OnDemand compute 환경을 삭제합니다.
명령:
aws batch delete-compute-environment --compute-environment
P2OnDemand
-
자세한 API 내용은 명령 참조DeleteComputeEnvironment
의 섹션을 참조하세요. AWS CLI
-
다음 코드 예시에서는 delete-job-queue
을 사용하는 방법을 보여 줍니다.
- AWS CLI
-
작업 대기열을 삭제하려면
이 예제에서는 GPGPU 작업 대기열을 삭제합니다.
명령:
aws batch delete-job-queue --job-queue
GPGPU
-
자세한 API 내용은 명령 참조DeleteJobQueue
의 섹션을 참조하세요. AWS CLI
-
다음 코드 예시에서는 deregister-job-definition
을 사용하는 방법을 보여 줍니다.
- AWS CLI
-
작업 정의를 등록 취소하려면
이 예제에서는 sleep10이라는 작업 정의를 등록 취소합니다.
명령:
aws batch deregister-job-definition --job-definition
sleep10
-
자세한 API 내용은 명령 참조DeregisterJobDefinition
의 섹션을 참조하세요. AWS CLI
-
다음 코드 예시에서는 describe-compute-environments
을 사용하는 방법을 보여 줍니다.
- AWS CLI
-
컴퓨팅 환경을 설명하는 방법
이 예제에서는 P2OnDemand compute 환경을 설명합니다.
명령:
aws batch describe-compute-environments --compute-environments
P2OnDemand
출력:
{ "computeEnvironments": [ { "status": "VALID", "serviceRole": "arn:aws:iam::012345678910:role/AWSBatchServiceRole", "computeEnvironmentArn": "arn:aws:batch:us-east-1:012345678910:compute-environment/P2OnDemand", "computeResources": { "subnets": [ "subnet-220c0e0a", "subnet-1a95556d", "subnet-978f6dce" ], "tags": { "Name": "Batch Instance - P2OnDemand" }, "desiredvCpus": 48, "minvCpus": 0, "instanceTypes": [ "p2" ], "securityGroupIds": [ "sg-cf5093b2" ], "instanceRole": "ecsInstanceRole", "maxvCpus": 128, "type": "EC2", "ec2KeyPair": "id_rsa" }, "statusReason": "ComputeEnvironment Healthy", "ecsClusterArn": "arn:aws:ecs:us-east-1:012345678910:cluster/P2OnDemand_Batch_2c06f29d-d1fe-3a49-879d-42394c86effc", "state": "ENABLED", "computeEnvironmentName": "P2OnDemand", "type": "MANAGED" } ] }
-
자세한 API 내용은 명령 참조DescribeComputeEnvironments
의 섹션을 참조하세요. AWS CLI
-
다음 코드 예시에서는 describe-job-definitions
을 사용하는 방법을 보여 줍니다.
- AWS CLI
-
활성 작업 정의를 설명하려면
이 예제에서는 모든 활성 작업 정의를 설명합니다.
명령:
aws batch describe-job-definitions --status
ACTIVE
출력:
{ "jobDefinitions": [ { "status": "ACTIVE", "jobDefinitionArn": "arn:aws:batch:us-east-1:012345678910:job-definition/sleep60:1", "containerProperties": { "mountPoints": [], "parameters": {}, "image": "busybox", "environment": {}, "vcpus": 1, "command": [ "sleep", "60" ], "volumes": [], "memory": 128, "ulimits": [] }, "type": "container", "jobDefinitionName": "sleep60", "revision": 1 } ] }
-
자세한 API 내용은 명령 참조DescribeJobDefinitions
의 섹션을 참조하세요. AWS CLI
-
다음 코드 예시에서는 describe-job-queues
을 사용하는 방법을 보여 줍니다.
- AWS CLI
-
작업 대기열을 설명하려면
이 예제에서는 HighPriority 작업 대기열을 설명합니다.
명령:
aws batch describe-job-queues --job-queues
HighPriority
출력:
{ "jobQueues": [ { "status": "VALID", "jobQueueArn": "arn:aws:batch:us-east-1:012345678910:job-queue/HighPriority", "computeEnvironmentOrder": [ { "computeEnvironment": "arn:aws:batch:us-east-1:012345678910:compute-environment/C4OnDemand", "order": 1 } ], "statusReason": "JobQueue Healthy", "priority": 1, "state": "ENABLED", "jobQueueName": "HighPriority" } ] }
-
자세한 API 내용은 명령 참조DescribeJobQueues
의 섹션을 참조하세요. AWS CLI
-
다음 코드 예시에서는 describe-jobs
을 사용하는 방법을 보여 줍니다.
- AWS CLI
-
작업을 설명하려면
다음
describe-jobs
예제에서는 지정된 작업 ID가 있는 작업에 대해 설명합니다.aws batch describe-jobs \ --jobs
bcf0b186-a532-4122-842e-2ccab8d54efb
출력:
{ "jobs": [ { "status": "SUBMITTED", "container": { "mountPoints": [], "image": "busybox", "environment": [], "vcpus": 1, "command": [ "sleep", "60" ], "volumes": [], "memory": 128, "ulimits": [] }, "parameters": {}, "jobDefinition": "arn:aws:batch:us-east-1:012345678910:job-definition/sleep60:1", "jobQueue": "arn:aws:batch:us-east-1:012345678910:job-queue/HighPriority", "jobId": "bcf0b186-a532-4122-842e-2ccab8d54efb", "dependsOn": [], "jobName": "example", "createdAt": 1480483387803 } ] }
-
자세한 API 내용은 명령 참조DescribeJobs
의 섹션을 참조하세요. AWS CLI
-
다음 코드 예시에서는 list-jobs
을 사용하는 방법을 보여 줍니다.
- AWS CLI
-
실행 중인 작업을 나열하려면
이 예제에서는 작업 대기열에서 실행 중인 HighPriority 작업을 나열합니다.
명령:
aws batch list-jobs --job-queue
HighPriority
출력:
{ "jobSummaryList": [ { "jobName": "example", "jobId": "e66ff5fd-a1ff-4640-b1a2-0b0a142f49bb" } ] }
제출된 작업을 나열하려면
이 예제에서는 작업 대기열에서 HighPriority 작업 상태에 있는 SUBMITTED 작업을 나열합니다.
명령:
aws batch list-jobs --job-queue
HighPriority
--job-statusSUBMITTED
출력:
{ "jobSummaryList": [ { "jobName": "example", "jobId": "68f0c163-fbd4-44e6-9fd1-25b14a434786" } ] }
-
자세한 API 내용은 명령 참조ListJobs
의 섹션을 참조하세요. AWS CLI
-
다음 코드 예시에서는 register-job-definition
을 사용하는 방법을 보여 줍니다.
- AWS CLI
-
작업 정의를 등록하려면
이 예제에서는 간단한 컨테이너 작업에 대한 작업 정의를 등록합니다.
명령:
aws batch register-job-definition --job-definition-name
sleep30
--typecontainer
--container-properties '{ "image": "busybox", "vcpus": 1, "memory": 128, "command": [ "sleep", "30"]}
'출력:
{ "jobDefinitionArn": "arn:aws:batch:us-east-1:012345678910:job-definition/sleep30:1", "jobDefinitionName": "sleep30", "revision": 1 }
-
자세한 API 내용은 명령 참조RegisterJobDefinition
의 섹션을 참조하세요. AWS CLI
-
다음 코드 예시에서는 submit-job
을 사용하는 방법을 보여 줍니다.
- AWS CLI
-
작업을 제출하려면
이 예제에서는 예제라는 간단한 컨테이너 작업을 HighPriority 작업 대기열에 제출합니다.
명령:
aws batch submit-job --job-name
example
--job-queueHighPriority
--job-definitionsleep60
출력:
{ "jobName": "example", "jobId": "876da822-4198-45f2-a252-6cea32512ea8" }
-
자세한 API 내용은 명령 참조SubmitJob
의 섹션을 참조하세요. AWS CLI
-
다음 코드 예시에서는 terminate-job
을 사용하는 방법을 보여 줍니다.
- AWS CLI
-
작업을 종료하려면
이 예제에서는 지정된 작업 ID로 작업을 종료합니다.
명령:
aws batch terminate-job --job-id
61e743ed-35e4-48da-b2de-5c8333821c84
--reason"Terminating job."
-
자세한 API 내용은 명령 참조TerminateJob
의 섹션을 참조하세요. AWS CLI
-
다음 코드 예시에서는 update-compute-environment
을 사용하는 방법을 보여 줍니다.
- AWS CLI
-
컴퓨팅 환경을 업데이트하려면
이 예제에서는 P2OnDemand compute 환경을 비활성화하여 삭제할 수 있습니다.
명령:
aws batch update-compute-environment --compute-environment
P2OnDemand
--stateDISABLED
출력:
{ "computeEnvironmentName": "P2OnDemand", "computeEnvironmentArn": "arn:aws:batch:us-east-1:012345678910:compute-environment/P2OnDemand" }
-
자세한 API 내용은 명령 참조UpdateComputeEnvironment
의 섹션을 참조하세요. AWS CLI
-
다음 코드 예시에서는 update-job-queue
을 사용하는 방법을 보여 줍니다.
- AWS CLI
-
작업 대기열을 업데이트하려면
이 예제에서는 작업 대기열을 삭제하도록 비활성화합니다.
명령:
aws batch update-job-queue --job-queue
GPGPU
--stateDISABLED
출력:
{ "jobQueueArn": "arn:aws:batch:us-east-1:012345678910:job-queue/GPGPU", "jobQueueName": "GPGPU" }
-
자세한 API 내용은 명령 참조UpdateJobQueue
의 섹션을 참조하세요. AWS CLI
-