...
AWS Lambda 즉, 서버리스 에는 Cold Start 라는 개념이 존재한다.
사용자로부터 요청을 받으면 함수를 실행할 수 있는 런타임 환경을 준비한 뒤 함수를 실행하게 되는데, 이러한 런타임 환경 준비 기간동안 코드 실행 지연이 불가피하게 생기게 되며, 또한 함수를 지속적으로 사용하지 않아 런타임이 꺼지거나 함수를 새롭게 업데이트 했다면, Lambda 는 또 새로운 런타임 환경을 준비하는 시간을 갖게 되어 결국 서비스 이용에 지연이 생기게 된다.
따라서 이러한 고질적인 문제를 해결하기 위해 생성된 기능이 Provisioned Concurrency(미리 준비된 동시성) 이며, Provisioned Concurrency 는 Lambda 함수를 지속적으로 초기화하며 런타임 환경을 준비함으로써, 사용자의 요청에 바로 응답할 수 있는 상태로 만들어준다.
서버리스 람다의 성능에 관한 자세한 부분은 다음 포스팅을 참고하길 바라며, 이번 시간에는 프로비저닝된 동시성을 설정하는 방법에 대해서 알아보겠다.
[AWS] 📚 람다 성능 개선 (Cold Start 해결) 전략 4가지
알다시피, 람다함수가 들어있는 서버리스의 항상 활성화 되어 있지 않다. 그래서 사용자의 요청이 들어왔을때 람다함수를 실행하기 위한 부수적인 준비 세팅이 필요하고 이로인해 대략 수초~수
inpa.tistory.com
Provisioned Concurrency 설정 방법
프로비저닝된 동시성을 활성화 하기 위해서는 람다를 버전과 별칭 관리해야 한다.
버전이란 말그대로 람다 함수 코드를 버전으로 관리하는 기능이고 별칭은 버전을 가리키는 포인터이다.
람다 버전과 별칭 개념과 사용법에 대해 잘 모르겠다면, 반드시 다음 포스팅을 참고하길 바란다.
람다 버전/별칭 배포방식을 알아야 프로비저닝된 동시성 설정법에 대해 알수 있기 때문이다.
[AWS] 📚 람다 - 함수 버전(version) & 별칭(alias) 기능
서버리스라고 해서 간편하게 함수에 코딩만 하고 트리거로 AWS 서비스와 연동한뒤 배포만 하면 될 줄 알았더니, 람다 함수 버전이라던가 별칭이라는 생소한 요소에 당황하였을 테지만, 람다의
inpa.tistory.com
1. 람다 함수 버전 생성
2. 생성된 버전에 별칭 부여
생성된 버전 하단의 [구성] 탭 → [일반 구성] → [별칭 생성] 클릭한다.
3. 별칭에 프로비저닝된 동시성 설정
람다 함수 별칭 latest 콘솔 메뉴에 들어가서, 하단 구성 메뉴에 프로비저닝된 동시성 편집을 눌러준다.
해당 별칭에 대한 프로비저닝된 동시성 상태가 초록색 "준비"로 변하면, 프로비저닝된 동시성 설정 완료된 것이다.
이 글이 좋으셨다면 구독 & 좋아요
여러분의 구독과 좋아요는
저자에게 큰 힘이 됩니다.