AWS Batch에서는 AWS Management Console, CLI 또는 SDK를 사용하여 배치 작업용 코드를 패키징하고, 종속성을 지정하며, 배치 작업을 제출합니다. AWS Batch를 사용하면 실행 파라미터와 작업 종속성을 지정할 수 있고, 널리 사용되는 다양한 배치 컴퓨팅 워크플로 엔진 및 언어(예: Pegasus WMS, Luigi 및 AWS Step Functions)와 손쉽게 통합할 수 있습니다. AWS Batch는 작업 요구 사항에 따라 Amazon EC2와 스팟 인스턴스를 효율적 및 동적으로 프로비저닝합니다. AWS Batch는 사용자가 신속하게 시작할 수 있도록 기본 작업 대기열과 컴퓨팅 환경 정의를 제공합니다.
지금 AWS Batch를 사용해 보십시오
시작하기
AWS Batch를 사용하면 vCPU 및 메모리와 같은 리소스 요구 사항, AWS Identity and Access Management(IAM) 역할, 볼륨 탑재 지점, 컨테이너 속성 및 환경 변수를 지정하여 작업이 실행되는 방식을 정의할 수 있습니다. AWS Batch는 작업을 Amazon ECS에서 실행되는 컨테이너식 애플리케이션으로 실행합니다.
AWS Batch를 사용하면 서로 다른 작업 간에 종속성을 정의할 수 있습니다. 예를 들어 배치 작업이 서로 다른 리소스 요구 사항을 가진 서로 다른 3개의 처리 단계로 구성될 수 있습니다. 종속성의 경우 서로 다른 리소스 요구 사항을 가지며 이전 작업에 따라 다음 작업이 결정되는 3개의 작업을 생성할 수 있습니다.
AWS Batch는 Pegasus WMS, Luigi 등과 같은 상용 및 오픈 소스 워크플로 엔진 및 언어와 통합될 수 있으므로 익숙한 워크플로 언어를 사용하여 배치 컴퓨팅 파이프라인을 모델링할 수 있습니다.
AWS Batch는 제출된 작업의 볼륨 및 리소스 요구 사항에 따라 컴퓨팅 리소스를 동적으로 프로비저닝하고 조정하는 관리형 컴퓨팅 환경을 제공합니다. EC2 인스턴스 유형, VPC 서브넷 구성, 모든 인스턴스에 걸쳐 최소/최대/원하는 vCPU, 스팟 입찰 가격 등의 요구 사항으로 AWS Batch 관리형 컴퓨팅 환경을 구성할 수 있습니다.
또는 AWS Batch 관리형 컴퓨팅 환경에서 제공하는 구성과는 다른 EC2 인스턴스용 구성(예: 더 큰 EBS 볼륨 또는 다른 운영 체제)을 사용해야 하는 경우 AWS Batch 비관리형 컴퓨팅 환경 내에서 자체 컴퓨팅 리소스를 프로비저닝하고 관리할 수 있습니다. Amazon ECS 에이전트가 포함된 EC2 인스턴스를 프로비저닝하고 지원되는 버전의 Linux 및 Docker를 실행하면 됩니다. 그러면 AWS Batch는 사용자가 프로비저닝한 EC2 인스턴스에서 배치 작업을 실행합니다.
AWS Batch를 사용하면 서로 다른 우선순위 수준으로 여러 개의 대기열을 설정할 수 있습니다. 배치 작업은 컴퓨팅 리소스가 작업을 실행할 수 있을 때까지 대기열에 저장됩니다. AWS Batch 스케줄러는 각 작업의 리소스 요구 사항을 기반으로 대기열에 제출된 작업을 언제 어디서 어떻게 실행할지 평가합니다. 스케줄러는 각 대기열의 우선순위를 평가하고, 해당 작업에 대기 중인 종속성이 없는 한, 최적의 컴퓨팅 리소스(예: 메모리 대 CPU 최적화)에서 우선순위에 따라 작업을 실행합니다.
AWS Batch를 사용하면 간단하게 Amazon EC2 스팟을 사용하여 배치 작업을 실행하는 비용을 추가로 절감할 수 있습니다. AWS Batch는 작업에 필요한 수량과 리소스 요구 사항과 컴퓨팅 리소스에 설정된 구성 파라미터에 따라 사용자 대신 스팟 인스턴스에 동적으로 입찰합니다.
AWS Batch는 AWS Management Console에 배치 작업에 대한 주요 운영 지표를 표시합니다. 컴퓨팅 파워에 관한 지표와 실행 중, 지연 중 및 완료된 작업을 볼 수 있습니다. 작업에 대한 로그(예: STDERR, STDOUT)는 AWS Management Console에서 볼 수 있으며, Amazon CloudWatch Logs에도 작성됩니다.
AWS Batch는 IAM을 사용하여 작업이 액세스할 수 있는 AWS 리소스(예: Amazon DynamoDB)를 제어하고 모니터링합니다. 또한, IAM을 통해 조직 내 서로 다른 사용자에 대한 정책을 정의할 수 있습니다. 예를 들어 관리자에게는 모든 AWS Batch API 작업에 대한 전체 액세스 권한을 부여하고, 개발자에게는 컴퓨팅 환경 구성과 작업 등록과 관련된 제한된 권한을 부여하며, 최종 사용자는 작업을 제출하고 삭제하는 데 필요한 권한만 갖도록 제한할 수 있습니다.