본문 바로가기

AWS

AWS - lambda

포스팅은 업무에 바로 쓰이는 AWS 입문 책을 기반으로 작성되었습니다.

 

목차

1. 서버리스

2. Lambda


서버리스란?

처음 서버리스라는 단어를 들었을 때 서버가 없는 것인줄 알았는데요 서버가 없다는 뜻은 아닙니다. 서버리스는 클라우드에서 AWS 리소스를 돌릴 때 개발자가 직접 간섭할 필요가 없고 개발자가 구현한 애플리케이션을 클라우드에서 돌릴 수 있게 도와주는 클라우드 기반 개발 모델입니다.

 

정리하면 서버리스는 리소스를 자동으로 관리합니다. 예를 들면 EC2 인스턴스를 생성하고 네트워크 트래픽에 따라 오토스케일링을 적용하는 등의 작업이 필요가 없습니다. 개발자는 단순히 코드를 짜고 구현하는 부분에만 집중하면 됩니다.

 

서버리스의 장점에 대해 알아보겠습니다.

 

1. 오토스케일링

오토스케일링은 네트워크 트래픽에 따라 서버를 늘렸다 줄였다 해줍니다. 서버리스는 오토스케일링을 지원합니다.

2. 패칭

서버리스는 필요한 업데이트가 있다면 자동으로 관리한다.

3. 빠른 배포

개발자가 소스 코드에만 집중하면 되기 때문에 프로덕션 배포 속도가 빨라진다.

4. 비용 절감

항상 돌아가는 것이 아니라 특정 이벤트가 있을 때만 호출되기 때문에 지출을 줄일 수 있다.

 

 

AWS 컨퍼런스나 관련 서적을 읽으면 서비스마다 정말 단점은 없는 것처럼 소개할 때가 종종 있는데 잘 따져가며 판단해야 한다. 모든 것은 트레이드 오프라는 마인드가 때로는 편한 것 같다.


Lambda란

앞서 서버리스를 이야기 한 이유는 Lambda는 서버리스의 특징과 장점을 모두 가지고 있기 때문입니다. Lambda는 이벤트를 통해 실행됩니다. 이벤트는 문장의 주어 + 동사 기본 형태에서 동사라고 생각하면 쉽습니다.

 

자정(24:00)이 되었다.

S3 버킷에 파일을 업로드한다.

 

밑줄친 부분이 이벤트입니다. 이런 이벤트가 발생하면 Lambda가 실행됩니다. Lambda 함수가 호출되면 코드로 원하는 로직을 실행시킬 수 있을 뿐만 아니라 또다른 AWS 리소스를 불러올 수도 있습니다.

 

Lambda 비용 

Lambda 함수는 실행되지 않는다면 어떠한 비용도 들지 않는다. EC2는 켜두기만 해도 비용이 드는것과 차이가 존재한다. 이벤트가 발생하고 함수가 호출될 때만 비용이 발생합니다. 매달 100만 개 호출까지 무료이다. 1년 무료 이런거 아니고 그냥 평생 100만 개 까지는 무료이다. 물론 다른 리소스를 호출한다면 이야기가 다르다. 다른 리소스에서 비용이 발생할 수 있다.

 

Lambda 특징

책에 따르면 람다는 최대 300초(5분)의 런타임만 허용한다고 한다. 하지만 람다를 직접 설정하면 최대 15분까지 설정가능하다. 그리고 최대 512MB 가상 디스크 공간을 제공한다고 하는데 실제로는 더 많은 가상 디스크 공간을 제공한다.

마지막으로 최대 50MB 배포 패키지를 허용한다. 실제로 사용해보면 10MB가 넘으면 S3 버킷에 업로드할 것을 권장한다. 50MB가 넘으면 강제인가보다.

 

요약해보면 람다로 엄청나게 리소스가 많이 필요한 작업은 힘들지도 모를 것 같다.

'AWS' 카테고리의 다른 글

VPC (2) 퍼블릭 서브넷 VPC 구성 및 검증  (0) 2023.06.03
VPC (1) 정의와 특징 및 구성요소  (0) 2023.06.02
ALB (2) 경로 기반 라우팅 설정  (0) 2023.06.02
ALB (1) 일단 해보기  (0) 2023.06.02
AWS - S3  (0) 2023.04.19