AWS Doc SDK ExamplesWord
기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.
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 세부 정보는 AWS CLI 명령 참조의 CancelJob
를 참조하세요.
-
다음 코드 예시에서는 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 세부 정보는 AWS CLI 명령 참조의 CreateComputeEnvironment
를 참조하세요.
-
다음 코드 예시에서는 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" }
두 컴퓨팅 환경으로 높은 우선 순위 작업 대기열을 생성하려면
이 예제에서는 순서가 1인 C4W HighPriority 가 2인 M4Spot 컴퓨팅 환경을 사용하는 Word라는 작업 대기열을 생성합니다.OnDemand 스케줄러는 먼저 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 세부 정보는 AWS CLI 명령 참조의 CreateJobQueue
를 참조하세요.
-
다음 코드 예시에서는 delete-compute-environment
을 사용하는 방법을 보여 줍니다.
- AWS CLI
-
컴퓨팅 환경을 삭제하려면
이 예제에서는 P2OnDemand 컴퓨팅 환경을 삭제합니다.
명령:
aws batch delete-compute-environment --compute-environment
P2OnDemand
-
API 세부 정보는 AWS CLI 명령 참조의 DeleteComputeEnvironment
를 참조하세요.
-
다음 코드 예시에서는 delete-job-queue
을 사용하는 방법을 보여 줍니다.
- AWS CLI
-
작업 대기열을 삭제하려면
이 예제에서는 GPGPU 작업 대기열을 삭제합니다.
명령:
aws batch delete-job-queue --job-queue
GPGPU
-
API 세부 정보는 AWS CLI 명령 참조의 DeleteJobQueue
를 참조하세요.
-
다음 코드 예시에서는 deregister-job-definition
을 사용하는 방법을 보여 줍니다.
- AWS CLI
-
작업 정의 등록을 취소하려면
이 예제에서는 sleep10이라는 작업 정의를 등록 취소합니다.
명령:
aws batch deregister-job-definition --job-definition
sleep10
-
API 세부 정보는 AWS CLI 명령 참조의 DeregisterJobDefinition
를 참조하세요.
-
다음 코드 예시에서는 describe-compute-environments
을 사용하는 방법을 보여 줍니다.
- AWS CLI
-
컴퓨팅 환경을 설명하는 방법
이 예제에서는 P2OnDemand 컴퓨팅 환경을 설명합니다.
명령:
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 세부 정보는 AWS CLI 명령 참조의 DescribeComputeEnvironments
를 참조하세요.
-
다음 코드 예시에서는 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 세부 정보는 AWS CLI 명령 참조의 DescribeJobDefinitions
를 참조하세요.
-
다음 코드 예시에서는 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 세부 정보는 AWS CLI 명령 참조의 DescribeJobQueues
를 참조하세요.
-
다음 코드 예시에서는 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 세부 정보는 AWS CLI 명령 참조의 DescribeJobs
를 참조하세요.
-
다음 코드 예시에서는 list-jobs
을 사용하는 방법을 보여 줍니다.
- AWS CLI
-
실행 중인 작업을 나열하려면
이 예제에서는 HighPriority 작업 대기열에서 실행 중인 작업을 나열합니다.
명령:
aws batch list-jobs --job-queue
HighPriority
출력:
{ "jobSummaryList": [ { "jobName": "example", "jobId": "e66ff5fd-a1ff-4640-b1a2-0b0a142f49bb" } ] }
제출된 작업을 나열하려면
이 예제에서는 SUBMITTED 작업 상태에 있는 HighPriority 작업 대기열의 작업을 나열합니다.
명령:
aws batch list-jobs --job-queue
HighPriority
--job-statusSUBMITTED
출력:
{ "jobSummaryList": [ { "jobName": "example", "jobId": "68f0c163-fbd4-44e6-9fd1-25b14a434786" } ] }
-
API 세부 정보는 AWS CLI 명령 참조의 ListJobs
를 참조하세요.
-
다음 코드 예시에서는 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 세부 정보는 AWS CLI 명령 참조의 RegisterJobDefinition
를 참조하세요.
-
다음 코드 예시에서는 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 세부 정보는 AWS CLI 명령 참조의 SubmitJob
를 참조하세요.
-
다음 코드 예시에서는 terminate-job
을 사용하는 방법을 보여 줍니다.
- AWS CLI
-
작업을 종료하려면
이 예제에서는 지정된 작업 ID로 작업을 종료합니다.
명령:
aws batch terminate-job --job-id
61e743ed-35e4-48da-b2de-5c8333821c84
--reason"Terminating job."
-
API 세부 정보는 AWS CLI 명령 참조의 TerminateJob
를 참조하세요.
-
다음 코드 예시에서는 update-compute-environment
을 사용하는 방법을 보여 줍니다.
- AWS CLI
-
컴퓨팅 환경을 업데이트하려면
이 예제에서는 P2OnDemand 컴퓨팅 환경을 비활성화하므로 삭제할 수 있습니다.
명령:
aws batch update-compute-environment --compute-environment
P2OnDemand
--stateDISABLED
출력:
{ "computeEnvironmentName": "P2OnDemand", "computeEnvironmentArn": "arn:aws:batch:us-east-1:012345678910:compute-environment/P2OnDemand" }
-
API 세부 정보는 AWS CLI 명령 참조의 UpdateComputeEnvironment
를 참조하세요.
-
다음 코드 예시에서는 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 세부 정보는 AWS CLI 명령 참조의 UpdateJobQueue
를 참조하세요.
-