Devops

aws lambda 기본 개념

Prower 2022. 8. 9. 03:21
728x90
반응형
해당 포스팅은 https://docs.aws.amazon.com/lambda/latest/dg/gettingstarted-concepts.html#gettingstarted-concepts-function 를 읽고 정리한 내용입니다.

AWS lambda

  • 서버리스 컴퓨팅 서비스
  • 클라우드상의 컴퓨팅 인프라에서 코드를 실행하고, 서버에 대한 유지, 관리, 용량 프로비저닝, 보안 패치, 모니터링, 로깅 등의 운영 관련 작업은 lambda가 수행한다.
  • aws는 역할별로 리소스가 나눠져 있다.

기본 개념

function

  • lambda에서 코드 실행을 위해 호출하는 리소스
  • function에 lambda에서 실행할 코드를 배포하며, 요청이 들어올 때 마다 function에 올린 코드를 실행
  • 혹은 aws 다른 서비스가 function에 보내는 이벤트를 처리
  • 컨테이너 이미지 혹은 zip 파일 등으로 function에 배포

trigger

  • lambda function을 호출하는 리소스 혹은 구성
  • http(s) endpoint, lambda API, aws sdk 등을 통해 function을 직접 호출할 수도 있음
  • schedule 혹은 life cycle에 따른 event마다 function을 호출하는 기능에서 trigger 사용

event

  • lambda function이 실행할 데이터에 대한 문서
  • 런타임 환경에서 lambda는 event를 object로 변환하여 function에 전달

execution environment

  • lambda function에 대한 안전하고 격리된 실행 공간을 제공
  • function 실행에 필요한 프로세스나 리소스를 관리

instruction set architecture

  • lambda가 function을 실행하기 위한 컴퓨터 프로세서 설정
  • 두가지 옵션 제공
    • arm64 – 64-bit ARM architecture, for the AWS Graviton2 processor
    • x86_64 – 64-bit x86 architecture, for x86-based processors

deployment package

  • lambda function을 배포하는데 사용하는 패키지
  • zip 파일이나 docker image를 통해 배포

runtime

  • execution environment을 구동하기 위한 언어별 환경 제공
  • 호출 이벤트, context 정보, 응답을 function과 lambda에게 제공
  • zip파일로 배포시 언어별 실행 환경을 정의해야 하나, docker image를 사용하여 배포시 이미지에 기본으로 포함된 환경을 적용

layer

  • lambda에서 zip파일로 배포된 파일을 layer로 archive한다.
  • 라이브러리, 의존성 등을 하나의 파일로 패키징하면 파일 사이즈가 커지는데 lambda에서 이를 layer로 관리하여, 배포시 마다 용량을 줄이고, 배포 속도를 빠르게함
  • function 마다 최대 5개의 layer 구성 가능

concurrency

  • 일정 시간동안 function이 처리하는 요청량
  • concurrency가 증가하는 프로세스
    • function이 호출되면 lambda가 인스턴스 생성
    • function의 code 실행이 끝나면 다음 request를 받을 수 있음
    • code 실행이 끝나기 전에 다른 request가 들어오면 추가 인스턴스 생성
    • concurrency 증가

destination

  • 비동기 호출시 lambda가 event를 보내는 목적지
728x90
반응형