반응형
◇ 공부 기록용으로 작성하였으니 틀린점, 피드백 주시면 감사하겠습니다 ◇
Batch processing for ML model training, simulation, and analysis at any scale
AWS Batch
AWS Batch는 완전 관리형 배치 처리 서비스이다. (Fully managed batch processing)
배치작업은 데이터를 실시간(real time)으로 처리하는게 아니라, 일괄적으로 모아서 처리하는 작업을 의미한다.
실행해야하는 작업을 1대 또는 여러대의 컴퓨터로 자동으로 실행한다.
실행해야하는 작업을 1대 또는 여러대의 컴퓨터로 자동으로 실행한다.
- re:Invent 2016에서 처음 발표되었다.
- 배치 작업을 실행하기 위한 인프라 환경을 유저쪽에서 준비할 필요가 없다.
- AWS Fargate나 Amazon EC2 또는 Spot 인스턴스등 다양한 AWS 컴퓨팅 서비스가 사용된다.
- Batch에서 사용한 리소스(EC2나 Fargate)에 대하여 요금이 부과되는 방식이다.
AWS Batch 전문용어
AWS Batch에서는 Jobs라는 개념이 등장한다. → https://docs.aws.amazon.com/batch/latest/userguide/jobs.html
- Jobs
- Job Definition
- Job Queue
- Compute Environment
Jobs
AWS Batch를 실행하기 위한 작업 단위.
각 Job은 특정 작업 정의(Job Definition)를 기반으로 실행되며, 필요에 따라 컴퓨팅 리소스에서 실행된다.
👩🏫 Job을 시작하면 Job Definition에 적힌 내용대로 Job Queue를 실행한다.
Job Definition
배치 작업을 정의할 때 필요한 설정을 정의한다.
예를 들어, 사용할 Docker 이미지와 실행 할 명령어, 환경 변수, 리소스(vCPU 및 메모리)에 관한 정보를 여기 포함한다.
Job Queue
실행을 기다리는 Job들의 큐(대기열).
큐에 있는 Job들은 Compute Environment에서 실행된다.
Compute Environment
Job을 실행하는 인프라(EC2 인스턴스)를 정의한다.
AWS Batch는 2가지 유형의 컴퓨팅 환경을 지원한다.
- 관리형 (Managed) 환경: AWS가 자동으로 리소스를 관리
- On-demand 인스턴스, Spot 인스턴스등 선택가능
- 사용자 관리형 (Unmanaged) 환경: 사용자가 직접 리소스를 관리
- 사용자가 직접 프로비저닝한 EC2 인스턴스
사용 사례)
대규모 데이터 분석: 금융 회사가 매일 수백만 건의 거래 데이터를 분석하여 사기 거래를 탐지하고, 고객 행동 패턴을 예측하려고 한다.
- 데이터: 거래 데이터는 Amazon S3에 저장.
- Job Definition: AWS Batch에서 데이터를 분석하는 작업 정의을 만든다.
- Job Definition에는 데이터 분석 스크립트와 필요한 컴퓨팅 리소스(vCPU, 메모리 등)가 포함된다.
- 작업 제출: 매일 일정 시간에 AWS Batch에 작업을 제출하여 데이터를 분석한다.
- 결과 저장: 분석 결과는 다시 Amazon S3에 저장되며, Amazon QuickSight를 통해 시각화하고 리포트를 생성한다.
728x90
반응형
'클라우드(AWS)' 카테고리의 다른 글
[AWS] CloudWatch Logs 기능이란? 쉽게 개념 정리 (0) | 2024.06.26 |
---|---|
[AWS] Global Accelerator란? 쉽게 개념 및 특징 정리 (0) | 2024.06.23 |
[AWS] Amazon Cognito란? 쉽게 특징 정리 (User Pool, Identity Pool, Adaptive Authentication) (0) | 2024.06.21 |
[AWS] Amazon EMR란? 쉽게 특징 정리 (빅데이터 처리, Hadoop, Spark, HDFS, EMRFS) (0) | 2024.06.18 |
[AWS] Snow Family, DataSync, Storage Gateway의 차이점 쉽게 정리 (feat. S3 sync 명령어) (1) | 2024.06.17 |