AWS Lambda

룰루팍 Lolo Park ·2023년 1월 10일
0

AWS

목록 보기
3/5
post-thumbnail

공부와 프로젝트(discord chatbot) Flow 를 위한 정리

이전 프로젝트 배포를 위해서는 AWS EC2와 데이터베이스를 위한 RDS를 사용하였다. (이것에 대한 공부 정리를 한번 다시 해야겠군)

보아하니!

AWS EC2 는 저 멀리 어디엔가 서버 instance를 running 시켜두고 gateway 를 통해 내가 서버에 직접적으로 접속하지 않아도 슬금슬금 작동을 하는 아이인가보다 (설명이 너무 구리다) 그래서 그런지 나는 프로젝트 배포용으로 단 하루 이틀 서버를 건드렸을 뿐인데 다음 달 초 약 27,000의 비용이 청구되었었다. 대충격.

그러나 내가 이해한 AWS Lambda 는 내가 필요할 때만 서버를 잠깐 잠깐씩 running 시키는 것 같다. 그래서 딱! 그때 그 당시의 비용만 청구되는 거. 서버도 아닌 것 같다, 왜냐하면 EC2 는 server를 instance 라는 이름으로 생성하고 running 시키는데, LAMBDA는 serverless 이기 때문이다.

아무튼

  • AWS LAMBDA 의 개념
  • AWS LAMBDA 의 동작원리
  • AWS LAMBDA와 EC2의 차이
  • AWS LAMBDA에서의 DB

이것에 대해 공부해보겠다


AWS LAMBDA 는 무엇인가

로컬 서버에 프로그램들을 설치 할 필요 없이 AWS가 제공하는 별도의 platform 위에서 서버를 구축하여 데이터를 입력/처리/출력 할 수 있음

program을 직접 구동시키지 않아도 AWS 의 람다에서 코드를 몇줄 입력하는 것 만으로 함수가 자동으로 동작하게 할 수 있음. 그래서 컴퓨터리스, 서버리스!!

AWS 사이트에서, 사이트 상에서 코드 몇줄 만으로 AWS 서버가 그 프로그램을 자동으로 동작시킴

AWS LAMBDA는 함수다!

그 함수가 언제 실행될 지를 내가 정할 수 있음

  • event 발생 -> 내가 적은 함수가 동작하도록 설정할 수 있음 log 자동으로 처리하도록 람다를 이용
  • 람다를 별도의 웹서버 처럼 이용 : 클라이언트의 요청이 발생했을 떄 그것을 이벤트로 하여 람다가 이벤트를 처리하여 반환한다.
  • 람다는 동작함에 있어서, 처리 후에 처리 내역을 DB나 AWS 자체 log로 남길 수도 있다

소스 코드 + 몇가지의 설정 = 우리만의 웹서버


AWS는 API Gateway 가 웹서버 처럼 동작하도록 만든다

Client 접속 → API Gateway가 그 요청을 받아→ AWS LAMBDA 에게 넘긴다 🔛 DB 요청을 처리하여 DB에 담거나 클라이언트에게 response를 반환

AWS Lambda 자체는 '함수'로서의 역할을 수행하기에
실제 서버처럼 동작시키려면
API Gateway를 이용해 공인 주소를 설정해야한다
(클라이언트가 이를 통해 접속하도록) LAMBDA 는 Function 이다! 람다 함수~


▲API Gateway로trigger를 설정해준다(웹서버처럼 동작하는 기능을 하는게 API Gateway다)

API endpoint url을 눌렀더니나의 고유 웹 서버가 나왔다

코드를 수정하며
웹사이트에 서버 프로그램을 수정


여기까지 핵심

  • LAMBDA는 함수이다
  • API Gateway 를 통해 LAMBDA 함수(lambda에 내가 적은 함수)는 웹서버처럼 동작할 수 있다

크롤링


참고유튜브
▶︎ 동빈나 Python기반
▶︎ Dylan Albertazzi Node기반

참고링크
▶︎ 짐코딩 람다란 무엇인가
▶︎ 니꼬쌤 AWS 숨겨진 서비스
▶︎ AWS 공식문서 LAMBDA란 무엇인가
▶︎ AWS 공식문서 다른서비스와 함께 LAMBDA 사용
▶︎ AWS 공식문서 .zip 파일 아카이브를 사용하여 Node.js Lambda 함수 배포

profile
Korean-Arabic Translator, Backend Developer

0개의 댓글

관련 채용 정보