AWS로 랭킹 시스템을 서버리스로!

by DD
2년 전
조회수 8

기존 랭킹 시스템확장성 한계를 극복하기 위해 새로운 아키텍처를 설계함

AWS Glue, Athena, Step Functions을 활용하여 ETL 파이프라인 구축 및 랭킹 산출 자동화

서버리스 환경으로 전환하여 자원 효율성을 높이고 랭킹 산출 유연성 확보

서버리스 아키텍처 설계

AWS Glue를 사용하여 데이터 카탈로그를 구축하고, ETL 파이프라인을 구성했다. 구체적으로, S3 버킷에 저장된 데이터를 파싱하고, Athena를 통해 랭킹 데이터를 산출한다. 따라서 Step Functions를 활용하여 Glue, Athena 작업을 자동화했다.

AWS 서비스 간의 연동

데이터 파이프라인 구축 시 Glue Connector를 활용하여 DB 연결을 설정했다. AthenaS3에 저장된 Parquet 파일을 쿼리하여 랭킹을 계산한다. 반면, Step FunctionsGlueAthena 작업을 순차적으로 실행하며, EventBridge를 통해 트리거된다.

ETL 파이프라인 최적화

Glue ETL Job에서 Python Script를 사용하여 커스터마이징을 진행했다. 구체적으로, 동적 Path를 적용하여 ETL 수행 시간을 기준으로 S3 버킷에 데이터를 저장했다. 따라서 Secret Manager를 활용하여 DB 접속 정보를 안전하게 관리하고, Dynamic Option을 통해 데이터 처리량을 최적화했다.

랭킹 시스템 개편기

댓글 0

첫 번째 댓글을 남겨보세요!