AWS - lambda for Serverless Application Model

Jaeminst·2022년 4월 15일
0
post-thumbnail

Serverless Application Model

AWS에서 서버리스 애플리케이션을 쉽게 테스트하고 배포할 수 있는 서버리스 애플리케이션 모델(Serverless Application Model, 이하 SAM)을 제공합니다.

Lambda 콘솔을 통해 직접 애플리케이션을 개발하는 것은 다소 불편합니다.
따라서, sam을 이용한 CLI 명령으로 간단하게 로컬 환경에서 테스트하고 배포까지 할 수 있습니다.

Lambda 함수를 배포하는 방법

Lambda 함수를 배포하는 여러가지 방법이 있습니다.
Lambda는 컨테이너 이미지 및 .zip 파일 아카이브의 두 가지 배포 패키지를 지원합니다.

  • .zip 파일 아카이브로 정의된 Lambda 함수 생성

    • Lambda 콘솔과 Lambda API를 사용하여 .zip 파일 아카이브로 정의된 함수를 만들 수 있습니다.
      업데이트된 .zip 파일을 업로드하여 함수 코드를 변경할 수도 있습니다.
      콘솔을 통해 직접 코드를 작성하는 것도 가능합니다.
  • 컨테이너 이미지

    • FROM amazon/aws-lambda-nodejs:12 와 같이 주어진 이미지 위에 애플리케이션을 올린 후 빌드하여 배포할 수 있습니다.

SAM의 대표적인 기능

SAM이 제공하는 대표적인 기능으로는 다음과 같습니다.

  • 한번에 배포

    • Lambda 함수, API Gateway 등의 리소스를 CLI 명령어 한번으로 배포가 가능하게 만들 수 있습니다.
  • 로컬에서의 테스트

    • 꼭 배포하지 않아도 로컬 환경에서 테스트가 가능합니다.
  • AWS CloudFormation 기능을 이용한 단일 작업을 통한 리소스(인프라) 관리

    • AWS CloudFormation은 Terraform과 같은 Infrastructure as Code 도구입니다

SAM 설치

Installing the AWS SAM CLI

SAM 실습

Tutorial: Deploying a Hello World application

여러가지 배포 패키지

Serverless Patterns Collection

profile
DevOps !

0개의 댓글