AWS Glue란 ?
AWS Glue는 사용자가 여러 소스의 데이터를 쉽게 검색, 준비, 이동, 통합할 수 있도록 하는 서버리스 데이터 통합 서비스
중앙 집중식 데이터 카탈로그에서 데이터를 관리할 수 있습니다. 추출, 변환, 로드(ETL) 파이프라인을 시각적으로 생성, 실행, 모니터링하여 데이터 레이크에 데이터를 로드할 수 있다.
AWS Glue 특징
- ETL(Extract, Transform, Load) 툴이다.
- Serverless이기 때문에 운영 부담이 줄고, 데이터의 전처리를 쉽고 빠르게 한다.
- 기본적으로 ETL을 통해서 데이터를 Data Lake(i.e. S3)나 Data Warehouse(i.e. Redshift)에 이동시킨다.
- Glue는 ETL 작업을 스케줄링하는 기능을 제공한다. 특정 시간이나 이벤트에 따라 ETL 자동 실행하도록 예약가능.
- Glue는 ETL을 위한 코드를 자동으로 생성한다.
- Glue의 Console에서 몇 가지 설정만 하면 자동으로 Python이나 Scala 코드를 생성해준다.
Glue Data Catalog
- AWS 클라우드에 있는 영구적 기술 메타데이터 스토어
- AWS Identity and Access Management 정책 및 Lake Formation과 함께 사용하여 테이블 및 데이터베이스에 대한 액세스를 제어한다.
Glue Crawler and Classifier
- AWS Glue는 모든 종류의 리포지토리에서 데이터를 스캔하고 분류하며, 스키마 정보를 추출
- AWS Glue Data Catalog에서 자동적으로 메타데이터를 저장하는 크롤러를 설정할 수 있다
- AWS Glue Data Catalog를 사용하여 ETL 작업을 관리할 수 있다.
AWS Step Function란?
서버리스 오케스트레이션을 제공하는 서비스, 아래와 같이 다양한 서비스를 통합할 수 있다.
AWS Glue vs Step Functions 비교
주요 특성 비교표
특성 | AWS Glue | AWS Step Functions |
---|---|---|
주요 용도 | 데이터 통합 및 ETL 프로세스 자동화 | 분산 애플리케이션 및 마이크로서비스 워크플로우 오케스트레이션 |
핵심 기능 | 데이터 카탈로그 관리, ETL 작업 자동화, 데이터 크롤링, 스키마 검색, 자동 코드 생성 | 상태 기반 워크플로우 관리, 다중 서비스 통합, 병렬 처리, 복잡한 에러 핸들링 |
사용해야 하는 상황 | 데이터 웨어하우스 구축, 데이터 레이크 구축, 정기적 배치 데이터 처리, 데이터 마이그레이션, 실시간 스트리밍 데이터 처리 | 마이크로서비스 오케스트레이션, API 기반 워크플로우, 복잡한 승인 프로세스, 장기 실행 비즈니스 프로세스, 서버리스 애플리케이션 |
장점 | 서버리스 아키텍처 제공, 자동화된 스키마 감지, 내장된 데이터 변환 기능, 데이터 카탈로그와 통합, 예약 실행 지원 | 시각적 워크플로우 설계, 정교한 오류 처리, AWS 서비스와 쉬운 통합, 실행 이력 추적, 재시도 로직 내장 |
단점 | 복잡한 워크플로우 구현의 한계, 사용자 정의 기능 제한, 실시간 처리의 제약, 디버깅 어려움 | ETL 특화 기능 부족, 초기 설정 복잡성, 비용 증가 가능성, 상태 관리 복잡성 |
비용 구조 | DPU 시간당 과금, 크롤러 실행 시간, 데이터 카탈로그 저장 | 상태 전환 횟수당 과금, 실행 시간, Lambda 호출 비용 |
AWS Glue 사용 사례
- 일일 판매 데이터를 S3에서 Redshift로 적재
- CSV 파일을 Parquet 형식으로 변환
- 데이터 레이크의 스키마 자동 감지 및 카탈로그화
- 여러 소스의 데이터를 통합하여 분석용 데이터셋 생성
- 실시간 로그 데이터 처리 및 저장
AWS Step Functions 사용 사례
- 전자상거래 주문 처리 워크플로우 관리
- 머신러닝 모델 학습 파이프라인 구축
- 사용자 등록 및 인증 프로세스 자동화
- 정기적인 데이터 백업 및 복구 프로세스
- API 기반 마이크로서비스 오케스트레이션
상황에 맞는 추천 선택
- 순수 데이터 처리/변환 작업 → AWS Glue
- 복잡한 비즈니스 로직이나 다중 서비스 조율 → AWS Step Functions
- 둘 다 필요한 경우 → 두 서비스를 통합하여 사용
'프로그래밍 > aws' 카테고리의 다른 글
[AWS] Lambda vpc Nat gateway 설정 with Terraform (0) | 2024.06.10 |
---|---|
[AWS] S3 Event -> SQS 사용방법 (0) | 2023.11.02 |
[aws] 몇가지 기능 간단정리 (0) | 2023.07.27 |