AWS Lambda이란 무엇인가요? - AWS Lambda

[AWS] 📚 람다(Lambda) 개념 & 사용법 💯 총정리

AWS Lambda는 서버리스 컴퓨팅 FaaS 상품이다.

개념 설명은 이미 했으니, 다른 특징을 짚어보자면 AWS 서비스간 연동이 용이하다는 특징이 있다.

예를들어 이미지를 S3에서 읽어올 때, 람다 함수를 통해 필요한 크기로 Resizing 하는 기능에도 사용 가능하다.

즉, 다른 AWS 서비스에서 코드를 자동으로 트리거 하도록 설정하거나 웹 또는 모바일 앱에서 직접 코드를 호출할 수도 있다.

// EC2 VS Lambda
EC2
= 정규직 직원
= 사무실에 항상 앉아 있음
= 일이 없어도 대기 중
= 월급/서버비 계속 발생

Lambda
= 호출형 계약직
= 일이 생기면 출근
= 맡은 일 처리
= 끝나면 퇴근하거나 잠깐 대기
= 일한 시간만큼 비용 발생

img1.daumcdn.png

Lambda 스펙

지원 언어

파이썬, Node, 루비, Java, C#, 파워쉘, 구글 Go 등 Runtime 지원

실행 환경

항목 기준
메모리 128MB ~ 10,240MB
CPU 메모리에 따라 자동 증가
임시 저장소 /tmp 기본 512MB, 최대 10,240MB까지 설정 가능
최대 실행 시간 최대 900초 / 15분
zip 압축 패키지 직접 업로드 기준 50MB
압축 해제 후 패키지 250MB
컨테이너 이미지 최대 10GB 이미지 지원
메모리: 128MB ~ 10,240MB

CPU: 메모리 할당량에 비례해서 증가/정확한 CPU 모델을 고정해서 선택하는 방식은 아님

임시 저장소 /tmp: 기본 512MB 최대 10,240MB까지 설정 가능

최대 실행 시간: 900초(15분)

zip 패키지: 직접 업로드 압축 파일 50MB, 압축 해제 후 250MB

컨테이너 이미지: 최대 10GB

동시 실행: 기본 계정/리전 단위 1,000 concurrent executions 증설 요청 가능

서버리스랑 Lambda를 공부하다 보니 처음에는 좀 헷갈렸다.

“서버가 없다는데 그럼 요청은 누가 받는 거지?”

“요청이 여러 개 들어오면 Lambda 하나가 계속 도는 건가?”

“잠깐 실행되는 함수인데 최소 메모리가 128MB면 너무 큰 거 아닌가?”

“AI 챗봇처럼 500명 정도가 쓰는 기능에도 Lambda가 맞을까?”