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
반응형