Post

AWS Lambda

AWS Lambda의 핵심 개념과 실무 포인트를 정리한 학습 노트입니다.

AWS Lambda

한눈에 보기

  • Serverless ?
  • 서버가 없는게 아니라 서버가 보이지 않거나 서버를 직접 다루지 않는 것.
  • 서버를 프로비전(공급)하지 않는것을 의미.

Serverless ?

  • 서버가 없는게 아니라 서버가 보이지 않거나 서버를 직접 다루지 않는 것.
  • 서버를 프로비전(공급)하지 않는것을 의미.

Serverless의 예

  • AWS Batch, ECS Fargate, Aurora mysql, Elasticache 등이 있음.

AWS Lambda

  • EC2는 메모리와 CPU크기가 제한됨. 인스턴스가 계속 실행되는 상태.
  • 람다는 관리할 서버가 없이 함수(기능을) 실행함. 주문형으로 그때그때 실행된다.

Lambda 장점

  • 가격 책정에 유리함
  • 프리티어에서 람다를 넉넉히 제공해줌
  • 다양한 AWS 서비스와 통합가능.
  • 프로그래밍 언어에 제한적이지 않음. 많은 언어를 지원함.
  • 클라우드와치 모니터링 통합이 쉬워짐.

Lambda container image 지원

  • 람다 런타임 API 를 구현하여 사용가능.
  • 람다 런타임 API를 구현하지 않으면 ECS Fargate에서 컨테이너를 실행해야 한다.

Lambda 사용 예

  • Serverless Cron tab (event bridge) 를 생성하여 lambda로 간단한 기능을 주기적으로 실행하게 할 수 있다.
  • API GW REST API 를 통해 lambda 함수를 호출하고 Kenesis를 통해 데이터를 변환한 뒤 Dynamo DB와 같은 데이터베이스에 데이터를 저장하고, S3로 파일을 생성할 수 있다.
  • S3에 새 이미지가 업로드되면 이벤트를 발행해 lambda 함수를 작동시켜 크기가 작은 썸네일 이미지를 S3 저장소에 업로드하는 기능을 구현할 수 있다.
This post is licensed under CC BY 4.0 by the author.