BLOG

[2021 AWS SUMMIT Session Review] 아름답고 유연한 데이터 파이프라인 구축을 위한 Amazon Managed Workflow for Apache Airflow
작성일: 2021-08-31

블로그 콘텐츠의 내용 및 의견은 AWS SUMMIT 2021의 세션을 리뷰한 내용입니다. 

 

1.데이터 파이프라인 Problem

데이터 파이프라인이 직면한 문제점은 데이터 파이프라인이 복잡하고, 오케스트레이션이 어렵다는 점입니다. 

 

 

2.  Apache Airflow

이같은 문제들을 Apache Airflow로 해결할 수 있습니다. Apache Airflow는 2015년 Airbnb에서 개발하여 2016년 APACHE 오픈 소스의 INCUBATION을 거친 TOP-LEVEL 프로젝트입니다. 이는 워크플로우를 프로그래밍 방식으로 작성하여 스케줄링 및 모니터링을 하는 플랫폼이며, 워크플로우는 DAG 형식의 PYTHON 코드로 작성합니다. 작업의 실행 종속성에 따라 스케줄링을 하며, 파이프라인 시각화, 진행 상황 모니터링 및 문제 해결을 위한 풍부한 사용자 인터페이스를 제공하고 있습니다. ETL, AI/ML, DEVOPS 등의 사용 사례가 있으며, 스케줄러, 워커, 웹서버, 메타 데이터베이스로 구성되어 있습니다. 셀프 구축 및 운영의 어려움으로는 셋업, 스케일링, 보안, 업그레이드, 유지관리 등이 있습니다. 

 

 

3. Amazon Managed Workflows for Apache Airflow (MWAA)

MWAA가 제공하는 혜택

  • 셋업- 신속한 환경 구축, 동일한 오픈 소스 소프트웨어, 동일한 AIRFLOW UI, Consol, CLI,api, CLOUDFORMATION
  • 스케일링- 사용자 개입이 없는 워커노드 오토스케일링, 병렬 작업 수행을 위해 Celery Executor 기본 사용, ecs on aws fargate
  • 보안- IAM과 통합 된 인증 및 인가, VPC 또는 PUBLIC ENDPOINT로 안전한 AIRFLOW UI 액세스 제공, IAM EXECUTION ROLE을 통해 간편해진 WORKER의 AWS 서비스 액세스, WORKER 및 SCHEDULER는 고객 리소스에 액세스하기 위해 고객 VPC에서 실행
  • 업그레이드- 업그레이드를 위한 유지관리 기간, 실패 시 스냅샷 및 롤백 지원
  • 유지관리- CloudWatch와 통합 모니터링, multi-AZ, 노드 실패 발생시 자동으로 교체 및 복구

 

 

MWAA 아키텍처 

MWAA 아키텍처는 아래 그림과 같습니다. MWAA를 사용할 때는 먼저 환경을 생성한 후 DAG 및 PLUGIN을 S3에 복사하여 AIRFLOW UI에 접속하여야 합니다. 

 

 

4. DEMO

데이터 파이프라인 

 

APACHE Airflow 기본 개념

  • Operator- Task수행 방법 및 Task 수행을 위한 도구를 보유하고 있습니다.
  • Task- Operator가 작업을 수행합니다.
  • DAG- TASK 스케줄링, TASK 수행 순서, TASK 실패 시 재시도 등을 정의하는 지침입니다.
  • Connection- 외부 시스템에 대한 연결 혹은 자격 증명 정보를 안전하게 저장하는 방법입니다.
  • Variables- 임의의 정보를 Key-Value 형식으로 저장하고 task에서 사용 가능한 변수입니다.
  • XComs- Task 간의 메시지를 교환하기 위한 메커니즘입니다.

 

워크플로우 구성

워크플로우는 RDS 데이터 수집, ODS 테이블 생성, DW 구성, Redshift 데이터 로딩, 긜고 알림 발송 등 5가지 단계로 구성됩니다.  

 

AWS 워크플로우 서비스

아마존 MWAA, Step Function을 통합할 수 있습니다. 이처럼 Apache Airflow를 통해 데이터 수집, ODS 테이블 생성, DW 구성, Redshift 데이터 로딩, 알림 발송까지 워크플로우를 용이하게 관리할 수 있으며, Managed Workflow for Apache Airflow(MWAA)를 통해 셋업, 스케일링, 보안, 업그레이드, 유지 관리 등 서비스를 제공 받아 유연한 데이터 파이프라인을 구성 및 관리할 수 있습니다.

 

발표자료URL:https://www.slideshare.net/awskorea/amazon-managed-workflow-for-apache-airflow-for-beautiful-flexible-data-pipeline

*해당 블로그는 메가존클라우드 임직원이 AWS SUMMIT 2021 “아름답고 유연한 데이터 파이프라인 구축을 위한 Amazon Managed Workflow for Apache Airflow” 세션을 보고 작성한 글로 발표 자료 및 자세한 내용은 위의 URL에서 확인하실 수 있습니다. 세션을 보고 작성한 글로 발표 자료 및 자세한 내용은 위의 URL에서 확인하실 수 있습니다.