brunch

You can make anything
by writing

C.S.Lewis

by Master Seo Jul 21. 2019

140.APIGW, Lambda 사용

<1> APIGW , lambda 사용 

<2> 구성 

<3> 구성  설정 순서

<4> 추가로 Lamda와 DynamoDB를 연결해 보자.



<1> APIGW , lambda 사용 


Lambda 앞에서  엔드 포인트(URL)를 제공한다.

서비스 요청을 받은 후 전달하는 기능을 한다.

다양한 언어 제공




<2> 구성 


이벤트 발생(웹브라우저) ------------- APIGW ------------  Lambda  -- 출력 



<3>  구성  설정 순서


1. 람다 만들기

2. Add trigger 클릭해 APIGW 연결한다.

3.  API endpoint를 누르면 사이트가 뜬다.



1. 람다 만들기

APIGW로 이벤트가 들어오면 람다가 실행하도록 하자.


1) 우선 람다를 만들자.

node 12.x  선택




2)  권한 부여 *정책을 만들고 role추가

화면 아래로 내리면 role 추가하는 부분이 있다.

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

- Role name : role-text

- Policy  templates :  Basic Lambda@Edge permisions (for CloudFront trigger)를 적용한다.

기본 람다 권한은 cloudwatch log만 있으면 된다. (첨부)



2.   트리거에 APIGW를 추가한다.

왼편 위  Add trigger 클릭  > 새 API 생성을 선택한다.

보안 : Open  (별도의 인증 없이 누구나 요청을 보낼 수 있다.)



Lambda에서  아래에  APIGW  endpoint를 확인한다.

https://xxxxxxxxxxxxxxxxxxxxx.awsamazonaws.com/default/lambda-apigw


> Save 








3.  API endpoint를 누르면 사이트가 뜬다.


Hello  from lambda!


Lambda의 디폴트 소스가 실행된 것이, APIGW endpoint를 통해 보이는 것을 확인할 수 있다.







<4>  추가로 Lamda와 DynamoDB를 연결해 보자.


1.  IAM >  role에서  정책 연결> 정책 생성해서  뒷단 서비스에 쓰거나 업데이트할 수 있는 권한을 추가한다.

2. 람다가 실행되었을 때 뒷단 서비스에 데이터가 들어가도록 람다 코드 수정

3. 람다가 실행되었을 때 뒷단 서비스가 제대로 동작하는지 확인한다.



아래 예제는 node 예전 버전으로 현재 지원이 안된다.  참고로만 보기 바란다.


https://aws.amazon.com/ko/getting-started/projects/build-serverless-web-app-lambda-apigateway-s3-dynamodb-cognito/module-3/



감사합니다.






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