Overview

AWS에서는 실시간 데이터의 수집, 처리, 분석을 위하여 Kinesis 서비스를 제공하고 있습니다. 이번 글에서는 Kinesis 서비스의 Data Streams, Data Firehose, Data Analytics를 사용하는 방법을 간단히 알아보겠습니다.

01

위와 같은 식으로 구성해보면서 살펴보겠습니다.



1. Kinesis Streams 생성 및 데이터 입력

02

Kinesis 스트림 생성 버튼 클릭

03

스트림 이름 test-kinesis, 샤드 수 2로 설정

04

생성 확인

05

Kinesis 스트림에 데이터 전송


2. Kinesis Firehose를 이용하여 스트림 데이터를 S3에 저장

06

Create delivery stream 버튼 클릭

07

스트림 이름 test-firehose, 소스는 위에서 생성한 test-kinesis 스트림 선택

08

Record transformation : 스트림 데이터를 가공하기 위하여 Lambda 함수를 설정할 수 있음
Record format conversion : 데이터 포맷을 아파치 파케이나 ORC로 설정할 수 있음

09
10

데이터를 저장할 S3서비스를 선택하고 test-firehose01 버킷 생성

11
12
13

기본 설정 후 생성 확인


3. Kinesis Analytics를 이용하여 스트림 데이터 쿼리

14

Create application 버튼 클릭

15

어플리케이션 이름 test-analytics로 생성

16

위에서 생성한 Kinesis Streams 선택을 위하여 Connect streaming data 클릭

17

Source : 위에서 생성한 test-kinesis 선택
Record pre-processing : 위의 firehose에서처럼 람다 함수를 이용하여 스트림 데이터 가공 가능
Access permissions : IAM 롤 생성
Discover schema 버튼을 클릭하여 스키마 확인 및 설정

18

자동으로 설정된 스키마 확인 후 필요에 따라 Edit schema 버튼을 통하여 스키마 수정

19

적절하게 스키마 변경 후 Save schema and update stream samples 버튼을 클릭하여 확인

20

소스를 선택하면 Real time analytics 영역이 활성화됨. Go to SQL editor 클릭

21

스크림 SQL을 작성 후 Save and run SQL 버튼 클릭
하단의 Real-time analytics 탭에서 결과 데이터 실시간 확인

22

Real time analytics를 선택하면 Destination 영역이 활성화됨

23

Kinesis Analytics 데이터를 전달할 Firehose 생성 (test-firehose-destination)

24

다시 Analytics로 돌아와서 Destination 버튼 클릭
Destination 서비스는 Kinesis Firehose 선택 후 위에서 생성한 test-firehose-destination 선택
In-application stream으로 위에서 생성한 DESTINATION_SQL_STREAM 선택 후 저장

25
26

전체 설정 확인 후 목록에서 Running 상태 확인

27

test-firehose에 연결한 Kinesis Streams 데이터 S3 저장 확인

28

test-firehose-destination에 연결한 Kinesis Analytics 데이터 S3 저장 확인


마치며

Amazon Kinesis 서비스를 이용해 실시간 데이터를 수집, 처리, 분석해 보관하는 기본적인 기능들을 살펴보고 설정했습니다. Analytics는 서울 리전에 아직 출시되지 않아 아쉽지만 출시가 된다면 유용하게 사용할 수 있을 거라 생각합니다.


참고
Amazon Kinesis Documentation


이상근 팀장 | R&D 개발1팀
leesg@brandi.co.kr
브랜디, 오직 예쁜 옷만