brunch

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

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

by Master Seo

구성도

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

10 kinesis.png




<0> 목적

<1> kinesis stream 생성하기

<2> lambda 생성하기

<3> lambda 테스트하기

<4> dynamodb 테이블 만들기

<5> lambda 생성하기

<6> 참고 AWS kinesis



<0> 목적

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

DB를 분석해보자


구성 1

kinesis (트리거) - lambda


100 kinesis-to-lambda.png



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


100 dynamodb.png



<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/

감사합니다.

keyword
매거진의 이전글375.CloudFront, Static File