만자의 개발일지

[AWS] AWS Lambda란 본문

AWS

[AWS] AWS Lambda란

박만자 2022. 2. 18. 14:39

AWS Lambda

 

AWS Labmda는 서버를 관리하지 않고도 코드를 실행할 수 있는 AWS에서 제공하는 서버리스 컴퓨팅 서비스입니다.

여기서 서버리스란 서버가 없는것이 아니라 서버에 대한 요청을 처리하는 로직을 함수단위로 정의하여 요청이 들어올때마다 함수를 호출하게됩니다.

때문에 AWS Lambda는 EC2와 달리 함수를 호출한 만큼 비용을 지불합니다.

요금에 대한 정보는 아래 사이트를 참고하시길 바랍니다.

https://aws.amazon.com/ko/lambda/pricing/

 

서버리스 컴퓨팅 – AWS Lambda 요금 – Amazon Web Services

 

aws.amazon.com

 

 

 

Lambda 사용 예시

  • 특정 이벤트(트리거)가 발생할때만 코드를 실행시키고 싶은 경우
  • 특정 주기로 코드를 실행시키고 싶은 경우
  • 별도의 서버 없이 코드를 실행시키고 싶은 경우

 

Lambda 장/단점

장점

  • 인프라 설계에 대한 부담을 줄일 수 있다.
  • 코드 개발에 집중할 수 있다.
  • 확장성이 뛰어남.
  • 함수가 호출되는 만큼 비용이 부과됨.

단점

  • 코드 용량이 250MB이다. (압축하면 50MB)
  • 함수 최대 실행시간이 15분이다.
  • 요청이 들어올때마다 컨테이너를 띄워 처리하기 때문에 EC2에비해 상대적으로 느리다.
  • 함수가 호출되는 만큼 비용이 부과되기 때문에 트래픽이 많은 서비스를 Lambda로 처리하는 경우 많은 비용이 청구될 수 있다.

 

AWS Lambda 사용방법

간단한 예제를 통해 AWS Lambda 사용방법에 대해 알아보도록 하겠습니다.

 

먼저 AWS 콘솔에 접속한 후 Lambda를 검색하여 들어가 줍니다.

 

왼쪽 메뉴에 Functions 메뉴로 들어간 다음 오른쪽 상단에 Create functions 버튼을 클릭해줍니다.

 

Function 명은 본인이 원하는 이름으로 지정해 주시고, Runtime은 파이썬으로 하도록 하겠습니다. 권한은 기본옵션으로 해주도록 하겠습니다. 

 

하단의 Advanced Setting은 별다른 설정 없이 진행하도록 하겠습니다. Create function 버튼을 눌러 Lambda 함수를 생성해 줍니다.

 

Lambda 함수 생성이 끝나고 보시면 trigger와 destination을 지정해 줄 수 있는데요, trigger는 외부에서 발생하는 이벤트를 읽어들이는 정문 같은 역할을 합니다. 그리고 Lambda는 해당 이벤트에 맞는 요청을 처리하고 destination(ex DynamoDB) 요청을 보내게 됩니다.

 

Add trigger 버튼을 눌러 다음과 같이 옵션을 지정해 준 후 Add 버튼을 눌러 trigger를 추가해 줍니다.

 

그러면 다음과 같이 엔드포인트 주소를 반환하는 것을 볼 수 있습니다. 

 

그다음 브라우저를 새로열어 해당 엔드포인트 주소를 입력하면 Lambda 함수가 잘 호출되는 것을 보실 수 있습니다.

 

 

자세한 내용은 AWS 공식 문서를 참고하시길 바랍니다.

https://docs.aws.amazon.com/lambda/latest/dg/welcome.html

 

What is AWS Lambda? - AWS Lambda

In the AWS Lambda Developer Guide, we assume that you have experience with coding, compiling, and deploying programs using one of the supported languages.

docs.aws.amazon.com

 

참고

'AWS' 카테고리의 다른 글

[AWS] AWS ECS란  (0) 2022.02.23
[AWS] API Gateway란  (0) 2022.02.21
[AWS] IAM Custom Policy 생성하기  (0) 2022.02.17
[AWS] AWS Athena로 ALB Log 분석하기  (0) 2022.02.17
[AWS] CloudWatch Logs Metric filter 생성하기  (0) 2022.01.26
Comments