Step Functions를 사용하여 AWS Batch 워크로드 실행 - AWS Step Functions

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

Step Functions를 사용하여 AWS Batch 워크로드 실행

Step Functions AWS Batch 를와 통합하여 AWS 클라우드에서 배치 컴퓨팅 워크로드를 실행할 수 있습니다. 이 페이지에서는 지원되는 AWS Batch API를 나열하고 배치 처리 작업을 수행하기 위한 예제 Task 상태를 제공합니다.

Step Functions의 AWS 서비스와 통합하는 방법에 대한 자세한 내용은 서비스 통합 및 섹션을 참조하세요Step Functions의 서비스 API에 파라미터 전달.

최적화된 AWS Batch 통합의 주요 기능

요청 및 응답 또는 작업 토큰을 사용하여 콜백 대기 통합 패턴에 대한 최적화는 없습니다.

다음은 AWS Batch 작업을 제출하고 완료되기를 기다리는 Task 상태를 포함합니다.

{ "StartAt": "BATCH_JOB", "States": { "BATCH_JOB": { "Type": "Task", "Resource": "arn:aws:states:::batch:submitJob.sync", "Parameters": { "JobDefinition": "preprocessing", "JobName": "PreprocessingBatchJob", "JobQueue": "SecondaryQueue", "Parameters.$": "$.batchjob.parameters", "ContainerOverrides": { "ResourceRequirements": [ { "Type": "VCPU", "Value": "4" } ] } }, "End": true } } }

최적화된 AWS Batch APIs

Step Functions의 파라미터는 PascalCase로 표현됩니다.

기본 서비스 API가 API 작업 startSyncExecution과 같은 camelCase에 있더라도 StateMachineArn과 같은 파라미터를 PascalCase에 지정합니다.

호출을 위한 IAM 정책 AWS Batch

다음 예제 템플릿은가 상태 시스템 정의의 리소스를 기반으로 IAM 정책을 AWS Step Functions 생성하는 방법을 보여줍니다. 자세한 내용은 Step Functions가 통합 서비스용 IAM 정책을 생성하는 방법Step Functions에서 서비스 통합 패턴 검색 단원을 참조하세요.

AWS Batch 는 리소스 수준 액세스 제어를 부분적으로 지원하므로를 사용해야 합니다"Resource": "*".

Run a Job (.sync)
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "batch:SubmitJob", "batch:DescribeJobs", "batch:TerminateJob" ], "Resource": "*" }, { "Effect": "Allow", "Action": [ "events:PutTargets", "events:PutRule", "events:DescribeRule" ], "Resource": [ "arn:aws:events:[[region]]:[[accountId]]:rule/StepFunctionsGetEventsForBatchJobsRule" ] } ] }
Request Response
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "batch:SubmitJob" ], "Resource": "*" } ] }