brunch

You can make anything
by writing

- C.S.Lewis -

by Master Seo Jul 21. 2019

139.Lambda를 알아보자

목 차

<1> 서버 리스 특징

<2> 람다 (lambda) 란 

<3> 람다 이벤트

<4>  람다 구성

<5> 람다  실습

<6> 튜닝, 데시보드 

<7> 람다 보안


 



<1> 서버 리스 특징

장점

서버 요청, 패치, 서버 작업을 신경 쓰지 않아도 된다.

개발자가 인프라가 아닌  개발에만 집중할 수 있게 해 준다.

비용이 저렴하다.

만능은 아니다. 필요한 경우에만 사용한다.


단점

시간적 제약, 최대 5분이상 수행할수 없다.



<2> 람다 (lambda) 란?

이벤트를 처리하는 함수이다.

서버를 가지지 않는다.

Azure Function , Google Function 과 같다.



<3> 람다 이벤트

APIGW

S3

SNS 

CloudWatch Event

CloudWatch log

Kinesis 

DynamoDB 

AWS Iot

CodeCommit

Cognito Sync 

 


<4>  람다 구성

이벤트 발생 = 이벤트 트리거 = 이벤트 발생 소스

HTTP , APIGW , S3 등이 이벤트를 발생시킨다.


<5>  실습

아래와 같은 순서로  원하는 것을 만들면 됩니다.


1. 우선, 원하는 서비스의 구성을 간단히 그린다.

2. 구성에 따라 필요한 서비스를 만든다.

3. 정책을 만들고 필요한 role을 만든다.

4. 이벤트를 발생시킨다

5. 확인한다.


1. 람다 함수 만들기

2. role을 준다.

3. Test event를 만든다.

4. 기본적으로 제공되는  test  lambda 코드를 확인과 수정.

5. Test 이벤트를 발생시킨다

6. 결과를 확인한다.



1. 람다 함수 만들기





람다 함수는 3가지로 만들 수 있다.

1) 새로 작성

2) 블루프 린프로 작성 - AWS 제공하는 템플릿으로 작성

3) AWS 파트너와 개발사에서 제공하는 람다 함수


야기서는 새로 작성해 만들어 보겠다.



function name :  lambda-start 

node.js 10.x

[ Create function ]




2.   화면 아래쪽에서 실행 역할을 만든다.


[Create a new role   from AWS  policy templates]로 해서 role을 새로 만든다. 

AWS정책 템플릿에서 새 역할 생성


Role name :

role-text라고 이름을 만든다.


Policy  templates :  

Basic Lambda@Edge permisions (for CloudFront trigger용)을 적용한다.

기본  Lambda@Edgwe권한 (Cloudfront 트리거 용)


<SAVE> 





3. Test event를 만든다.

 lambda는 이벤트를 처리하는 함수이다. 

이벤트가 있어야 한다.

실제 이벤트가 나올 때까지 기다릴 수 없다.

Test 할 수 있는 환경을 제공 하고 있다.





오른쪽 위에  TEST 클릭한다.


text를  보여주는  이벤트를 만든다.

Event name : startlambda로 한다.

테스트 :   "text " : "start lambda!!!"로 한다.




4. 기본적으로 제공되는  test  lambda 코드를 확인과 수정.

디폴트 코드를  확인한다.

Test 클릭해 실행한다.




5. 결과는 succeeded

내용은 

200

Hello from Lambda!


이벤트로 입력한 text를 

콘솔에 출력하는 것으로 수정한다.




6. Test 이벤트를 발생시킨다.



7.  결과를  확인한다.

Test 이벤트의  text가   결과로 나오도록 소스를 수정했다.  

event.text  출력

결과가  Test 입력 내용인  start lambda!!! 가 나오는지 확인한다.

입력 이벤트 :  text = "start lambda!!"

출력 : text 내용을 콘솔에 출력

start lambda!!



결과 보기




<6> 튜닝, 데시보드 등


1. 튜닝

1) Lambda 생성후 기본 설정 편집하여 메모리 조정 

사용될 최대 메모리를 지정하는 것이다.

이에 따라 CPU가 결정된다.

빠르게 동작해야 하면 기본 128 보다 1024로 조정한다.


2) 제한 시간 : 타임 아웃.

기본 3초이나 처리 시간이 걸리는건은 10초 정도로 조정한다. 1초~300초(5분까지 가능)


3) DLQ Dead Letter Queue

 Lambda로 보내지 못한 Letter 이다.

전송실패시 비동기 방식으로 큐의 데이터를 최소 5회 재시도 한다.


4) KMS 암호화 가능


5) VPC 사용가능


6) 동시성 Managing Concurrency




2. 데시보드



3. 버저닝 

1)  Action  >  Publish new version  

2) 마지막 버전만 수정 가능하다.

Code and handler editing is only available for the $LATEST version. Go to $LATEST.




<7>  Lambda 보안설정


1)  VPC 안에 Lambda를 넣자

Lambda가 VPC안에 있으면 Security Group으로 제어가 가능하다. 


2)  VPC Flow-log를 통해 모니터링 가능하다.  

https://brunch.co.kr/@topasvga/662


3) 참고   

VPC > Private Subnet에  lambda 생성하자.

NATGW가 있어야  외부로 나갈수 있다.




감사합니다.






매거진의 이전글 138.다이렉트 커넥트 구성 이해하기

매거진 선택

키워드 선택 0 / 3 0
브런치는 최신 브라우저에 최적화 되어있습니다. IE chrome safari