Batch
•
완전 관리형 배치 처리 서비스
•
배치작업은 데이터를 실시간(real time)으로 처리하는게 아니라, 일괄적으로 모아서 처리하는 작업을 의미한다.
•
배치 작업을 실행하기 위한 인프라 환경을 유저쪽에서 준비할 필요가 없다.
•
AWS Fargate나 Amazon EC2 또는 Spot 인스턴스등 다양한 AWS 컴퓨팅 서비스가 사용된다.
•
Batch에서 사용한 리소스(EC2나 Fargate)에 대하여 요금이 부과되는 방식이다.
Jobs
Jobs
•
AWS Batch를 실행하기 위한 작업 단위.
•
각 Job은 특정 작업 정의(Job Definition)를 기반으로 실행되며, 필요에 따라 컴퓨팅 리소스에서 실행된다.
•
Job을 시작하면 Job Definition에 적힌 내용대로 Job Queue를 실행한다.
Job Definition
Job Definition
•
배치 작업을 정의할 때 필요한 설정을 정의한다.
•
예를 들어, 사용할 Docker 이미지와 실행 할 명령어, 환경 변수, 리소스(vCPU 및 메모리)에 관한 정보를 여기 포함한다.
Job Queue
Job Queue
•
실행을 기다리는 Job들의 큐
•
큐에 있는 Job들은 Compute Environment에서 실행된다.
Compute Environment
Compute Environment
•
Job을 실행하는 인프라(EC2 인스턴스)를 정의한다.
•
AWS Batch는 2가지 유형의 컴퓨팅 환경을 지원한다.
•
관리형 (Managed) 환경: AWS가 자동으로 리소스를 관리
◦
On-demand 인스턴스, Spot 인스턴스등 선택가능
•
사용자 관리형 (Unmanaged) 환경: 사용자가 직접 리소스를 관리
◦
사용자가 직접 프로비저닝한 EC2 인스턴스



