brunch

You can make anything
by writing

C.S.Lewis

by Master Seo May 31. 2020

377.Kinesis,람다,다이나모DB,레드쉬프트 사용

실습, 테스트시 코드의 username으로 테스트 필요

구성도

키네시스는  람다로 처리해, 다이나모DB나  Elastic Search로 보내는 경우가 많다.




<0> 목적

<1> kinesis stream 생성하기

<2> lambda 생성하기

<3>  lambda 테스트하기

<4> dynamodb 테이블 만들기

<5> lambda 생성하기

<6> 참고 AWS kinesis



<0> 목적

실시간으로 데이터를 받아 db에 넣어보자.

DB를 분석해보자


구성 1

kinesis (트리거)   - lambda 




2

선수 조건

lambda  사용하므로 람다  role  필요 

kinesis에서 데이터 받는 권한과  cloudwatch logs에 저장 권한



<1> kinesis stream 생성하기


kinesis > 데이터 스트림 생성  > 

seo-kinesis-to-lambda-kinesis

열린 샤드수 :  최소 1, 최대 500

1

> 데이터 스트림 생성



<2> lambda 생성하기


// 람다 정책 -> role 만들기 

seo-kinesis-to-lambda-policy

seo-kinesis-to-lambda-role


1

lambda   > 함수 생성  > 블루프린트 사용 

kinesis-process-record-python


2

함수이름  > 

kinesis-to-lambda

기존 역할 사용

seo-kinesis-to-lambda-role  선택


3

Kinesis  트리거 >

seo-kinesis-to-lambda-kinesis

> 트리거 활성화 체크 

> 함수 생성 



https://docs.aws.amazon.com/ko_kr/kinesis/index.html



<3>  lambda 테스트하기


1

lambda > 해당 lambda 클릭 >테스트 

stream

> 생성

> 테스트


2

실행  결과 : 성공 (로그 )

> 세부정보  클릭해 확인


3

모니터링 클릭해 확인







구성 2

dynamodb -----  lambda ---- Redshift 




<4> dynamodb 테이블 만들기


1

dynamodb


테이블 만들기

>  테이블 이름

seo-score

기본키, 파티션키

seo-id   

번호

생성


2

테이블 만들기 >

seo-user

seo-username

문자열

생성


3

seo-score  > 개요 > 스트림 관리 >  새이미지 >  활성화

Manager DynamoDB Stream > New image > Enable





<5> lambda 생성하기


사용자 데이터 추가하기


1

lambda  > 함수생성  >  새로작성 > 함수이름 

seo-score-user

Node.js 12.x

use an existing role

seo-lambda-dynamodb-role

//임시로  dynamodb full 권한 추가


2

create function

// index.js 코드  편집



3

디자이너 

+ 트리거 추가

dynamodb

dynamodb table : seo-score  선택

추가


test

event name

score

// 코드

create

test




4

dynamodb 에서 생성해서 잘되는지 확인하기


dynamodb  >  tables >  seo-score  >  items tab  


seo-score

create items 

seo-d


5

click > append > string >

seo-username   

value

seo


6

click > append > number


field 


seo-score


value

11

save



7

확인하기



<6> 참고 AWS kinesis

https://aws.amazon.com/ko/kinesis/

감사합니다.

브런치는 최신 브라우저에 최적화 되어있습니다. IE chrome safari