1) Lambda
AWS에서제공하는 함수기반의 서비스 -> FaaS(Function as a Service)
즉, 실제 ec2와 같은 서버없이도 서버의 역할을 대신 해 줄 수 있는 aws서비스
Serverless에서 실질적으로 back-end코딩을 하는 곳
보통 JSP,PHP로 일반 서버에서 DB에 접근해서 데이터를 처리하는 로직을 람다에서 수행가능
*일반 서버와 다른점
서버의 환경설정에 대해 큰 신경을 쓰지 않아도댐
AWS 서비스에서 제공하는 환경에 따라서 오토스케일링 할 수 있고, 간단한게 셋팅가능
*람다에 역할이 필요한 이유
람다는 AWS내에 있는 서비스들을 접근해서 이용할 수 있음
그래서 권한에 맞게 서비스를 가져다 쓸 수 잇도록 역할부여
->대신 디폴트로 들어가는 람다수행롤에는 Cloudwatch log 서비스 허용권한이 들어감
*이벤트 : 클라이언트의 활동
*트리거 : 이벤트가 발생되는 시점
트리거를 추가한다 = 람다함수가 언제 실행될지를 결정한다.
즉 ,api 게이트웨이로 트리거를 추가한다 = api 게이트웨이로 이벤트가 들어오면 람다함수 실행된다!
이벤트가 발생하면 핸들러 함수의 event 매개변수로 값이 들어옴
*핸들러함수 : 가장 먼저 실행되는 메인 함수
2) API 게이트웨이
사용할 api를 정의할 수 있는 aws서비스
게이트웨이를 통과한 데이터들을 사용자가 정의한 API 메소드에 따라서 람다와 같은 역할을 수행
결론 : 서버클라이언트 간에 API Gateway를 통해서 데이터를 주고받을 수 있음
-메소드생성 : GET/POST/PUT/DELETE 메소드
메소드가 실행되면 어느 곳에서 처리를 할지 선택(람다함수,HTTP, AWS서비스 선택가능)
aws내부의 서비스(lambda)와 외부의 연결통로
여기로 들어온 요청을 지정된 곳으로 리다이렉트 해줄 수 있음
그 규칙을 Restful API방식으로 지정한다!
람다를 만든 후에 외부에서 해당 람다에 접근할 수 있도록 하기 위해서 api gateway필요
람다는 함수로서 역할을 수행하기 때문에 실제 서버처럼 동작하려면 api gateway를 이용해서 공인ip주소 설정이 필요
*Restful API
HTTP 통신에서 Request와 Response를 Method로 표현해서 주고받는 방식
데이터를 보내는 방식에 차이를 둬서 어떤 요청인지 알아내고, 데이터를 처리한 후에 응답을 보내는 방식
*GET방식
- Request의 데이터를 URL의 QueryString 형태로 전송(URL에 직접노출)
- 전송할 데이터의 길이 제한이 있음
- 서버의 내용을 조회할 때 사용(SELECT)
- ex) 로그인, 게시판 글 조회
*POST방식
- Request의 데이터를 Body에 넣어서 전송 (URL에 직접노출이 되지 않음)
- 전송할 데이터의 길이에 제한이 없음
- 서버의 내용을 생성하거나 변경 할 때 사용
- ex) 회원가입, 게시판 글 작성(CRUD)
https://pearlluck.tistory.com/13
+추가
웹브라우저의 기본 method는 get방식, 따라서 post방식을 테스트해볼려면 추가작업필요(API테스트 툴)
chrome-extension://aejoelaoggembcahagimdiliamlcdmfm/index.html
또는 웹브라우저 단에서 추가로 POST방식 console입력
'🌴 DevOps > Architecture' 카테고리의 다른 글
Serverless아키텍쳐 구성6 - 서버리스 프레임워크 사용 (0) | 2020.03.27 |
---|---|
Serverless아키텍쳐 구성5 - 챗봇 애플리케이션구축 (0) | 2020.03.26 |
Serverless아키텍쳐 구성4 - Lambda(람다) 특징 및 한계 (0) | 2020.03.25 |
Serverless아키텍쳐 구성2 - 3티어/서버리스아키텍쳐 비교 (0) | 2020.03.23 |
Serverless아키텍쳐 구성1 - 서버리스 배경(Iaas/Paas/Saas/Faas) (0) | 2020.03.22 |
3tier아키텍쳐 구성9 - 전체 요약 및 총정리 (0) | 2020.02.24 |