Joonas' Note

Joonas' Note

Kinesis를 이용한 데이터 수집 본문

개발

Kinesis를 이용한 데이터 수집

2018. 1. 5. 19:52 joonas

    분산컴퓨팅 최종 프로젝트 보고서 (2017)


    AWS 서비스를 활용해보는 것이 분산컴퓨팅 프로젝트였다. EMR를 쓰는 사람도 있었고, Amazon SNS를 사용해보거나 AWS Shield를 분석하거나 Amazon GameLift를 다뤄보는 프로젝트 등 재밌는 발표가 많았다.

    나는 RedShift를 다루어보고 싶었는데, 그러기 위해선 분석할 데이터나 데이터를 수집하는 과정이 필요했다. 데이터의 수집부터 저장, 그리고 그 분석까지 하면 재밌을 것 같아서 프로젝트 주제를 "데이터 웨어하우스를 위한 데이터 수집 및 저장"으로 정했다.

    AWS re:invent에서 발표된 PPT들을 많이 참고하면서 아키텍처를 구상하고 서비스를 선택했다.

    우선 어떤 데이터를 수집할까를 제일 고민했는 데, 개발할 기간이 약 1~2주 정도밖에 없어서 동시에 다른 수업(DB) 프로젝트로 진행하던 웹 서비스의 로그를 선택했다. 사실 분산컴퓨팅 프로젝트가 어떻게 될지 몰라서 웹 서비스를 미리 AWS EC2 + RDS로 만들어둔 상황이었다.

    AWS Lambda도 써보고 싶었지만, 이의석님의 테라 렉 로그 분석(2015.12.)을 보고 Kinesis로 정했다. 그 외에도 VCNC의 비트윈에서도 Kinesis를 사용하고 있었다. 두 자료를 많이 참고했다. 프로젝트는 Kinesis로 스트리밍하여 S3에 저장하고 EMR이나 Athena, QuickSight로 분석해보고 마치기로 했다.

    각 서비스들을 서로 연결하는 과정들이 재밌었다. 이제까지 EC2에 RDS나 Route53 정도만 같이 사용해봤지만 그 외 서비스를 내 손으로 직접 연결해서 같이 동작하도록 해본 적은 없었다. 지원하지 않는 리전에 계속 부딪혀서 여러 리전을 엮으면서 AWS에 대한 이해력도 상승..!

    아키텍처나 사용한 서비스들은 아마 고전적인 방법이었을 것이다. 하지만 Kinesis Analysis라거나 RedShift 등 더 우아한? 설계들도 보였지만 미래에 불가피한 상황(회사에서 기존에 쓰던 서비스들 등..)이나 리전 등을 고려하면 좋은 경험이었다고 생각한다.

    Comments