Search

Batch

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 인스턴스